Socket
Socket
Sign inDemoInstall

@temporalio/internal-non-workflow-common

Package Overview
Dependencies
Maintainers
4
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@temporalio/internal-non-workflow-common - npm Package Compare versions

Comparing version 0.22.0 to 0.23.0

29

lib/codec-helpers.d.ts
import { LoadedDataConverter, Payload, PayloadCodec, ProtoFailure, TemporalFailure } from '@temporalio/common';
import { DecodedPayload, DecodedProtoFailure, EncodedPayload, EncodedProtoFailure } from './codec-types';
export interface TypecheckedPayloadCodec {
encode(payloads: Payload[]): Promise<EncodedPayload[]>;
decode(payloads: Payload[]): Promise<DecodedPayload[]>;
}
/**
* Decode through each codec, starting with the last codec.
*/
export declare function decode(codecs: PayloadCodec[], payloads: Payload[]): Promise<DecodedPayload[]>;
export declare function encode(codecs: PayloadCodec[], payloads: Payload[]): Promise<EncodedPayload[]>;
/**
* Decode `payloads` and then return {@link fromPayloadsAtIndex}.

@@ -20,10 +21,10 @@ */

/** Run {@link PayloadCodec.encode} on `payloads` */
export declare function encodeOptional(codec: PayloadCodec, payloads: Payload[] | null | undefined): Promise<EncodedPayload[] | null | undefined>;
export declare function encodeOptional(codecs: PayloadCodec[], payloads: Payload[] | null | undefined): Promise<EncodedPayload[] | null | undefined>;
/** Run {@link PayloadCodec.decode} on `payloads` */
export declare function decodeOptional(codec: PayloadCodec, payloads: Payload[] | null | undefined): Promise<DecodedPayload[] | null | undefined>;
export declare function decodeOptional(codecs: PayloadCodec[], payloads: Payload[] | null | undefined): Promise<DecodedPayload[] | null | undefined>;
/** Run {@link PayloadCodec.encode} on a single Payload */
export declare function encodeOptionalSingle(codec: PayloadCodec, payload: Payload | null | undefined): Promise<EncodedPayload | null | undefined>;
export declare function decodeOptionalMap(codec: PayloadCodec, payloads: Record<string, Payload> | null | undefined): Promise<Record<string, DecodedPayload> | null | undefined>;
export declare function encodeOptionalSingle(codecs: PayloadCodec[], payload: Payload | null | undefined): Promise<EncodedPayload | null | undefined>;
export declare function decodeOptionalMap(codecs: PayloadCodec[], payloads: Record<string, Payload> | null | undefined): Promise<Record<string, DecodedPayload> | null | undefined>;
/** Run {@link PayloadCodec.decode} on a single Payload */
export declare function decodeOptionalSingle(codec: PayloadCodec, payload: Payload | null | undefined): Promise<DecodedPayload | null | undefined>;
export declare function decodeOptionalSingle(codecs: PayloadCodec[], payload: Payload | null | undefined): Promise<DecodedPayload | null | undefined>;
/**

@@ -42,3 +43,3 @@ * Run {@link PayloadConverter.toPayload} on value, and then encode it.

/** Run {@link PayloadCodec.encode} on all values in `map` */
export declare function encodeMap<K extends string>(codec: PayloadCodec, map: Record<K, Payload> | null | undefined): Promise<Record<K, EncodedPayload> | null | undefined>;
export declare function encodeMap<K extends string>(codecs: PayloadCodec[], map: Record<K, Payload> | null | undefined): Promise<Record<K, EncodedPayload> | null | undefined>;
/**

@@ -55,15 +56,15 @@ * Run {@link PayloadConverter.toPayload} and then {@link PayloadCodec.encode} on values in `map`.

*/
export declare function encodeFailure(_codec: PayloadCodec, failure: ProtoFailure): Promise<EncodedProtoFailure>;
export declare function encodeFailure(codecs: PayloadCodec[], failure: ProtoFailure): Promise<EncodedProtoFailure>;
/**
* Return a new {@link ProtoFailure} with `codec.encode()` run on all the {@link Payload}s.
*/
export declare function encodeOptionalFailure(codec: PayloadCodec, failure: ProtoFailure | null | undefined): Promise<EncodedProtoFailure | null | undefined>;
export declare function encodeOptionalFailure(codecs: PayloadCodec[], failure: ProtoFailure | null | undefined): Promise<EncodedProtoFailure | null | undefined>;
/**
* Return a new {@link ProtoFailure} with `codec.encode()` run on all the {@link Payload}s.
*/
export declare function decodeOptionalFailure(codec: PayloadCodec, failure: ProtoFailure | null | undefined): Promise<DecodedProtoFailure | null | undefined>;
export declare function decodeOptionalFailure(codecs: PayloadCodec[], failure: ProtoFailure | null | undefined): Promise<DecodedProtoFailure | null | undefined>;
/**
* Return a new {@link ProtoFailure} with `codec.decode()` run on all the {@link Payload}s.
*/
export declare function decodeFailure(_codec: PayloadCodec, failure: ProtoFailure): Promise<DecodedProtoFailure>;
export declare function decodeFailure(codecs: PayloadCodec[], failure: ProtoFailure): Promise<DecodedProtoFailure>;
/**

@@ -70,0 +71,0 @@ * Mark all values in the map as encoded.

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.noopDecodeMap = exports.noopEncodeMap = exports.decodeFailure = exports.decodeOptionalFailure = exports.encodeOptionalFailure = exports.encodeFailure = exports.encodeErrorToFailure = exports.encodeMapToPayloads = exports.encodeMap = exports.decodeMapFromPayloads = exports.encodeToPayloads = exports.encodeToPayload = exports.decodeOptionalSingle = exports.decodeOptionalMap = exports.encodeOptionalSingle = exports.decodeOptional = exports.encodeOptional = exports.decodeOptionalFailureToOptionalError = exports.decodeArrayFromPayloads = exports.decodeFromPayloadsAtIndex = void 0;
exports.noopDecodeMap = exports.noopEncodeMap = exports.decodeFailure = exports.decodeOptionalFailure = exports.encodeOptionalFailure = exports.encodeFailure = exports.encodeErrorToFailure = exports.encodeMapToPayloads = exports.encodeMap = exports.decodeMapFromPayloads = exports.encodeToPayloads = exports.encodeToPayload = exports.decodeOptionalSingle = exports.decodeOptionalMap = exports.encodeOptionalSingle = exports.decodeOptional = exports.encodeOptional = exports.decodeOptionalFailureToOptionalError = exports.decodeArrayFromPayloads = exports.decodeFromPayloadsAtIndex = exports.encode = exports.decode = void 0;
const common_1 = require("@temporalio/common");
/**
* Decode through each codec, starting with the last codec.
*/
async function decode(codecs, payloads) {
for (let i = codecs.length - 1; i >= 0; i--) {
payloads = await codecs[i].decode(payloads);
}
return payloads;
}
exports.decode = decode;
async function encode(codecs, payloads) {
for (let i = 0; i < codecs.length; i++) {
payloads = await codecs[i].encode(payloads);
}
return payloads;
}
exports.encode = encode;
/**
* Decode `payloads` and then return {@link fromPayloadsAtIndex}.
*/
async function decodeFromPayloadsAtIndex(converter, index, payloads) {
const { payloadConverter, payloadCodec } = converter;
return (0, common_1.fromPayloadsAtIndex)(payloadConverter, index, payloads ? await payloadCodec.decode(payloads) : payloads);
const { payloadConverter, payloadCodecs } = converter;
return (0, common_1.fromPayloadsAtIndex)(payloadConverter, index, payloads ? await decode(payloadCodecs, payloads) : payloads);
}

@@ -17,6 +34,6 @@ exports.decodeFromPayloadsAtIndex = decodeFromPayloadsAtIndex;

async function decodeArrayFromPayloads(converter, payloads) {
const { payloadConverter, payloadCodec } = converter;
const { payloadConverter, payloadCodecs } = converter;
let decodedPayloads = payloads;
if (payloads) {
decodedPayloads = await payloadCodec.decode(payloads);
decodedPayloads = await decode(payloadCodecs, payloads);
}

@@ -30,8 +47,8 @@ return (0, common_1.arrayFromPayloads)(payloadConverter, decodedPayloads);

async function decodeOptionalFailureToOptionalError(converter, failure) {
const { payloadConverter, payloadCodec } = converter;
return failure ? (0, common_1.failureToError)(await decodeFailure(payloadCodec, failure), payloadConverter) : undefined;
const { payloadConverter, payloadCodecs } = converter;
return failure ? (0, common_1.failureToError)(await decodeFailure(payloadCodecs, failure), payloadConverter) : undefined;
}
exports.decodeOptionalFailureToOptionalError = decodeOptionalFailureToOptionalError;
/** Run {@link PayloadCodec.encode} on `payloads` */
async function encodeOptional(codec, payloads) {
async function encodeOptional(codecs, payloads) {
if (payloads === null)

@@ -41,7 +58,7 @@ return null;

return undefined;
return (await codec.encode(payloads));
return (await encode(codecs, payloads));
}
exports.encodeOptional = encodeOptional;
/** Run {@link PayloadCodec.decode} on `payloads` */
async function decodeOptional(codec, payloads) {
async function decodeOptional(codecs, payloads) {
if (payloads === null)

@@ -51,11 +68,11 @@ return null;

return undefined;
return (await codec.decode(payloads));
return (await decode(codecs, payloads));
}
exports.decodeOptional = decodeOptional;
async function encodeSingle(codec, payload) {
const encodedPayloads = await codec.encode([payload]);
async function encodeSingle(codecs, payload) {
const encodedPayloads = await encode(codecs, [payload]);
return encodedPayloads[0];
}
/** Run {@link PayloadCodec.encode} on a single Payload */
async function encodeOptionalSingle(codec, payload) {
async function encodeOptionalSingle(codecs, payload) {
if (payload === null)

@@ -65,10 +82,10 @@ return null;

return undefined;
return await encodeSingle(codec, payload);
return await encodeSingle(codecs, payload);
}
exports.encodeOptionalSingle = encodeOptionalSingle;
async function decodeSingle(codec, payload) {
const decodedPayloads = await codec.decode([payload]);
async function decodeSingle(codecs, payload) {
const decodedPayloads = await decode(codecs, [payload]);
return decodedPayloads[0];
}
async function decodeOptionalMap(codec, payloads) {
async function decodeOptionalMap(codecs, payloads) {
if (payloads === null)

@@ -78,7 +95,7 @@ return null;

return undefined;
return Object.fromEntries(await Promise.all(Object.entries(payloads).map(async ([k, v]) => [k, await codec.decode([v])])));
return Object.fromEntries(await Promise.all(Object.entries(payloads).map(async ([k, v]) => [k, await decode(codecs, [v])])));
}
exports.decodeOptionalMap = decodeOptionalMap;
/** Run {@link PayloadCodec.decode} on a single Payload */
async function decodeOptionalSingle(codec, payload) {
async function decodeOptionalSingle(codecs, payload) {
if (payload === null)

@@ -88,3 +105,3 @@ return null;

return undefined;
return await decodeSingle(codec, payload);
return await decodeSingle(codecs, payload);
}

@@ -96,4 +113,4 @@ exports.decodeOptionalSingle = decodeOptionalSingle;

async function encodeToPayload(converter, value) {
const { payloadConverter, payloadCodec } = converter;
return await encodeSingle(payloadCodec, (0, common_1.toPayload)(payloadConverter, value));
const { payloadConverter, payloadCodecs } = converter;
return await encodeSingle(payloadCodecs, (0, common_1.toPayload)(payloadConverter, value));
}

@@ -105,3 +122,3 @@ exports.encodeToPayload = encodeToPayload;

async function encodeToPayloads(converter, ...values) {
const { payloadConverter, payloadCodec } = converter;
const { payloadConverter, payloadCodecs } = converter;
if (values.length === 0) {

@@ -111,3 +128,3 @@ return undefined;

const payloads = (0, common_1.toPayloads)(payloadConverter, ...values);
return payloads ? await payloadCodec.encode(payloads) : undefined;
return payloads ? await encode(payloadCodecs, payloads) : undefined;
}

@@ -121,5 +138,5 @@ exports.encodeToPayloads = encodeToPayloads;

return undefined;
const { payloadConverter, payloadCodec } = converter;
const { payloadConverter, payloadCodecs } = converter;
return Object.fromEntries(await Promise.all(Object.entries(map).map(async ([k, payload]) => {
const [decodedPayload] = await payloadCodec.decode([payload]);
const [decodedPayload] = await decode(payloadCodecs, [payload]);
const value = payloadConverter.fromPayload(decodedPayload);

@@ -131,3 +148,3 @@ return [k, value];

/** Run {@link PayloadCodec.encode} on all values in `map` */
async function encodeMap(codec, map) {
async function encodeMap(codecs, map) {
if (map === null)

@@ -138,3 +155,3 @@ return null;

return Object.fromEntries(await Promise.all(Object.entries(map).map(async ([k, payload]) => {
return [k, await encodeSingle(codec, payload)];
return [k, await encodeSingle(codecs, payload)];
})));

@@ -147,8 +164,8 @@ }

async function encodeMapToPayloads(converter, map) {
const { payloadConverter, payloadCodec } = converter;
const { payloadConverter, payloadCodecs } = converter;
return Object.fromEntries(await Promise.all(Object.entries(map).map(async ([k, v]) => {
const payload = payloadConverter.toPayload(v);
const payload = (0, common_1.toPayload)(payloadConverter, v);
if (payload === undefined)
throw new common_1.PayloadConverterError(`Failed to encode entry: ${k}: ${v}`);
const [encodedPayload] = await payloadCodec.encode([payload]);
const [encodedPayload] = await encode(payloadCodecs, [payload]);
return [k, encodedPayload];

@@ -162,4 +179,4 @@ })));

async function encodeErrorToFailure(dataConverter, error) {
const { payloadConverter, payloadCodec } = dataConverter;
return await encodeFailure(payloadCodec, (0, common_1.errorToFailure)(error, payloadConverter));
const { payloadConverter, payloadCodecs } = dataConverter;
return await encodeFailure(payloadCodecs, (0, common_1.errorToFailure)(error, payloadConverter));
}

@@ -170,7 +187,6 @@ exports.encodeErrorToFailure = encodeErrorToFailure;

*/
async function encodeFailure(_codec, failure) {
const codec = _codec;
async function encodeFailure(codecs, failure) {
return {
...failure,
cause: failure.cause ? await encodeFailure(codec, failure.cause) : null,
cause: failure.cause ? await encodeFailure(codecs, failure.cause) : null,
applicationFailureInfo: failure.applicationFailureInfo

@@ -181,3 +197,3 @@ ? {

? {
payloads: await codec.encode(failure.applicationFailureInfo.details.payloads ?? []),
payloads: await encode(codecs, failure.applicationFailureInfo.details.payloads ?? []),
}

@@ -192,3 +208,3 @@ : undefined,

? {
payloads: await codec.encode(failure.timeoutFailureInfo.lastHeartbeatDetails.payloads ?? []),
payloads: await encode(codecs, failure.timeoutFailureInfo.lastHeartbeatDetails.payloads ?? []),
}

@@ -203,3 +219,3 @@ : undefined,

? {
payloads: await codec.encode(failure.canceledFailureInfo.details.payloads ?? []),
payloads: await encode(codecs, failure.canceledFailureInfo.details.payloads ?? []),
}

@@ -214,3 +230,3 @@ : undefined,

? {
payloads: await codec.encode(failure.resetWorkflowFailureInfo.lastHeartbeatDetails.payloads ?? []),
payloads: await encode(codecs, failure.resetWorkflowFailureInfo.lastHeartbeatDetails.payloads ?? []),
}

@@ -226,3 +242,3 @@ : undefined,

*/
async function encodeOptionalFailure(codec, failure) {
async function encodeOptionalFailure(codecs, failure) {
if (failure === null)

@@ -232,3 +248,3 @@ return null;

return undefined;
return await encodeFailure(codec, failure);
return await encodeFailure(codecs, failure);
}

@@ -239,3 +255,3 @@ exports.encodeOptionalFailure = encodeOptionalFailure;

*/
async function decodeOptionalFailure(codec, failure) {
async function decodeOptionalFailure(codecs, failure) {
if (failure === null)

@@ -245,3 +261,3 @@ return null;

return undefined;
return await decodeFailure(codec, failure);
return await decodeFailure(codecs, failure);
}

@@ -252,7 +268,6 @@ exports.decodeOptionalFailure = decodeOptionalFailure;

*/
async function decodeFailure(_codec, failure) {
const codec = _codec;
async function decodeFailure(codecs, failure) {
return {
...failure,
cause: failure.cause ? await decodeFailure(codec, failure.cause) : null,
cause: failure.cause ? await decodeFailure(codecs, failure.cause) : null,
applicationFailureInfo: failure.applicationFailureInfo

@@ -263,3 +278,3 @@ ? {

? {
payloads: await codec.decode(failure.applicationFailureInfo.details.payloads ?? []),
payloads: await decode(codecs, failure.applicationFailureInfo.details.payloads ?? []),
}

@@ -274,3 +289,3 @@ : undefined,

? {
payloads: await codec.decode(failure.timeoutFailureInfo.lastHeartbeatDetails.payloads ?? []),
payloads: await decode(codecs, failure.timeoutFailureInfo.lastHeartbeatDetails.payloads ?? []),
}

@@ -285,3 +300,3 @@ : undefined,

? {
payloads: await codec.decode(failure.canceledFailureInfo.details.payloads ?? []),
payloads: await decode(codecs, failure.canceledFailureInfo.details.payloads ?? []),
}

@@ -296,3 +311,3 @@ : undefined,

? {
payloads: await codec.decode(failure.resetWorkflowFailureInfo.lastHeartbeatDetails.payloads ?? []),
payloads: await decode(codecs, failure.resetWorkflowFailureInfo.lastHeartbeatDetails.payloads ?? []),
}

@@ -299,0 +314,0 @@ : undefined,

@@ -5,4 +5,4 @@ import { DataConverter, LoadedDataConverter } from '@temporalio/common';

* If not, use {@link defaultPayloadConverter}.
* If {@link DataConverter.payloadCodec} is unspecified, use {@link defaultPayloadCodec}.
* If {@link DataConverter.payloadCodecs} is unspecified, use an empty array.
*/
export declare function loadDataConverter(dataConverter?: DataConverter): LoadedDataConverter;

@@ -5,2 +5,3 @@ "use strict";

const common_1 = require("@temporalio/common");
const wrapped_payload_converter_1 = require("@temporalio/common/lib/converter/wrapped-payload-converter");
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");

@@ -36,3 +37,3 @@ const isValidPayloadConverter = (PayloadConverter) => typeof PayloadConverter === 'object' &&

* If not, use {@link defaultPayloadConverter}.
* If {@link DataConverter.payloadCodec} is unspecified, use {@link defaultPayloadCodec}.
* If {@link DataConverter.payloadCodecs} is unspecified, use an empty array.
*/

@@ -45,4 +46,4 @@ function loadDataConverter(dataConverter) {

return {
payloadConverter,
payloadCodec: dataConverter?.payloadCodec ?? common_1.defaultPayloadCodec,
payloadConverter: new wrapped_payload_converter_1.WrappedPayloadConverter(payloadConverter),
payloadCodecs: dataConverter?.payloadCodecs ?? [],
};

@@ -49,0 +50,0 @@ }

@@ -29,2 +29,3 @@ "use strict";

const common_1 = require("@temporalio/common");
const wrapped_payload_converter_1 = require("@temporalio/common/lib/converter/wrapped-payload-converter");
/** Default trace header for opentelemetry interceptors */

@@ -38,2 +39,3 @@ exports.TRACE_HEADER = '_tracer-data';

exports.NUM_JOBS_ATTR_KEY = 'num_jobs';
const payloadConverter = new wrapped_payload_converter_1.WrappedPayloadConverter(common_1.defaultPayloadConverter);
/**

@@ -47,3 +49,3 @@ * If found, return an otel Context deserialized from the provided headers

}
const textMap = common_1.defaultPayloadConverter.fromPayload(encodedSpanContext);
const textMap = payloadConverter.fromPayload(encodedSpanContext);
return otel.propagation.extract(otel.context.active(), textMap, otel.defaultTextMapGetter);

@@ -69,3 +71,3 @@ }

otel.propagation.inject(otel.context.active(), carrier, otel.defaultTextMapSetter);
return { ...headers, [exports.TRACE_HEADER]: (0, common_1.toPayload)(common_1.defaultPayloadConverter, carrier) };
return { ...headers, [exports.TRACE_HEADER]: (0, common_1.toPayload)(payloadConverter, carrier) };
}

@@ -72,0 +74,0 @@ exports.headersWithContext = headersWithContext;

{
"name": "@temporalio/internal-non-workflow-common",
"version": "0.22.0",
"version": "0.23.0",
"description": "Internal SDK library: users should usually use other packages instead. Not included in Workflow bundle.",

@@ -16,4 +16,4 @@ "main": "lib/index.js",

"dependencies": {
"@temporalio/common": "^0.22.0",
"@temporalio/internal-workflow-common": "^0.22.0"
"@temporalio/common": "^0.23.0",
"@temporalio/internal-workflow-common": "^0.23.0"
},

@@ -30,3 +30,3 @@ "bugs": {

},
"gitHead": "3aa1f14982bd170d21b728cbf016dc4f1b595a76"
"gitHead": "81ee3fd09c2fd866b31b1dbfabce7ef221e338ea"
}

@@ -17,7 +17,19 @@ import {

export interface TypecheckedPayloadCodec {
encode(payloads: Payload[]): Promise<EncodedPayload[]>;
decode(payloads: Payload[]): Promise<DecodedPayload[]>;
/**
* Decode through each codec, starting with the last codec.
*/
export async function decode(codecs: PayloadCodec[], payloads: Payload[]): Promise<DecodedPayload[]> {
for (let i = codecs.length - 1; i >= 0; i--) {
payloads = await codecs[i].decode(payloads);
}
return payloads as DecodedPayload[];
}
export async function encode(codecs: PayloadCodec[], payloads: Payload[]): Promise<EncodedPayload[]> {
for (let i = 0; i < codecs.length; i++) {
payloads = await codecs[i].encode(payloads);
}
return payloads as EncodedPayload[];
}
/**

@@ -31,4 +43,4 @@ * Decode `payloads` and then return {@link fromPayloadsAtIndex}.

): Promise<T> {
const { payloadConverter, payloadCodec } = converter;
return fromPayloadsAtIndex(payloadConverter, index, payloads ? await payloadCodec.decode(payloads) : payloads);
const { payloadConverter, payloadCodecs } = converter;
return fromPayloadsAtIndex(payloadConverter, index, payloads ? await decode(payloadCodecs, payloads) : payloads);
}

@@ -43,6 +55,6 @@

): Promise<unknown[]> {
const { payloadConverter, payloadCodec } = converter;
const { payloadConverter, payloadCodecs } = converter;
let decodedPayloads = payloads;
if (payloads) {
decodedPayloads = await payloadCodec.decode(payloads);
decodedPayloads = await decode(payloadCodecs, payloads);
}

@@ -59,4 +71,4 @@ return arrayFromPayloads(payloadConverter, decodedPayloads);

): Promise<TemporalFailure | undefined> {
const { payloadConverter, payloadCodec } = converter;
return failure ? failureToError(await decodeFailure(payloadCodec, failure), payloadConverter) : undefined;
const { payloadConverter, payloadCodecs } = converter;
return failure ? failureToError(await decodeFailure(payloadCodecs, failure), payloadConverter) : undefined;
}

@@ -66,3 +78,3 @@

export async function encodeOptional(
codec: PayloadCodec,
codecs: PayloadCodec[],
payloads: Payload[] | null | undefined

@@ -72,3 +84,3 @@ ): Promise<EncodedPayload[] | null | undefined> {

if (payloads === undefined) return undefined;
return (await codec.encode(payloads)) as EncodedPayload[];
return (await encode(codecs, payloads)) as EncodedPayload[];
}

@@ -78,3 +90,3 @@

export async function decodeOptional(
codec: PayloadCodec,
codecs: PayloadCodec[],
payloads: Payload[] | null | undefined

@@ -84,7 +96,7 @@ ): Promise<DecodedPayload[] | null | undefined> {

if (payloads === undefined) return undefined;
return (await codec.decode(payloads)) as DecodedPayload[];
return (await decode(codecs, payloads)) as DecodedPayload[];
}
async function encodeSingle(codec: PayloadCodec, payload: Payload): Promise<EncodedPayload> {
const encodedPayloads = await codec.encode([payload]);
async function encodeSingle(codecs: PayloadCodec[], payload: Payload): Promise<EncodedPayload> {
const encodedPayloads = await encode(codecs, [payload]);
return encodedPayloads[0] as EncodedPayload;

@@ -95,3 +107,3 @@ }

export async function encodeOptionalSingle(
codec: PayloadCodec,
codecs: PayloadCodec[],
payload: Payload | null | undefined

@@ -101,7 +113,7 @@ ): Promise<EncodedPayload | null | undefined> {

if (payload === undefined) return undefined;
return await encodeSingle(codec, payload);
return await encodeSingle(codecs, payload);
}
async function decodeSingle(codec: PayloadCodec, payload: Payload): Promise<DecodedPayload> {
const decodedPayloads = await codec.decode([payload]);
async function decodeSingle(codecs: PayloadCodec[], payload: Payload): Promise<DecodedPayload> {
const decodedPayloads = await decode(codecs, [payload]);
return decodedPayloads[0] as DecodedPayload;

@@ -111,3 +123,3 @@ }

export async function decodeOptionalMap(
codec: PayloadCodec,
codecs: PayloadCodec[],
payloads: Record<string, Payload> | null | undefined

@@ -118,3 +130,3 @@ ): Promise<Record<string, DecodedPayload> | null | undefined> {

return Object.fromEntries(
await Promise.all(Object.entries(payloads).map(async ([k, v]) => [k, await codec.decode([v])]))
await Promise.all(Object.entries(payloads).map(async ([k, v]) => [k, await decode(codecs, [v])]))
);

@@ -125,3 +137,3 @@ }

export async function decodeOptionalSingle(
codec: PayloadCodec,
codecs: PayloadCodec[],
payload: Payload | null | undefined

@@ -132,3 +144,3 @@ ): Promise<DecodedPayload | null | undefined> {

return await decodeSingle(codec, payload);
return await decodeSingle(codecs, payload);
}

@@ -140,4 +152,4 @@

export async function encodeToPayload(converter: LoadedDataConverter, value: unknown): Promise<Payload> {
const { payloadConverter, payloadCodec } = converter;
return await encodeSingle(payloadCodec, toPayload(payloadConverter, value));
const { payloadConverter, payloadCodecs } = converter;
return await encodeSingle(payloadCodecs, toPayload(payloadConverter, value));
}

@@ -152,3 +164,3 @@

): Promise<Payload[] | undefined> {
const { payloadConverter, payloadCodec } = converter;
const { payloadConverter, payloadCodecs } = converter;
if (values.length === 0) {

@@ -158,3 +170,3 @@ return undefined;

const payloads = toPayloads(payloadConverter, ...values);
return payloads ? await payloadCodec.encode(payloads) : undefined;
return payloads ? await encode(payloadCodecs, payloads) : undefined;
}

@@ -170,7 +182,7 @@

if (!map) return undefined;
const { payloadConverter, payloadCodec } = converter;
const { payloadConverter, payloadCodecs } = converter;
return Object.fromEntries(
await Promise.all(
Object.entries(map).map(async ([k, payload]): Promise<[K, unknown]> => {
const [decodedPayload] = await payloadCodec.decode([payload as Payload]);
const [decodedPayload] = await decode(payloadCodecs, [payload as Payload]);
const value = payloadConverter.fromPayload(decodedPayload);

@@ -185,3 +197,3 @@ return [k as K, value];

export async function encodeMap<K extends string>(
codec: PayloadCodec,
codecs: PayloadCodec[],
map: Record<K, Payload> | null | undefined

@@ -194,3 +206,3 @@ ): Promise<Record<K, EncodedPayload> | null | undefined> {

Object.entries(map).map(async ([k, payload]): Promise<[K, EncodedPayload]> => {
return [k as K, await encodeSingle(codec, payload as Payload)];
return [k as K, await encodeSingle(codecs, payload as Payload)];
})

@@ -208,9 +220,9 @@ )

): Promise<Record<K, Payload>> {
const { payloadConverter, payloadCodec } = converter;
const { payloadConverter, payloadCodecs } = converter;
return Object.fromEntries(
await Promise.all(
Object.entries(map).map(async ([k, v]): Promise<[K, Payload]> => {
const payload = payloadConverter.toPayload(v);
const payload = toPayload(payloadConverter, v);
if (payload === undefined) throw new PayloadConverterError(`Failed to encode entry: ${k}: ${v}`);
const [encodedPayload] = await payloadCodec.encode([payload]);
const [encodedPayload] = await encode(payloadCodecs, [payload]);
return [k as K, encodedPayload];

@@ -226,4 +238,4 @@ })

export async function encodeErrorToFailure(dataConverter: LoadedDataConverter, error: unknown): Promise<ProtoFailure> {
const { payloadConverter, payloadCodec } = dataConverter;
return await encodeFailure(payloadCodec, errorToFailure(error, payloadConverter));
const { payloadConverter, payloadCodecs } = dataConverter;
return await encodeFailure(payloadCodecs, errorToFailure(error, payloadConverter));
}

@@ -234,7 +246,6 @@

*/
export async function encodeFailure(_codec: PayloadCodec, failure: ProtoFailure): Promise<EncodedProtoFailure> {
const codec = _codec as TypecheckedPayloadCodec;
export async function encodeFailure(codecs: PayloadCodec[], failure: ProtoFailure): Promise<EncodedProtoFailure> {
return {
...failure,
cause: failure.cause ? await encodeFailure(codec, failure.cause) : null,
cause: failure.cause ? await encodeFailure(codecs, failure.cause) : null,
applicationFailureInfo: failure.applicationFailureInfo

@@ -245,3 +256,3 @@ ? {

? {
payloads: await codec.encode(failure.applicationFailureInfo.details.payloads ?? []),
payloads: await encode(codecs, failure.applicationFailureInfo.details.payloads ?? []),
}

@@ -256,3 +267,3 @@ : undefined,

? {
payloads: await codec.encode(failure.timeoutFailureInfo.lastHeartbeatDetails.payloads ?? []),
payloads: await encode(codecs, failure.timeoutFailureInfo.lastHeartbeatDetails.payloads ?? []),
}

@@ -267,3 +278,3 @@ : undefined,

? {
payloads: await codec.encode(failure.canceledFailureInfo.details.payloads ?? []),
payloads: await encode(codecs, failure.canceledFailureInfo.details.payloads ?? []),
}

@@ -278,3 +289,3 @@ : undefined,

? {
payloads: await codec.encode(failure.resetWorkflowFailureInfo.lastHeartbeatDetails.payloads ?? []),
payloads: await encode(codecs, failure.resetWorkflowFailureInfo.lastHeartbeatDetails.payloads ?? []),
}

@@ -291,3 +302,3 @@ : undefined,

export async function encodeOptionalFailure(
codec: PayloadCodec,
codecs: PayloadCodec[],
failure: ProtoFailure | null | undefined

@@ -297,3 +308,3 @@ ): Promise<EncodedProtoFailure | null | undefined> {

if (failure === undefined) return undefined;
return await encodeFailure(codec, failure);
return await encodeFailure(codecs, failure);
}

@@ -305,3 +316,3 @@

export async function decodeOptionalFailure(
codec: PayloadCodec,
codecs: PayloadCodec[],
failure: ProtoFailure | null | undefined

@@ -311,3 +322,3 @@ ): Promise<DecodedProtoFailure | null | undefined> {

if (failure === undefined) return undefined;
return await decodeFailure(codec, failure);
return await decodeFailure(codecs, failure);
}

@@ -318,7 +329,6 @@

*/
export async function decodeFailure(_codec: PayloadCodec, failure: ProtoFailure): Promise<DecodedProtoFailure> {
const codec = _codec as TypecheckedPayloadCodec;
export async function decodeFailure(codecs: PayloadCodec[], failure: ProtoFailure): Promise<DecodedProtoFailure> {
return {
...failure,
cause: failure.cause ? await decodeFailure(codec, failure.cause) : null,
cause: failure.cause ? await decodeFailure(codecs, failure.cause) : null,
applicationFailureInfo: failure.applicationFailureInfo

@@ -329,3 +339,3 @@ ? {

? {
payloads: await codec.decode(failure.applicationFailureInfo.details.payloads ?? []),
payloads: await decode(codecs, failure.applicationFailureInfo.details.payloads ?? []),
}

@@ -340,3 +350,3 @@ : undefined,

? {
payloads: await codec.decode(failure.timeoutFailureInfo.lastHeartbeatDetails.payloads ?? []),
payloads: await decode(codecs, failure.timeoutFailureInfo.lastHeartbeatDetails.payloads ?? []),
}

@@ -351,3 +361,3 @@ : undefined,

? {
payloads: await codec.decode(failure.canceledFailureInfo.details.payloads ?? []),
payloads: await decode(codecs, failure.canceledFailureInfo.details.payloads ?? []),
}

@@ -362,3 +372,3 @@ : undefined,

? {
payloads: await codec.decode(failure.resetWorkflowFailureInfo.lastHeartbeatDetails.payloads ?? []),
payloads: await decode(codecs, failure.resetWorkflowFailureInfo.lastHeartbeatDetails.payloads ?? []),
}

@@ -365,0 +375,0 @@ : undefined,

@@ -1,8 +0,3 @@

import {
DataConverter,
defaultPayloadCodec,
defaultPayloadConverter,
LoadedDataConverter,
PayloadConverter,
} from '@temporalio/common';
import { DataConverter, defaultPayloadConverter, LoadedDataConverter, PayloadConverter } from '@temporalio/common';
import { WrappedPayloadConverter } from '@temporalio/common/lib/converter/wrapped-payload-converter';
import { errorCode, hasOwnProperty, isRecord, ValueError } from '@temporalio/internal-workflow-common';

@@ -44,3 +39,3 @@

* If not, use {@link defaultPayloadConverter}.
* If {@link DataConverter.payloadCodec} is unspecified, use {@link defaultPayloadCodec}.
* If {@link DataConverter.payloadCodecs} is unspecified, use an empty array.
*/

@@ -53,5 +48,5 @@ export function loadDataConverter(dataConverter?: DataConverter): LoadedDataConverter {

return {
payloadConverter,
payloadCodec: dataConverter?.payloadCodec ?? defaultPayloadCodec,
payloadConverter: new WrappedPayloadConverter(payloadConverter),
payloadCodecs: dataConverter?.payloadCodecs ?? [],
};
}
import * as otel from '@opentelemetry/api';
import { defaultPayloadConverter, toPayload } from '@temporalio/common';
import { WrappedPayloadConverter } from '@temporalio/common/lib/converter/wrapped-payload-converter';
import { Headers } from '@temporalio/internal-workflow-common';

@@ -14,2 +15,4 @@

const payloadConverter = new WrappedPayloadConverter(defaultPayloadConverter);
/**

@@ -23,3 +26,3 @@ * If found, return an otel Context deserialized from the provided headers

}
const textMap: Record<string, string> = defaultPayloadConverter.fromPayload(encodedSpanContext);
const textMap: Record<string, string> = payloadConverter.fromPayload(encodedSpanContext);
return otel.propagation.extract(otel.context.active(), textMap, otel.defaultTextMapGetter);

@@ -46,3 +49,3 @@ }

otel.propagation.inject(otel.context.active(), carrier, otel.defaultTextMapSetter);
return { ...headers, [TRACE_HEADER]: toPayload(defaultPayloadConverter, carrier) };
return { ...headers, [TRACE_HEADER]: toPayload(payloadConverter, carrier) };
}

@@ -49,0 +52,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc