@temporalio/common 0.20.0 → 0.23.0
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/lib/converter/data-converter.d.ts +9 -5
- package/lib/converter/data-converter.js +4 -4
- package/lib/converter/data-converter.js.map +1 -1
- package/lib/converter/encoding.js +2 -2
- package/lib/converter/encoding.js.map +1 -1
- package/lib/converter/patch-protobuf-root.d.ts +1 -8
- package/lib/converter/patch-protobuf-root.js +2 -39
- package/lib/converter/patch-protobuf-root.js.map +1 -1
- 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 +15 -42
- package/lib/converter/payload-converter.js +6 -74
- package/lib/converter/payload-converter.js.map +1 -1
- package/lib/converter/payload-converters.d.ts +36 -4
- package/lib/converter/payload-converters.js +78 -8
- 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 +5 -4
- package/lib/converter/protobuf-payload-converters.js.map +1 -1
- package/lib/converter/types.d.ts +1 -1
- package/lib/converter/wrapped-payload-converter.d.ts +12 -0
- package/lib/converter/wrapped-payload-converter.js +28 -0
- package/lib/converter/wrapped-payload-converter.js.map +1 -0
- package/lib/failure.d.ts +7 -7
- package/lib/failure.js.map +1 -1
- package/package.json +4 -4
- package/src/converter/data-converter.ts +13 -8
- package/src/converter/encoding.ts +2 -2
- package/src/converter/patch-protobuf-root.ts +1 -49
- package/src/converter/payload-codec.ts +0 -8
- package/src/converter/payload-converter.ts +24 -92
- package/src/converter/payload-converters.ts +92 -14
- package/src/converter/protobuf-payload-converters.ts +7 -3
- package/src/converter/types.ts +1 -1
- package/src/converter/wrapped-payload-converter.ts +31 -0
- package/src/failure.ts +8 -7
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -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;
|
|
@@ -26,7 +26,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.DefaultPayloadConverterWithProtobufs = exports.ProtobufJsonPayloadConverter = exports.ProtobufBinaryPayloadConverter = void 0;
|
|
27
27
|
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
28
28
|
const protoJsonSerializer = __importStar(require("proto3-json-serializer"));
|
|
29
|
-
const payload_converter_1 = require("./payload-converter");
|
|
30
29
|
const payload_converters_1 = require("./payload-converters");
|
|
31
30
|
const types_1 = require("./types");
|
|
32
31
|
class ProtobufPayloadConverter {
|
|
@@ -84,8 +83,9 @@ class ProtobufBinaryPayloadConverter extends ProtobufPayloadConverter {
|
|
|
84
83
|
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_PROTOBUF;
|
|
85
84
|
}
|
|
86
85
|
toPayload(value) {
|
|
87
|
-
if (!isProtobufMessage(value))
|
|
86
|
+
if (!isProtobufMessage(value)) {
|
|
88
87
|
return undefined;
|
|
88
|
+
}
|
|
89
89
|
return this.constructPayload({
|
|
90
90
|
messageTypeName: getNamespacedTypeName(value.$type),
|
|
91
91
|
message: value.$type.encode(value).finish(),
|
|
@@ -109,8 +109,9 @@ class ProtobufJsonPayloadConverter extends ProtobufPayloadConverter {
|
|
|
109
109
|
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_PROTOBUF_JSON;
|
|
110
110
|
}
|
|
111
111
|
toPayload(value) {
|
|
112
|
-
if (!isProtobufMessage(value))
|
|
112
|
+
if (!isProtobufMessage(value)) {
|
|
113
113
|
return undefined;
|
|
114
|
+
}
|
|
114
115
|
const jsonValue = protoJsonSerializer.toProto3JSON(value);
|
|
115
116
|
return this.constructPayload({
|
|
116
117
|
messageTypeName: getNamespacedTypeName(value.$type),
|
|
@@ -146,7 +147,7 @@ function getNamespacedTypeName(node) {
|
|
|
146
147
|
function isRoot(root) {
|
|
147
148
|
return (0, internal_workflow_common_1.isRecord)(root) && root.constructor.name === 'Root';
|
|
148
149
|
}
|
|
149
|
-
class DefaultPayloadConverterWithProtobufs extends
|
|
150
|
+
class DefaultPayloadConverterWithProtobufs extends payload_converters_1.CompositePayloadConverter {
|
|
150
151
|
// Match the order used in other SDKs.
|
|
151
152
|
//
|
|
152
153
|
// Go SDK:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protobuf-payload-converters.js","sourceRoot":"","sources":["../../src/converter/protobuf-payload-converters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAO8C;AAC9C,4EAA8D;AAE9D,
|
|
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
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PayloadConverter } from './payload-converter';
|
|
2
|
+
import { Payload } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* When we call {@link PayloadConverter.toPayload}, we want it to either throw or return a Payload, so we wrap Payload
|
|
5
|
+
* Converters with this class before using them.
|
|
6
|
+
*/
|
|
7
|
+
export declare class WrappedPayloadConverter implements PayloadConverter {
|
|
8
|
+
private readonly payloadConverter;
|
|
9
|
+
constructor(payloadConverter: PayloadConverter);
|
|
10
|
+
toPayload(value: unknown): Payload;
|
|
11
|
+
fromPayload<T>(payload: Payload): T;
|
|
12
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WrappedPayloadConverter = void 0;
|
|
4
|
+
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
5
|
+
/**
|
|
6
|
+
* When we call {@link PayloadConverter.toPayload}, we want it to either throw or return a Payload, so we wrap Payload
|
|
7
|
+
* Converters with this class before using them.
|
|
8
|
+
*/
|
|
9
|
+
class WrappedPayloadConverter {
|
|
10
|
+
constructor(payloadConverter) {
|
|
11
|
+
this.payloadConverter = payloadConverter;
|
|
12
|
+
}
|
|
13
|
+
toPayload(value) {
|
|
14
|
+
const result = this.payloadConverter.toPayload(value);
|
|
15
|
+
if (!isPayload(result)) {
|
|
16
|
+
throw new internal_workflow_common_1.ValueError(`The Payload Converter method ${Object.getPrototypeOf(this.payloadConverter).constructor.name}.toPayload must return a Payload. Received \`${result}\` of type \`${typeof result}\` when trying to convert \`${value}\` of type \`${typeof value}\`.`);
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
fromPayload(payload) {
|
|
21
|
+
return this.payloadConverter.fromPayload(payload);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.WrappedPayloadConverter = WrappedPayloadConverter;
|
|
25
|
+
function isPayload(payload) {
|
|
26
|
+
return (0, internal_workflow_common_1.isRecord)(payload) && ((0, internal_workflow_common_1.hasOwnProperty)(payload, 'metadata') || (0, internal_workflow_common_1.hasOwnProperty)(payload, 'data'));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=wrapped-payload-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapped-payload-converter.js","sourceRoot":"","sources":["../../src/converter/wrapped-payload-converter.ts"],"names":[],"mappings":";;;AAAA,mFAA4F;AAI5F;;;GAGG;AACH,MAAa,uBAAuB;IAClC,YAA6B,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAE5D,SAAS,CAAC,KAAc;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACtB,MAAM,IAAI,qCAAU,CAClB,gCACE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,IAC3D,gDAAgD,MAAM,gBAAgB,OAAO,MAAM,+BAA+B,KAAK,gBAAgB,OAAO,KAAK,KAAK,CACzJ,CAAC;SACH;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,WAAW,CAAI,OAAgB;QACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AAlBD,0DAkBC;AAED,SAAS,SAAS,CAAC,OAAgB;IACjC,OAAO,IAAA,mCAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,yCAAc,EAAC,OAAO,EAAE,UAAU,CAAC,IAAI,IAAA,yCAAc,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACvG,CAAC"}
|
package/lib/failure.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { temporal } from '@temporalio/proto
|
|
2
|
-
import {
|
|
1
|
+
import type { temporal } from '@temporalio/proto';
|
|
2
|
+
import { WrappedPayloadConverter } from './converter/wrapped-payload-converter';
|
|
3
3
|
export declare const FAILURE_SOURCE = "TypeScriptSDK";
|
|
4
4
|
export declare type ProtoFailure = temporal.api.failure.v1.IFailure;
|
|
5
5
|
export declare enum TimeoutType {
|
|
@@ -155,7 +155,7 @@ export declare class ChildWorkflowFailure extends TemporalFailure {
|
|
|
155
155
|
/**
|
|
156
156
|
* Converts an error to a Failure proto message if defined or returns undefined
|
|
157
157
|
*/
|
|
158
|
-
export declare function optionalErrorToOptionalFailure(err: unknown, payloadConverter:
|
|
158
|
+
export declare function optionalErrorToOptionalFailure(err: unknown, payloadConverter: WrappedPayloadConverter): ProtoFailure | undefined;
|
|
159
159
|
/**
|
|
160
160
|
* Cuts out the framework part of a stack trace, leaving only user code entries
|
|
161
161
|
*/
|
|
@@ -163,7 +163,7 @@ export declare function cutoffStackTrace(stack?: string): string;
|
|
|
163
163
|
/**
|
|
164
164
|
* Converts a caught error to a Failure proto message
|
|
165
165
|
*/
|
|
166
|
-
export declare function errorToFailure(err: unknown, payloadConverter:
|
|
166
|
+
export declare function errorToFailure(err: unknown, payloadConverter: WrappedPayloadConverter): ProtoFailure;
|
|
167
167
|
/**
|
|
168
168
|
* If `err` is an Error it is turned into an `ApplicationFailure`.
|
|
169
169
|
*
|
|
@@ -175,17 +175,17 @@ export declare function ensureTemporalFailure(err: unknown): TemporalFailure;
|
|
|
175
175
|
/**
|
|
176
176
|
* Converts a Failure proto message to a JS Error object if defined or returns undefined.
|
|
177
177
|
*/
|
|
178
|
-
export declare function optionalFailureToOptionalError(failure: ProtoFailure | undefined | null, payloadConverter:
|
|
178
|
+
export declare function optionalFailureToOptionalError(failure: ProtoFailure | undefined | null, payloadConverter: WrappedPayloadConverter): TemporalFailure | undefined;
|
|
179
179
|
/**
|
|
180
180
|
* Converts a Failure proto message to a JS Error object.
|
|
181
181
|
*
|
|
182
182
|
* Does not set common properties, that is done in {@link failureToError}.
|
|
183
183
|
*/
|
|
184
|
-
export declare function failureToErrorInner(failure: ProtoFailure, payloadConverter:
|
|
184
|
+
export declare function failureToErrorInner(failure: ProtoFailure, payloadConverter: WrappedPayloadConverter): TemporalFailure;
|
|
185
185
|
/**
|
|
186
186
|
* Converts a Failure proto message to a JS Error object.
|
|
187
187
|
*/
|
|
188
|
-
export declare function failureToError(failure: ProtoFailure, payloadConverter:
|
|
188
|
+
export declare function failureToError(failure: ProtoFailure, payloadConverter: WrappedPayloadConverter): TemporalFailure;
|
|
189
189
|
/**
|
|
190
190
|
* Get the root cause (string) of given error `err`.
|
|
191
191
|
*
|
package/lib/failure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure.js","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":";;;AAAA,mFAAgG;AAEhG,
|
|
1
|
+
{"version":3,"file":"failure.js","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/common",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Common library for code that's used across the Client, Worker, and/or Workflow",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"author": "Loren Sands-Ramshaw <loren@temporal.io>",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@temporalio/internal-workflow-common": "^0.
|
|
15
|
+
"@temporalio/internal-workflow-common": "^0.23.0",
|
|
16
|
+
"@temporalio/proto": "^0.23.0",
|
|
16
17
|
"proto3-json-serializer": "^0.1.6"
|
|
17
18
|
},
|
|
18
19
|
"bugs": {
|
|
@@ -23,8 +24,7 @@
|
|
|
23
24
|
"access": "public"
|
|
24
25
|
},
|
|
25
26
|
"devDependencies": {
|
|
26
|
-
"@temporalio/proto": "^0.20.0",
|
|
27
27
|
"protobufjs": "^6.11.2"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "81ee3fd09c2fd866b31b1dbfabce7ef221e338ea"
|
|
30
30
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { defaultPayloadConverter
|
|
1
|
+
import { PayloadCodec } from './payload-codec';
|
|
2
|
+
import { defaultPayloadConverter } from './payload-converters';
|
|
3
|
+
import { WrappedPayloadConverter } from './wrapped-payload-converter';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* When your data (arguments and return values) is sent over the wire and stored by Temporal Server, it is encoded in
|
|
@@ -34,20 +35,24 @@ export interface DataConverter {
|
|
|
34
35
|
payloadConverterPath?: string;
|
|
35
36
|
|
|
36
37
|
/**
|
|
37
|
-
*
|
|
38
|
+
* An array of {@link PayloadCodec} instances.
|
|
39
|
+
*
|
|
40
|
+
* Payloads are encoded in the order of the array and decoded in the opposite order. For example, if you have a
|
|
41
|
+
* compression codec and an encryption codec, then you want data to be encoded with the compression codec first, so
|
|
42
|
+
* you'd do `payloadCodecs: [compressionCodec, encryptionCodec]`.
|
|
38
43
|
*/
|
|
39
|
-
|
|
44
|
+
payloadCodecs?: PayloadCodec[];
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
/**
|
|
43
48
|
* A {@link DataConverter} that has been loaded via {@link loadDataConverter}.
|
|
44
49
|
*/
|
|
45
50
|
export interface LoadedDataConverter {
|
|
46
|
-
payloadConverter:
|
|
47
|
-
|
|
51
|
+
payloadConverter: WrappedPayloadConverter;
|
|
52
|
+
payloadCodecs: PayloadCodec[];
|
|
48
53
|
}
|
|
49
54
|
|
|
50
55
|
export const defaultDataConverter: LoadedDataConverter = {
|
|
51
|
-
payloadConverter: defaultPayloadConverter,
|
|
52
|
-
|
|
56
|
+
payloadConverter: new WrappedPayloadConverter(defaultPayloadConverter),
|
|
57
|
+
payloadCodecs: [],
|
|
53
58
|
};
|
|
@@ -99,8 +99,8 @@ export class TextDecoder {
|
|
|
99
99
|
case 0:
|
|
100
100
|
tmpBufferU16[pos] = cp0;
|
|
101
101
|
continue;*/
|
|
102
|
-
default:
|
|
103
|
-
tmpBufferU16[pos] = cp0;
|
|
102
|
+
default: // fill with invalid replacement character
|
|
103
|
+
tmpBufferU16[pos] = cp0;
|
|
104
104
|
continue;
|
|
105
105
|
case 11:
|
|
106
106
|
case 10:
|
|
@@ -1,49 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Create a version of `root` with non-nested namespaces to match the generated types.
|
|
5
|
-
* For more information, see:
|
|
6
|
-
* https://github.com/temporalio/sdk-typescript/blob/main/docs/protobuf-libraries.md#current-solution
|
|
7
|
-
* @param root Generated by `pbjs -t json-module -w commonjs -o json-module.js *.proto`
|
|
8
|
-
* @returns A new patched `root`
|
|
9
|
-
*/
|
|
10
|
-
export function patchProtobufRoot<T extends Record<string, unknown>>(root: T): T {
|
|
11
|
-
return _patchProtobufRoot(root);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function _patchProtobufRoot<T extends Record<string, unknown>>(root: T, name?: string): T {
|
|
15
|
-
const newRoot = new (root.constructor as any)(isNamespace(root) ? name : {});
|
|
16
|
-
for (const key in root) {
|
|
17
|
-
newRoot[key] = root[key];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (isRecord(root.nested)) {
|
|
21
|
-
for (const typeOrNamespace in root.nested) {
|
|
22
|
-
const value = root.nested[typeOrNamespace];
|
|
23
|
-
if (typeOrNamespace in root && !(isType(root[typeOrNamespace]) || isNamespace(root[typeOrNamespace]))) {
|
|
24
|
-
console.log(
|
|
25
|
-
`patchRoot warning: overriding property '${typeOrNamespace}' that is used by protobufjs with the '${typeOrNamespace}' protobuf namespace. This may result in protobufjs not working property.`
|
|
26
|
-
);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (isNamespace(value)) {
|
|
30
|
-
newRoot[typeOrNamespace] = _patchProtobufRoot(value, typeOrNamespace);
|
|
31
|
-
} else if (isType(value)) {
|
|
32
|
-
newRoot[typeOrNamespace] = value;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return newRoot;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
type Type = Record<string, unknown>;
|
|
41
|
-
type Namespace = { nested: Record<string, unknown> };
|
|
42
|
-
|
|
43
|
-
function isType(value: unknown): value is Type {
|
|
44
|
-
return isRecord(value) && value.constructor.name === 'Type';
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function isNamespace(value: unknown): value is Namespace {
|
|
48
|
-
return isRecord(value) && value.constructor.name === 'Namespace';
|
|
49
|
-
}
|
|
1
|
+
export { patchProtobufRoot } from '@temporalio/proto/lib/patch-protobuf-root';
|
|
@@ -20,11 +20,3 @@ export interface PayloadCodec {
|
|
|
20
20
|
*/
|
|
21
21
|
decode(payloads: Payload[]): Promise<Payload[]>;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* No-op implementation of {@link PayloadCodec}.
|
|
26
|
-
*/
|
|
27
|
-
export const defaultPayloadCodec = {
|
|
28
|
-
encode: async (payloads: Payload[]): Promise<Payload[]> => payloads,
|
|
29
|
-
decode: async (payloads: Payload[]): Promise<Payload[]> => payloads,
|
|
30
|
-
};
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
BinaryPayloadConverter,
|
|
4
|
-
JsonPayloadConverter,
|
|
5
|
-
PayloadConverterWithEncoding,
|
|
6
|
-
UndefinedPayloadConverter,
|
|
7
|
-
} from './payload-converters';
|
|
8
|
-
import { METADATA_ENCODING_KEY, Payload, str } from './types';
|
|
1
|
+
import { Payload } from './types';
|
|
2
|
+
import { WrappedPayloadConverter } from './wrapped-payload-converter';
|
|
9
3
|
|
|
10
4
|
/**
|
|
11
|
-
* Used by the framework to serialize/deserialize parameters and return values.
|
|
5
|
+
* Used by the framework to serialize/deserialize data like parameters and return values.
|
|
12
6
|
*
|
|
13
7
|
* This is called inside the [Workflow isolate](https://docs.temporal.io/docs/typescript/determinism).
|
|
14
8
|
* To write async code or use Node APIs (or use packages that use Node APIs), use a {@link PayloadCodec}.
|
|
@@ -16,7 +10,9 @@ import { METADATA_ENCODING_KEY, Payload, str } from './types';
|
|
|
16
10
|
export interface PayloadConverter {
|
|
17
11
|
/**
|
|
18
12
|
* Converts a value to a {@link Payload}.
|
|
19
|
-
*
|
|
13
|
+
*
|
|
14
|
+
* @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.
|
|
15
|
+
* @returns The {@link Payload}, or `undefined` if unable to convert.
|
|
20
16
|
*/
|
|
21
17
|
toPayload<T>(value: T): Payload | undefined;
|
|
22
18
|
|
|
@@ -26,60 +22,13 @@ export interface PayloadConverter {
|
|
|
26
22
|
fromPayload<T>(payload: Payload): T;
|
|
27
23
|
}
|
|
28
24
|
|
|
29
|
-
export class CompositePayloadConverter implements PayloadConverter {
|
|
30
|
-
readonly converters: PayloadConverterWithEncoding[];
|
|
31
|
-
readonly converterByEncoding: Map<string, PayloadConverterWithEncoding> = new Map();
|
|
32
|
-
|
|
33
|
-
constructor(...converters: PayloadConverterWithEncoding[]) {
|
|
34
|
-
this.converters = converters;
|
|
35
|
-
for (const converter of converters) {
|
|
36
|
-
this.converterByEncoding.set(converter.encodingType, converter);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Tries to run `.toPayload(value)` on each converter in the order provided at construction.
|
|
42
|
-
* Returns the first successful result, or `undefined` if there is no converter that can handle the value.
|
|
43
|
-
*
|
|
44
|
-
* @throws UnsupportedJsonTypeError
|
|
45
|
-
*/
|
|
46
|
-
public toPayload<T>(value: T): Payload | undefined {
|
|
47
|
-
for (const converter of this.converters) {
|
|
48
|
-
const result = converter.toPayload(value);
|
|
49
|
-
if (result !== undefined) {
|
|
50
|
-
return result;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return undefined;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Run {@link PayloadConverterWithEncoding.fromPayload} based on the {@link encodingTypes | encoding type} of the {@link Payload}.
|
|
58
|
-
*/
|
|
59
|
-
public fromPayload<T>(payload: Payload): T {
|
|
60
|
-
if (payload.metadata === undefined || payload.metadata === null) {
|
|
61
|
-
throw new ValueError('Missing payload metadata');
|
|
62
|
-
}
|
|
63
|
-
const encoding = str(payload.metadata[METADATA_ENCODING_KEY]);
|
|
64
|
-
const converter = this.converterByEncoding.get(encoding);
|
|
65
|
-
if (converter === undefined) {
|
|
66
|
-
throw new ValueError(`Unknown encoding: ${encoding}`);
|
|
67
|
-
}
|
|
68
|
-
return converter.fromPayload(payload);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
25
|
/**
|
|
73
26
|
* Tries to convert `value` to a {@link Payload}. Throws if conversion fails.
|
|
74
27
|
*
|
|
75
|
-
* @throws {@link
|
|
28
|
+
* @throws {@link ValueError}
|
|
76
29
|
*/
|
|
77
|
-
export function toPayload(converter:
|
|
78
|
-
|
|
79
|
-
if (payload === undefined) {
|
|
80
|
-
throw new PayloadConverterError(`Failed to convert value: ${value}`);
|
|
81
|
-
}
|
|
82
|
-
return payload;
|
|
30
|
+
export function toPayload(converter: WrappedPayloadConverter, value: unknown): Payload {
|
|
31
|
+
return converter.toPayload(value);
|
|
83
32
|
}
|
|
84
33
|
|
|
85
34
|
/**
|
|
@@ -87,11 +36,11 @@ export function toPayload(converter: PayloadConverter, value: unknown): Payload
|
|
|
87
36
|
*
|
|
88
37
|
* @param converter
|
|
89
38
|
* @param values JS values to convert to Payloads
|
|
90
|
-
* @return
|
|
91
|
-
* @throws
|
|
39
|
+
* @return list of {@link Payload}s
|
|
40
|
+
* @throws {@link ValueError} if conversion of the value passed as parameter failed for any
|
|
92
41
|
* reason.
|
|
93
42
|
*/
|
|
94
|
-
export function toPayloads(converter:
|
|
43
|
+
export function toPayloads(converter: WrappedPayloadConverter, ...values: unknown[]): Payload[] | undefined {
|
|
95
44
|
if (values.length === 0) {
|
|
96
45
|
return undefined;
|
|
97
46
|
}
|
|
@@ -102,9 +51,12 @@ export function toPayloads(converter: PayloadConverter, ...values: unknown[]): P
|
|
|
102
51
|
/**
|
|
103
52
|
* Run {@link PayloadConverter.toPayload} on each value in the map.
|
|
104
53
|
*
|
|
105
|
-
* @throws {@link
|
|
54
|
+
* @throws {@link ValueError} if conversion of any value in the map fails
|
|
106
55
|
*/
|
|
107
|
-
export function mapToPayloads<K extends string>(
|
|
56
|
+
export function mapToPayloads<K extends string>(
|
|
57
|
+
converter: WrappedPayloadConverter,
|
|
58
|
+
map: Record<K, any>
|
|
59
|
+
): Record<K, Payload> {
|
|
108
60
|
return Object.fromEntries(
|
|
109
61
|
Object.entries(map).map(([k, v]): [K, Payload] => [k as K, toPayload(converter, v)])
|
|
110
62
|
) as Record<K, Payload>;
|
|
@@ -121,7 +73,11 @@ export function mapToPayloads<K extends string>(converter: PayloadConverter, map
|
|
|
121
73
|
* @throws {@link PayloadConverterError} if conversion of the data passed as parameter failed for any
|
|
122
74
|
* reason.
|
|
123
75
|
*/
|
|
124
|
-
export function fromPayloadsAtIndex<T>(
|
|
76
|
+
export function fromPayloadsAtIndex<T>(
|
|
77
|
+
converter: WrappedPayloadConverter,
|
|
78
|
+
index: number,
|
|
79
|
+
payloads?: Payload[] | null
|
|
80
|
+
): T {
|
|
125
81
|
// To make adding arguments a backwards compatible change
|
|
126
82
|
if (payloads === undefined || payloads === null || index >= payloads.length) {
|
|
127
83
|
return undefined as any;
|
|
@@ -132,7 +88,7 @@ export function fromPayloadsAtIndex<T>(converter: PayloadConverter, index: numbe
|
|
|
132
88
|
/**
|
|
133
89
|
* Run {@link PayloadConverter.fromPayload} on each value in the array.
|
|
134
90
|
*/
|
|
135
|
-
export function arrayFromPayloads(converter:
|
|
91
|
+
export function arrayFromPayloads(converter: WrappedPayloadConverter, payloads?: Payload[] | null): unknown[] {
|
|
136
92
|
if (!payloads) {
|
|
137
93
|
return [];
|
|
138
94
|
}
|
|
@@ -140,7 +96,7 @@ export function arrayFromPayloads(converter: PayloadConverter, payloads?: Payloa
|
|
|
140
96
|
}
|
|
141
97
|
|
|
142
98
|
export function mapFromPayloads<K extends string>(
|
|
143
|
-
converter:
|
|
99
|
+
converter: WrappedPayloadConverter,
|
|
144
100
|
map?: Record<K, Payload> | null | undefined
|
|
145
101
|
): Record<K, unknown> | undefined {
|
|
146
102
|
if (map === undefined || map === null) return undefined;
|
|
@@ -151,27 +107,3 @@ export function mapFromPayloads<K extends string>(
|
|
|
151
107
|
})
|
|
152
108
|
) as Record<K, unknown>;
|
|
153
109
|
}
|
|
154
|
-
|
|
155
|
-
export const searchAttributePayloadConverter = new JsonPayloadConverter();
|
|
156
|
-
|
|
157
|
-
export class DefaultPayloadConverter extends CompositePayloadConverter {
|
|
158
|
-
// Match the order used in other SDKs, but exclude Protobuf converters so that the code, including
|
|
159
|
-
// `proto3-json-serializer`, doesn't take space in Workflow bundles that don't use Protobufs. To use Protobufs, use
|
|
160
|
-
// {@link DefaultPayloadConverterWithProtobufs}.
|
|
161
|
-
//
|
|
162
|
-
// Go SDK:
|
|
163
|
-
// https://github.com/temporalio/sdk-go/blob/5e5645f0c550dcf717c095ae32c76a7087d2e985/converter/default_data_converter.go#L28
|
|
164
|
-
constructor() {
|
|
165
|
-
super(new UndefinedPayloadConverter(), new BinaryPayloadConverter(), new JsonPayloadConverter());
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* The default {@link PayloadConverter} used by the SDK.
|
|
171
|
-
* 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).
|
|
172
|
-
*
|
|
173
|
-
* To also support Protobufs, create a custom payload converter with {@link DefaultPayloadConverter}:
|
|
174
|
-
*
|
|
175
|
-
* `const myConverter = new DefaultPayloadConverter({ protobufRoot })`
|
|
176
|
-
*/
|
|
177
|
-
export const defaultPayloadConverter = new DefaultPayloadConverter();
|