@temporalio/common 0.22.0 → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/lib/converter/data-converter.d.ts +10 -6
- package/lib/converter/data-converter.js +3 -4
- package/lib/converter/data-converter.js.map +1 -1
- package/lib/converter/json-payload-converter.d.ts +10 -0
- package/lib/converter/json-payload-converter.js +39 -0
- package/lib/converter/json-payload-converter.js.map +1 -0
- package/lib/converter/payload-codec.d.ts +0 -7
- package/lib/converter/payload-codec.js +0 -8
- package/lib/converter/payload-codec.js.map +1 -1
- package/lib/converter/payload-converter.d.ts +13 -44
- package/lib/converter/payload-converter.js +8 -85
- package/lib/converter/payload-converter.js.map +1 -1
- package/lib/converter/payload-converters.d.ts +47 -11
- package/lib/converter/payload-converters.js +75 -36
- package/lib/converter/payload-converters.js.map +1 -1
- package/lib/converter/protobuf-payload-converters.d.ts +1 -2
- package/lib/converter/protobuf-payload-converters.js +7 -5
- package/lib/converter/protobuf-payload-converters.js.map +1 -1
- package/lib/converter/search-attribute-payload-converter.d.ts +12 -0
- package/lib/converter/search-attribute-payload-converter.js +64 -0
- package/lib/converter/search-attribute-payload-converter.js.map +1 -0
- package/lib/converter/types.d.ts +1 -2
- package/lib/converter/types.js.map +1 -1
- package/lib/failure.d.ts +52 -40
- package/lib/failure.js +85 -56
- package/lib/failure.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/otel.d.ts +26 -0
- package/lib/otel.js +87 -0
- package/lib/otel.js.map +1 -0
- package/lib/proto-utils.d.ts +28 -0
- package/lib/proto-utils.js +85 -0
- package/lib/proto-utils.js.map +1 -0
- package/lib/protobufs.d.ts +2 -2
- package/lib/protobufs.js +4 -2
- package/lib/protobufs.js.map +1 -1
- package/package.json +11 -8
- package/src/converter/data-converter.ts +14 -9
- package/src/converter/json-payload-converter.ts +37 -0
- package/src/converter/payload-codec.ts +0 -8
- package/src/converter/payload-converter.ts +17 -99
- package/src/converter/payload-converters.ts +99 -40
- package/src/converter/protobuf-payload-converters.ts +8 -4
- package/src/converter/search-attribute-payload-converter.ts +71 -0
- package/src/converter/types.ts +1 -2
- package/src/failure.ts +87 -56
- package/src/index.ts +1 -0
- package/src/otel.ts +63 -0
- package/src/proto-utils.ts +103 -0
- package/src/protobufs.ts +2 -2
- package/lib/converter/patch-protobuf-root.d.ts +0 -1
- package/lib/converter/patch-protobuf-root.js +0 -6
- package/lib/converter/patch-protobuf-root.js.map +0 -1
- package/src/converter/patch-protobuf-root.ts +0 -1
- package/tsconfig.json +0 -9
- package/tsconfig.tsbuildinfo +0 -1
package/README.md
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@temporalio/common)
|
|
4
4
|
|
|
5
|
-
Part of [Temporal](https://temporal.io)'s TypeScript SDK (see [docs](https://docs.temporal.io/
|
|
5
|
+
Part of [Temporal](https://temporal.io)'s TypeScript SDK (see [docs](https://docs.temporal.io/typescript/introduction/) and [samples](https://github.com/temporalio/samples-typescript)).
|
|
6
6
|
|
|
7
7
|
Common library for code that's used across the Client, Worker, and/or Workflow:
|
|
8
8
|
|
|
9
|
-
- [DataConverter docs](https://docs.temporal.io/
|
|
10
|
-
- [Failure docs](https://docs.temporal.io/
|
|
9
|
+
- [DataConverter docs](https://docs.temporal.io/typescript/data-converters)
|
|
10
|
+
- [Failure docs](https://docs.temporal.io/typescript/handling-failure)
|
|
11
11
|
- [API reference](https://typescript.temporal.io/api/namespaces/common)
|
|
@@ -5,9 +5,9 @@ import { PayloadConverter } from './payload-converter';
|
|
|
5
5
|
* binary in a {@link Payload} Protobuf message.
|
|
6
6
|
*
|
|
7
7
|
* The default `DataConverter` supports `undefined`, `Uint8Array`, and JSON serializables (so if
|
|
8
|
-
*
|
|
9
|
-
* works, the default data converter will work). Protobufs are supported via
|
|
10
|
-
*
|
|
8
|
+
* {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description | `JSON.stringify(yourArgOrRetval)`}
|
|
9
|
+
* works, the default data converter will work). Protobufs are supported via
|
|
10
|
+
* {@link https://docs.temporal.io/typescript/data-converters#protobufs | this API}.
|
|
11
11
|
*
|
|
12
12
|
* Use a custom `DataConverter` to control the contents of your {@link Payload}s. Common reasons for using a custom
|
|
13
13
|
* `DataConverter` are:
|
|
@@ -32,15 +32,19 @@ export interface DataConverter {
|
|
|
32
32
|
*/
|
|
33
33
|
payloadConverterPath?: string;
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* An array of {@link PayloadCodec} instances.
|
|
36
|
+
*
|
|
37
|
+
* Payloads are encoded in the order of the array and decoded in the opposite order. For example, if you have a
|
|
38
|
+
* compression codec and an encryption codec, then you want data to be encoded with the compression codec first, so
|
|
39
|
+
* you'd do `payloadCodecs: [compressionCodec, encryptionCodec]`.
|
|
36
40
|
*/
|
|
37
|
-
|
|
41
|
+
payloadCodecs?: PayloadCodec[];
|
|
38
42
|
}
|
|
39
43
|
/**
|
|
40
44
|
* A {@link DataConverter} that has been loaded via {@link loadDataConverter}.
|
|
41
45
|
*/
|
|
42
46
|
export interface LoadedDataConverter {
|
|
43
47
|
payloadConverter: PayloadConverter;
|
|
44
|
-
|
|
48
|
+
payloadCodecs: PayloadCodec[];
|
|
45
49
|
}
|
|
46
50
|
export declare const defaultDataConverter: LoadedDataConverter;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.defaultDataConverter = void 0;
|
|
4
|
-
const
|
|
5
|
-
const payload_converter_1 = require("./payload-converter");
|
|
4
|
+
const payload_converters_1 = require("./payload-converters");
|
|
6
5
|
exports.defaultDataConverter = {
|
|
7
|
-
payloadConverter:
|
|
8
|
-
|
|
6
|
+
payloadConverter: payload_converters_1.defaultPayloadConverter,
|
|
7
|
+
payloadCodecs: [],
|
|
9
8
|
};
|
|
10
9
|
//# sourceMappingURL=data-converter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-converter.js","sourceRoot":"","sources":["../../src/converter/data-converter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"data-converter.js","sourceRoot":"","sources":["../../src/converter/data-converter.ts"],"names":[],"mappings":";;;AAEA,6DAA+D;AAoDlD,QAAA,oBAAoB,GAAwB;IACvD,gBAAgB,EAAE,4CAAuB;IACzC,aAAa,EAAE,EAAE;CAClB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PayloadConverterWithEncoding } from './payload-converters';
|
|
2
|
+
import { Payload } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Converts between non-undefined values and serialized JSON Payload
|
|
5
|
+
*/
|
|
6
|
+
export declare class JsonPayloadConverter implements PayloadConverterWithEncoding {
|
|
7
|
+
encodingType: "json/plain";
|
|
8
|
+
toPayload(value: unknown): Payload | undefined;
|
|
9
|
+
fromPayload<T>(content: Payload): T;
|
|
10
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonPayloadConverter = void 0;
|
|
4
|
+
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
/**
|
|
7
|
+
* Converts between non-undefined values and serialized JSON Payload
|
|
8
|
+
*/
|
|
9
|
+
class JsonPayloadConverter {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_JSON;
|
|
12
|
+
}
|
|
13
|
+
toPayload(value) {
|
|
14
|
+
if (value === undefined) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
let json;
|
|
18
|
+
try {
|
|
19
|
+
json = JSON.stringify(value);
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
metadata: {
|
|
26
|
+
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_JSON,
|
|
27
|
+
},
|
|
28
|
+
data: (0, types_1.u8)(json),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
fromPayload(content) {
|
|
32
|
+
if (content.data === undefined || content.data === null) {
|
|
33
|
+
throw new internal_workflow_common_1.ValueError('Got payload with no data');
|
|
34
|
+
}
|
|
35
|
+
return JSON.parse((0, types_1.str)(content.data));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.JsonPayloadConverter = JsonPayloadConverter;
|
|
39
|
+
//# sourceMappingURL=json-payload-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-payload-converter.js","sourceRoot":"","sources":["../../src/converter/json-payload-converter.ts"],"names":[],"mappings":";;;AAAA,mFAAkE;AAElE,mCAA+F;AAE/F;;GAEG;AACH,MAAa,oBAAoB;IAAjC;QACS,iBAAY,GAAG,qBAAa,CAAC,sBAAsB,CAAC;IA4B7D,CAAC;IA1BQ,SAAS,CAAC,KAAc;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,IAAI,CAAC;QACT,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9B;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,SAAS,CAAC;SAClB;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,sBAAsB;aAC7D;YACD,IAAI,EAAE,IAAA,UAAE,EAAC,IAAI,CAAC;SACf,CAAC;IACJ,CAAC;IAEM,WAAW,CAAI,OAAgB;QACpC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;YACvD,MAAM,IAAI,qCAAU,CAAC,0BAA0B,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,WAAG,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AA7BD,oDA6BC"}
|
|
@@ -18,10 +18,3 @@ export interface PayloadCodec {
|
|
|
18
18
|
*/
|
|
19
19
|
decode(payloads: Payload[]): Promise<Payload[]>;
|
|
20
20
|
}
|
|
21
|
-
/**
|
|
22
|
-
* No-op implementation of {@link PayloadCodec}.
|
|
23
|
-
*/
|
|
24
|
-
export declare const defaultPayloadCodec: {
|
|
25
|
-
encode: (payloads: Payload[]) => Promise<Payload[]>;
|
|
26
|
-
decode: (payloads: Payload[]) => Promise<Payload[]>;
|
|
27
|
-
};
|
|
@@ -1,11 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defaultPayloadCodec = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* No-op implementation of {@link PayloadCodec}.
|
|
6
|
-
*/
|
|
7
|
-
exports.defaultPayloadCodec = {
|
|
8
|
-
encode: async (payloads) => payloads,
|
|
9
|
-
decode: async (payloads) => payloads,
|
|
10
|
-
};
|
|
11
3
|
//# sourceMappingURL=payload-codec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-codec.js","sourceRoot":"","sources":["../../src/converter/payload-codec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"payload-codec.js","sourceRoot":"","sources":["../../src/converter/payload-codec.ts"],"names":[],"mappings":""}
|
|
@@ -1,58 +1,40 @@
|
|
|
1
|
-
import { JsonPayloadConverter, PayloadConverterWithEncoding } from './payload-converters';
|
|
2
1
|
import { Payload } from './types';
|
|
3
2
|
/**
|
|
4
|
-
* Used by the framework to serialize/deserialize parameters and return values.
|
|
3
|
+
* Used by the framework to serialize/deserialize data like parameters and return values.
|
|
5
4
|
*
|
|
6
|
-
* This is called inside the
|
|
5
|
+
* This is called inside the {@link https://docs.temporal.io/typescript/determinism | Workflow isolate}.
|
|
7
6
|
* To write async code or use Node APIs (or use packages that use Node APIs), use a {@link PayloadCodec}.
|
|
8
7
|
*/
|
|
9
8
|
export interface PayloadConverter {
|
|
10
9
|
/**
|
|
11
10
|
* Converts a value to a {@link Payload}.
|
|
12
|
-
* @param value The value to convert. Example values include the Workflow args sent by the client and the values returned by a Workflow or Activity.
|
|
13
|
-
*/
|
|
14
|
-
toPayload<T>(value: T): Payload | undefined;
|
|
15
|
-
/**
|
|
16
|
-
* Converts a {@link Payload} back to a value.
|
|
17
|
-
*/
|
|
18
|
-
fromPayload<T>(payload: Payload): T;
|
|
19
|
-
}
|
|
20
|
-
export declare class CompositePayloadConverter implements PayloadConverter {
|
|
21
|
-
readonly converters: PayloadConverterWithEncoding[];
|
|
22
|
-
readonly converterByEncoding: Map<string, PayloadConverterWithEncoding>;
|
|
23
|
-
constructor(...converters: PayloadConverterWithEncoding[]);
|
|
24
|
-
/**
|
|
25
|
-
* Tries to run `.toPayload(value)` on each converter in the order provided at construction.
|
|
26
|
-
* Returns the first successful result, or `undefined` if there is no converter that can handle the value.
|
|
27
11
|
*
|
|
28
|
-
* @
|
|
12
|
+
* @param value The value to convert. Example values include the Workflow args sent from the Client and the values returned by a Workflow or Activity.
|
|
13
|
+
*
|
|
14
|
+
* @returns The {@link Payload}.
|
|
15
|
+
*
|
|
16
|
+
* Should throw {@link ValueError} if unable to convert.
|
|
29
17
|
*/
|
|
30
|
-
toPayload<T>(value: T): Payload
|
|
18
|
+
toPayload<T>(value: T): Payload;
|
|
31
19
|
/**
|
|
32
|
-
*
|
|
20
|
+
* Converts a {@link Payload} back to a value.
|
|
33
21
|
*/
|
|
34
22
|
fromPayload<T>(payload: Payload): T;
|
|
35
23
|
}
|
|
36
|
-
/**
|
|
37
|
-
* Tries to convert `value` to a {@link Payload}. Throws if conversion fails.
|
|
38
|
-
*
|
|
39
|
-
* @throws {@link PayloadConverterError}
|
|
40
|
-
*/
|
|
41
|
-
export declare function toPayload(converter: PayloadConverter, value: unknown): Payload;
|
|
42
24
|
/**
|
|
43
25
|
* Implements conversion of a list of values.
|
|
44
26
|
*
|
|
45
27
|
* @param converter
|
|
46
28
|
* @param values JS values to convert to Payloads
|
|
47
|
-
* @return
|
|
48
|
-
* @throws
|
|
29
|
+
* @return list of {@link Payload}s
|
|
30
|
+
* @throws {@link ValueError} if conversion of the value passed as parameter failed for any
|
|
49
31
|
* reason.
|
|
50
32
|
*/
|
|
51
33
|
export declare function toPayloads(converter: PayloadConverter, ...values: unknown[]): Payload[] | undefined;
|
|
52
34
|
/**
|
|
53
35
|
* Run {@link PayloadConverter.toPayload} on each value in the map.
|
|
54
36
|
*
|
|
55
|
-
* @throws {@link
|
|
37
|
+
* @throws {@link ValueError} if conversion of any value in the map fails
|
|
56
38
|
*/
|
|
57
39
|
export declare function mapToPayloads<K extends string>(converter: PayloadConverter, map: Record<K, any>): Record<K, Payload>;
|
|
58
40
|
/**
|
|
@@ -71,17 +53,4 @@ export declare function fromPayloadsAtIndex<T>(converter: PayloadConverter, inde
|
|
|
71
53
|
* Run {@link PayloadConverter.fromPayload} on each value in the array.
|
|
72
54
|
*/
|
|
73
55
|
export declare function arrayFromPayloads(converter: PayloadConverter, payloads?: Payload[] | null): unknown[];
|
|
74
|
-
export declare function mapFromPayloads<K extends string>(converter: PayloadConverter, map?: Record<K, Payload> | null | undefined): Record<K, unknown> | undefined;
|
|
75
|
-
export declare const searchAttributePayloadConverter: JsonPayloadConverter;
|
|
76
|
-
export declare class DefaultPayloadConverter extends CompositePayloadConverter {
|
|
77
|
-
constructor();
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* The default {@link PayloadConverter} used by the SDK.
|
|
81
|
-
* Supports `Uint8Array` and JSON serializables (so if [`JSON.stringify(yourArgOrRetval)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description) works, the default payload converter will work).
|
|
82
|
-
*
|
|
83
|
-
* To also support Protobufs, create a custom payload converter with {@link DefaultPayloadConverter}:
|
|
84
|
-
*
|
|
85
|
-
* `const myConverter = new DefaultPayloadConverter({ protobufRoot })`
|
|
86
|
-
*/
|
|
87
|
-
export declare const defaultPayloadConverter: DefaultPayloadConverter;
|
|
56
|
+
export declare function mapFromPayloads<K extends string>(converter: PayloadConverter, map?: Record<K, Payload> | null | undefined): Record<K, unknown> | undefined | null;
|
|
@@ -1,84 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
5
|
-
const payload_converters_1 = require("./payload-converters");
|
|
6
|
-
const types_1 = require("./types");
|
|
7
|
-
class CompositePayloadConverter {
|
|
8
|
-
constructor(...converters) {
|
|
9
|
-
this.converterByEncoding = new Map();
|
|
10
|
-
this.converters = converters;
|
|
11
|
-
for (const converter of converters) {
|
|
12
|
-
this.converterByEncoding.set(converter.encodingType, converter);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Tries to run `.toPayload(value)` on each converter in the order provided at construction.
|
|
17
|
-
* Returns the first successful result, or `undefined` if there is no converter that can handle the value.
|
|
18
|
-
*
|
|
19
|
-
* @throws UnsupportedJsonTypeError
|
|
20
|
-
*/
|
|
21
|
-
toPayload(value) {
|
|
22
|
-
for (const converter of this.converters) {
|
|
23
|
-
const result = converter.toPayload(value);
|
|
24
|
-
if (result !== undefined) {
|
|
25
|
-
return result;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return undefined;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Run {@link PayloadConverterWithEncoding.fromPayload} based on the {@link encodingTypes | encoding type} of the {@link Payload}.
|
|
32
|
-
*/
|
|
33
|
-
fromPayload(payload) {
|
|
34
|
-
if (payload.metadata === undefined || payload.metadata === null) {
|
|
35
|
-
throw new internal_workflow_common_1.ValueError('Missing payload metadata');
|
|
36
|
-
}
|
|
37
|
-
const encoding = (0, types_1.str)(payload.metadata[types_1.METADATA_ENCODING_KEY]);
|
|
38
|
-
const converter = this.converterByEncoding.get(encoding);
|
|
39
|
-
if (converter === undefined) {
|
|
40
|
-
throw new internal_workflow_common_1.ValueError(`Unknown encoding: ${encoding}`);
|
|
41
|
-
}
|
|
42
|
-
return converter.fromPayload(payload);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
exports.CompositePayloadConverter = CompositePayloadConverter;
|
|
46
|
-
/**
|
|
47
|
-
* Tries to convert `value` to a {@link Payload}. Throws if conversion fails.
|
|
48
|
-
*
|
|
49
|
-
* @throws {@link PayloadConverterError}
|
|
50
|
-
*/
|
|
51
|
-
function toPayload(converter, value) {
|
|
52
|
-
const payload = converter.toPayload(value);
|
|
53
|
-
if (payload === undefined) {
|
|
54
|
-
throw new internal_workflow_common_1.PayloadConverterError(`Failed to convert value: ${value}`);
|
|
55
|
-
}
|
|
56
|
-
return payload;
|
|
57
|
-
}
|
|
58
|
-
exports.toPayload = toPayload;
|
|
3
|
+
exports.mapFromPayloads = exports.arrayFromPayloads = exports.fromPayloadsAtIndex = exports.mapToPayloads = exports.toPayloads = void 0;
|
|
59
4
|
/**
|
|
60
5
|
* Implements conversion of a list of values.
|
|
61
6
|
*
|
|
62
7
|
* @param converter
|
|
63
8
|
* @param values JS values to convert to Payloads
|
|
64
|
-
* @return
|
|
65
|
-
* @throws
|
|
9
|
+
* @return list of {@link Payload}s
|
|
10
|
+
* @throws {@link ValueError} if conversion of the value passed as parameter failed for any
|
|
66
11
|
* reason.
|
|
67
12
|
*/
|
|
68
13
|
function toPayloads(converter, ...values) {
|
|
69
14
|
if (values.length === 0) {
|
|
70
15
|
return undefined;
|
|
71
16
|
}
|
|
72
|
-
return values.map((value) => toPayload(
|
|
17
|
+
return values.map((value) => converter.toPayload(value));
|
|
73
18
|
}
|
|
74
19
|
exports.toPayloads = toPayloads;
|
|
75
20
|
/**
|
|
76
21
|
* Run {@link PayloadConverter.toPayload} on each value in the map.
|
|
77
22
|
*
|
|
78
|
-
* @throws {@link
|
|
23
|
+
* @throws {@link ValueError} if conversion of any value in the map fails
|
|
79
24
|
*/
|
|
80
25
|
function mapToPayloads(converter, map) {
|
|
81
|
-
return Object.fromEntries(Object.entries(map).map(([k, v]) => [k, toPayload(
|
|
26
|
+
return Object.fromEntries(Object.entries(map).map(([k, v]) => [k, converter.toPayload(v)]));
|
|
82
27
|
}
|
|
83
28
|
exports.mapToPayloads = mapToPayloads;
|
|
84
29
|
/**
|
|
@@ -111,34 +56,12 @@ function arrayFromPayloads(converter, payloads) {
|
|
|
111
56
|
}
|
|
112
57
|
exports.arrayFromPayloads = arrayFromPayloads;
|
|
113
58
|
function mapFromPayloads(converter, map) {
|
|
114
|
-
if (map
|
|
115
|
-
return
|
|
59
|
+
if (map == null)
|
|
60
|
+
return map;
|
|
116
61
|
return Object.fromEntries(Object.entries(map).map(([k, payload]) => {
|
|
117
62
|
const value = converter.fromPayload(payload);
|
|
118
63
|
return [k, value];
|
|
119
64
|
}));
|
|
120
65
|
}
|
|
121
66
|
exports.mapFromPayloads = mapFromPayloads;
|
|
122
|
-
exports.searchAttributePayloadConverter = new payload_converters_1.JsonPayloadConverter();
|
|
123
|
-
class DefaultPayloadConverter extends CompositePayloadConverter {
|
|
124
|
-
// Match the order used in other SDKs, but exclude Protobuf converters so that the code, including
|
|
125
|
-
// `proto3-json-serializer`, doesn't take space in Workflow bundles that don't use Protobufs. To use Protobufs, use
|
|
126
|
-
// {@link DefaultPayloadConverterWithProtobufs}.
|
|
127
|
-
//
|
|
128
|
-
// Go SDK:
|
|
129
|
-
// https://github.com/temporalio/sdk-go/blob/5e5645f0c550dcf717c095ae32c76a7087d2e985/converter/default_data_converter.go#L28
|
|
130
|
-
constructor() {
|
|
131
|
-
super(new payload_converters_1.UndefinedPayloadConverter(), new payload_converters_1.BinaryPayloadConverter(), new payload_converters_1.JsonPayloadConverter());
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
exports.DefaultPayloadConverter = DefaultPayloadConverter;
|
|
135
|
-
/**
|
|
136
|
-
* The default {@link PayloadConverter} used by the SDK.
|
|
137
|
-
* Supports `Uint8Array` and JSON serializables (so if [`JSON.stringify(yourArgOrRetval)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description) works, the default payload converter will work).
|
|
138
|
-
*
|
|
139
|
-
* To also support Protobufs, create a custom payload converter with {@link DefaultPayloadConverter}:
|
|
140
|
-
*
|
|
141
|
-
* `const myConverter = new DefaultPayloadConverter({ protobufRoot })`
|
|
142
|
-
*/
|
|
143
|
-
exports.defaultPayloadConverter = new DefaultPayloadConverter();
|
|
144
67
|
//# sourceMappingURL=payload-converter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-converter.js","sourceRoot":"","sources":["../../src/converter/payload-converter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"payload-converter.js","sourceRoot":"","sources":["../../src/converter/payload-converter.ts"],"names":[],"mappings":";;;AA0BA;;;;;;;;GAQG;AACH,SAAgB,UAAU,CAAC,SAA2B,EAAE,GAAG,MAAiB;IAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3D,CAAC;AAND,gCAMC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAmB,SAA2B,EAAE,GAAmB;IAC9F,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,CAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;AAC1B,CAAC;AAJD,sCAIC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,mBAAmB,CAAI,SAA2B,EAAE,KAAa,EAAE,QAA2B;IAC5G,yDAAyD;IACzD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE;QAC3E,OAAO,SAAgB,CAAC;KACzB;IACD,OAAO,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,CAAC;AAND,kDAMC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,SAA2B,EAAE,QAA2B;IACxF,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,EAAE,CAAC;KACX;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5E,CAAC;AALD,8CAKC;AAED,SAAgB,eAAe,CAC7B,SAA2B,EAC3B,GAA2C;IAE3C,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC;IAC5B,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAgB,EAAE;QACrD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAkB,CAAC,CAAC;QACxD,OAAO,CAAC,CAAM,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC,CACmB,CAAC;AAC1B,CAAC;AAXD,0CAWC"}
|
|
@@ -1,8 +1,40 @@
|
|
|
1
1
|
import { PayloadConverter } from './payload-converter';
|
|
2
|
+
import { SearchAttributePayloadConverter } from './search-attribute-payload-converter';
|
|
2
3
|
import { Payload } from './types';
|
|
3
|
-
export interface PayloadConverterWithEncoding
|
|
4
|
+
export interface PayloadConverterWithEncoding {
|
|
5
|
+
/**
|
|
6
|
+
* Converts a value to a {@link Payload}.
|
|
7
|
+
*
|
|
8
|
+
* @param value The value to convert. Example values include the Workflow args sent from the Client and the values returned by a Workflow or Activity.
|
|
9
|
+
* @returns The {@link Payload}, or `undefined` if unable to convert.
|
|
10
|
+
*/
|
|
11
|
+
toPayload<T>(value: T): Payload | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Converts a {@link Payload} back to a value.
|
|
14
|
+
*/
|
|
15
|
+
fromPayload<T>(payload: Payload): T;
|
|
4
16
|
readonly encodingType: string;
|
|
5
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Tries to convert values to {@link Payload}s using the {@link PayloadConverterWithEncoding}s provided to the constructor, in the order provided.
|
|
20
|
+
*
|
|
21
|
+
* Converts Payloads to values based on the `Payload.metadata.encoding` field, which matches the {@link PayloadConverterWithEncoding.encodingType}
|
|
22
|
+
* of the converter that created the Payload.
|
|
23
|
+
*/
|
|
24
|
+
export declare class CompositePayloadConverter implements PayloadConverter {
|
|
25
|
+
readonly converters: PayloadConverterWithEncoding[];
|
|
26
|
+
readonly converterByEncoding: Map<string, PayloadConverterWithEncoding>;
|
|
27
|
+
constructor(...converters: PayloadConverterWithEncoding[]);
|
|
28
|
+
/**
|
|
29
|
+
* Tries to run `.toPayload(value)` on each converter in the order provided at construction.
|
|
30
|
+
* Returns the first successful result, throws {@link ValueError} if there is no converter that can handle the value.
|
|
31
|
+
*/
|
|
32
|
+
toPayload<T>(value: T): Payload;
|
|
33
|
+
/**
|
|
34
|
+
* Run {@link PayloadConverterWithEncoding.fromPayload} based on the {@link encodingTypes | encoding type} of the {@link Payload}.
|
|
35
|
+
*/
|
|
36
|
+
fromPayload<T>(payload: Payload): T;
|
|
37
|
+
}
|
|
6
38
|
/**
|
|
7
39
|
* Converts between JS undefined and NULL Payload
|
|
8
40
|
*/
|
|
@@ -11,16 +43,6 @@ export declare class UndefinedPayloadConverter implements PayloadConverterWithEn
|
|
|
11
43
|
toPayload(value: unknown): Payload | undefined;
|
|
12
44
|
fromPayload<T>(_content: Payload): T;
|
|
13
45
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Converts between non-undefined values and serialized JSON Payload
|
|
16
|
-
*
|
|
17
|
-
* @throws UnsupportedJsonTypeError
|
|
18
|
-
*/
|
|
19
|
-
export declare class JsonPayloadConverter implements PayloadConverterWithEncoding {
|
|
20
|
-
encodingType: "json/plain";
|
|
21
|
-
toPayload(value: unknown): Payload | undefined;
|
|
22
|
-
fromPayload<T>(content: Payload): T;
|
|
23
|
-
}
|
|
24
46
|
/**
|
|
25
47
|
* Converts between binary data types and RAW Payload
|
|
26
48
|
*/
|
|
@@ -29,3 +51,17 @@ export declare class BinaryPayloadConverter implements PayloadConverterWithEncod
|
|
|
29
51
|
toPayload(value: unknown): Payload | undefined;
|
|
30
52
|
fromPayload<T>(content: Payload): T;
|
|
31
53
|
}
|
|
54
|
+
export declare const searchAttributePayloadConverter: SearchAttributePayloadConverter;
|
|
55
|
+
export declare class DefaultPayloadConverter extends CompositePayloadConverter {
|
|
56
|
+
constructor();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The default {@link PayloadConverter} used by the SDK. Supports `Uint8Array` and JSON serializables (so if
|
|
60
|
+
* {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description | `JSON.stringify(yourArgOrRetval)`}
|
|
61
|
+
* works, the default payload converter will work).
|
|
62
|
+
*
|
|
63
|
+
* To also support Protobufs, create a custom payload converter with {@link DefaultPayloadConverter}:
|
|
64
|
+
*
|
|
65
|
+
* `const myConverter = new DefaultPayloadConverter({ protobufRoot })`
|
|
66
|
+
*/
|
|
67
|
+
export declare const defaultPayloadConverter: DefaultPayloadConverter;
|
|
@@ -1,63 +1,78 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.defaultPayloadConverter = exports.DefaultPayloadConverter = exports.searchAttributePayloadConverter = exports.BinaryPayloadConverter = exports.UndefinedPayloadConverter = exports.CompositePayloadConverter = void 0;
|
|
4
4
|
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
5
|
+
const json_payload_converter_1 = require("./json-payload-converter");
|
|
6
|
+
const search_attribute_payload_converter_1 = require("./search-attribute-payload-converter");
|
|
5
7
|
const types_1 = require("./types");
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* Tries to convert values to {@link Payload}s using the {@link PayloadConverterWithEncoding}s provided to the constructor, in the order provided.
|
|
10
|
+
*
|
|
11
|
+
* Converts Payloads to values based on the `Payload.metadata.encoding` field, which matches the {@link PayloadConverterWithEncoding.encodingType}
|
|
12
|
+
* of the converter that created the Payload.
|
|
8
13
|
*/
|
|
9
|
-
class
|
|
10
|
-
constructor() {
|
|
11
|
-
this.
|
|
14
|
+
class CompositePayloadConverter {
|
|
15
|
+
constructor(...converters) {
|
|
16
|
+
this.converterByEncoding = new Map();
|
|
17
|
+
if (converters.length === 0) {
|
|
18
|
+
throw new internal_workflow_common_1.PayloadConverterError('Must provide at least one PayloadConverterWithEncoding');
|
|
19
|
+
}
|
|
20
|
+
this.converters = converters;
|
|
21
|
+
for (const converter of converters) {
|
|
22
|
+
this.converterByEncoding.set(converter.encodingType, converter);
|
|
23
|
+
}
|
|
12
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Tries to run `.toPayload(value)` on each converter in the order provided at construction.
|
|
27
|
+
* Returns the first successful result, throws {@link ValueError} if there is no converter that can handle the value.
|
|
28
|
+
*/
|
|
13
29
|
toPayload(value) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
30
|
+
for (const converter of this.converters) {
|
|
31
|
+
const result = converter.toPayload(value);
|
|
32
|
+
if (result !== undefined) {
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
throw new internal_workflow_common_1.ValueError(`Unable to convert ${value} to payload`);
|
|
21
37
|
}
|
|
22
|
-
|
|
23
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Run {@link PayloadConverterWithEncoding.fromPayload} based on the {@link encodingTypes | encoding type} of the {@link Payload}.
|
|
40
|
+
*/
|
|
41
|
+
fromPayload(payload) {
|
|
42
|
+
if (payload.metadata === undefined || payload.metadata === null) {
|
|
43
|
+
throw new internal_workflow_common_1.ValueError('Missing payload metadata');
|
|
44
|
+
}
|
|
45
|
+
const encoding = (0, types_1.str)(payload.metadata[types_1.METADATA_ENCODING_KEY]);
|
|
46
|
+
const converter = this.converterByEncoding.get(encoding);
|
|
47
|
+
if (converter === undefined) {
|
|
48
|
+
throw new internal_workflow_common_1.ValueError(`Unknown encoding: ${encoding}`);
|
|
49
|
+
}
|
|
50
|
+
return converter.fromPayload(payload);
|
|
24
51
|
}
|
|
25
52
|
}
|
|
26
|
-
exports.
|
|
53
|
+
exports.CompositePayloadConverter = CompositePayloadConverter;
|
|
27
54
|
/**
|
|
28
|
-
* Converts between
|
|
29
|
-
*
|
|
30
|
-
* @throws UnsupportedJsonTypeError
|
|
55
|
+
* Converts between JS undefined and NULL Payload
|
|
31
56
|
*/
|
|
32
|
-
class
|
|
57
|
+
class UndefinedPayloadConverter {
|
|
33
58
|
constructor() {
|
|
34
|
-
this.encodingType = types_1.encodingTypes.
|
|
59
|
+
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_NULL;
|
|
35
60
|
}
|
|
36
61
|
toPayload(value) {
|
|
37
|
-
if (value
|
|
62
|
+
if (value !== undefined) {
|
|
38
63
|
return undefined;
|
|
39
|
-
let json;
|
|
40
|
-
try {
|
|
41
|
-
json = JSON.stringify(value);
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
throw new internal_workflow_common_1.UnsupportedJsonTypeError(`Can't run JSON.stringify on this value: ${value}. Either convert it (or its properties) to JSON-serializable values (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description ), or use a custom data converter: https://docs.temporal.io/docs/typescript/data-converters . JSON.stringify error message: ${(0, internal_workflow_common_1.errorMessage)(e)}`, e);
|
|
45
64
|
}
|
|
46
65
|
return {
|
|
47
66
|
metadata: {
|
|
48
|
-
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.
|
|
67
|
+
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_NULL,
|
|
49
68
|
},
|
|
50
|
-
data: (0, types_1.u8)(json),
|
|
51
69
|
};
|
|
52
70
|
}
|
|
53
|
-
fromPayload(
|
|
54
|
-
|
|
55
|
-
throw new internal_workflow_common_1.ValueError('Got payload with no data');
|
|
56
|
-
}
|
|
57
|
-
return JSON.parse((0, types_1.str)(content.data));
|
|
71
|
+
fromPayload(_content) {
|
|
72
|
+
return undefined; // Just return undefined
|
|
58
73
|
}
|
|
59
74
|
}
|
|
60
|
-
exports.
|
|
75
|
+
exports.UndefinedPayloadConverter = UndefinedPayloadConverter;
|
|
61
76
|
/**
|
|
62
77
|
* Converts between binary data types and RAW Payload
|
|
63
78
|
*/
|
|
@@ -67,8 +82,9 @@ class BinaryPayloadConverter {
|
|
|
67
82
|
}
|
|
68
83
|
toPayload(value) {
|
|
69
84
|
// TODO: support any DataView or ArrayBuffer?
|
|
70
|
-
if (!(value instanceof Uint8Array))
|
|
85
|
+
if (!(value instanceof Uint8Array)) {
|
|
71
86
|
return undefined;
|
|
87
|
+
}
|
|
72
88
|
return {
|
|
73
89
|
metadata: {
|
|
74
90
|
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_RAW,
|
|
@@ -82,4 +98,27 @@ class BinaryPayloadConverter {
|
|
|
82
98
|
}
|
|
83
99
|
}
|
|
84
100
|
exports.BinaryPayloadConverter = BinaryPayloadConverter;
|
|
101
|
+
exports.searchAttributePayloadConverter = new search_attribute_payload_converter_1.SearchAttributePayloadConverter();
|
|
102
|
+
class DefaultPayloadConverter extends CompositePayloadConverter {
|
|
103
|
+
// Match the order used in other SDKs, but exclude Protobuf converters so that the code, including
|
|
104
|
+
// `proto3-json-serializer`, doesn't take space in Workflow bundles that don't use Protobufs. To use Protobufs, use
|
|
105
|
+
// {@link DefaultPayloadConverterWithProtobufs}.
|
|
106
|
+
//
|
|
107
|
+
// Go SDK:
|
|
108
|
+
// https://github.com/temporalio/sdk-go/blob/5e5645f0c550dcf717c095ae32c76a7087d2e985/converter/default_data_converter.go#L28
|
|
109
|
+
constructor() {
|
|
110
|
+
super(new UndefinedPayloadConverter(), new BinaryPayloadConverter(), new json_payload_converter_1.JsonPayloadConverter());
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.DefaultPayloadConverter = DefaultPayloadConverter;
|
|
114
|
+
/**
|
|
115
|
+
* The default {@link PayloadConverter} used by the SDK. Supports `Uint8Array` and JSON serializables (so if
|
|
116
|
+
* {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description | `JSON.stringify(yourArgOrRetval)`}
|
|
117
|
+
* works, the default payload converter will work).
|
|
118
|
+
*
|
|
119
|
+
* To also support Protobufs, create a custom payload converter with {@link DefaultPayloadConverter}:
|
|
120
|
+
*
|
|
121
|
+
* `const myConverter = new DefaultPayloadConverter({ protobufRoot })`
|
|
122
|
+
*/
|
|
123
|
+
exports.defaultPayloadConverter = new DefaultPayloadConverter();
|
|
85
124
|
//# sourceMappingURL=payload-converters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-converters.js","sourceRoot":"","sources":["../../src/converter/payload-converters.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"payload-converters.js","sourceRoot":"","sources":["../../src/converter/payload-converters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Root, Type } from 'protobufjs';
|
|
2
|
-
import { CompositePayloadConverter } from './payload-
|
|
3
|
-
import { PayloadConverterWithEncoding } from './payload-converters';
|
|
2
|
+
import { CompositePayloadConverter, PayloadConverterWithEncoding } from './payload-converters';
|
|
4
3
|
import { EncodingType, Payload } from './types';
|
|
5
4
|
declare abstract class ProtobufPayloadConverter implements PayloadConverterWithEncoding {
|
|
6
5
|
protected readonly root: Root | undefined;
|