@temporalio/common 0.19.0-rc.0 → 0.19.2
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 +5 -11
- package/lib/converter/data-converter.d.ts +35 -62
- package/lib/converter/data-converter.js +6 -100
- package/lib/converter/data-converter.js.map +1 -1
- package/lib/{encoding.d.ts → converter/encoding.d.ts} +0 -0
- package/lib/{encoding.js → converter/encoding.js} +0 -0
- package/lib/converter/encoding.js.map +1 -0
- package/lib/converter/patch-protobuf-root.d.ts +8 -0
- package/lib/converter/patch-protobuf-root.js +43 -0
- package/lib/converter/patch-protobuf-root.js.map +1 -0
- package/lib/converter/payload-codec.d.ts +27 -0
- package/lib/converter/payload-codec.js +11 -0
- package/lib/converter/payload-codec.js.map +1 -0
- package/lib/converter/payload-converter.d.ts +65 -62
- package/lib/converter/payload-converter.js +123 -68
- package/lib/converter/payload-converter.js.map +1 -1
- package/lib/converter/payload-converters.d.ts +31 -0
- package/lib/converter/payload-converters.js +85 -0
- package/lib/converter/payload-converters.js.map +1 -0
- package/lib/converter/protobuf-payload-converters.d.ts +53 -0
- package/lib/converter/protobuf-payload-converters.js +159 -0
- package/lib/converter/protobuf-payload-converters.js.map +1 -0
- package/lib/converter/types.d.ts +4 -2
- package/lib/converter/types.js +3 -2
- package/lib/converter/types.js.map +1 -1
- package/lib/failure.d.ts +7 -7
- package/lib/failure.js +30 -32
- package/lib/failure.js.map +1 -1
- package/lib/index.d.ts +11 -11
- package/lib/index.js +14 -16
- package/lib/index.js.map +1 -1
- package/lib/protobufs.d.ts +13 -0
- package/lib/protobufs.js +31 -0
- package/lib/protobufs.js.map +1 -0
- package/package.json +11 -8
- package/src/converter/data-converter.ts +39 -175
- package/src/{encoding.ts → converter/encoding.ts} +0 -0
- package/src/converter/patch-protobuf-root.ts +49 -0
- package/src/converter/payload-codec.ts +30 -0
- package/src/converter/payload-converter.ts +137 -102
- package/src/converter/payload-converters.ts +89 -0
- package/src/converter/protobuf-payload-converters.ts +192 -0
- package/src/converter/types.ts +6 -3
- package/src/failure.ts +35 -39
- package/src/index.ts +11 -11
- package/src/protobufs.ts +15 -0
- package/tsconfig.json +2 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/lib/activity-options.d.ts +0 -81
- package/lib/activity-options.js +0 -14
- package/lib/activity-options.js.map +0 -1
- package/lib/encoding.js.map +0 -1
- package/lib/errors.d.ts +0 -45
- package/lib/errors.js +0 -76
- package/lib/errors.js.map +0 -1
- package/lib/interceptors.d.ts +0 -18
- package/lib/interceptors.js +0 -24
- package/lib/interceptors.js.map +0 -1
- package/lib/interfaces.d.ts +0 -31
- package/lib/interfaces.js +0 -3
- package/lib/interfaces.js.map +0 -1
- package/lib/otel.d.ts +0 -26
- package/lib/otel.js +0 -82
- package/lib/otel.js.map +0 -1
- package/lib/retry-policy.d.ts +0 -43
- package/lib/retry-policy.js +0 -36
- package/lib/retry-policy.js.map +0 -1
- package/lib/time.d.ts +0 -17
- package/lib/time.js +0 -77
- package/lib/time.js.map +0 -1
- package/lib/tls-config.d.ts +0 -32
- package/lib/tls-config.js +0 -11
- package/lib/tls-config.js.map +0 -1
- package/lib/type-helpers.d.ts +0 -12
- package/lib/type-helpers.js +0 -17
- package/lib/type-helpers.js.map +0 -1
- package/lib/utils.d.ts +0 -4
- package/lib/utils.js +0 -11
- package/lib/utils.js.map +0 -1
- package/lib/workflow-handle.d.ts +0 -27
- package/lib/workflow-handle.js +0 -3
- package/lib/workflow-handle.js.map +0 -1
- package/lib/workflow-options.d.ts +0 -92
- package/lib/workflow-options.js +0 -26
- package/lib/workflow-options.js.map +0 -1
- package/src/activity-options.ts +0 -97
- package/src/errors.ts +0 -60
- package/src/interceptors.ts +0 -32
- package/src/interfaces.ts +0 -37
- package/src/otel.ts +0 -61
- package/src/retry-policy.ts +0 -73
- package/src/time.ts +0 -76
- package/src/tls-config.ts +0 -35
- package/src/type-helpers.ts +0 -26
- package/src/utils.ts +0 -6
- package/src/workflow-handle.ts +0 -30
- package/src/workflow-options.ts +0 -128
|
@@ -1,89 +1,144 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
3
|
+
exports.defaultPayloadConverter = exports.DefaultPayloadConverter = exports.searchAttributePayloadConverter = exports.mapFromPayloads = exports.arrayFromPayloads = exports.fromPayloadsAtIndex = exports.mapToPayloads = exports.toPayloads = exports.toPayload = exports.CompositePayloadConverter = void 0;
|
|
4
|
+
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
5
|
+
const payload_converters_1 = require("./payload-converters");
|
|
5
6
|
const types_1 = require("./types");
|
|
6
|
-
class
|
|
7
|
-
|
|
8
|
-
|
|
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
|
+
}
|
|
9
14
|
}
|
|
10
|
-
|
|
11
|
-
|
|
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);
|
|
12
43
|
}
|
|
13
44
|
}
|
|
14
|
-
exports.
|
|
45
|
+
exports.CompositePayloadConverter = CompositePayloadConverter;
|
|
15
46
|
/**
|
|
16
|
-
*
|
|
47
|
+
* Tries to convert `value` to a {@link Payload}. Throws if conversion fails.
|
|
48
|
+
*
|
|
49
|
+
* @throws {@link PayloadConverterError}
|
|
17
50
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
toDataSync(value) {
|
|
24
|
-
if (value !== undefined)
|
|
25
|
-
return undefined; // Can't encode
|
|
26
|
-
return {
|
|
27
|
-
metadata: {
|
|
28
|
-
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_NULL,
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
fromDataSync(_content) {
|
|
33
|
-
return undefined; // Just return undefined
|
|
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}`);
|
|
34
55
|
}
|
|
56
|
+
return payload;
|
|
35
57
|
}
|
|
36
|
-
exports.
|
|
58
|
+
exports.toPayload = toPayload;
|
|
37
59
|
/**
|
|
38
|
-
*
|
|
60
|
+
* Implements conversion of a list of values.
|
|
61
|
+
*
|
|
62
|
+
* @param converter
|
|
63
|
+
* @param values JS values to convert to Payloads
|
|
64
|
+
* @return converted values
|
|
65
|
+
* @throws PayloadConverterError if conversion of the value passed as parameter failed for any
|
|
66
|
+
* reason.
|
|
39
67
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_JSON;
|
|
44
|
-
}
|
|
45
|
-
toDataSync(value) {
|
|
46
|
-
if (value === undefined)
|
|
47
|
-
return undefined; // Should be encoded with the UndefinedPayloadConverter
|
|
48
|
-
return {
|
|
49
|
-
metadata: {
|
|
50
|
-
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_JSON,
|
|
51
|
-
},
|
|
52
|
-
data: (0, types_1.u8)(JSON.stringify(value)),
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
fromDataSync(content) {
|
|
56
|
-
if (content.data === undefined || content.data === null) {
|
|
57
|
-
throw new errors_1.ValueError('Got payload with no data');
|
|
58
|
-
}
|
|
59
|
-
return JSON.parse((0, types_1.str)(content.data));
|
|
68
|
+
function toPayloads(converter, ...values) {
|
|
69
|
+
if (values.length === 0) {
|
|
70
|
+
return undefined;
|
|
60
71
|
}
|
|
72
|
+
return values.map((value) => toPayload(converter, value));
|
|
61
73
|
}
|
|
62
|
-
exports.
|
|
74
|
+
exports.toPayloads = toPayloads;
|
|
63
75
|
/**
|
|
64
|
-
*
|
|
76
|
+
* Run {@link PayloadConverter.toPayload} on each value in the map.
|
|
77
|
+
*
|
|
78
|
+
* @throws {@link PayloadConverterError} if conversion of any value in the map fails
|
|
65
79
|
*/
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
80
|
+
function mapToPayloads(converter, map) {
|
|
81
|
+
return Object.fromEntries(Object.entries(map).map(([k, v]) => [k, toPayload(converter, v)]));
|
|
82
|
+
}
|
|
83
|
+
exports.mapToPayloads = mapToPayloads;
|
|
84
|
+
/**
|
|
85
|
+
* Implements conversion of an array of values of different types. Useful for deserializing
|
|
86
|
+
* arguments of function invocations.
|
|
87
|
+
*
|
|
88
|
+
* @param converter
|
|
89
|
+
* @param index index of the value in the payloads
|
|
90
|
+
* @param payloads serialized value to convert to JS values.
|
|
91
|
+
* @return converted JS value
|
|
92
|
+
* @throws {@link PayloadConverterError} if conversion of the data passed as parameter failed for any
|
|
93
|
+
* reason.
|
|
94
|
+
*/
|
|
95
|
+
function fromPayloadsAtIndex(converter, index, payloads) {
|
|
96
|
+
// To make adding arguments a backwards compatible change
|
|
97
|
+
if (payloads === undefined || payloads === null || index >= payloads.length) {
|
|
98
|
+
return undefined;
|
|
70
99
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
data: value,
|
|
81
|
-
};
|
|
100
|
+
return converter.fromPayload(payloads[index]);
|
|
101
|
+
}
|
|
102
|
+
exports.fromPayloadsAtIndex = fromPayloadsAtIndex;
|
|
103
|
+
/**
|
|
104
|
+
* Run {@link PayloadConverter.fromPayload} on each value in the array.
|
|
105
|
+
*/
|
|
106
|
+
function arrayFromPayloads(converter, payloads) {
|
|
107
|
+
if (!payloads) {
|
|
108
|
+
return [];
|
|
82
109
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
110
|
+
return payloads.map((payload) => converter.fromPayload(payload));
|
|
111
|
+
}
|
|
112
|
+
exports.arrayFromPayloads = arrayFromPayloads;
|
|
113
|
+
function mapFromPayloads(converter, map) {
|
|
114
|
+
if (map === undefined || map === null)
|
|
115
|
+
return undefined;
|
|
116
|
+
return Object.fromEntries(Object.entries(map).map(([k, payload]) => {
|
|
117
|
+
const value = converter.fromPayload(payload);
|
|
118
|
+
return [k, value];
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
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());
|
|
86
132
|
}
|
|
87
133
|
}
|
|
88
|
-
exports.
|
|
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();
|
|
89
144
|
//# sourceMappingURL=payload-converter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-converter.js","sourceRoot":"","sources":["../../src/converter/payload-converter.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"payload-converter.js","sourceRoot":"","sources":["../../src/converter/payload-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PayloadConverter } from './payload-converter';
|
|
2
|
+
import { EncodingType, Payload } from './types';
|
|
3
|
+
export interface PayloadConverterWithEncoding extends PayloadConverter {
|
|
4
|
+
readonly encodingType: EncodingType;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Converts between JS undefined and NULL Payload
|
|
8
|
+
*/
|
|
9
|
+
export declare class UndefinedPayloadConverter implements PayloadConverterWithEncoding {
|
|
10
|
+
encodingType: "binary/null";
|
|
11
|
+
toPayload(value: unknown): Payload | undefined;
|
|
12
|
+
fromPayload<T>(_content: Payload): T;
|
|
13
|
+
}
|
|
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
|
+
/**
|
|
25
|
+
* Converts between binary data types and RAW Payload
|
|
26
|
+
*/
|
|
27
|
+
export declare class BinaryPayloadConverter implements PayloadConverterWithEncoding {
|
|
28
|
+
encodingType: "binary/plain";
|
|
29
|
+
toPayload(value: unknown): Payload | undefined;
|
|
30
|
+
fromPayload<T>(content: Payload): T;
|
|
31
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BinaryPayloadConverter = exports.JsonPayloadConverter = exports.UndefinedPayloadConverter = void 0;
|
|
4
|
+
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
/**
|
|
7
|
+
* Converts between JS undefined and NULL Payload
|
|
8
|
+
*/
|
|
9
|
+
class UndefinedPayloadConverter {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_NULL;
|
|
12
|
+
}
|
|
13
|
+
toPayload(value) {
|
|
14
|
+
if (value !== undefined)
|
|
15
|
+
return undefined; // Can't encode
|
|
16
|
+
return {
|
|
17
|
+
metadata: {
|
|
18
|
+
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_NULL,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
fromPayload(_content) {
|
|
23
|
+
return undefined; // Just return undefined
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.UndefinedPayloadConverter = UndefinedPayloadConverter;
|
|
27
|
+
/**
|
|
28
|
+
* Converts between non-undefined values and serialized JSON Payload
|
|
29
|
+
*
|
|
30
|
+
* @throws UnsupportedJsonTypeError
|
|
31
|
+
*/
|
|
32
|
+
class JsonPayloadConverter {
|
|
33
|
+
constructor() {
|
|
34
|
+
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_JSON;
|
|
35
|
+
}
|
|
36
|
+
toPayload(value) {
|
|
37
|
+
if (value === undefined)
|
|
38
|
+
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
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
metadata: {
|
|
48
|
+
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_JSON,
|
|
49
|
+
},
|
|
50
|
+
data: (0, types_1.u8)(json),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
fromPayload(content) {
|
|
54
|
+
if (content.data === undefined || content.data === null) {
|
|
55
|
+
throw new internal_workflow_common_1.ValueError('Got payload with no data');
|
|
56
|
+
}
|
|
57
|
+
return JSON.parse((0, types_1.str)(content.data));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.JsonPayloadConverter = JsonPayloadConverter;
|
|
61
|
+
/**
|
|
62
|
+
* Converts between binary data types and RAW Payload
|
|
63
|
+
*/
|
|
64
|
+
class BinaryPayloadConverter {
|
|
65
|
+
constructor() {
|
|
66
|
+
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_RAW;
|
|
67
|
+
}
|
|
68
|
+
toPayload(value) {
|
|
69
|
+
// TODO: support any DataView or ArrayBuffer?
|
|
70
|
+
if (!(value instanceof Uint8Array))
|
|
71
|
+
return undefined;
|
|
72
|
+
return {
|
|
73
|
+
metadata: {
|
|
74
|
+
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_RAW,
|
|
75
|
+
},
|
|
76
|
+
data: value,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
fromPayload(content) {
|
|
80
|
+
// TODO: support any DataView or ArrayBuffer?
|
|
81
|
+
return content.data;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.BinaryPayloadConverter = BinaryPayloadConverter;
|
|
85
|
+
//# sourceMappingURL=payload-converters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload-converters.js","sourceRoot":"","sources":["../../src/converter/payload-converters.ts"],"names":[],"mappings":";;;AAAA,mFAA0G;AAE1G,mCAA6G;AAM7G;;GAEG;AACH,MAAa,yBAAyB;IAAtC;QACS,iBAAY,GAAG,qBAAa,CAAC,sBAAsB,CAAC;IAc7D,CAAC;IAZQ,SAAS,CAAC,KAAc;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,CAAC,eAAe;QAC1D,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,sBAAsB;aAC7D;SACF,CAAC;IACJ,CAAC;IAEM,WAAW,CAAI,QAAiB;QACrC,OAAO,SAAgB,CAAC,CAAC,wBAAwB;IACnD,CAAC;CACF;AAfD,8DAeC;AAED;;;;GAIG;AACH,MAAa,oBAAoB;IAAjC;QACS,iBAAY,GAAG,qBAAa,CAAC,sBAAsB,CAAC;IA+B7D,CAAC;IA7BQ,SAAS,CAAC,KAAc;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAE1C,IAAI,IAAI,CAAC;QACT,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9B;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,mDAAwB,CAChC,2CAA2C,KAAK,oTAAoT,IAAA,uCAAY,EAC9W,CAAC,CACF,EAAE,EACH,CAAU,CACX,CAAC;SACH;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;AAhCD,oDAgCC;AAED;;GAEG;AACH,MAAa,sBAAsB;IAAnC;QACS,iBAAY,GAAG,qBAAa,CAAC,qBAAqB,CAAC;IAiB5D,CAAC;IAfQ,SAAS,CAAC,KAAc;QAC7B,6CAA6C;QAC7C,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;YAAE,OAAO,SAAS,CAAC;QACrD,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,qBAAqB;aAC5D;YACD,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC;IAEM,WAAW,CAAI,OAAgB;QACpC,6CAA6C;QAC7C,OAAO,OAAO,CAAC,IAAW,CAAC;IAC7B,CAAC;CACF;AAlBD,wDAkBC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Root, Type } from 'protobufjs';
|
|
2
|
+
import { CompositePayloadConverter } from './payload-converter';
|
|
3
|
+
import { PayloadConverterWithEncoding } from './payload-converters';
|
|
4
|
+
import { EncodingType, Payload } from './types';
|
|
5
|
+
declare abstract class ProtobufPayloadConverter implements PayloadConverterWithEncoding {
|
|
6
|
+
protected readonly root: Root | undefined;
|
|
7
|
+
abstract encodingType: EncodingType;
|
|
8
|
+
abstract toPayload<T>(value: T): Payload | undefined;
|
|
9
|
+
abstract fromPayload<T>(payload: Payload): T;
|
|
10
|
+
constructor(root?: unknown);
|
|
11
|
+
protected validatePayload(content: Payload): {
|
|
12
|
+
messageType: Type;
|
|
13
|
+
data: Uint8Array;
|
|
14
|
+
};
|
|
15
|
+
protected constructPayload({ messageTypeName, message }: {
|
|
16
|
+
messageTypeName: string;
|
|
17
|
+
message: Uint8Array;
|
|
18
|
+
}): Payload;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Converts between protobufjs Message instances and serialized Protobuf Payload
|
|
22
|
+
*/
|
|
23
|
+
export declare class ProtobufBinaryPayloadConverter extends ProtobufPayloadConverter {
|
|
24
|
+
encodingType: "binary/protobuf";
|
|
25
|
+
/**
|
|
26
|
+
* @param root The value returned from {@link patchProtobufRoot}
|
|
27
|
+
*/
|
|
28
|
+
constructor(root?: unknown);
|
|
29
|
+
toPayload(value: unknown): Payload | undefined;
|
|
30
|
+
fromPayload<T>(content: Payload): T;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Converts between protobufjs Message instances and serialized JSON Payload
|
|
34
|
+
*/
|
|
35
|
+
export declare class ProtobufJsonPayloadConverter extends ProtobufPayloadConverter {
|
|
36
|
+
encodingType: "json/protobuf";
|
|
37
|
+
/**
|
|
38
|
+
* @param root The value returned from {@link patchProtobufRoot}
|
|
39
|
+
*/
|
|
40
|
+
constructor(root?: unknown);
|
|
41
|
+
toPayload(value: unknown): Payload | undefined;
|
|
42
|
+
fromPayload<T>(content: Payload): T;
|
|
43
|
+
}
|
|
44
|
+
export interface DefaultPayloadConverterWithProtobufsOptions {
|
|
45
|
+
/**
|
|
46
|
+
* The `root` provided to {@link ProtobufJsonPayloadConverter} and {@link ProtobufBinaryPayloadConverter}
|
|
47
|
+
*/
|
|
48
|
+
protobufRoot: Record<string, unknown>;
|
|
49
|
+
}
|
|
50
|
+
export declare class DefaultPayloadConverterWithProtobufs extends CompositePayloadConverter {
|
|
51
|
+
constructor({ protobufRoot }: DefaultPayloadConverterWithProtobufsOptions);
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.DefaultPayloadConverterWithProtobufs = exports.ProtobufJsonPayloadConverter = exports.ProtobufBinaryPayloadConverter = void 0;
|
|
27
|
+
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
28
|
+
const protoJsonSerializer = __importStar(require("proto3-json-serializer"));
|
|
29
|
+
const payload_converter_1 = require("./payload-converter");
|
|
30
|
+
const payload_converters_1 = require("./payload-converters");
|
|
31
|
+
const types_1 = require("./types");
|
|
32
|
+
class ProtobufPayloadConverter {
|
|
33
|
+
// Don't use type Root here because root.d.ts doesn't export Root, so users would have to type assert
|
|
34
|
+
constructor(root) {
|
|
35
|
+
if (root) {
|
|
36
|
+
if (!isRoot(root)) {
|
|
37
|
+
throw new TypeError('root must be an instance of a protobufjs Root');
|
|
38
|
+
}
|
|
39
|
+
this.root = root;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
validatePayload(content) {
|
|
43
|
+
if (content.data === undefined || content.data === null) {
|
|
44
|
+
throw new internal_workflow_common_1.ValueError('Got payload with no data');
|
|
45
|
+
}
|
|
46
|
+
if (!content.metadata || !(types_1.METADATA_MESSAGE_TYPE_KEY in content.metadata)) {
|
|
47
|
+
throw new internal_workflow_common_1.ValueError(`Got protobuf payload without metadata.${types_1.METADATA_MESSAGE_TYPE_KEY}`);
|
|
48
|
+
}
|
|
49
|
+
if (!this.root) {
|
|
50
|
+
throw new internal_workflow_common_1.PayloadConverterError('Unable to deserialize protobuf message without `root` being provided');
|
|
51
|
+
}
|
|
52
|
+
const messageTypeName = (0, types_1.str)(content.metadata[types_1.METADATA_MESSAGE_TYPE_KEY]);
|
|
53
|
+
let messageType;
|
|
54
|
+
try {
|
|
55
|
+
messageType = this.root.lookupType(messageTypeName);
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
if ((0, internal_workflow_common_1.errorMessage)(e)?.includes('no such type')) {
|
|
59
|
+
throw new internal_workflow_common_1.PayloadConverterError(`Got a \`${messageTypeName}\` protobuf message but cannot find corresponding message class in \`root\``);
|
|
60
|
+
}
|
|
61
|
+
throw e;
|
|
62
|
+
}
|
|
63
|
+
return { messageType, data: content.data };
|
|
64
|
+
}
|
|
65
|
+
constructPayload({ messageTypeName, message }) {
|
|
66
|
+
return {
|
|
67
|
+
metadata: {
|
|
68
|
+
[types_1.METADATA_ENCODING_KEY]: (0, types_1.u8)(this.encodingType),
|
|
69
|
+
[types_1.METADATA_MESSAGE_TYPE_KEY]: (0, types_1.u8)(messageTypeName),
|
|
70
|
+
},
|
|
71
|
+
data: message,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Converts between protobufjs Message instances and serialized Protobuf Payload
|
|
77
|
+
*/
|
|
78
|
+
class ProtobufBinaryPayloadConverter extends ProtobufPayloadConverter {
|
|
79
|
+
/**
|
|
80
|
+
* @param root The value returned from {@link patchProtobufRoot}
|
|
81
|
+
*/
|
|
82
|
+
constructor(root) {
|
|
83
|
+
super(root);
|
|
84
|
+
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_PROTOBUF;
|
|
85
|
+
}
|
|
86
|
+
toPayload(value) {
|
|
87
|
+
if (!isProtobufMessage(value))
|
|
88
|
+
return undefined;
|
|
89
|
+
return this.constructPayload({
|
|
90
|
+
messageTypeName: getNamespacedTypeName(value.$type),
|
|
91
|
+
message: value.$type.encode(value).finish(),
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
fromPayload(content) {
|
|
95
|
+
const { messageType, data } = this.validatePayload(content);
|
|
96
|
+
return messageType.decode(data);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.ProtobufBinaryPayloadConverter = ProtobufBinaryPayloadConverter;
|
|
100
|
+
/**
|
|
101
|
+
* Converts between protobufjs Message instances and serialized JSON Payload
|
|
102
|
+
*/
|
|
103
|
+
class ProtobufJsonPayloadConverter extends ProtobufPayloadConverter {
|
|
104
|
+
/**
|
|
105
|
+
* @param root The value returned from {@link patchProtobufRoot}
|
|
106
|
+
*/
|
|
107
|
+
constructor(root) {
|
|
108
|
+
super(root);
|
|
109
|
+
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_PROTOBUF_JSON;
|
|
110
|
+
}
|
|
111
|
+
toPayload(value) {
|
|
112
|
+
if (!isProtobufMessage(value))
|
|
113
|
+
return undefined;
|
|
114
|
+
const jsonValue = protoJsonSerializer.toProto3JSON(value);
|
|
115
|
+
return this.constructPayload({
|
|
116
|
+
messageTypeName: getNamespacedTypeName(value.$type),
|
|
117
|
+
message: (0, types_1.u8)(JSON.stringify(jsonValue)),
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
fromPayload(content) {
|
|
121
|
+
const { messageType, data } = this.validatePayload(content);
|
|
122
|
+
return protoJsonSerializer.fromProto3JSON(messageType, JSON.parse((0, types_1.str)(data)));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.ProtobufJsonPayloadConverter = ProtobufJsonPayloadConverter;
|
|
126
|
+
function isProtobufType(type) {
|
|
127
|
+
return ((0, internal_workflow_common_1.isRecord)(type) &&
|
|
128
|
+
type.constructor.name === 'Type' &&
|
|
129
|
+
(0, internal_workflow_common_1.hasOwnProperties)(type, ['parent', 'name', 'create', 'encode', 'decode']) &&
|
|
130
|
+
typeof type.name === 'string' &&
|
|
131
|
+
typeof type.create === 'function' &&
|
|
132
|
+
typeof type.encode === 'function' &&
|
|
133
|
+
typeof type.decode === 'function');
|
|
134
|
+
}
|
|
135
|
+
function isProtobufMessage(value) {
|
|
136
|
+
return (0, internal_workflow_common_1.isRecord)(value) && (0, internal_workflow_common_1.hasOwnProperty)(value, '$type') && isProtobufType(value.$type);
|
|
137
|
+
}
|
|
138
|
+
function getNamespacedTypeName(node) {
|
|
139
|
+
if (node.parent && !isRoot(node.parent)) {
|
|
140
|
+
return getNamespacedTypeName(node.parent) + '.' + node.name;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
return node.name;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function isRoot(root) {
|
|
147
|
+
return (0, internal_workflow_common_1.isRecord)(root) && root.constructor.name === 'Root';
|
|
148
|
+
}
|
|
149
|
+
class DefaultPayloadConverterWithProtobufs extends payload_converter_1.CompositePayloadConverter {
|
|
150
|
+
// Match the order used in other SDKs.
|
|
151
|
+
//
|
|
152
|
+
// Go SDK:
|
|
153
|
+
// https://github.com/temporalio/sdk-go/blob/5e5645f0c550dcf717c095ae32c76a7087d2e985/converter/default_data_converter.go#L28
|
|
154
|
+
constructor({ protobufRoot }) {
|
|
155
|
+
super(new payload_converters_1.UndefinedPayloadConverter(), new payload_converters_1.BinaryPayloadConverter(), new ProtobufJsonPayloadConverter(protobufRoot), new ProtobufBinaryPayloadConverter(protobufRoot), new payload_converters_1.JsonPayloadConverter());
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
exports.DefaultPayloadConverterWithProtobufs = DefaultPayloadConverterWithProtobufs;
|
|
159
|
+
//# sourceMappingURL=protobuf-payload-converters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protobuf-payload-converters.js","sourceRoot":"","sources":["../../src/converter/protobuf-payload-converters.ts"],"names":[],"mappings":"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"}
|
package/lib/converter/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare type Payload =
|
|
1
|
+
import type { coresdk } from '@temporalio/proto/lib/coresdk';
|
|
2
|
+
export declare type Payload = coresdk.common.IPayload;
|
|
3
3
|
/**
|
|
4
4
|
* Transform an *ascii* string into a Uint8Array
|
|
5
5
|
*/
|
|
@@ -13,6 +13,7 @@ export declare const encodingTypes: {
|
|
|
13
13
|
readonly METADATA_ENCODING_PROTOBUF_JSON: "json/protobuf";
|
|
14
14
|
readonly METADATA_ENCODING_PROTOBUF: "binary/protobuf";
|
|
15
15
|
};
|
|
16
|
+
export declare type EncodingType = typeof encodingTypes[keyof typeof encodingTypes];
|
|
16
17
|
export declare const encodingKeys: {
|
|
17
18
|
readonly METADATA_ENCODING_NULL: Uint8Array;
|
|
18
19
|
readonly METADATA_ENCODING_RAW: Uint8Array;
|
|
@@ -20,3 +21,4 @@ export declare const encodingKeys: {
|
|
|
20
21
|
readonly METADATA_ENCODING_PROTOBUF_JSON: Uint8Array;
|
|
21
22
|
readonly METADATA_ENCODING_PROTOBUF: Uint8Array;
|
|
22
23
|
};
|
|
24
|
+
export declare const METADATA_MESSAGE_TYPE_KEY = "messageType";
|
package/lib/converter/types.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.encodingKeys = exports.encodingTypes = exports.METADATA_ENCODING_KEY = exports.str = exports.u8 = void 0;
|
|
4
|
-
const encoding_1 = require("
|
|
3
|
+
exports.METADATA_MESSAGE_TYPE_KEY = exports.encodingKeys = exports.encodingTypes = exports.METADATA_ENCODING_KEY = exports.str = exports.u8 = void 0;
|
|
4
|
+
const encoding_1 = require("./encoding");
|
|
5
5
|
/**
|
|
6
6
|
* Transform an *ascii* string into a Uint8Array
|
|
7
7
|
*/
|
|
@@ -28,4 +28,5 @@ exports.encodingKeys = {
|
|
|
28
28
|
METADATA_ENCODING_PROTOBUF_JSON: u8(exports.encodingTypes.METADATA_ENCODING_PROTOBUF_JSON),
|
|
29
29
|
METADATA_ENCODING_PROTOBUF: u8(exports.encodingTypes.METADATA_ENCODING_PROTOBUF),
|
|
30
30
|
};
|
|
31
|
+
exports.METADATA_MESSAGE_TYPE_KEY = 'messageType';
|
|
31
32
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/converter/types.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/converter/types.ts"],"names":[],"mappings":";;;AACA,yCAAsD;AAItD;;GAEG;AACH,SAAgB,EAAE,CAAC,CAAS;IAC1B,OAAO,IAAI,sBAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,gBAEC;AAED,SAAgB,GAAG,CAAC,CAAa;IAC/B,OAAO,IAAI,sBAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,kBAEC;AAEY,QAAA,qBAAqB,GAAG,UAAU,CAAC;AACnC,QAAA,aAAa,GAAG;IAC3B,sBAAsB,EAAE,aAAa;IACrC,qBAAqB,EAAE,cAAc;IACrC,sBAAsB,EAAE,YAAY;IACpC,+BAA+B,EAAE,eAAe;IAChD,0BAA0B,EAAE,iBAAiB;CACrC,CAAC;AAGE,QAAA,YAAY,GAAG;IAC1B,sBAAsB,EAAE,EAAE,CAAC,qBAAa,CAAC,sBAAsB,CAAC;IAChE,qBAAqB,EAAE,EAAE,CAAC,qBAAa,CAAC,qBAAqB,CAAC;IAC9D,sBAAsB,EAAE,EAAE,CAAC,qBAAa,CAAC,sBAAsB,CAAC;IAChE,+BAA+B,EAAE,EAAE,CAAC,qBAAa,CAAC,+BAA+B,CAAC;IAClF,0BAA0B,EAAE,EAAE,CAAC,qBAAa,CAAC,0BAA0B,CAAC;CAChE,CAAC;AAEE,QAAA,yBAAyB,GAAG,aAAa,CAAC"}
|