@resonatehq/sdk 0.5.2 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/async.d.ts +23 -5
- package/dist/async.d.ts.map +1 -1
- package/dist/async.js +94 -22
- package/dist/async.js.map +1 -1
- package/dist/core/calls.d.ts +23 -0
- package/dist/core/calls.d.ts.map +1 -0
- package/dist/core/calls.js +13 -0
- package/dist/core/calls.js.map +1 -0
- package/dist/core/encoders/json.d.ts.map +1 -1
- package/dist/core/encoders/json.js +12 -0
- package/dist/core/encoders/json.js.map +1 -1
- package/dist/core/errors.d.ts +7 -6
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +7 -6
- package/dist/core/errors.js.map +1 -1
- package/dist/core/execution.d.ts +0 -10
- package/dist/core/execution.d.ts.map +1 -1
- package/dist/core/execution.js +10 -105
- package/dist/core/execution.js.map +1 -1
- package/dist/core/invocation.d.ts +4 -7
- package/dist/core/invocation.d.ts.map +1 -1
- package/dist/core/invocation.js +6 -28
- package/dist/core/invocation.js.map +1 -1
- package/dist/core/options.d.ts +58 -10
- package/dist/core/options.d.ts.map +1 -1
- package/dist/core/options.js.map +1 -1
- package/dist/core/promises/promises.d.ts +2 -2
- package/dist/core/promises/promises.d.ts.map +1 -1
- package/dist/core/promises/promises.js +8 -4
- package/dist/core/promises/promises.js.map +1 -1
- package/dist/core/promises/types.d.ts +10 -83
- package/dist/core/promises/types.d.ts.map +1 -1
- package/dist/core/promises/types.js +10 -10
- package/dist/core/promises/types.js.map +1 -1
- package/dist/core/retry.d.ts +35 -26
- package/dist/core/retry.d.ts.map +1 -1
- package/dist/core/retry.js +111 -14
- package/dist/core/retry.js.map +1 -1
- package/dist/core/storages/memory.d.ts.map +1 -1
- package/dist/core/storages/memory.js +2 -0
- package/dist/core/storages/memory.js.map +1 -1
- package/dist/core/storages/withTimeout.d.ts +6 -6
- package/dist/core/storages/withTimeout.d.ts.map +1 -1
- package/dist/core/storages/withTimeout.js +2 -13
- package/dist/core/storages/withTimeout.js.map +1 -1
- package/dist/core/store.d.ts +7 -7
- package/dist/core/store.d.ts.map +1 -1
- package/dist/core/stores/local.d.ts +16 -13
- package/dist/core/stores/local.d.ts.map +1 -1
- package/dist/core/stores/local.js +15 -11
- package/dist/core/stores/local.js.map +1 -1
- package/dist/core/stores/remote.d.ts +27 -24
- package/dist/core/stores/remote.d.ts.map +1 -1
- package/dist/core/stores/remote.js +162 -158
- package/dist/core/stores/remote.js.map +1 -1
- package/dist/core/utils.d.ts +27 -0
- package/dist/core/utils.d.ts.map +1 -1
- package/dist/core/utils.js +37 -1
- package/dist/core/utils.js.map +1 -1
- package/dist/index.d.ts +1 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -7
- package/dist/index.js.map +1 -1
- package/dist/resonate.d.ts +12 -16
- package/dist/resonate.d.ts.map +1 -1
- package/dist/resonate.js +85 -47
- package/dist/resonate.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/retries/retry.d.ts +0 -20
- package/dist/core/retries/retry.d.ts.map +0 -1
- package/dist/core/retries/retry.js +0 -41
- package/dist/core/retries/retry.js.map +0 -1
- package/dist/generator.d.ts +0 -208
- package/dist/generator.d.ts.map +0 -1
- package/dist/generator.js +0 -427
- package/dist/generator.js.map +0 -1
package/dist/core/execution.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.DeferredExecution = exports.OrdinaryExecution = exports.Execution = void 0;
|
|
4
4
|
const errors_1 = require("./errors");
|
|
5
5
|
const future_1 = require("./future");
|
|
6
6
|
const promises_1 = require("./promises/promises");
|
|
7
|
+
const retry_1 = require("./retry");
|
|
7
8
|
/////////////////////////////////////////////////////////////////////
|
|
8
9
|
// Execution
|
|
9
10
|
/////////////////////////////////////////////////////////////////////
|
|
@@ -76,17 +77,15 @@ class OrdinaryExecution extends Execution {
|
|
|
76
77
|
this.durablePromise = durablePromise;
|
|
77
78
|
}
|
|
78
79
|
async fork() {
|
|
79
|
-
if (this.invocation.opts.durable) {
|
|
80
|
+
if (this.invocation.opts.durable && !this.durablePromise) {
|
|
80
81
|
// if durable, create a durable promise
|
|
81
82
|
try {
|
|
82
|
-
this.durablePromise =
|
|
83
|
-
this.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
tags: this.invocation.opts.tags,
|
|
89
|
-
}));
|
|
83
|
+
this.durablePromise = await promises_1.DurablePromise.create(this.resonate.store.promises, this.invocation.opts.encoder, this.invocation.id, this.invocation.timeout, {
|
|
84
|
+
idempotencyKey: this.invocation.idempotencyKey,
|
|
85
|
+
headers: this.invocation.headers,
|
|
86
|
+
param: this.invocation.param,
|
|
87
|
+
tags: this.invocation.opts.tags,
|
|
88
|
+
});
|
|
90
89
|
}
|
|
91
90
|
catch (e) {
|
|
92
91
|
// if an error occurs, kill the execution
|
|
@@ -160,7 +159,7 @@ class OrdinaryExecution extends Execution {
|
|
|
160
159
|
async run() {
|
|
161
160
|
let error;
|
|
162
161
|
// invoke the function according to the retry policy
|
|
163
|
-
for (const delay of
|
|
162
|
+
for (const delay of (0, retry_1.retryIterator)(this.invocation)) {
|
|
164
163
|
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
165
164
|
try {
|
|
166
165
|
return await this.func();
|
|
@@ -213,98 +212,4 @@ class DeferredExecution extends Execution {
|
|
|
213
212
|
}
|
|
214
213
|
}
|
|
215
214
|
exports.DeferredExecution = DeferredExecution;
|
|
216
|
-
class GeneratorExecution extends Execution {
|
|
217
|
-
generator;
|
|
218
|
-
durablePromise;
|
|
219
|
-
constructor(resonate, invocation, generator, durablePromise) {
|
|
220
|
-
super(resonate, invocation);
|
|
221
|
-
this.generator = generator;
|
|
222
|
-
this.durablePromise = durablePromise;
|
|
223
|
-
}
|
|
224
|
-
async create() {
|
|
225
|
-
try {
|
|
226
|
-
if (this.invocation.opts.durable) {
|
|
227
|
-
// create a durable promise
|
|
228
|
-
this.durablePromise =
|
|
229
|
-
this.durablePromise ??
|
|
230
|
-
(await promises_1.DurablePromise.create(this.resonate.store.promises, this.invocation.opts.encoder, this.invocation.id, this.invocation.timeout, {
|
|
231
|
-
idempotencyKey: this.invocation.idempotencyKey,
|
|
232
|
-
headers: this.invocation.headers,
|
|
233
|
-
param: this.invocation.param,
|
|
234
|
-
tags: this.invocation.opts.tags,
|
|
235
|
-
}));
|
|
236
|
-
// resolve/reject the invocation if already completed
|
|
237
|
-
if (this.durablePromise.resolved) {
|
|
238
|
-
this.invocation.resolve(this.durablePromise.value());
|
|
239
|
-
}
|
|
240
|
-
else if (this.durablePromise.rejected || this.durablePromise.canceled || this.durablePromise.timedout) {
|
|
241
|
-
this.invocation.reject(this.durablePromise.error());
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
if (this.durablePromise) {
|
|
245
|
-
// override the invocation creation time
|
|
246
|
-
this.invocation.createdOn = this.durablePromise.createdOn;
|
|
247
|
-
// override the invocation timeout
|
|
248
|
-
this.invocation.timeout = this.durablePromise.timeout;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
catch (e) {
|
|
252
|
-
// if an error occurs, kill the execution
|
|
253
|
-
this.kill(e);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
async resolve(value) {
|
|
257
|
-
try {
|
|
258
|
-
if (this.durablePromise) {
|
|
259
|
-
// resolve the durable promise if the invocation is durable
|
|
260
|
-
await this.durablePromise.resolve(value, { idempotencyKey: this.invocation.idempotencyKey });
|
|
261
|
-
// resolve/reject the invocation
|
|
262
|
-
if (this.durablePromise.resolved) {
|
|
263
|
-
this.invocation.resolve(this.durablePromise.value());
|
|
264
|
-
}
|
|
265
|
-
else if (this.durablePromise.rejected || this.durablePromise.canceled || this.durablePromise.timedout) {
|
|
266
|
-
this.invocation.reject(this.durablePromise.error());
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
else {
|
|
270
|
-
// if not durable, just resolve the invocation
|
|
271
|
-
this.invocation.resolve(value);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
catch (e) {
|
|
275
|
-
// if an error occurs, kill the execution
|
|
276
|
-
this.kill(e);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
async reject(error) {
|
|
280
|
-
try {
|
|
281
|
-
if (this.durablePromise) {
|
|
282
|
-
// reject the durable promise if the invocation is durable
|
|
283
|
-
await this.durablePromise.reject(error, { idempotencyKey: this.invocation.idempotencyKey });
|
|
284
|
-
// resolve/reject the invocation
|
|
285
|
-
if (this.durablePromise.resolved) {
|
|
286
|
-
this.invocation.resolve(this.durablePromise.value());
|
|
287
|
-
}
|
|
288
|
-
else if (this.durablePromise.rejected || this.durablePromise.canceled || this.durablePromise.timedout) {
|
|
289
|
-
this.invocation.reject(this.durablePromise.error());
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
else {
|
|
293
|
-
// if not durable, just reject the invocation
|
|
294
|
-
this.invocation.reject(error);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
catch (e) {
|
|
298
|
-
// if an error occurs, kill the execution
|
|
299
|
-
this.kill(e);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
async fork() {
|
|
303
|
-
return this.invocation.future;
|
|
304
|
-
}
|
|
305
|
-
async join(future) {
|
|
306
|
-
return await future.promise;
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
exports.GeneratorExecution = GeneratorExecution;
|
|
310
215
|
//# sourceMappingURL=execution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../lib/core/execution.ts"],"names":[],"mappings":";;;AACA,qCAAqD;AACrD,qCAAmD;AAEnD,kDAAqD;
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../lib/core/execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Future } from "./future";
|
|
2
|
-
import { Options
|
|
2
|
+
import { Options } from "./options";
|
|
3
|
+
import { RetryPolicy } from "./retry";
|
|
3
4
|
export declare class Invocation<T> {
|
|
4
5
|
readonly name: string;
|
|
5
6
|
readonly id: string;
|
|
6
7
|
readonly headers: Record<string, string> | undefined;
|
|
7
8
|
readonly param: unknown;
|
|
8
9
|
readonly opts: Options;
|
|
9
|
-
readonly defaults: Options;
|
|
10
10
|
future: Future<T>;
|
|
11
11
|
resolve: (v: T) => void;
|
|
12
12
|
reject: (e: unknown) => void;
|
|
@@ -17,6 +17,7 @@ export declare class Invocation<T> {
|
|
|
17
17
|
createdOn: number;
|
|
18
18
|
counter: number;
|
|
19
19
|
attempt: number;
|
|
20
|
+
retryPolicy: RetryPolicy;
|
|
20
21
|
awaited: Future<any>[];
|
|
21
22
|
blocked: Future<any> | null;
|
|
22
23
|
readonly root: Invocation<any>;
|
|
@@ -31,14 +32,10 @@ export declare class Invocation<T> {
|
|
|
31
32
|
* @param opts - The invocation options.
|
|
32
33
|
* @param parent - The parent invocation.
|
|
33
34
|
*/
|
|
34
|
-
constructor(name: string, id: string, headers: Record<string, string> | undefined, param: unknown, opts: Options,
|
|
35
|
+
constructor(name: string, id: string, headers: Record<string, string> | undefined, param: unknown, opts: Options, parent?: Invocation<any>);
|
|
35
36
|
addChild(child: Invocation<any>): void;
|
|
36
37
|
await(future: Future<any>): void;
|
|
37
38
|
block(future: Future<any>): void;
|
|
38
39
|
unblock(): void;
|
|
39
|
-
split(args: [...any, PartialOptions?]): {
|
|
40
|
-
args: any[];
|
|
41
|
-
opts: Options;
|
|
42
|
-
};
|
|
43
40
|
}
|
|
44
41
|
//# sourceMappingURL=invocation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invocation.d.ts","sourceRoot":"","sources":["../../lib/core/invocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"invocation.d.ts","sourceRoot":"","sources":["../../lib/core/invocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAMnD,qBAAa,UAAU,CAAC,CAAC;aAiCL,IAAI,EAAE,MAAM;aACZ,EAAE,EAAE,MAAM;aACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;aAC3C,KAAK,EAAE,OAAO;aACd,IAAI,EAAE,OAAO;IApC/B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7B,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,OAAO,CAAS;IAExB,SAAS,EAAE,MAAM,CAAc;IAC/B,OAAO,EAAE,MAAM,CAAK;IACpB,OAAO,EAAE,MAAM,CAAK;IACpB,WAAW,EAAE,WAAW,CAAiB;IAEzC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAM;IAC5B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAEnC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAM;IAE1C;;;;;;;;OAQG;gBAEe,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EAC7B,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;IA4B1B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;IAI/B,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;IAIzB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;IAIzB,OAAO;CAGR"}
|
package/dist/core/invocation.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Invocation = void 0;
|
|
4
4
|
const future_1 = require("./future");
|
|
5
|
-
const
|
|
5
|
+
const retry_1 = require("./retry");
|
|
6
6
|
/////////////////////////////////////////////////////////////////////
|
|
7
7
|
// Invocation
|
|
8
8
|
/////////////////////////////////////////////////////////////////////
|
|
@@ -12,7 +12,6 @@ class Invocation {
|
|
|
12
12
|
headers;
|
|
13
13
|
param;
|
|
14
14
|
opts;
|
|
15
|
-
defaults;
|
|
16
15
|
future;
|
|
17
16
|
resolve;
|
|
18
17
|
reject;
|
|
@@ -23,6 +22,7 @@ class Invocation {
|
|
|
23
22
|
createdOn = Date.now();
|
|
24
23
|
counter = 0;
|
|
25
24
|
attempt = 0;
|
|
25
|
+
retryPolicy = (0, retry_1.exponential)();
|
|
26
26
|
awaited = [];
|
|
27
27
|
blocked = null;
|
|
28
28
|
root;
|
|
@@ -37,13 +37,12 @@ class Invocation {
|
|
|
37
37
|
* @param opts - The invocation options.
|
|
38
38
|
* @param parent - The parent invocation.
|
|
39
39
|
*/
|
|
40
|
-
constructor(name, id, headers, param, opts,
|
|
40
|
+
constructor(name, id, headers, param, opts, parent) {
|
|
41
41
|
this.name = name;
|
|
42
42
|
this.id = id;
|
|
43
43
|
this.headers = headers;
|
|
44
44
|
this.param = param;
|
|
45
45
|
this.opts = opts;
|
|
46
|
-
this.defaults = defaults;
|
|
47
46
|
// create a future and hold on to its resolvers
|
|
48
47
|
const { future, resolve, reject } = future_1.Future.deferred(this);
|
|
49
48
|
this.future = future;
|
|
@@ -54,16 +53,16 @@ class Invocation {
|
|
|
54
53
|
// get the execution id from either:
|
|
55
54
|
// - a hard coded string
|
|
56
55
|
// - a function that returns a string given the invocation id
|
|
57
|
-
this.eid =
|
|
56
|
+
this.eid = this.opts.eidFn(this.id);
|
|
58
57
|
// get the idempotency key from either:
|
|
59
58
|
// - a hard coded string
|
|
60
59
|
// - a function that returns a string given the invocation id
|
|
61
|
-
this.idempotencyKey =
|
|
62
|
-
typeof this.opts.idempotencyKey === "function" ? this.opts.idempotencyKey(this.id) : this.opts.idempotencyKey;
|
|
60
|
+
this.idempotencyKey = this.opts.idempotencyKeyFn(this.id);
|
|
63
61
|
// the timeout is the minimum of:
|
|
64
62
|
// - the current time plus the user provided relative time
|
|
65
63
|
// - the parent timeout
|
|
66
64
|
this.timeout = Math.min(this.createdOn + this.opts.timeout, this.parent?.timeout ?? Infinity);
|
|
65
|
+
this.retryPolicy = this.opts.retry;
|
|
67
66
|
}
|
|
68
67
|
addChild(child) {
|
|
69
68
|
this.children.push(child);
|
|
@@ -77,27 +76,6 @@ class Invocation {
|
|
|
77
76
|
unblock() {
|
|
78
77
|
this.blocked = null;
|
|
79
78
|
}
|
|
80
|
-
split(args) {
|
|
81
|
-
let opts = args[args.length - 1];
|
|
82
|
-
// merge opts
|
|
83
|
-
if ((0, options_1.isOptions)(opts)) {
|
|
84
|
-
args = args.slice(0, -1);
|
|
85
|
-
opts = {
|
|
86
|
-
...this.defaults,
|
|
87
|
-
...opts,
|
|
88
|
-
tags: { ...this.defaults.tags, ...opts.tags }, // tags are merged
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
// copy defaults
|
|
93
|
-
opts = { ...this.defaults };
|
|
94
|
-
}
|
|
95
|
-
// lock is false by default
|
|
96
|
-
opts.lock = opts.lock ?? false;
|
|
97
|
-
// version cannot be overridden
|
|
98
|
-
opts.version = this.defaults.version;
|
|
99
|
-
return { args, opts };
|
|
100
|
-
}
|
|
101
79
|
}
|
|
102
80
|
exports.Invocation = Invocation;
|
|
103
81
|
//# sourceMappingURL=invocation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invocation.js","sourceRoot":"","sources":["../../lib/core/invocation.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;
|
|
1
|
+
{"version":3,"file":"invocation.js","sourceRoot":"","sources":["../../lib/core/invocation.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAElC,mCAAmD;AAEnD,qEAAqE;AACrE,aAAa;AACb,qEAAqE;AAErE,MAAa,UAAU;IAiCH;IACA;IACA;IACA;IACA;IApClB,MAAM,CAAY;IAClB,OAAO,CAAiB;IACxB,MAAM,CAAuB;IAE7B,GAAG,CAAS;IACZ,cAAc,CAAS;IACvB,OAAO,CAAS;IAEhB,MAAM,GAAY,KAAK,CAAC;IAExB,SAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,GAAW,CAAC,CAAC;IACpB,OAAO,GAAW,CAAC,CAAC;IACpB,WAAW,GAAgB,IAAA,mBAAW,GAAE,CAAC;IAEzC,OAAO,GAAkB,EAAE,CAAC;IAC5B,OAAO,GAAuB,IAAI,CAAC;IAE1B,IAAI,CAAkB;IACtB,MAAM,CAAyB;IAC/B,QAAQ,GAAsB,EAAE,CAAC;IAE1C;;;;;;;;OAQG;IACH,YACkB,IAAY,EACZ,EAAU,EACV,OAA2C,EAC3C,KAAc,EACd,IAAa,EAC7B,MAAwB;QALR,SAAI,GAAJ,IAAI,CAAQ;QACZ,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAoC;QAC3C,UAAK,GAAL,KAAK,CAAS;QACd,SAAI,GAAJ,IAAI,CAAS;QAG7B,+CAA+C;QAC/C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,eAAM,CAAC,QAAQ,CAAI,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC;QAE7B,oCAAoC;QACpC,wBAAwB;QACxB,6DAA6D;QAC7D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpC,uCAAuC;QACvC,wBAAwB;QACxB,6DAA6D;QAC7D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1D,iCAAiC;QACjC,0DAA0D;QAC1D,uBAAuB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,QAAQ,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACrC,CAAC;IAED,QAAQ,CAAC,KAAsB;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,MAAmB;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,MAAmB;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF;AAjFD,gCAiFC"}
|
package/dist/core/options.d.ts
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import { IEncoder } from "./encoder";
|
|
2
2
|
import { ILogger } from "./logger";
|
|
3
|
-
import {
|
|
3
|
+
import { RetryPolicy } from "./retry";
|
|
4
4
|
import { IStore } from "./store";
|
|
5
5
|
/**
|
|
6
6
|
* Resonate configuration options.
|
|
7
7
|
*/
|
|
8
8
|
export type ResonateOptions = {
|
|
9
|
+
/**
|
|
10
|
+
* Store authentication options.
|
|
11
|
+
*/
|
|
12
|
+
auth: AuthOptions;
|
|
9
13
|
/**
|
|
10
14
|
* An encoder instance used for encoding and decoding values
|
|
11
15
|
* returned (or thrown) by registered functions. If not provided,
|
|
12
16
|
* a default JSON encoder will be used.
|
|
13
17
|
*/
|
|
14
18
|
encoder: IEncoder<unknown, string | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* The frequency in ms to heartbeat locks.
|
|
21
|
+
*/
|
|
22
|
+
heartbeat: number;
|
|
15
23
|
/**
|
|
16
24
|
* A process id that can be used to uniquely identify this Resonate
|
|
17
25
|
* instance. If not provided a default value will be generated.
|
|
@@ -28,16 +36,16 @@ export type ResonateOptions = {
|
|
|
28
36
|
*/
|
|
29
37
|
logger: ILogger;
|
|
30
38
|
/**
|
|
31
|
-
* A retry
|
|
39
|
+
* A retry policy, defaults to exponential backoff.
|
|
32
40
|
*/
|
|
33
|
-
retry:
|
|
41
|
+
retry: RetryPolicy;
|
|
34
42
|
/**
|
|
35
43
|
* Tags to add to all durable promises.
|
|
36
44
|
*/
|
|
37
45
|
tags: Record<string, string>;
|
|
38
46
|
/**
|
|
39
|
-
* A store instance, if provided
|
|
40
|
-
*
|
|
47
|
+
* A store instance, if provided will take predence over the
|
|
48
|
+
* default store.
|
|
41
49
|
*/
|
|
42
50
|
store: IStore;
|
|
43
51
|
/**
|
|
@@ -61,17 +69,19 @@ export type Options = {
|
|
|
61
69
|
*/
|
|
62
70
|
durable: boolean;
|
|
63
71
|
/**
|
|
64
|
-
* A
|
|
72
|
+
* A function that calculates the id for this execution
|
|
73
|
+
* defaults to a random funciton.
|
|
65
74
|
*/
|
|
66
|
-
|
|
75
|
+
eidFn: (id: string) => string;
|
|
67
76
|
/**
|
|
68
77
|
* Overrides the default encoder.
|
|
69
78
|
*/
|
|
70
79
|
encoder: IEncoder<unknown, string | undefined>;
|
|
71
80
|
/**
|
|
72
|
-
* Overrides the default idempotency key.
|
|
81
|
+
* Overrides the default funciton to calculate the idempotency key.
|
|
82
|
+
* defaults to a variation fnv-1a the hash funciton.
|
|
73
83
|
*/
|
|
74
|
-
|
|
84
|
+
idempotencyKeyFn: (id: string) => string;
|
|
75
85
|
/**
|
|
76
86
|
* Acquire a lock for the execution.
|
|
77
87
|
*/
|
|
@@ -83,7 +93,7 @@ export type Options = {
|
|
|
83
93
|
/**
|
|
84
94
|
* Overrides the default retry policy.
|
|
85
95
|
*/
|
|
86
|
-
retry:
|
|
96
|
+
retry: RetryPolicy;
|
|
87
97
|
/**
|
|
88
98
|
* Additional tags to add to the durable promise.
|
|
89
99
|
*/
|
|
@@ -102,4 +112,42 @@ export type PartialOptions = Partial<Options> & {
|
|
|
102
112
|
__resonate: true;
|
|
103
113
|
};
|
|
104
114
|
export declare function isOptions(o: unknown): o is PartialOptions;
|
|
115
|
+
export type StoreOptions = {
|
|
116
|
+
/**
|
|
117
|
+
* The store authentication options.
|
|
118
|
+
*/
|
|
119
|
+
auth: AuthOptions;
|
|
120
|
+
/**
|
|
121
|
+
* The store encoder, defaults to a base64 encoder.
|
|
122
|
+
*/
|
|
123
|
+
encoder: IEncoder<string, string>;
|
|
124
|
+
/**
|
|
125
|
+
* The frequency in ms to heartbeat locks.
|
|
126
|
+
*/
|
|
127
|
+
heartbeat: number;
|
|
128
|
+
/**
|
|
129
|
+
* A logger instance, if not provided a default logger will be
|
|
130
|
+
* used.
|
|
131
|
+
*/
|
|
132
|
+
logger: ILogger;
|
|
133
|
+
/**
|
|
134
|
+
* A process id that can be used to uniquely identify this Resonate
|
|
135
|
+
* instance. If not provided a default value will be generated.
|
|
136
|
+
*/
|
|
137
|
+
pid: string;
|
|
138
|
+
/**
|
|
139
|
+
* Number of retries to attempt before throwing an error. If not
|
|
140
|
+
* provided, a default value will be used.
|
|
141
|
+
*/
|
|
142
|
+
retries: number;
|
|
143
|
+
};
|
|
144
|
+
export type AuthOptions = {
|
|
145
|
+
/**
|
|
146
|
+
* Basic auth credentials.
|
|
147
|
+
*/
|
|
148
|
+
basic: {
|
|
149
|
+
password: string;
|
|
150
|
+
username: string;
|
|
151
|
+
};
|
|
152
|
+
};
|
|
105
153
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../lib/core/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../lib/core/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;;OAIG;IACH,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAE/C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,UAAU,EAAE,IAAI,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAE9B;;OAEG;IACH,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAE/C;;;OAGG;IACH,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAEzC;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAE1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG;IAAE,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC;AAErE,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,cAAc,CAEzD;AAED,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC"}
|
package/dist/core/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../lib/core/options.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../lib/core/options.ts"],"names":[],"mappings":";;;AAuIA,SAAgB,SAAS,CAAC,CAAU;IAClC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAK,CAAoB,CAAC,UAAU,KAAK,IAAI,CAAC;AAC1F,CAAC;AAFD,8BAEC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IEncoder } from "../encoder";
|
|
2
2
|
import { IPromiseStore } from "../store";
|
|
3
|
-
import {
|
|
3
|
+
import { DurablePromiseRecord } from "./types";
|
|
4
4
|
/**
|
|
5
5
|
* Durable Promise create options.
|
|
6
6
|
*/
|
|
@@ -58,7 +58,7 @@ export declare class DurablePromise<T> {
|
|
|
58
58
|
* @param encoder - An encoder instance used for encode and decode promise data.
|
|
59
59
|
* @param promise - The raw Durable Promise.
|
|
60
60
|
*/
|
|
61
|
-
constructor(store: IPromiseStore, encoder: IEncoder<unknown, string | undefined>, promise:
|
|
61
|
+
constructor(store: IPromiseStore, encoder: IEncoder<unknown, string | undefined>, promise: DurablePromiseRecord);
|
|
62
62
|
/**
|
|
63
63
|
* The Durable Promise id.
|
|
64
64
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promises.d.ts","sourceRoot":"","sources":["../../../lib/core/promises/promises.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"promises.d.ts","sourceRoot":"","sources":["../../../lib/core/promises/promises.ts"],"names":[],"mappings":"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"}
|
|
@@ -127,7 +127,8 @@ class DurablePromise {
|
|
|
127
127
|
* @returns A Durable Promise instance.
|
|
128
128
|
*/
|
|
129
129
|
static async create(store, encoder, id, timeout, opts = {}) {
|
|
130
|
-
|
|
130
|
+
const storedPromise = await store.create(id, opts.idempotencyKey, opts.strict ?? false, opts.headers, encoder.encode(opts.param), timeout, opts.tags);
|
|
131
|
+
return new DurablePromise(store, encoder, storedPromise);
|
|
131
132
|
}
|
|
132
133
|
/**
|
|
133
134
|
* Resolves a Durable Promise.
|
|
@@ -251,15 +252,18 @@ class DurablePromise {
|
|
|
251
252
|
// we can revisit when we implement a cache subsystem
|
|
252
253
|
await this.poll();
|
|
253
254
|
// set timeout promise
|
|
255
|
+
let timeoutId;
|
|
254
256
|
const timeoutPromise = timeout === Infinity
|
|
255
257
|
? new Promise(() => { }) // wait forever
|
|
256
|
-
: new Promise((resolve) => setTimeout(resolve, timeout));
|
|
258
|
+
: new Promise((resolve) => (timeoutId = setTimeout(resolve, timeout)));
|
|
257
259
|
// await either:
|
|
258
260
|
// - completion of the promise
|
|
259
261
|
// - timeout
|
|
260
|
-
await Promise.
|
|
261
|
-
//
|
|
262
|
+
await Promise.race([this.completed, timeoutPromise]);
|
|
263
|
+
// clear polling interval
|
|
262
264
|
clearInterval(this.interval);
|
|
265
|
+
// clear timeout
|
|
266
|
+
clearTimeout(timeoutId);
|
|
263
267
|
// throw error if timeout occcured
|
|
264
268
|
if (this.pending) {
|
|
265
269
|
throw new Error("Timeout occured while waiting for promise to complete");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../lib/core/promises/promises.ts"],"names":[],"mappings":";;;AACA,sCAAsD;AAsDtD,MAAa,cAAc;IAcf;IACA;IACA;IAfO,SAAS,CAA6B;IAC/C,QAAQ,CAAsC;IAC9C,QAAQ,CAA6B;IAE7C;;;;;;;OAOG;IACH,YACU,KAAoB,EACpB,OAA8C,EAC9C,
|
|
1
|
+
{"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../lib/core/promises/promises.ts"],"names":[],"mappings":"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"}
|