@temporalio/common 0.17.0 → 0.17.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.
@@ -4,7 +4,7 @@ import { PayloadConverter } from './payload-converter';
4
4
  * Used by the framework to serialize/deserialize method parameters that need to be sent over the
5
5
  * wire.
6
6
  *
7
- * Implement this in order to customize worker data serialization or use the default data converter which supports `Uint8Array` and JSON serializables.
7
+ * Implement this in order to customize worker data serialization or use the default data converter which supports `Uint8Array`, Protobuf, and JSON serializables.
8
8
  */
9
9
  export interface DataConverter {
10
10
  toPayload<T>(value: T): Promise<Payload>;
@@ -53,6 +53,7 @@ export interface DataConverter {
53
53
  */
54
54
  fromPayloadsSync<T>(index: number, content?: Payload[] | null): T;
55
55
  }
56
+ export declare const isValidDataConverter: (dataConverter: unknown) => dataConverter is DataConverter;
56
57
  export declare class CompositeDataConverter implements DataConverter {
57
58
  readonly converters: PayloadConverter[];
58
59
  readonly converterByEncoding: Map<string, PayloadConverter>;
@@ -70,4 +71,10 @@ export declare function arrayFromPayloads(converter: DataConverter, content?: Pa
70
71
  export declare function mapToPayloads<K extends string>(converter: DataConverter, source: Record<K, any>): Promise<Record<K, Payload>>;
71
72
  export declare function arrayFromPayloadsSync(converter: DataConverter, content?: Payload[] | null): unknown[];
72
73
  export declare function mapToPayloadsSync<K extends string>(converter: DataConverter, source: Record<K, any>): Record<K, Payload>;
73
- export declare const defaultDataConverter: CompositeDataConverter;
74
+ export interface DefaultDataConverterOptions {
75
+ root?: Record<string, unknown>;
76
+ }
77
+ export declare class DefaultDataConverter extends CompositeDataConverter {
78
+ constructor({ root }?: DefaultDataConverterOptions);
79
+ }
80
+ export declare const defaultDataConverter: DefaultDataConverter;
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultDataConverter = exports.mapToPayloadsSync = exports.arrayFromPayloadsSync = exports.mapToPayloads = exports.arrayFromPayloads = exports.CompositeDataConverter = void 0;
3
+ exports.defaultDataConverter = exports.DefaultDataConverter = exports.mapToPayloadsSync = exports.arrayFromPayloadsSync = exports.mapToPayloads = exports.arrayFromPayloads = exports.CompositeDataConverter = exports.isValidDataConverter = void 0;
4
4
  const errors_1 = require("../errors");
5
5
  const types_1 = require("./types");
6
6
  const payload_converter_1 = require("./payload-converter");
7
+ const isValidDataConverter = (dataConverter) => typeof dataConverter === 'object' &&
8
+ dataConverter !== null &&
9
+ ['toPayload', 'toPayloads', 'fromPayload', 'fromPayloads'].every((method) => typeof dataConverter[method] === 'function');
10
+ exports.isValidDataConverter = isValidDataConverter;
7
11
  class CompositeDataConverter {
8
12
  constructor(...converters) {
9
13
  this.converterByEncoding = new Map();
@@ -100,5 +104,13 @@ function mapToPayloadsSync(converter, source) {
100
104
  return Object.fromEntries(Object.entries(source).map(([k, v]) => [k, converter.toPayloadSync(v)]));
101
105
  }
102
106
  exports.mapToPayloadsSync = mapToPayloadsSync;
103
- exports.defaultDataConverter = new CompositeDataConverter(new payload_converter_1.UndefinedPayloadConverter(), new payload_converter_1.BinaryPayloadConverter(), new payload_converter_1.JsonPayloadConverter());
107
+ class DefaultDataConverter extends CompositeDataConverter {
108
+ constructor({ root } = {}) {
109
+ // Match the order used in other SDKs
110
+ // Go SDK: https://github.com/temporalio/sdk-go/blob/5e5645f0c550dcf717c095ae32c76a7087d2e985/converter/default_data_converter.go#L28
111
+ super(new payload_converter_1.UndefinedPayloadConverter(), new payload_converter_1.BinaryPayloadConverter(), new payload_converter_1.ProtobufJsonPayloadConverter(root), new payload_converter_1.ProtobufBinaryPayloadConverter(root), new payload_converter_1.JsonPayloadConverter());
112
+ }
113
+ }
114
+ exports.DefaultDataConverter = DefaultDataConverter;
115
+ exports.defaultDataConverter = new DefaultDataConverter();
104
116
  //# sourceMappingURL=data-converter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-converter.js","sourceRoot":"","sources":["../../src/converter/data-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-converter.js","sourceRoot":"","sources":["../../src/converter/data-converter.ts"],"names":[],"mappings":";;;AAAA,sCAAuC;AACvC,mCAA8D;AAC9D,2DAO6B;AA6DtB,MAAM,oBAAoB,GAAG,CAAC,aAAsB,EAAkC,EAAE,CAC7F,OAAO,aAAa,KAAK,QAAQ;IACjC,aAAa,KAAK,IAAI;IACtB,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,KAAK,CAC9D,CAAC,MAAM,EAAE,EAAE,CAAC,OAAQ,aAAyC,CAAC,MAAM,CAAC,KAAK,UAAU,CACrF,CAAC;AALS,QAAA,oBAAoB,wBAK7B;AAEJ,MAAa,sBAAsB;IAIjC,YAAY,GAAG,UAA8B;QAFpC,wBAAmB,GAAkC,IAAI,GAAG,EAAE,CAAC;QAGtE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;SACjE;IACH,CAAC;IAEM,KAAK,CAAC,SAAS,CAAI,KAAQ;QAChC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;SACzC;QACD,MAAM,IAAI,mBAAU,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAEM,aAAa,CAAI,KAAQ;QAC9B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;SACzC;QACD,MAAM,IAAI,mBAAU,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAI,OAAgB;QAC1C,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC/D,MAAM,IAAI,mBAAU,CAAC,0BAA0B,CAAC,CAAC;SAClD;QACD,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,OAAO,CAAC,QAAQ,CAAC,6BAAqB,CAAC,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,IAAI,mBAAU,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;SACvD;QACD,OAAO,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,eAAe,CAAI,OAAgB;QACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC/D,MAAM,IAAI,mBAAU,CAAC,0BAA0B,CAAC,CAAC;SAClD;QACD,MAAM,QAAQ,GAAG,IAAA,WAAG,EAAC,OAAO,CAAC,QAAQ,CAAC,6BAAqB,CAAC,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,IAAI,mBAAU,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;SACvD;QACD,OAAO,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,GAAG,MAAiB;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAEM,cAAc,CAAC,GAAG,MAAiB;QACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,YAAY,CAAI,KAAa,EAAE,QAA2B;QACrE,yDAAyD;QACzD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC3E,OAAO,SAAgB,CAAC;SACzB;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAEM,gBAAgB,CAAI,KAAa,EAAE,QAA2B;QACnE,yDAAyD;QACzD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC3E,OAAO,SAAgB,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;CACF;AAhFD,wDAgFC;AAEM,KAAK,UAAU,iBAAiB,CAAC,SAAwB,EAAE,OAA0B;IAC1F,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IACD,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AALD,8CAKC;AAEM,KAAK,UAAU,aAAa,CACjC,SAAwB,EACxB,MAAsB;IAEtB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,CAAM,EAAE,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5G,CACoB,CAAC;AAC1B,CAAC;AATD,sCASC;AAED,SAAgB,qBAAqB,CAAC,SAAwB,EAAE,OAA0B;IACxF,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC;AALD,sDAKC;AAED,SAAgB,iBAAiB,CAC/B,SAAwB,EACxB,MAAsB;IAEtB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,CAAM,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;AAC1B,CAAC;AAPD,8CAOC;AAMD,MAAa,oBAAqB,SAAQ,sBAAsB;IAC9D,YAAY,EAAE,IAAI,KAAkC,EAAE;QACpD,qCAAqC;QACrC,qIAAqI;QACrI,KAAK,CACH,IAAI,6CAAyB,EAAE,EAC/B,IAAI,0CAAsB,EAAE,EAC5B,IAAI,gDAA4B,CAAC,IAAI,CAAC,EACtC,IAAI,kDAA8B,CAAC,IAAI,CAAC,EACxC,IAAI,wCAAoB,EAAE,CAC3B,CAAC;IACJ,CAAC;CACF;AAZD,oDAYC;AAEY,QAAA,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function patchProtobufRoot<T extends Record<string, unknown>>(root: T, name?: string): T;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.patchProtobufRoot = void 0;
4
+ const type_helpers_1 = require("../type-helpers");
5
+ function patchProtobufRoot(root, name) {
6
+ const newRoot = new root.constructor(isNamespace(root) ? name : {});
7
+ for (const key in root) {
8
+ newRoot[key] = root[key];
9
+ }
10
+ if ((0, type_helpers_1.isRecord)(root.nested)) {
11
+ for (const typeOrNamespace in root.nested) {
12
+ const value = root.nested[typeOrNamespace];
13
+ if (typeOrNamespace in root && !(isType(root[typeOrNamespace]) || isNamespace(root[typeOrNamespace]))) {
14
+ console.log(`patchRoot warning: overriding property '${typeOrNamespace}' that is used by protobufjs with the '${typeOrNamespace}' protobuf namespace. This may result in protobufjs not working property.`);
15
+ }
16
+ if (isNamespace(value)) {
17
+ newRoot[typeOrNamespace] = patchProtobufRoot(value, typeOrNamespace);
18
+ }
19
+ else if (isType(value)) {
20
+ newRoot[typeOrNamespace] = value;
21
+ }
22
+ }
23
+ }
24
+ return newRoot;
25
+ }
26
+ exports.patchProtobufRoot = patchProtobufRoot;
27
+ function isType(value) {
28
+ return (0, type_helpers_1.isRecord)(value) && value.constructor.name === 'Type';
29
+ }
30
+ function isNamespace(value) {
31
+ return (0, type_helpers_1.isRecord)(value) && value.constructor.name === 'Namespace';
32
+ }
33
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/converter/helpers.ts"],"names":[],"mappings":";;;AAAA,kDAA2C;AAE3C,SAAgB,iBAAiB,CAAoC,IAAO,EAAE,IAAa;IACzF,MAAM,OAAO,GAAG,IAAK,IAAI,CAAC,WAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;KAC1B;IAED,IAAI,IAAA,uBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACzB,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,MAAM,EAAE;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC3C,IAAI,eAAe,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;gBACrG,OAAO,CAAC,GAAG,CACT,2CAA2C,eAAe,0CAA0C,eAAe,2EAA2E,CAC/L,CAAC;aACH;YAED,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,CAAC,eAAe,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;aACtE;iBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;gBACxB,OAAO,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;aAClC;SACF;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAxBD,8CAwBC;AAKD,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,IAAA,uBAAQ,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,IAAA,uBAAQ,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC;AACnE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Payload } from './types';
2
+ import type { Root, Type } from 'protobufjs';
2
3
  /**
3
4
  * Used by the framework to serialize/deserialize method parameters that need to be sent over the
4
5
  * wire.
@@ -12,7 +13,7 @@ export interface PayloadConverter {
12
13
  * Implements conversion of value to payload
13
14
  *
14
15
  * @param value JS value to convert.
15
- * @return converted value
16
+ * @return converted value or `undefined` if unable to convert.
16
17
  * @throws DataConverterException if conversion of the value passed as parameter failed for any
17
18
  * reason.
18
19
  */
@@ -33,7 +34,7 @@ export interface PayloadConverter {
33
34
  * Implements conversion of value to payload
34
35
  *
35
36
  * @param value JS value to convert.
36
- * @return converted value
37
+ * @return converted value or `undefined` if unable to convert.
37
38
  * @throws DataConverterException if conversion of the value passed as parameter failed for any
38
39
  * reason.
39
40
  */
@@ -82,3 +83,34 @@ export declare class BinaryPayloadConverter extends AsyncFacadePayloadConverter
82
83
  toDataSync(value: unknown): Payload | undefined;
83
84
  fromDataSync<T>(content: Payload): T;
84
85
  }
86
+ declare abstract class ProtobufPayloadConverter extends AsyncFacadePayloadConverter {
87
+ protected readonly root: Root | undefined;
88
+ constructor(root?: unknown);
89
+ protected validatePayload(content: Payload): {
90
+ messageType: Type;
91
+ data: Uint8Array;
92
+ };
93
+ protected constructPayload({ messageTypeName, message }: {
94
+ messageTypeName: string;
95
+ message: Uint8Array;
96
+ }): Payload;
97
+ }
98
+ /**
99
+ * Converts between protobufjs Message instances and serialized Protobuf Payload
100
+ */
101
+ export declare class ProtobufBinaryPayloadConverter extends ProtobufPayloadConverter {
102
+ encodingType: "binary/protobuf";
103
+ constructor(root?: unknown);
104
+ toDataSync(value: unknown): Payload | undefined;
105
+ fromDataSync<T>(content: Payload): T;
106
+ }
107
+ /**
108
+ * Converts between protobufjs Message instances and serialized JSON Payload
109
+ */
110
+ export declare class ProtobufJsonPayloadConverter extends ProtobufPayloadConverter {
111
+ encodingType: "json/protobuf";
112
+ constructor(root?: unknown);
113
+ toDataSync(value: unknown): Payload | undefined;
114
+ fromDataSync<T>(content: Payload): T;
115
+ }
116
+ export {};
@@ -1,8 +1,30 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BinaryPayloadConverter = exports.JsonPayloadConverter = exports.UndefinedPayloadConverter = exports.AsyncFacadePayloadConverter = void 0;
22
+ exports.ProtobufJsonPayloadConverter = exports.ProtobufBinaryPayloadConverter = exports.BinaryPayloadConverter = exports.JsonPayloadConverter = exports.UndefinedPayloadConverter = exports.AsyncFacadePayloadConverter = void 0;
4
23
  const errors_1 = require("../errors");
5
24
  const types_1 = require("./types");
25
+ const type_helpers_1 = require("../type-helpers");
26
+ const errors_2 = require("../errors");
27
+ const protoJsonSerializer = __importStar(require("proto3-json-serializer"));
6
28
  class AsyncFacadePayloadConverter {
7
29
  async toData(value) {
8
30
  return this.toDataSync(value);
@@ -86,4 +108,118 @@ class BinaryPayloadConverter extends AsyncFacadePayloadConverter {
86
108
  }
87
109
  }
88
110
  exports.BinaryPayloadConverter = BinaryPayloadConverter;
111
+ class ProtobufPayloadConverter extends AsyncFacadePayloadConverter {
112
+ // Don't use type Root here because root.d.ts doesn't export Root, so users would have to type assert
113
+ constructor(root) {
114
+ super();
115
+ if (root) {
116
+ if (!isRoot(root)) {
117
+ throw new TypeError('root must be an instance of a protobufjs Root');
118
+ }
119
+ this.root = root;
120
+ }
121
+ }
122
+ validatePayload(content) {
123
+ if (content.data === undefined || content.data === null) {
124
+ throw new errors_1.ValueError('Got payload with no data');
125
+ }
126
+ if (!content.metadata || !(types_1.METADATA_MESSAGE_TYPE_KEY in content.metadata)) {
127
+ throw new errors_1.ValueError(`Got protobuf payload without metadata.${types_1.METADATA_MESSAGE_TYPE_KEY}`);
128
+ }
129
+ if (!this.root) {
130
+ throw new errors_1.DataConverterError('Unable to deserialize protobuf message without `root` being provided');
131
+ }
132
+ const messageTypeName = (0, types_1.str)(content.metadata[types_1.METADATA_MESSAGE_TYPE_KEY]);
133
+ let messageType;
134
+ try {
135
+ messageType = this.root.lookupType(messageTypeName);
136
+ }
137
+ catch (e) {
138
+ if ((0, errors_2.errorMessage)(e)?.includes('no such type')) {
139
+ throw new errors_1.DataConverterError(`Got a \`${messageTypeName}\` protobuf message but cannot find corresponding message class in \`root\``);
140
+ }
141
+ throw e;
142
+ }
143
+ return { messageType, data: content.data };
144
+ }
145
+ constructPayload({ messageTypeName, message }) {
146
+ return {
147
+ metadata: {
148
+ [types_1.METADATA_ENCODING_KEY]: (0, types_1.u8)(this.encodingType),
149
+ [types_1.METADATA_MESSAGE_TYPE_KEY]: (0, types_1.u8)(messageTypeName),
150
+ },
151
+ data: message,
152
+ };
153
+ }
154
+ }
155
+ /**
156
+ * Converts between protobufjs Message instances and serialized Protobuf Payload
157
+ */
158
+ class ProtobufBinaryPayloadConverter extends ProtobufPayloadConverter {
159
+ constructor(root) {
160
+ super(root);
161
+ this.encodingType = types_1.encodingTypes.METADATA_ENCODING_PROTOBUF;
162
+ }
163
+ toDataSync(value) {
164
+ if (!isProtobufMessage(value)) {
165
+ return undefined;
166
+ }
167
+ return this.constructPayload({
168
+ messageTypeName: getNamespacedTypeName(value.$type),
169
+ message: value.$type.encode(value).finish(),
170
+ });
171
+ }
172
+ fromDataSync(content) {
173
+ const { messageType, data } = this.validatePayload(content);
174
+ return messageType.decode(data);
175
+ }
176
+ }
177
+ exports.ProtobufBinaryPayloadConverter = ProtobufBinaryPayloadConverter;
178
+ /**
179
+ * Converts between protobufjs Message instances and serialized JSON Payload
180
+ */
181
+ class ProtobufJsonPayloadConverter extends ProtobufPayloadConverter {
182
+ constructor(root) {
183
+ super(root);
184
+ this.encodingType = types_1.encodingTypes.METADATA_ENCODING_PROTOBUF_JSON;
185
+ }
186
+ toDataSync(value) {
187
+ if (!isProtobufMessage(value)) {
188
+ return undefined;
189
+ }
190
+ const jsonValue = protoJsonSerializer.toProto3JSON(value);
191
+ return this.constructPayload({
192
+ messageTypeName: getNamespacedTypeName(value.$type),
193
+ message: (0, types_1.u8)(JSON.stringify(jsonValue)),
194
+ });
195
+ }
196
+ fromDataSync(content) {
197
+ const { messageType, data } = this.validatePayload(content);
198
+ return protoJsonSerializer.fromProto3JSON(messageType, JSON.parse((0, types_1.str)(data)));
199
+ }
200
+ }
201
+ exports.ProtobufJsonPayloadConverter = ProtobufJsonPayloadConverter;
202
+ function isProtobufType(type) {
203
+ return ((0, type_helpers_1.isRecord)(type) &&
204
+ type.constructor.name === 'Type' &&
205
+ (0, type_helpers_1.hasOwnProperties)(type, ['parent', 'name', 'create', 'encode', 'decode']) &&
206
+ typeof type.name === 'string' &&
207
+ typeof type.create === 'function' &&
208
+ typeof type.encode === 'function' &&
209
+ typeof type.decode === 'function');
210
+ }
211
+ function isProtobufMessage(value) {
212
+ return (0, type_helpers_1.isRecord)(value) && (0, type_helpers_1.hasOwnProperty)(value, '$type') && isProtobufType(value.$type);
213
+ }
214
+ function getNamespacedTypeName(node) {
215
+ if (node.parent && !isRoot(node.parent)) {
216
+ return getNamespacedTypeName(node.parent) + '.' + node.name;
217
+ }
218
+ else {
219
+ return node.name;
220
+ }
221
+ }
222
+ function isRoot(root) {
223
+ return (0, type_helpers_1.isRecord)(root) && root.constructor.name === 'Root';
224
+ }
89
225
  //# sourceMappingURL=payload-converter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload-converter.js","sourceRoot":"","sources":["../../src/converter/payload-converter.ts"],"names":[],"mappings":";;;AAAA,sCAAuC;AACvC,mCAA+F;AA2D/F,MAAsB,2BAA2B;IAKxC,KAAK,CAAC,MAAM,CAAC,KAAc;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAI,OAAgB;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;CACF;AAZD,kEAYC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,2BAA2B;IAA1E;;QACS,iBAAY,GAAG,qBAAa,CAAC,sBAAsB,CAAC;IAc7D,CAAC;IAZQ,UAAU,CAAC,KAAc;QAC9B,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,YAAY,CAAI,QAAiB;QACtC,OAAO,SAAgB,CAAC,CAAC,wBAAwB;IACnD,CAAC;CACF;AAfD,8DAeC;AAED;;GAEG;AACH,MAAa,oBAAqB,SAAQ,2BAA2B;IAArE;;QACS,iBAAY,GAAG,qBAAa,CAAC,sBAAsB,CAAC;IAkB7D,CAAC;IAhBQ,UAAU,CAAC,KAAc;QAC9B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,CAAC,uDAAuD;QAClG,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,sBAAsB;aAC7D;YACD,IAAI,EAAE,IAAA,UAAE,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAChC,CAAC;IACJ,CAAC;IAEM,YAAY,CAAI,OAAgB;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;YACvD,MAAM,IAAI,mBAAU,CAAC,0BAA0B,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,WAAG,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AAnBD,oDAmBC;AAED;;GAEG;AACH,MAAa,sBAAuB,SAAQ,2BAA2B;IAAvE;;QACS,iBAAY,GAAG,qBAAa,CAAC,qBAAqB,CAAC;IAmB5D,CAAC;IAjBQ,UAAU,CAAC,KAAc;QAC9B,6CAA6C;QAC7C,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE;YAClC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,qBAAqB;aAC5D;YACD,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC;IAEM,YAAY,CAAI,OAAgB;QACrC,6CAA6C;QAC7C,OAAO,OAAO,CAAC,IAAW,CAAC;IAC7B,CAAC;CACF;AApBD,wDAoBC"}
1
+ {"version":3,"file":"payload-converter.js","sourceRoot":"","sources":["../../src/converter/payload-converter.ts"],"names":[],"mappings":"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"}
@@ -20,3 +20,4 @@ export declare const encodingKeys: {
20
20
  readonly METADATA_ENCODING_PROTOBUF_JSON: Uint8Array;
21
21
  readonly METADATA_ENCODING_PROTOBUF: Uint8Array;
22
22
  };
23
+ export declare const METADATA_MESSAGE_TYPE_KEY = "messageType";
@@ -1,6 +1,6 @@
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;
3
+ exports.METADATA_MESSAGE_TYPE_KEY = exports.encodingKeys = exports.encodingTypes = exports.METADATA_ENCODING_KEY = exports.str = exports.u8 = void 0;
4
4
  const encoding_1 = require("../encoding");
5
5
  /**
6
6
  * Transform an *ascii* string into a Uint8Array
@@ -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,0CAAuD;AAIvD;;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;AAEE,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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/converter/types.ts"],"names":[],"mappings":";;;AACA,0CAAuD;AAIvD;;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;AAEE,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"}
package/lib/errors.d.ts CHANGED
@@ -14,3 +14,7 @@ export declare class IllegalStateError extends Error {
14
14
  * Get error message from an Error or string or return undefined
15
15
  */
16
16
  export declare function errorMessage(err: unknown): string | undefined;
17
+ /**
18
+ * Get error code from an Error or return undefined
19
+ */
20
+ export declare function errorCode(error: unknown): string | undefined;
package/lib/errors.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.errorMessage = exports.IllegalStateError = exports.DataConverterError = exports.ValueError = void 0;
3
+ exports.errorCode = exports.errorMessage = exports.IllegalStateError = exports.DataConverterError = exports.ValueError = void 0;
4
4
  class ValueError extends Error {
5
5
  constructor() {
6
6
  super(...arguments);
@@ -38,4 +38,16 @@ function errorMessage(err) {
38
38
  return undefined;
39
39
  }
40
40
  exports.errorMessage = errorMessage;
41
+ /**
42
+ * Get error code from an Error or return undefined
43
+ */
44
+ function errorCode(error) {
45
+ if (typeof error === 'object' &&
46
+ error.code !== undefined &&
47
+ typeof error.code === 'string') {
48
+ return error.code;
49
+ }
50
+ return undefined;
51
+ }
52
+ exports.errorCode = errorCode;
41
53
  //# sourceMappingURL=errors.js.map
package/lib/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAW,SAAQ,KAAK;IAArC;;QACkB,SAAI,GAAW,YAAY,CAAC;IAC9C,CAAC;CAAA;AAFD,gCAEC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAA7C;;QACkB,SAAI,GAAW,oBAAoB,CAAC;IACtD,CAAC;CAAA;AAFD,gDAEC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK;IAA5C;;QACkB,SAAI,GAAW,mBAAmB,CAAC;IACrD,CAAC;CAAA;AAFD,8CAEC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,GAAY;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,GAAG,CAAC;KACZ;IACD,IAAI,GAAG,YAAY,KAAK,EAAE;QACxB,OAAO,GAAG,CAAC,OAAO,CAAC;KACpB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AARD,oCAQC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAW,SAAQ,KAAK;IAArC;;QACkB,SAAI,GAAW,YAAY,CAAC;IAC9C,CAAC;CAAA;AAFD,gCAEC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAA7C;;QACkB,SAAI,GAAW,oBAAoB,CAAC;IACtD,CAAC;CAAA;AAFD,gDAEC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK;IAA5C;;QACkB,SAAI,GAAW,mBAAmB,CAAC;IACrD,CAAC;CAAA;AAFD,8CAEC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,GAAY;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,GAAG,CAAC;KACZ;IACD,IAAI,GAAG,YAAY,KAAK,EAAE;QACxB,OAAO,GAAG,CAAC,OAAO,CAAC;KACpB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AARD,oCAQC;AAKD;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAc;IACtC,IACE,OAAO,KAAK,KAAK,QAAQ;QACxB,KAAuB,CAAC,IAAI,KAAK,SAAS;QAC3C,OAAQ,KAAuB,CAAC,IAAI,KAAK,QAAQ,EACjD;QACA,OAAQ,KAAuB,CAAC,IAAI,CAAC;KACtC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAVD,8BAUC"}
package/lib/index.d.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  */
6
6
  export * from './activity-options';
7
7
  export * from './converter/data-converter';
8
+ export * from './converter/helpers';
8
9
  export * from './errors';
9
10
  export * from './failure';
10
11
  export * from './interceptors';
package/lib/index.js CHANGED
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  */
18
18
  __exportStar(require("./activity-options"), exports);
19
19
  __exportStar(require("./converter/data-converter"), exports);
20
+ __exportStar(require("./converter/helpers"), exports);
20
21
  __exportStar(require("./errors"), exports);
21
22
  __exportStar(require("./failure"), exports);
22
23
  __exportStar(require("./interceptors"), exports);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;GAIG;AACH,qDAAmC;AACnC,6DAA2C;AAC3C,2CAAyB;AACzB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,iDAA+B;AAC/B,yCAAuB;AACvB,+CAA6B;AAC7B,oDAAkC;AAClC,qDAAmC;AACnC,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;GAIG;AACH,qDAAmC;AACnC,6DAA2C;AAC3C,sDAAoC;AACpC,2CAAyB;AACzB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,iDAA+B;AAC/B,yCAAuB;AACvB,+CAA6B;AAC7B,oDAAkC;AAClC,qDAAmC;AACnC,0CAAwB"}
@@ -6,3 +6,6 @@ export declare type OmitLast<T> = T extends [...infer REST, any] ? REST : never;
6
6
  export declare type OmitLastParam<F extends AnyFunc> = (...args: OmitLast<Parameters<F>>) => ReturnType<F>;
7
7
  /** Verify that an type _Copy extends _Orig */
8
8
  export declare function checkExtends<_Orig, _Copy extends _Orig>(): void;
9
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
10
+ export declare function hasOwnProperty<X extends Record<string, unknown>, Y extends PropertyKey>(record: X, prop: Y): record is X & Record<Y, unknown>;
11
+ export declare function hasOwnProperties<X extends Record<string, unknown>, Y extends PropertyKey>(record: X, props: Y[]): record is X & Record<Y, unknown>;
@@ -1,9 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkExtends = void 0;
3
+ exports.hasOwnProperties = exports.hasOwnProperty = exports.isRecord = exports.checkExtends = void 0;
4
4
  /** Verify that an type _Copy extends _Orig */
5
5
  function checkExtends() {
6
6
  // noop, just type check
7
7
  }
8
8
  exports.checkExtends = checkExtends;
9
+ function isRecord(value) {
10
+ return typeof value === 'object' && value !== null;
11
+ }
12
+ exports.isRecord = isRecord;
13
+ function hasOwnProperty(record, prop) {
14
+ return prop in record;
15
+ }
16
+ exports.hasOwnProperty = hasOwnProperty;
17
+ function hasOwnProperties(record, props) {
18
+ return props.every((prop) => prop in record);
19
+ }
20
+ exports.hasOwnProperties = hasOwnProperties;
9
21
  //# sourceMappingURL=type-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-helpers.js","sourceRoot":"","sources":["../src/type-helpers.ts"],"names":[],"mappings":";;;AAOA,8CAA8C;AAC9C,SAAgB,YAAY;IAC1B,wBAAwB;AAC1B,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"type-helpers.js","sourceRoot":"","sources":["../src/type-helpers.ts"],"names":[],"mappings":";;;AAOA,8CAA8C;AAC9C,SAAgB,YAAY;IAC1B,wBAAwB;AAC1B,CAAC;AAFD,oCAEC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAFD,4BAEC;AAED,SAAgB,cAAc,CAC5B,MAAS,EACT,IAAO;IAEP,OAAO,IAAI,IAAI,MAAM,CAAC;AACxB,CAAC;AALD,wCAKC;AAED,SAAgB,gBAAgB,CAC9B,MAAS,EACT,KAAU;IAEV,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;AAC/C,CAAC;AALD,4CAKC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@temporalio/common",
3
- "version": "0.17.0",
3
+ "version": "0.17.1",
4
4
  "description": "Temporal.io SDK common library for use in Workflow and normal code",
5
5
  "main": "lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -13,8 +13,9 @@
13
13
  "author": "Roey Berman <roey@temporal.io>",
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
- "@temporalio/proto": "^0.17.0",
17
- "ms": "^2.1.3"
16
+ "@temporalio/proto": "^0.17.1",
17
+ "ms": "^2.1.3",
18
+ "proto3-json-serializer": "^0.1.6"
18
19
  },
19
20
  "bugs": {
20
21
  "url": "https://github.com/temporalio/sdk-typescript/issues"
@@ -23,5 +24,8 @@
23
24
  "publishConfig": {
24
25
  "access": "public"
25
26
  },
26
- "gitHead": "7706410cb67a1c92b9ae9eea1cac48e0dad4a8d1"
27
+ "devDependencies": {
28
+ "protobufjs": "^6.11.2"
29
+ },
30
+ "gitHead": "3ee26c92e9c18500f919654a402237a86e69652e"
27
31
  }
@@ -5,13 +5,15 @@ import {
5
5
  UndefinedPayloadConverter,
6
6
  BinaryPayloadConverter,
7
7
  JsonPayloadConverter,
8
+ ProtobufJsonPayloadConverter,
9
+ ProtobufBinaryPayloadConverter,
8
10
  } from './payload-converter';
9
11
 
10
12
  /**
11
13
  * Used by the framework to serialize/deserialize method parameters that need to be sent over the
12
14
  * wire.
13
15
  *
14
- * Implement this in order to customize worker data serialization or use the default data converter which supports `Uint8Array` and JSON serializables.
16
+ * Implement this in order to customize worker data serialization or use the default data converter which supports `Uint8Array`, Protobuf, and JSON serializables.
15
17
  */
16
18
  export interface DataConverter {
17
19
  toPayload<T>(value: T): Promise<Payload>;
@@ -66,6 +68,13 @@ export interface DataConverter {
66
68
  fromPayloadsSync<T>(index: number, content?: Payload[] | null): T;
67
69
  }
68
70
 
71
+ export const isValidDataConverter = (dataConverter: unknown): dataConverter is DataConverter =>
72
+ typeof dataConverter === 'object' &&
73
+ dataConverter !== null &&
74
+ ['toPayload', 'toPayloads', 'fromPayload', 'fromPayloads'].every(
75
+ (method) => typeof (dataConverter as Record<string, unknown>)[method] === 'function'
76
+ );
77
+
69
78
  export class CompositeDataConverter implements DataConverter {
70
79
  readonly converters: PayloadConverter[];
71
80
  readonly converterByEncoding: Map<string, PayloadConverter> = new Map();
@@ -182,8 +191,22 @@ export function mapToPayloadsSync<K extends string>(
182
191
  ) as Record<K, Payload>;
183
192
  }
184
193
 
185
- export const defaultDataConverter = new CompositeDataConverter(
186
- new UndefinedPayloadConverter(),
187
- new BinaryPayloadConverter(),
188
- new JsonPayloadConverter()
189
- );
194
+ export interface DefaultDataConverterOptions {
195
+ root?: Record<string, unknown>;
196
+ }
197
+
198
+ export class DefaultDataConverter extends CompositeDataConverter {
199
+ constructor({ root }: DefaultDataConverterOptions = {}) {
200
+ // Match the order used in other SDKs
201
+ // Go SDK: https://github.com/temporalio/sdk-go/blob/5e5645f0c550dcf717c095ae32c76a7087d2e985/converter/default_data_converter.go#L28
202
+ super(
203
+ new UndefinedPayloadConverter(),
204
+ new BinaryPayloadConverter(),
205
+ new ProtobufJsonPayloadConverter(root),
206
+ new ProtobufBinaryPayloadConverter(root),
207
+ new JsonPayloadConverter()
208
+ );
209
+ }
210
+ }
211
+
212
+ export const defaultDataConverter = new DefaultDataConverter();
@@ -0,0 +1,38 @@
1
+ import { isRecord } from '../type-helpers';
2
+
3
+ export function patchProtobufRoot<T extends Record<string, unknown>>(root: T, name?: string): T {
4
+ const newRoot = new (root.constructor as any)(isNamespace(root) ? name : {});
5
+ for (const key in root) {
6
+ newRoot[key] = root[key];
7
+ }
8
+
9
+ if (isRecord(root.nested)) {
10
+ for (const typeOrNamespace in root.nested) {
11
+ const value = root.nested[typeOrNamespace];
12
+ if (typeOrNamespace in root && !(isType(root[typeOrNamespace]) || isNamespace(root[typeOrNamespace]))) {
13
+ console.log(
14
+ `patchRoot warning: overriding property '${typeOrNamespace}' that is used by protobufjs with the '${typeOrNamespace}' protobuf namespace. This may result in protobufjs not working property.`
15
+ );
16
+ }
17
+
18
+ if (isNamespace(value)) {
19
+ newRoot[typeOrNamespace] = patchProtobufRoot(value, typeOrNamespace);
20
+ } else if (isType(value)) {
21
+ newRoot[typeOrNamespace] = value;
22
+ }
23
+ }
24
+ }
25
+
26
+ return newRoot;
27
+ }
28
+
29
+ type Type = Record<string, unknown>;
30
+ type Namespace = { nested: Record<string, unknown> };
31
+
32
+ function isType(value: unknown): value is Type {
33
+ return isRecord(value) && value.constructor.name === 'Type';
34
+ }
35
+
36
+ function isNamespace(value: unknown): value is Namespace {
37
+ return isRecord(value) && value.constructor.name === 'Namespace';
38
+ }
@@ -1,5 +1,17 @@
1
- import { ValueError } from '../errors';
2
- import { u8, str, Payload, encodingTypes, encodingKeys, METADATA_ENCODING_KEY } from './types';
1
+ import { ValueError, DataConverterError } from '../errors';
2
+ import {
3
+ u8,
4
+ str,
5
+ Payload,
6
+ encodingTypes,
7
+ encodingKeys,
8
+ METADATA_ENCODING_KEY,
9
+ METADATA_MESSAGE_TYPE_KEY,
10
+ } from './types';
11
+ import { isRecord, hasOwnProperty, hasOwnProperties } from '../type-helpers';
12
+ import { errorMessage } from '../errors';
13
+ import * as protoJsonSerializer from 'proto3-json-serializer';
14
+ import type { Root, Type, Namespace, Message } from 'protobufjs';
3
15
 
4
16
  /**
5
17
  * Used by the framework to serialize/deserialize method parameters that need to be sent over the
@@ -15,7 +27,7 @@ export interface PayloadConverter {
15
27
  * Implements conversion of value to payload
16
28
  *
17
29
  * @param value JS value to convert.
18
- * @return converted value
30
+ * @return converted value or `undefined` if unable to convert.
19
31
  * @throws DataConverterException if conversion of the value passed as parameter failed for any
20
32
  * reason.
21
33
  */
@@ -38,7 +50,7 @@ export interface PayloadConverter {
38
50
  * Implements conversion of value to payload
39
51
  *
40
52
  * @param value JS value to convert.
41
- * @return converted value
53
+ * @return converted value or `undefined` if unable to convert.
42
54
  * @throws DataConverterException if conversion of the value passed as parameter failed for any
43
55
  * reason.
44
56
  */
@@ -140,3 +152,142 @@ export class BinaryPayloadConverter extends AsyncFacadePayloadConverter {
140
152
  return content.data as any;
141
153
  }
142
154
  }
155
+
156
+ abstract class ProtobufPayloadConverter extends AsyncFacadePayloadConverter {
157
+ protected readonly root: Root | undefined;
158
+
159
+ // Don't use type Root here because root.d.ts doesn't export Root, so users would have to type assert
160
+ constructor(root?: unknown) {
161
+ super();
162
+
163
+ if (root) {
164
+ if (!isRoot(root)) {
165
+ throw new TypeError('root must be an instance of a protobufjs Root');
166
+ }
167
+
168
+ this.root = root;
169
+ }
170
+ }
171
+
172
+ protected validatePayload(content: Payload): { messageType: Type; data: Uint8Array } {
173
+ if (content.data === undefined || content.data === null) {
174
+ throw new ValueError('Got payload with no data');
175
+ }
176
+ if (!content.metadata || !(METADATA_MESSAGE_TYPE_KEY in content.metadata)) {
177
+ throw new ValueError(`Got protobuf payload without metadata.${METADATA_MESSAGE_TYPE_KEY}`);
178
+ }
179
+ if (!this.root) {
180
+ throw new DataConverterError('Unable to deserialize protobuf message without `root` being provided');
181
+ }
182
+
183
+ const messageTypeName = str(content.metadata[METADATA_MESSAGE_TYPE_KEY]);
184
+ let messageType;
185
+ try {
186
+ messageType = this.root.lookupType(messageTypeName);
187
+ } catch (e) {
188
+ if (errorMessage(e)?.includes('no such type')) {
189
+ throw new DataConverterError(
190
+ `Got a \`${messageTypeName}\` protobuf message but cannot find corresponding message class in \`root\``
191
+ );
192
+ }
193
+
194
+ throw e;
195
+ }
196
+
197
+ return { messageType, data: content.data };
198
+ }
199
+
200
+ protected constructPayload({ messageTypeName, message }: { messageTypeName: string; message: Uint8Array }): Payload {
201
+ return {
202
+ metadata: {
203
+ [METADATA_ENCODING_KEY]: u8(this.encodingType),
204
+ [METADATA_MESSAGE_TYPE_KEY]: u8(messageTypeName),
205
+ },
206
+ data: message,
207
+ };
208
+ }
209
+ }
210
+
211
+ /**
212
+ * Converts between protobufjs Message instances and serialized Protobuf Payload
213
+ */
214
+ export class ProtobufBinaryPayloadConverter extends ProtobufPayloadConverter {
215
+ public encodingType = encodingTypes.METADATA_ENCODING_PROTOBUF;
216
+
217
+ constructor(root?: unknown) {
218
+ super(root);
219
+ }
220
+
221
+ public toDataSync(value: unknown): Payload | undefined {
222
+ if (!isProtobufMessage(value)) {
223
+ return undefined;
224
+ }
225
+
226
+ return this.constructPayload({
227
+ messageTypeName: getNamespacedTypeName(value.$type),
228
+ message: value.$type.encode(value).finish(),
229
+ });
230
+ }
231
+
232
+ public fromDataSync<T>(content: Payload): T {
233
+ const { messageType, data } = this.validatePayload(content);
234
+ return messageType.decode(data) as unknown as T;
235
+ }
236
+ }
237
+
238
+ /**
239
+ * Converts between protobufjs Message instances and serialized JSON Payload
240
+ */
241
+ export class ProtobufJsonPayloadConverter extends ProtobufPayloadConverter {
242
+ public encodingType = encodingTypes.METADATA_ENCODING_PROTOBUF_JSON;
243
+
244
+ constructor(root?: unknown) {
245
+ super(root);
246
+ }
247
+
248
+ public toDataSync(value: unknown): Payload | undefined {
249
+ if (!isProtobufMessage(value)) {
250
+ return undefined;
251
+ }
252
+
253
+ const jsonValue = protoJsonSerializer.toProto3JSON(value);
254
+
255
+ return this.constructPayload({
256
+ messageTypeName: getNamespacedTypeName(value.$type),
257
+ message: u8(JSON.stringify(jsonValue)),
258
+ });
259
+ }
260
+
261
+ public fromDataSync<T>(content: Payload): T {
262
+ const { messageType, data } = this.validatePayload(content);
263
+ return protoJsonSerializer.fromProto3JSON(messageType, JSON.parse(str(data))) as unknown as T;
264
+ }
265
+ }
266
+
267
+ function isProtobufType(type: unknown): type is Type {
268
+ return (
269
+ isRecord(type) &&
270
+ type.constructor.name === 'Type' &&
271
+ hasOwnProperties(type, ['parent', 'name', 'create', 'encode', 'decode']) &&
272
+ typeof type.name === 'string' &&
273
+ typeof type.create === 'function' &&
274
+ typeof type.encode === 'function' &&
275
+ typeof type.decode === 'function'
276
+ );
277
+ }
278
+
279
+ function isProtobufMessage(value: unknown): value is Message {
280
+ return isRecord(value) && hasOwnProperty(value, '$type') && isProtobufType(value.$type);
281
+ }
282
+
283
+ function getNamespacedTypeName(node: Type | Namespace): string {
284
+ if (node.parent && !isRoot(node.parent)) {
285
+ return getNamespacedTypeName(node.parent) + '.' + node.name;
286
+ } else {
287
+ return node.name;
288
+ }
289
+ }
290
+
291
+ function isRoot(root: unknown): root is Root {
292
+ return isRecord(root) && root.constructor.name === 'Root';
293
+ }
@@ -30,3 +30,5 @@ export const encodingKeys = {
30
30
  METADATA_ENCODING_PROTOBUF_JSON: u8(encodingTypes.METADATA_ENCODING_PROTOBUF_JSON),
31
31
  METADATA_ENCODING_PROTOBUF: u8(encodingTypes.METADATA_ENCODING_PROTOBUF),
32
32
  } as const;
33
+
34
+ export const METADATA_MESSAGE_TYPE_KEY = 'messageType';
package/src/errors.ts CHANGED
@@ -25,3 +25,21 @@ export function errorMessage(err: unknown): string | undefined {
25
25
  }
26
26
  return undefined;
27
27
  }
28
+
29
+ interface ErrorWithCode {
30
+ code: string;
31
+ }
32
+ /**
33
+ * Get error code from an Error or return undefined
34
+ */
35
+ export function errorCode(error: unknown): string | undefined {
36
+ if (
37
+ typeof error === 'object' &&
38
+ (error as ErrorWithCode).code !== undefined &&
39
+ typeof (error as ErrorWithCode).code === 'string'
40
+ ) {
41
+ return (error as ErrorWithCode).code;
42
+ }
43
+
44
+ return undefined;
45
+ }
package/src/index.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  */
6
6
  export * from './activity-options';
7
7
  export * from './converter/data-converter';
8
+ export * from './converter/helpers';
8
9
  export * from './errors';
9
10
  export * from './failure';
10
11
  export * from './interceptors';
@@ -9,3 +9,21 @@ export type OmitLastParam<F extends AnyFunc> = (...args: OmitLast<Parameters<F>>
9
9
  export function checkExtends<_Orig, _Copy extends _Orig>(): void {
10
10
  // noop, just type check
11
11
  }
12
+
13
+ export function isRecord(value: unknown): value is Record<string, unknown> {
14
+ return typeof value === 'object' && value !== null;
15
+ }
16
+
17
+ export function hasOwnProperty<X extends Record<string, unknown>, Y extends PropertyKey>(
18
+ record: X,
19
+ prop: Y
20
+ ): record is X & Record<Y, unknown> {
21
+ return prop in record;
22
+ }
23
+
24
+ export function hasOwnProperties<X extends Record<string, unknown>, Y extends PropertyKey>(
25
+ record: X,
26
+ props: Y[]
27
+ ): record is X & Record<Y, unknown> {
28
+ return props.every((prop) => prop in record);
29
+ }
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/long/index.d.ts","../../node_modules/protobufjs/index.d.ts","../proto/lib/coresdk.d.ts","../proto/lib/temporal.d.ts","../proto/lib/index.d.ts","./src/errors.ts","./src/encoding.ts","./src/converter/types.ts","./src/converter/payload-converter.ts","./src/converter/data-converter.ts","./src/type-helpers.ts","./src/failure.ts","./src/interceptors.ts","./src/interfaces.ts","../../node_modules/@types/ms/index.d.ts","./src/time.ts","./src/tls-config.ts","./src/workflow-handle.ts","./src/workflow-options.ts","./src/utils.ts","./src/index.ts","./src/retry-policy.ts","./src/activity-options.ts","../../node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts","../../node_modules/@opentelemetry/api/build/src/baggage/types.d.ts","../../node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts","../../node_modules/@opentelemetry/api/build/src/common/exception.d.ts","../../node_modules/@opentelemetry/api/build/src/common/time.d.ts","../../node_modules/@opentelemetry/api/build/src/diag/types.d.ts","../../node_modules/@opentelemetry/api/build/src/diag/consolelogger.d.ts","../../node_modules/@opentelemetry/api/build/src/diag/index.d.ts","../../node_modules/@opentelemetry/api/build/src/context/types.d.ts","../../node_modules/@opentelemetry/api/build/src/propagation/textmappropagator.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/link.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/status.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/span.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/spanoptions.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/proxytracer.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/proxytracerprovider.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/samplingresult.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/sampler.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts","../../node_modules/@opentelemetry/api/build/src/context/context.d.ts","../../node_modules/@opentelemetry/api/build/src/api/context.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts","../../node_modules/@opentelemetry/api/build/src/api/trace.d.ts","../../node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts","../../node_modules/@opentelemetry/api/build/src/api/propagation.d.ts","../../node_modules/@opentelemetry/api/build/src/api/diag.d.ts","../../node_modules/@opentelemetry/api/build/src/index.d.ts","./src/otel.ts","../../node_modules/@types/retry/index.d.ts","../../node_modules/@types/async-retry/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/keyv/index.d.ts","../../node_modules/@types/http-cache-semantics/index.d.ts","../../node_modules/@types/responselike/index.d.ts","../../node_modules/@types/cacheable-request/index.d.ts","../../node_modules/@types/cross-spawn/index.d.ts","../../node_modules/@types/dedent/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/got/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/minipass/index.d.ts","../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/pidusage/index.d.ts","../../node_modules/@types/prompts/index.d.ts","../../node_modules/ts-toolbelt/out/index.d.ts","../../node_modules/@types/ramda/tools.d.ts","../../node_modules/@types/ramda/index.d.ts","../../node_modules/@types/rimraf/index.d.ts","../../node_modules/@types/tar/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../../node_modules/@types/validate-npm-package-name/index.d.ts"],"fileInfos":[{"version":"6adbf5efd0e374ff5f427a4f26a5a413e9734eee5067a0e86da69aea41910b52","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b","1558c642e03689d42843e7b047b9c20e77ee09ab388ff854484db5dcfbed11da","f87577177b8099a7370923a26ae62e580639d45430196b8d500ce1c7cdce1eef","ee45dfb34be7183967781c4f1fe3d16b434bf1e95da56c0fbb1144e08e19d70b","64d277c707a84956da70e9f30dd63dd507bbe0ed532b236e6bcedb08530f9eb5","fadbcb98548455f18159af410b79939a9ebb79030da1cf55a43a5ad473cc5bd6","d95f9e88aa9f69a1127b31321137dd97a58668f17cc764603a693314a038a3dd","a3bc0a3686d7ad733f899b5cb50931560066b04d94732a281ff836a3f79b33c1","891092d04d6ae4cee181495683768dcd5e4afb04bb5abc5e132a9247d561be77","b62953ae9d2f47bf040387fd43f0ca19c231608315dc1781721b1f91b09c5e5e","a7f91cf71a31b81bb2e307e1686ce809e845ce2c1076b18fbd1a9ed50e2e5a3c","5c91abadfd45413027abdeba1784b184b06c9a6a7df6e78453365491e91a6aa8","da47da3e11c594d6774034ea7c0a5fa6bb08c61b1e1453d56af07d64a8b60622","bfe268c0a4cd1acddb8e88ec90b726217133e6cb5053c6f2e33269d9d129cce3","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","a68f167cb5868b46cde114a40f8840d6a0451d1bd7fa772fdfedecd30b3d0e61","595b97f94582ecaa0cc1a2d97be4223495ae718a62895af169be93b53066f905","d3b36f73e1462b5e9ef21be195ec2b6f996730bff67753140f2db1ff6089cbdc","a40174bd247b13ba64154c8bb3a160e49250864ff603e7779588e1ee084c6fe9","addda838f275a4345d7907b1a0aba6e8e54628ace5d898a14d2a546333e3bd4f","d81a4fa5df537ff1b6b5eca8daaee4a421901d6b3c5e82e5f19a95ad3d4c7974","3f4c7070470eda53a0a22cabb81e947614b666f91dc84f4ae3778ef18958d835","25fc6e932487884f446c3497172f72aa3fb1187d1ca95bdac2f734a39efcd61e","4a36c925dcd89ed988b3c2844b0099416d176c898a7bd93159fda60b8441ccc8","fc2220a0370fe4c178159294a3aad1dbe1f790bd3544cc6d864aa3d7b1df1b5d","aaf3741cf4a11ead5269c782f0d8f579d631fed8f5f080ee369ab2f09ab0a5e6","b820818bb5f8ebb713633be7a3db6191aa12341ba23deb85af009006a9277a20","d6b875234878a2aa1febbfbcf59f6f8ee5bdf01b55a111238416bf00bc4f4d74","2ea9ab59e2b3f625d63e524f82dba5fad02412e13e29132023c0917977d0c0e6","a8b7eec40be2f16f3a276fd99e1c5ad5ef3565f56319c763be2d8983810033a2","e5ca18285f6adbee0ea27e89012e3e5e0816210eba73b60bcc534247543d7a46","2d7fed266cd1b54dece5de5cb58b2ef6f72736163b988bb0cbb090b8b152d3a8","4bb9ec99d41a4b7a433ae8b61bcf5a1c0b4e0eff253ff459f4ccfda64fe4bf51","f6607c445de0dbca0a1e0cdedff690ad27a01b230817e0074cda28574e7399cf","5bd1d2dde43d2f2dbe8370fd5e0bffbb17f98a75940f47fe7ee94b50f12e3e12","264f343285aca3a0cbc0f2609ba69b664b3ec714404dd4a09d2860de9e7c6c02","f342fa6a03a2941e83b795586ab91ef410ec59fdebf21e97027ce1eac273fc5f","79b0d8826c506b6eb75937a8a466dd29fad2fb8cff0f05f97bcacb962ed3f56e","10080687eba89fc69232f38ffc45da8f90d3ca137507453ee62497d6f458f740","496689ce350fd7e4c939966118517b0cb174f5acb2e1e6163688b18bef8de8b2","1c8a2cc119fc139415f49681634254b218d4c5c495ca11103db50ae9c90d54d1","76c71c77e675f16b339789d17fc1e6589a98241d731dda429828cee107904857","0f1e60175a7fe4a1a9d6ddde857a19333c7f4682ec4f2ff4347cb8ff729cbe92","975fda3a8a7e46679765f9fc272235e07f36646b8af9d989a622d782b0cd3c2b","b3214b6a5e14b5a994f856fda1562c89cd208caf0c44040980a59cffa9ad3e63","9d34f34601bf2058f5045ad6c15fab3c323e69353c14713b5365e0ecc0c87d75","e73ea58406c7aa00e04d16a93ac1a8dd614433396ae3e0b6855ddb83d0544837","9d6796534f08ea5b84c211e224fd6ec1430113c07195c6e29dd5fd52f804df7c","d4dc45e2085acd5b61836f9ca03f148d620b781c983411d0963317a155ffd32c","76388575482f6c37a446179cc8c6825f910cdafc9ed55daaee7abf3f6b73a29e","6116ea81a38eb614b32317eb87c2f903915eaae16bf5a59e9838723e7cb06ab4","538bef0ddc796f3d6e5c7d90816e1972e11acc7d962e7e9b1eec3e192cbf1a99","b60cdf96b6934a221ce3b66b9bb82734843c4df27da12acc6c43c3a0e46adea5","3de96ee1d0e54cac8396ff88bab0be56fd2149daaba05d1b08968932ae5cec37","8ece80ff440d4aec6bfa8bb50685599cd199c19082f256bdea2c95c3ba7b3ea6","374421af52bad74f65653c9524fba315c9157b6cbce117d902e9d1ad625abb01","bcb58afb796b9b35068ca86768aac0934b738f141e54ed803a2be867f229a4a6","b357fcf1b0a37b9c3e2fec33fb2949e4fed07c6b2c617185de90f6d81da7a5e6","923df0e4714decae8f51ec4d17ab60974dd495e19045dcbb313b91479dea5f24","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","79d2fdaa1e0bf1a62b59de50e185374b74d22dc43144a78eab1bbcca0a4a2550","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"92d63add669d18ebc349efbacd88966d6f2ccdddfb1b880b2db98ae3aa7bf7c4","affectsGlobalScope":true},"ccc94049a9841fe47abe5baef6be9a38fc6228807974ae675fb15dc22531b4be",{"version":"9acfe4d1ff027015151ce81d60797b04b52bffe97ad8310bb0ec2e8fd61e1303","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","2f520601649a893e6a49a8851ebfcf4be8ce090dc1281c2a08a871cb04e8251f","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","2b8c764f856a1dd0a9a2bf23e5efddbff157de8138b0754010be561ae5fcaa90","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"80793b2277f31baa199234daed806fff0fb11491d1ebd3357e520c3558063f00","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","5533392c50c51b1a5c32b89f13145db929c574ef1c5949cf67a074a05ea107d9","b287b810b5035d5685f1df6e1e418f1ca452a3ed4f59fd5cc081dbf2045f0d9b","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","a458dc78104cc80048ac24fdc02fe6dce254838094c2f25641b3f954d9721241",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"902cd98bf46e95caf4118a0733fb801e9e90eec3edaed6abdad77124afec9ca2","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","cd4854d38f4eb5592afd98ab95ca17389a7dfe38013d9079e802d739bdbcc939","94eed4cc2f5f658d5e229ff1ccd38860bddf4233e347bf78edd2154dee1f2b99",{"version":"bd1a08e30569b0fb2f0b21035eb9b039871f68faa9b98accf847e9c878c5e0a9","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","d7838022c7dab596357a9604b9c6adffe37dc34085ce0779c958ce9545bd7139","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"a279435e7813d1f061c0cab6ab77b1b9377e8d96851e5ed4a76a1ce6eb6e628f","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"b42b47e17b8ece2424ae8039feb944c2e3ba4b262986aebd582e51efbdca93dc","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4","d88ecca73348e7c337541c4b8b60a50aca5e87384f6b8a422fc6603c637e4c21","badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1cdb8f094b969dcc183745dc88404e2d8fcf2a858c6e7cc2441011476573238e","82169f198ffdfc787fba368ccfad2b2d8ef3712f3c696df94ac13f6884bbbe2d","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","5e3a55837aa1f42af2d2334c9b750f59f5f50a2205471875f5dd6aadc3e49ddb","70646d9cb37b62611766d18a9bcca6cbf28ca9aec33a66244e974056ab1193f6",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","6c29066d1acba21f6fde8042da49ba4df5cad690dac19416a8f7af17d451ed40","82772e5d55062a042a2715a555d347275a663940926fc785705eb082010cb9f6","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","660fa40695c7ca19a59fd09d31d495d952eee946e445a2c455ec63f255ec3050","19bf3ca55fd356755cda33e6e8c753d3d13d4aaa54ad9c5c032927f362188066","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","97057c24c7f25f01fa0db7a48b7885e0d9e73ace397d8cd71d9f7fcbdc4fab6f","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","062bd2910098fc059ba93e347649b3e126c555f7b144033d21d3f8ef63d3e39b","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","fadd7bd4cb8b67e1f89b5688e9d896c3d3241c7aa816faba9bda78e3e166be22","4c8239bedbe72ce9405efb578f03f56219dba4ceb5a57ca3d2dc10334612f210","9df147746b0cbd11d022b564e6fdd43ac79b643dc579d2123317ee01cc4f0d70","ecbb2d349861fff68730a3b3ec9adce77cd491268c6186a685b7965c2c4b60bc","61772dfd5eee2b54128f72e352ed42696721359cacf81086a89f1bd527726258","f4cf5f0ad1cfb0ceebbe4fbe8aaf0aa728e899c99cc36ec6c0c4b8f6e8a84c83","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","bae219fc966077e88ec22d2dc2eb24617d3244d3593afdc5f2457fabd27d7462"],"options":{"composite":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7},"fileIdsList":[[70,143],[67,143],[64,70,71,93,143],[80,82,87,91,143],[63,70,143],[143],[62,143],[63,143],[67,68,143],[63,64,65,66,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,92,94,95,143],[70,74,77,143],[74,143],[72,74,143],[70,77,79,80,143],[80,82,143],[70,72,75,78,84,143],[72,143],[65,66,72,74,76,143],[73,143],[74,77,143],[66,72,75,78,143],[70,77,79,143],[80,143],[98,143],[115,118,142,143,150,151,152,153],[105,143,150],[143,159,160],[143,157,158,159],[116,143,150],[115,116,143,150,163],[118,120,132,142,143,150,165],[115,143,150],[118,142,143,150,169,170],[118,132,143,150],[100,143],[103,143],[104,109,143],[105,115,116,123,132,142,143],[105,106,115,123,143],[107,143],[108,109,116,124,143],[109,132,139,143],[110,112,115,123,143],[111,143],[112,113,143],[114,115,143],[115,143],[115,116,117,132,142,143],[115,116,117,132,143],[118,123,132,142,143],[115,116,118,119,123,132,139,142,143],[118,120,132,139,142,143],[100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[115,121,143],[122,142,143],[112,115,123,132,143],[124,143],[125,143],[103,126,143],[127,141,143,147],[128,143],[129,143],[115,130,143],[130,131,143,145],[115,132,133,134,143],[132,134,143],[132,133,143],[135,143],[136,143],[115,137,138,143],[137,138,143],[109,123,139,143],[140,143],[123,141,143],[104,118,129,142,143],[109,143],[132,143,144],[143,145],[143,146],[104,109,115,117,126,132,142,143,145,147],[132,143,148],[143,176,177],[143,176],[116,143,150,164],[115,132,143,148,150,168],[41,49,60,143],[44,46,47,143],[44,46,143],[41,45,143],[41,48,49,143],[44,48,50,51,52,54,55,56,57,58,60,61,143],[41,49,143],[48,51,96,143],[43,54,59,143],[39,41,44,53,143],[52,143],[41,49,52,54,60,143],[39,40,143],[41,42,143]],"referencedMap":[[90,1],[95,2],[94,3],[92,4],[93,5],[62,6],[63,7],[64,8],[65,6],[66,6],[89,1],[70,6],[68,2],[69,9],[67,6],[96,10],[71,1],[72,6],[91,11],[88,12],[75,13],[81,14],[83,15],[85,16],[84,17],[77,18],[74,19],[78,6],[87,20],[79,21],[76,6],[86,6],[73,6],[80,22],[82,23],[99,24],[154,25],[155,26],[156,6],[161,27],[157,6],[160,28],[159,6],[162,29],[164,30],[166,31],[152,6],[158,6],[151,32],[39,6],[163,6],[167,6],[168,32],[53,6],[170,6],[171,33],[169,34],[100,35],[101,35],[103,36],[104,37],[105,38],[106,39],[107,40],[108,41],[109,42],[110,43],[111,44],[112,45],[113,45],[114,46],[115,47],[116,48],[117,49],[102,6],[149,6],[118,50],[119,51],[120,52],[150,53],[121,54],[122,55],[123,56],[124,57],[125,58],[126,59],[127,60],[128,61],[129,62],[130,63],[131,64],[132,65],[134,66],[133,67],[135,68],[136,69],[137,70],[138,71],[139,72],[140,73],[141,74],[142,75],[143,76],[144,77],[145,78],[146,79],[147,80],[148,81],[172,6],[173,6],[174,6],[175,6],[178,82],[177,83],[153,34],[98,6],[179,84],[180,85],[165,6],[181,6],[182,6],[40,6],[176,83],[9,6],[8,6],[2,6],[10,6],[11,6],[12,6],[13,6],[14,6],[15,6],[16,6],[17,6],[3,6],[4,6],[21,6],[18,6],[19,6],[20,6],[22,6],[23,6],[24,6],[5,6],[25,6],[26,6],[27,6],[28,6],[6,6],[29,6],[30,6],[31,6],[32,6],[7,6],[37,6],[33,6],[34,6],[35,6],[36,6],[1,6],[38,6],[61,86],[48,87],[47,88],[46,89],[45,6],[44,6],[50,90],[59,91],[51,92],[52,6],[97,93],[60,94],[54,95],[55,6],[49,6],[58,6],[56,96],[57,97],[41,98],[43,99],[42,98]],"exportedModulesMap":[[90,1],[95,2],[94,3],[92,4],[93,5],[62,6],[63,7],[64,8],[65,6],[66,6],[89,1],[70,6],[68,2],[69,9],[67,6],[96,10],[71,1],[72,6],[91,11],[88,12],[75,13],[81,14],[83,15],[85,16],[84,17],[77,18],[74,19],[78,6],[87,20],[79,21],[76,6],[86,6],[73,6],[80,22],[82,23],[99,24],[154,25],[155,26],[156,6],[161,27],[157,6],[160,28],[159,6],[162,29],[164,30],[166,31],[152,6],[158,6],[151,32],[39,6],[163,6],[167,6],[168,32],[53,6],[170,6],[171,33],[169,34],[100,35],[101,35],[103,36],[104,37],[105,38],[106,39],[107,40],[108,41],[109,42],[110,43],[111,44],[112,45],[113,45],[114,46],[115,47],[116,48],[117,49],[102,6],[149,6],[118,50],[119,51],[120,52],[150,53],[121,54],[122,55],[123,56],[124,57],[125,58],[126,59],[127,60],[128,61],[129,62],[130,63],[131,64],[132,65],[134,66],[133,67],[135,68],[136,69],[137,70],[138,71],[139,72],[140,73],[141,74],[142,75],[143,76],[144,77],[145,78],[146,79],[147,80],[148,81],[172,6],[173,6],[174,6],[175,6],[178,82],[177,83],[153,34],[98,6],[179,84],[180,85],[165,6],[181,6],[182,6],[40,6],[176,83],[9,6],[8,6],[2,6],[10,6],[11,6],[12,6],[13,6],[14,6],[15,6],[16,6],[17,6],[3,6],[4,6],[21,6],[18,6],[19,6],[20,6],[22,6],[23,6],[24,6],[5,6],[25,6],[26,6],[27,6],[28,6],[6,6],[29,6],[30,6],[31,6],[32,6],[7,6],[37,6],[33,6],[34,6],[35,6],[36,6],[1,6],[38,6],[61,86],[48,87],[47,88],[46,89],[45,6],[44,6],[50,90],[59,91],[51,92],[52,6],[97,93],[60,94],[54,95],[55,6],[49,6],[58,6],[56,96],[57,97],[41,98],[43,99],[42,98]],"semanticDiagnosticsPerFile":[90,95,94,92,93,62,63,64,65,66,89,70,68,69,67,96,71,72,91,88,75,81,83,85,84,77,74,78,87,79,76,86,73,80,82,99,154,155,156,161,157,160,159,162,164,166,152,158,151,39,163,167,168,53,170,171,169,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,102,149,118,119,120,150,121,122,123,124,125,126,127,128,129,130,131,132,134,133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,172,173,174,175,178,177,153,98,179,180,165,181,182,40,176,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,61,48,47,46,45,44,50,59,51,52,97,60,54,55,49,58,56,57,41,43,42]},"version":"4.5.2"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/long/index.d.ts","../../node_modules/protobufjs/index.d.ts","../proto/lib/coresdk.d.ts","../proto/lib/temporal.d.ts","../proto/lib/index.d.ts","./src/errors.ts","./src/encoding.ts","./src/converter/types.ts","./src/type-helpers.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/proto3-json-serializer/build/src/types.d.ts","../../node_modules/proto3-json-serializer/build/src/toproto3json.d.ts","../../node_modules/proto3-json-serializer/build/src/fromproto3json.d.ts","../../node_modules/proto3-json-serializer/build/src/index.d.ts","./src/converter/payload-converter.ts","./src/converter/data-converter.ts","./src/converter/helpers.ts","./src/failure.ts","./src/interceptors.ts","./src/interfaces.ts","../../node_modules/@types/ms/index.d.ts","./src/time.ts","./src/tls-config.ts","./src/workflow-handle.ts","./src/workflow-options.ts","./src/utils.ts","./src/index.ts","./src/retry-policy.ts","./src/activity-options.ts","../../node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts","../../node_modules/@opentelemetry/api/build/src/baggage/types.d.ts","../../node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts","../../node_modules/@opentelemetry/api/build/src/common/exception.d.ts","../../node_modules/@opentelemetry/api/build/src/common/time.d.ts","../../node_modules/@opentelemetry/api/build/src/diag/types.d.ts","../../node_modules/@opentelemetry/api/build/src/diag/consolelogger.d.ts","../../node_modules/@opentelemetry/api/build/src/diag/index.d.ts","../../node_modules/@opentelemetry/api/build/src/context/types.d.ts","../../node_modules/@opentelemetry/api/build/src/propagation/textmappropagator.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/link.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/status.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/span.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/spanoptions.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/proxytracer.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/proxytracerprovider.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/samplingresult.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/sampler.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts","../../node_modules/@opentelemetry/api/build/src/context/context.d.ts","../../node_modules/@opentelemetry/api/build/src/api/context.d.ts","../../node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts","../../node_modules/@opentelemetry/api/build/src/api/trace.d.ts","../../node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts","../../node_modules/@opentelemetry/api/build/src/api/propagation.d.ts","../../node_modules/@opentelemetry/api/build/src/api/diag.d.ts","../../node_modules/@opentelemetry/api/build/src/index.d.ts","./src/otel.ts","../../node_modules/@types/retry/index.d.ts","../../node_modules/@types/async-retry/index.d.ts","../../node_modules/@types/keyv/index.d.ts","../../node_modules/@types/http-cache-semantics/index.d.ts","../../node_modules/@types/responselike/index.d.ts","../../node_modules/@types/cacheable-request/index.d.ts","../../node_modules/@types/cross-spawn/index.d.ts","../../node_modules/@types/dedent/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/got/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/minipass/index.d.ts","../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/pidusage/index.d.ts","../../node_modules/@types/prompts/index.d.ts","../../node_modules/ts-toolbelt/out/index.d.ts","../../node_modules/@types/ramda/tools.d.ts","../../node_modules/@types/ramda/index.d.ts","../../node_modules/@types/rimraf/index.d.ts","../../node_modules/@types/tar/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../../node_modules/@types/validate-npm-package-name/index.d.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b","1558c642e03689d42843e7b047b9c20e77ee09ab388ff854484db5dcfbed11da","f87577177b8099a7370923a26ae62e580639d45430196b8d500ce1c7cdce1eef","ee45dfb34be7183967781c4f1fe3d16b434bf1e95da56c0fbb1144e08e19d70b","64d277c707a84956da70e9f30dd63dd507bbe0ed532b236e6bcedb08530f9eb5","d0c5987cd9f79b1d244722ae359b89e3ce3aa7574fe239104a787213685ca890","d95f9e88aa9f69a1127b31321137dd97a58668f17cc764603a693314a038a3dd","41e0eb418943bec0d273c562a2df603f396aa9ff0dc9efac3385a6b23cefae31","9a7bd73d185fe6339d4ac046e9cac233dd5f058f78c58e39979a87a7c06a9863","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"92d63add669d18ebc349efbacd88966d6f2ccdddfb1b880b2db98ae3aa7bf7c4","affectsGlobalScope":true},"ccc94049a9841fe47abe5baef6be9a38fc6228807974ae675fb15dc22531b4be",{"version":"9acfe4d1ff027015151ce81d60797b04b52bffe97ad8310bb0ec2e8fd61e1303","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","2f520601649a893e6a49a8851ebfcf4be8ce090dc1281c2a08a871cb04e8251f","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","2b8c764f856a1dd0a9a2bf23e5efddbff157de8138b0754010be561ae5fcaa90","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"80793b2277f31baa199234daed806fff0fb11491d1ebd3357e520c3558063f00","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","b9b963043551b034abd9e7c6d859f7a81d99479fde938d983114d167d0644a78","b287b810b5035d5685f1df6e1e418f1ca452a3ed4f59fd5cc081dbf2045f0d9b","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","a458dc78104cc80048ac24fdc02fe6dce254838094c2f25641b3f954d9721241",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"902cd98bf46e95caf4118a0733fb801e9e90eec3edaed6abdad77124afec9ca2","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","cd4854d38f4eb5592afd98ab95ca17389a7dfe38013d9079e802d739bdbcc939","94eed4cc2f5f658d5e229ff1ccd38860bddf4233e347bf78edd2154dee1f2b99",{"version":"bd1a08e30569b0fb2f0b21035eb9b039871f68faa9b98accf847e9c878c5e0a9","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","d7838022c7dab596357a9604b9c6adffe37dc34085ce0779c958ce9545bd7139","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"a7971f9fb2a32ec7788ec6cda9d7a33c02023dfe9a62db2030ad1359649d8050","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"b42b47e17b8ece2424ae8039feb944c2e3ba4b262986aebd582e51efbdca93dc","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4","d88ecca73348e7c337541c4b8b60a50aca5e87384f6b8a422fc6603c637e4c21","badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1cdb8f094b969dcc183745dc88404e2d8fcf2a858c6e7cc2441011476573238e","8d5ad6a07dc84c0fba4041cba09bfc9c75bc06b04e8843405e3fb2456c721438","e680ff882bccd2bb6574128a17e1a32d7a49b8eb161a9a739dd60f8362e3d4d9","a4d6781f2d709fe9f1378181deb3f457036c7ebc7968a233f7bc16f343b98ced","aa7d0095b9763a3b47c1851036d87152872a3d7f1733732b0a0e14655b0ee34b","c47aac8ae9068e240cb25dd96204887efe7687368ff64c2d249b0dc42e64f23e","197f0a30bf7b13a67e2fe8d697ef55c6fcc66fbb2f5f41ba8a31f202fed12880","5bf698a1b8eb1eb407a16707d9dd8835aed024fbdb704cefff96f13e424f3dd1","5c91abadfd45413027abdeba1784b184b06c9a6a7df6e78453365491e91a6aa8","da47da3e11c594d6774034ea7c0a5fa6bb08c61b1e1453d56af07d64a8b60622","bfe268c0a4cd1acddb8e88ec90b726217133e6cb5053c6f2e33269d9d129cce3","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","a68f167cb5868b46cde114a40f8840d6a0451d1bd7fa772fdfedecd30b3d0e61","595b97f94582ecaa0cc1a2d97be4223495ae718a62895af169be93b53066f905","d3b36f73e1462b5e9ef21be195ec2b6f996730bff67753140f2db1ff6089cbdc","a40174bd247b13ba64154c8bb3a160e49250864ff603e7779588e1ee084c6fe9","addda838f275a4345d7907b1a0aba6e8e54628ace5d898a14d2a546333e3bd4f","81dc5b3608722287b0abfdbe95cbf005b0aec0a899d70841ecc3ea8ade1e91b4","3f4c7070470eda53a0a22cabb81e947614b666f91dc84f4ae3778ef18958d835","25fc6e932487884f446c3497172f72aa3fb1187d1ca95bdac2f734a39efcd61e","4a36c925dcd89ed988b3c2844b0099416d176c898a7bd93159fda60b8441ccc8","fc2220a0370fe4c178159294a3aad1dbe1f790bd3544cc6d864aa3d7b1df1b5d","aaf3741cf4a11ead5269c782f0d8f579d631fed8f5f080ee369ab2f09ab0a5e6","b820818bb5f8ebb713633be7a3db6191aa12341ba23deb85af009006a9277a20","d6b875234878a2aa1febbfbcf59f6f8ee5bdf01b55a111238416bf00bc4f4d74","2ea9ab59e2b3f625d63e524f82dba5fad02412e13e29132023c0917977d0c0e6","a8b7eec40be2f16f3a276fd99e1c5ad5ef3565f56319c763be2d8983810033a2","e5ca18285f6adbee0ea27e89012e3e5e0816210eba73b60bcc534247543d7a46","2d7fed266cd1b54dece5de5cb58b2ef6f72736163b988bb0cbb090b8b152d3a8","4bb9ec99d41a4b7a433ae8b61bcf5a1c0b4e0eff253ff459f4ccfda64fe4bf51","f6607c445de0dbca0a1e0cdedff690ad27a01b230817e0074cda28574e7399cf","5bd1d2dde43d2f2dbe8370fd5e0bffbb17f98a75940f47fe7ee94b50f12e3e12","264f343285aca3a0cbc0f2609ba69b664b3ec714404dd4a09d2860de9e7c6c02","f342fa6a03a2941e83b795586ab91ef410ec59fdebf21e97027ce1eac273fc5f","79b0d8826c506b6eb75937a8a466dd29fad2fb8cff0f05f97bcacb962ed3f56e","10080687eba89fc69232f38ffc45da8f90d3ca137507453ee62497d6f458f740","496689ce350fd7e4c939966118517b0cb174f5acb2e1e6163688b18bef8de8b2","1c8a2cc119fc139415f49681634254b218d4c5c495ca11103db50ae9c90d54d1","76c71c77e675f16b339789d17fc1e6589a98241d731dda429828cee107904857","0f1e60175a7fe4a1a9d6ddde857a19333c7f4682ec4f2ff4347cb8ff729cbe92","975fda3a8a7e46679765f9fc272235e07f36646b8af9d989a622d782b0cd3c2b","b3214b6a5e14b5a994f856fda1562c89cd208caf0c44040980a59cffa9ad3e63","9d34f34601bf2058f5045ad6c15fab3c323e69353c14713b5365e0ecc0c87d75","e73ea58406c7aa00e04d16a93ac1a8dd614433396ae3e0b6855ddb83d0544837","9d6796534f08ea5b84c211e224fd6ec1430113c07195c6e29dd5fd52f804df7c","d4dc45e2085acd5b61836f9ca03f148d620b781c983411d0963317a155ffd32c","76388575482f6c37a446179cc8c6825f910cdafc9ed55daaee7abf3f6b73a29e","6116ea81a38eb614b32317eb87c2f903915eaae16bf5a59e9838723e7cb06ab4","538bef0ddc796f3d6e5c7d90816e1972e11acc7d962e7e9b1eec3e192cbf1a99","b60cdf96b6934a221ce3b66b9bb82734843c4df27da12acc6c43c3a0e46adea5","3de96ee1d0e54cac8396ff88bab0be56fd2149daaba05d1b08968932ae5cec37","8ece80ff440d4aec6bfa8bb50685599cd199c19082f256bdea2c95c3ba7b3ea6","374421af52bad74f65653c9524fba315c9157b6cbce117d902e9d1ad625abb01","bcb58afb796b9b35068ca86768aac0934b738f141e54ed803a2be867f229a4a6","b357fcf1b0a37b9c3e2fec33fb2949e4fed07c6b2c617185de90f6d81da7a5e6","923df0e4714decae8f51ec4d17ab60974dd495e19045dcbb313b91479dea5f24","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","79d2fdaa1e0bf1a62b59de50e185374b74d22dc43144a78eab1bbcca0a4a2550","82169f198ffdfc787fba368ccfad2b2d8ef3712f3c696df94ac13f6884bbbe2d","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","5e3a55837aa1f42af2d2334c9b750f59f5f50a2205471875f5dd6aadc3e49ddb","70646d9cb37b62611766d18a9bcca6cbf28ca9aec33a66244e974056ab1193f6",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","a93f2966a163982b102e5bfec0a1d0a5317f6e56ab8d59051236fffd9f675b99","2d41935f638292fd204123b73ec0a045b8ecee1a257354544486999a8d958295","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","660fa40695c7ca19a59fd09d31d495d952eee946e445a2c455ec63f255ec3050","19bf3ca55fd356755cda33e6e8c753d3d13d4aaa54ad9c5c032927f362188066","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","97057c24c7f25f01fa0db7a48b7885e0d9e73ace397d8cd71d9f7fcbdc4fab6f","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","062bd2910098fc059ba93e347649b3e126c555f7b144033d21d3f8ef63d3e39b","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","fadd7bd4cb8b67e1f89b5688e9d896c3d3241c7aa816faba9bda78e3e166be22","4c8239bedbe72ce9405efb578f03f56219dba4ceb5a57ca3d2dc10334612f210","9df147746b0cbd11d022b564e6fdd43ac79b643dc579d2123317ee01cc4f0d70","fcd714a42a6b383a6240c056da9326afcea41a0d289a23206990f2550e5c1988","d5a91d61c9ac3a504db5af1e08713db4cd6e3e618ce3490694a81b244dbfe6f4","f4cf5f0ad1cfb0ceebbe4fbe8aaf0aa728e899c99cc36ec6c0c4b8f6e8a84c83","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","bae219fc966077e88ec22d2dc2eb24617d3244d3593afdc5f2457fabd27d7462"],"options":{"composite":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7},"fileIdsList":[[91,126],[91,123],[91,120,126,127,149],[91,136,138,143,147],[91,119,126],[91],[91,118],[91,119],[91,123,124],[91,119,120,121,122,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,148,150,151],[91,126,130,133],[91,130],[91,128,130],[91,126,133,135,136],[91,136,138],[91,126,128,131,134,140],[91,128],[91,121,122,128,130,132],[91,129],[91,130,133],[91,122,128,131,134],[91,126,133,135],[91,136],[91,154],[63,66,90,91,98,156,157,158],[53,91,98],[91,164,165],[91,162,163,164],[64,91,98],[63,64,91,98,168],[66,68,80,90,91,98,170],[63,91,98],[66,90,91,98,174,175],[66,80,91,98],[48,91],[51,91],[52,57,91],[53,63,64,71,80,90,91],[53,54,63,71,91],[55,91],[56,57,64,72,91],[57,80,87,91],[58,60,63,71,91],[59,91],[60,61,91],[62,63,91],[63,91],[63,64,65,80,90,91],[63,64,65,80,91],[66,71,80,90,91],[63,64,66,67,71,80,87,90,91],[66,68,80,87,90,91],[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],[63,69,91],[70,90,91],[60,63,71,80,91],[72,91],[73,91],[51,74,91],[75,89,91,95],[76,91],[77,91],[63,78,91],[78,79,91,93],[63,80,81,82,91],[80,82,91],[80,81,91],[83,91],[84,91],[63,85,86,91],[85,86,91],[57,71,87,91],[88,91],[71,89,91],[52,66,77,90,91],[57,91],[80,91,92],[91,93],[91,94],[52,57,63,65,74,80,90,91,93,95],[80,91,96],[91,181,182],[91,181],[64,91,98,169],[63,80,91,96,98,173],[40,91,99],[91,99,100,101],[91,98],[41,47,91,116],[44,46,91,103],[47,91],[40,44,46,47,91,102],[41,45,91],[41,47,91,104],[44,91,104,105,106,107,108,110,111,112,113,114,116,117],[41,47,91],[91,104,107,152],[43,91,110,115],[39,41,44,91,109],[91,108],[41,47,91,108,110,116],[39,40,91],[41,42,91]],"referencedMap":[[146,1],[151,2],[150,3],[148,4],[149,5],[118,6],[119,7],[120,8],[121,6],[122,6],[145,1],[126,6],[124,2],[125,9],[123,6],[152,10],[127,1],[128,6],[147,11],[144,12],[131,13],[137,14],[139,15],[141,16],[140,17],[133,18],[130,19],[134,6],[143,20],[135,21],[132,6],[142,6],[129,6],[136,22],[138,23],[155,24],[159,25],[160,26],[161,6],[166,27],[162,6],[165,28],[164,6],[167,29],[169,30],[171,31],[157,6],[163,6],[156,32],[39,6],[168,6],[172,6],[173,32],[109,6],[175,6],[176,33],[174,34],[48,35],[49,35],[51,36],[52,37],[53,38],[54,39],[55,40],[56,41],[57,42],[58,43],[59,44],[60,45],[61,45],[62,46],[63,47],[64,48],[65,49],[50,6],[97,6],[66,50],[67,51],[68,52],[98,53],[69,54],[70,55],[71,56],[72,57],[73,58],[74,59],[75,60],[76,61],[77,62],[78,63],[79,64],[80,65],[82,66],[81,67],[83,68],[84,69],[85,70],[86,71],[87,72],[88,73],[89,74],[90,75],[91,76],[92,77],[93,78],[94,79],[95,80],[96,81],[177,6],[178,6],[179,6],[180,6],[183,82],[182,83],[158,34],[154,6],[184,84],[185,85],[170,6],[186,6],[187,6],[101,86],[102,87],[100,86],[99,88],[40,6],[181,83],[9,6],[8,6],[2,6],[10,6],[11,6],[12,6],[13,6],[14,6],[15,6],[16,6],[17,6],[3,6],[4,6],[21,6],[18,6],[19,6],[20,6],[22,6],[23,6],[24,6],[5,6],[25,6],[26,6],[27,6],[28,6],[6,6],[29,6],[30,6],[31,6],[32,6],[7,6],[37,6],[33,6],[34,6],[35,6],[36,6],[1,6],[38,6],[117,89],[104,90],[105,91],[103,92],[46,93],[45,6],[44,6],[106,94],[115,95],[107,96],[108,6],[153,97],[116,98],[110,99],[111,6],[47,6],[114,6],[112,100],[113,101],[41,102],[43,103],[42,102]],"exportedModulesMap":[[146,1],[151,2],[150,3],[148,4],[149,5],[118,6],[119,7],[120,8],[121,6],[122,6],[145,1],[126,6],[124,2],[125,9],[123,6],[152,10],[127,1],[128,6],[147,11],[144,12],[131,13],[137,14],[139,15],[141,16],[140,17],[133,18],[130,19],[134,6],[143,20],[135,21],[132,6],[142,6],[129,6],[136,22],[138,23],[155,24],[159,25],[160,26],[161,6],[166,27],[162,6],[165,28],[164,6],[167,29],[169,30],[171,31],[157,6],[163,6],[156,32],[39,6],[168,6],[172,6],[173,32],[109,6],[175,6],[176,33],[174,34],[48,35],[49,35],[51,36],[52,37],[53,38],[54,39],[55,40],[56,41],[57,42],[58,43],[59,44],[60,45],[61,45],[62,46],[63,47],[64,48],[65,49],[50,6],[97,6],[66,50],[67,51],[68,52],[98,53],[69,54],[70,55],[71,56],[72,57],[73,58],[74,59],[75,60],[76,61],[77,62],[78,63],[79,64],[80,65],[82,66],[81,67],[83,68],[84,69],[85,70],[86,71],[87,72],[88,73],[89,74],[90,75],[91,76],[92,77],[93,78],[94,79],[95,80],[96,81],[177,6],[178,6],[179,6],[180,6],[183,82],[182,83],[158,34],[154,6],[184,84],[185,85],[170,6],[186,6],[187,6],[101,86],[102,87],[100,86],[99,88],[40,6],[181,83],[9,6],[8,6],[2,6],[10,6],[11,6],[12,6],[13,6],[14,6],[15,6],[16,6],[17,6],[3,6],[4,6],[21,6],[18,6],[19,6],[20,6],[22,6],[23,6],[24,6],[5,6],[25,6],[26,6],[27,6],[28,6],[6,6],[29,6],[30,6],[31,6],[32,6],[7,6],[37,6],[33,6],[34,6],[35,6],[36,6],[1,6],[38,6],[117,89],[104,90],[105,91],[103,92],[46,93],[45,6],[44,6],[106,94],[115,95],[107,96],[108,6],[153,97],[116,98],[110,99],[111,6],[47,6],[114,6],[112,100],[113,101],[41,102],[43,103],[42,102]],"semanticDiagnosticsPerFile":[146,151,150,148,149,118,119,120,121,122,145,126,124,125,123,152,127,128,147,144,131,137,139,141,140,133,130,134,143,135,132,142,129,136,138,155,159,160,161,166,162,165,164,167,169,171,157,163,156,39,168,172,173,109,175,176,174,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,50,97,66,67,68,98,69,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,177,178,179,180,183,182,158,154,184,185,170,186,187,101,102,100,99,40,181,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,117,104,105,103,46,45,44,106,115,107,108,153,116,110,111,47,114,112,113,41,43,42]},"version":"4.5.4"}