@resonatehq/sdk 0.3.4 → 0.3.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 +10 -1
- package/dist/async.d.ts.map +1 -1
- package/dist/async.js +45 -15
- package/dist/async.js.map +1 -0
- package/dist/core/encoder.js +3 -1
- package/dist/core/encoder.js.map +1 -0
- package/dist/core/encoders/base64.js +6 -1
- package/dist/core/encoders/base64.js.map +1 -0
- package/dist/core/encoders/json.js +9 -4
- package/dist/core/encoders/json.js.map +1 -0
- package/dist/core/errors.js +8 -3
- package/dist/core/errors.js.map +1 -0
- package/dist/core/execution.js +24 -13
- package/dist/core/execution.js.map +1 -0
- package/dist/core/future.js +8 -2
- package/dist/core/future.js.map +1 -0
- package/dist/core/invocation.js +10 -5
- package/dist/core/invocation.js.map +1 -0
- package/dist/core/logger.js +3 -1
- package/dist/core/logger.js.map +1 -0
- package/dist/core/loggers/logger.js +7 -2
- package/dist/core/loggers/logger.js.map +1 -0
- package/dist/core/options.d.ts +5 -0
- package/dist/core/options.d.ts.map +1 -1
- package/dist/core/options.js +6 -1
- package/dist/core/options.js.map +1 -0
- package/dist/core/promises/promises.d.ts +4 -3
- package/dist/core/promises/promises.d.ts.map +1 -1
- package/dist/core/promises/promises.js +14 -9
- package/dist/core/promises/promises.js.map +1 -0
- package/dist/core/promises/types.js +18 -7
- package/dist/core/promises/types.js.map +1 -0
- package/dist/core/retries/retry.js +7 -2
- package/dist/core/retries/retry.js.map +1 -0
- package/dist/core/retry.js +6 -1
- package/dist/core/retry.js.map +1 -0
- package/dist/core/schedules/types.js +6 -1
- package/dist/core/schedules/types.js.map +1 -0
- package/dist/core/storage.js +3 -1
- package/dist/core/storage.js.map +1 -0
- package/dist/core/storages/memory.js +6 -1
- package/dist/core/storages/memory.js.map +1 -0
- package/dist/core/storages/withTimeout.js +8 -3
- package/dist/core/storages/withTimeout.js.map +1 -0
- package/dist/core/store.js +3 -1
- package/dist/core/store.js.map +1 -0
- package/dist/core/stores/local.js +75 -44
- package/dist/core/stores/local.js.map +1 -0
- package/dist/core/stores/remote.js +40 -32
- package/dist/core/stores/remote.js.map +1 -0
- package/dist/core/utils.js +8 -2
- package/dist/core/utils.js.map +1 -0
- package/dist/generator.js +45 -15
- package/dist/generator.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -3
- package/dist/index.js.map +1 -0
- package/dist/resonate.d.ts +2 -1
- package/dist/resonate.d.ts.map +1 -1
- package/dist/resonate.js +48 -18
- package/dist/resonate.js.map +1 -0
- package/package.json +15 -11
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DurablePromise = void 0;
|
|
4
|
+
const errors_1 = require("../errors");
|
|
5
|
+
class DurablePromise {
|
|
3
6
|
store;
|
|
4
7
|
encoder;
|
|
5
8
|
promise;
|
|
@@ -7,7 +10,7 @@ export class DurablePromise {
|
|
|
7
10
|
completed;
|
|
8
11
|
complete;
|
|
9
12
|
interval;
|
|
10
|
-
constructor(store, encoder, promise, poll
|
|
13
|
+
constructor(store, encoder, promise, poll) {
|
|
11
14
|
this.store = store;
|
|
12
15
|
this.encoder = encoder;
|
|
13
16
|
this.promise = promise;
|
|
@@ -15,8 +18,8 @@ export class DurablePromise {
|
|
|
15
18
|
this.completed = new Promise((resolve) => {
|
|
16
19
|
this.complete = resolve;
|
|
17
20
|
});
|
|
18
|
-
if (poll) {
|
|
19
|
-
this.interval = setInterval(() => this.poll(),
|
|
21
|
+
if (poll !== undefined) {
|
|
22
|
+
this.interval = setInterval(() => this.poll(), poll);
|
|
20
23
|
}
|
|
21
24
|
}
|
|
22
25
|
get id() {
|
|
@@ -57,17 +60,17 @@ export class DurablePromise {
|
|
|
57
60
|
return this.encoder.decode(this.promise.value.data);
|
|
58
61
|
}
|
|
59
62
|
else if (this.canceled) {
|
|
60
|
-
return new ResonateError("Resonate function canceled", ErrorCodes.CANCELED, this.encoder.decode(this.promise.value.data));
|
|
63
|
+
return new errors_1.ResonateError("Resonate function canceled", errors_1.ErrorCodes.CANCELED, this.encoder.decode(this.promise.value.data));
|
|
61
64
|
}
|
|
62
65
|
else if (this.timedout) {
|
|
63
|
-
return new ResonateError(`Resonate function timedout at ${new Date(this.promise.timeout).toISOString()}`, ErrorCodes.TIMEDOUT);
|
|
66
|
+
return new errors_1.ResonateError(`Resonate function timedout at ${new Date(this.promise.timeout).toISOString()}`, errors_1.ErrorCodes.TIMEDOUT);
|
|
64
67
|
}
|
|
65
68
|
else {
|
|
66
69
|
throw new Error("Promise is not rejected, canceled, or timedout");
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
|
-
static async create(store, encoder, id, timeout,
|
|
70
|
-
return new DurablePromise(store, encoder, await store.create(id, opts.idempotencyKey, opts.strict ?? false, opts.headers, encoder.encode(param), timeout, opts.tags), opts.poll
|
|
72
|
+
static async create(store, encoder, id, timeout, opts = {}) {
|
|
73
|
+
return new DurablePromise(store, encoder, await store.create(id, opts.idempotencyKey, opts.strict ?? false, opts.headers, encoder.encode(opts.param), Date.now() + timeout, opts.tags), opts.poll);
|
|
71
74
|
}
|
|
72
75
|
static async resolve(store, encoder, id, value, opts = {}) {
|
|
73
76
|
return new DurablePromise(store, encoder, await store.resolve(id, opts.idempotencyKey, opts.strict ?? false, opts.headers, encoder.encode(value)));
|
|
@@ -126,3 +129,5 @@ export class DurablePromise {
|
|
|
126
129
|
}
|
|
127
130
|
}
|
|
128
131
|
}
|
|
132
|
+
exports.DurablePromise = DurablePromise;
|
|
133
|
+
//# sourceMappingURL=promises.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../lib/core/promises/promises.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isCompletedPromise = exports.isTimedoutPromise = exports.isCanceledPromise = exports.isRejectedPromise = exports.isResolvedPromise = exports.isPendingPromise = exports.isDurablePromise = void 0;
|
|
1
4
|
// Type guards
|
|
2
|
-
|
|
5
|
+
function isDurablePromise(p) {
|
|
3
6
|
if (p !== null &&
|
|
4
7
|
typeof p === "object" &&
|
|
5
8
|
"state" in p &&
|
|
@@ -9,21 +12,29 @@ export function isDurablePromise(p) {
|
|
|
9
12
|
}
|
|
10
13
|
return false;
|
|
11
14
|
}
|
|
12
|
-
|
|
15
|
+
exports.isDurablePromise = isDurablePromise;
|
|
16
|
+
function isPendingPromise(p) {
|
|
13
17
|
return isDurablePromise(p) && p.state === "PENDING";
|
|
14
18
|
}
|
|
15
|
-
|
|
19
|
+
exports.isPendingPromise = isPendingPromise;
|
|
20
|
+
function isResolvedPromise(p) {
|
|
16
21
|
return isDurablePromise(p) && p.state === "RESOLVED";
|
|
17
22
|
}
|
|
18
|
-
|
|
23
|
+
exports.isResolvedPromise = isResolvedPromise;
|
|
24
|
+
function isRejectedPromise(p) {
|
|
19
25
|
return isDurablePromise(p) && p.state === "REJECTED";
|
|
20
26
|
}
|
|
21
|
-
|
|
27
|
+
exports.isRejectedPromise = isRejectedPromise;
|
|
28
|
+
function isCanceledPromise(p) {
|
|
22
29
|
return isDurablePromise(p) && p.state === "REJECTED_CANCELED";
|
|
23
30
|
}
|
|
24
|
-
|
|
31
|
+
exports.isCanceledPromise = isCanceledPromise;
|
|
32
|
+
function isTimedoutPromise(p) {
|
|
25
33
|
return isDurablePromise(p) && p.state === "REJECTED_TIMEDOUT";
|
|
26
34
|
}
|
|
27
|
-
|
|
35
|
+
exports.isTimedoutPromise = isTimedoutPromise;
|
|
36
|
+
function isCompletedPromise(p) {
|
|
28
37
|
return isDurablePromise(p) && ["RESOLVED", "REJECTED", "REJECTED_CANCELED", "REJECTED_TIMEDOUT"].includes(p.state);
|
|
29
38
|
}
|
|
39
|
+
exports.isCompletedPromise = isCompletedPromise;
|
|
40
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/core/promises/types.ts"],"names":[],"mappings":";;;AAiGA,cAAc;AAEd,SAAgB,gBAAgB,CAAC,CAAU;IACzC,IACE,CAAC,KAAK,IAAI;QACV,OAAO,CAAC,KAAK,QAAQ;QACrB,OAAO,IAAI,CAAC;QACZ,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAC3B,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAC/F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAZD,4CAYC;AAED,SAAgB,gBAAgB,CAAC,CAAU;IACzC,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC;AACtD,CAAC;AAFD,4CAEC;AAED,SAAgB,iBAAiB,CAAC,CAAU;IAC1C,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC;AACvD,CAAC;AAFD,8CAEC;AAED,SAAgB,iBAAiB,CAAC,CAAU;IAC1C,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC;AACvD,CAAC;AAFD,8CAEC;AAED,SAAgB,iBAAiB,CAAC,CAAU;IAC1C,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC;AAChE,CAAC;AAFD,8CAEC;AAED,SAAgB,iBAAiB,CAAC,CAAU;IAC1C,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC;AAChE,CAAC;AAFD,8CAEC;AAED,SAAgB,kBAAkB,CAChC,CAAU;IAEV,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACrH,CAAC;AAJD,gDAIC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Retry = void 0;
|
|
4
|
+
const retry_1 = require("../retry");
|
|
5
|
+
class Retry extends retry_1.IterableRetry {
|
|
3
6
|
initialDelay;
|
|
4
7
|
backoffFactor;
|
|
5
8
|
maxAttempts;
|
|
@@ -34,3 +37,5 @@ export class Retry extends IterableRetry {
|
|
|
34
37
|
};
|
|
35
38
|
}
|
|
36
39
|
}
|
|
40
|
+
exports.Retry = Retry;
|
|
41
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../lib/core/retries/retry.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AAEjD,MAAa,KAAM,SAAQ,qBAAa;IAE5B;IACA;IACA;IACA;IAJV,YACU,YAAoB,EACpB,aAAqB,EACrB,WAAmB,EACnB,QAAgB;QAExB,KAAK,EAAE,CAAC;QALA,iBAAY,GAAZ,YAAY,CAAQ;QACpB,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAQ;QACnB,aAAQ,GAAR,QAAQ,CAAQ;IAG1B,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,eAAuB,GAAG,EAC1B,gBAAwB,CAAC,EACzB,cAAsB,QAAQ,EAC9B,WAAmB,KAAK;QAExB,OAAO,IAAI,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,MAAM,CACX,QAAgB,IAAI,EAAE,WAAW;IACjC,cAAsB,QAAQ;QAE9B,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,CAAiD,GAAM;QACzD,uBAAuB;QACvB,mEAAmE;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,EAC5F,IAAI,CAAC,QAAQ,CACd,CAAC;QAEF,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QAED,OAAO;YACL,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;CACF;AA/CD,sBA+CC"}
|
package/dist/core/retry.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IterableRetry = void 0;
|
|
4
|
+
class IterableRetry {
|
|
2
5
|
next(ctx) {
|
|
3
6
|
throw new Error("Method not implemented");
|
|
4
7
|
}
|
|
@@ -15,3 +18,5 @@ export class IterableRetry {
|
|
|
15
18
|
};
|
|
16
19
|
}
|
|
17
20
|
}
|
|
21
|
+
exports.IterableRetry = IterableRetry;
|
|
22
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../lib/core/retry.ts"],"names":[],"mappings":";;;AAKA,MAAa,aAAa;IACxB,IAAI,CAAiD,GAAM;QACzD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CAAiD,GAAM;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,uDAAuD;QAE1E,OAAO;YACL,IAAI;gBACF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACrC,CAAC;YACD,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACf,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAlBD,sCAkBC"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isSchedule = void 0;
|
|
4
|
+
function isSchedule(s) {
|
|
2
5
|
return s !== null && typeof s === "object" && "id" in s;
|
|
3
6
|
}
|
|
7
|
+
exports.isSchedule = isSchedule;
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/core/schedules/types.ts"],"names":[],"mappings":";;;AAkBA,SAAgB,UAAU,CAAC,CAAU;IACnC,OAAO,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC;AAC1D,CAAC;AAFD,gCAEC"}
|
package/dist/core/storage.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../lib/core/storage.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoryStorage = void 0;
|
|
4
|
+
class MemoryStorage {
|
|
2
5
|
items = {};
|
|
3
6
|
async rmw(id, func) {
|
|
4
7
|
const item = func(this.items[id]);
|
|
@@ -20,3 +23,5 @@ export class MemoryStorage {
|
|
|
20
23
|
yield Object.values(this.items);
|
|
21
24
|
}
|
|
22
25
|
}
|
|
26
|
+
exports.MemoryStorage = MemoryStorage;
|
|
27
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../lib/core/storages/memory.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAChB,KAAK,GAAsB,EAAE,CAAC;IAEtC,KAAK,CAAC,GAAG,CAA0B,EAAU,EAAE,IAAgC;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,IAA0B;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtB,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,CAAC,GAAG;QACR,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACF;AA1BD,sCA0BC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WithTimeout = void 0;
|
|
4
|
+
const types_1 = require("../promises/types");
|
|
5
|
+
class WithTimeout {
|
|
3
6
|
storage;
|
|
4
7
|
constructor(storage) {
|
|
5
8
|
this.storage = storage;
|
|
@@ -16,8 +19,9 @@ export class WithTimeout {
|
|
|
16
19
|
}
|
|
17
20
|
}
|
|
18
21
|
}
|
|
22
|
+
exports.WithTimeout = WithTimeout;
|
|
19
23
|
function timeout(promise) {
|
|
20
|
-
if (isPendingPromise(promise) && Date.now() >= promise.timeout) {
|
|
24
|
+
if ((0, types_1.isPendingPromise)(promise) && Date.now() >= promise.timeout) {
|
|
21
25
|
return {
|
|
22
26
|
state: "REJECTED_TIMEDOUT",
|
|
23
27
|
id: promise.id,
|
|
@@ -36,3 +40,4 @@ function timeout(promise) {
|
|
|
36
40
|
}
|
|
37
41
|
return promise;
|
|
38
42
|
}
|
|
43
|
+
//# sourceMappingURL=withTimeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withTimeout.js","sourceRoot":"","sources":["../../../lib/core/storages/withTimeout.ts"],"names":[],"mappings":";;;AAAA,6CAAsF;AAGtF,MAAa,WAAW;IACF;IAApB,YAAoB,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;IAAG,CAAC;IAEzD,GAAG,CAAuC,EAAU,EAAE,IAA6C;QACjG,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,GAAG,CAAC,EAAU,EAAE,IAAuC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,CAAC,GAAG;QACR,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YAChD,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAhBD,kCAgBC;AAED,SAAS,OAAO,CAA2B,OAAU;IACnD,IAAI,IAAA,wBAAgB,EAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/D,OAAO;YACL,KAAK,EAAE,mBAAmB;YAC1B,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE;gBACL,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;YACxD,yBAAyB,EAAE,SAAS;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/core/store.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../lib/core/store.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.LocalLockStore = exports.LocalScheduleStore = exports.LocalPromiseStore = exports.LocalStore = void 0;
|
|
27
|
+
const cronParser = __importStar(require("cron-parser"));
|
|
28
|
+
const errors_1 = require("../errors");
|
|
29
|
+
const logger_1 = require("../loggers/logger");
|
|
30
|
+
const types_1 = require("../promises/types");
|
|
31
|
+
const memory_1 = require("../storages/memory");
|
|
32
|
+
const withTimeout_1 = require("../storages/withTimeout");
|
|
33
|
+
class LocalStore {
|
|
8
34
|
logger;
|
|
9
35
|
promises;
|
|
10
36
|
schedules;
|
|
11
37
|
locks;
|
|
12
38
|
toSchedule = [];
|
|
13
39
|
next = undefined;
|
|
14
|
-
constructor(logger = new Logger(), promiseStorage = new WithTimeout(new MemoryStorage()), scheduleStorage = new MemoryStorage(), lockStorage = new MemoryStorage()) {
|
|
40
|
+
constructor(logger = new logger_1.Logger(), promiseStorage = new withTimeout_1.WithTimeout(new memory_1.MemoryStorage()), scheduleStorage = new memory_1.MemoryStorage(), lockStorage = new memory_1.MemoryStorage()) {
|
|
15
41
|
this.logger = logger;
|
|
16
42
|
this.promises = new LocalPromiseStore(promiseStorage);
|
|
17
43
|
this.schedules = new LocalScheduleStore(scheduleStorage, this);
|
|
@@ -74,9 +100,10 @@ export class LocalStore {
|
|
|
74
100
|
.replace("{{.timestamp}}", schedule.nextRunTime.toString());
|
|
75
101
|
}
|
|
76
102
|
}
|
|
77
|
-
|
|
103
|
+
exports.LocalStore = LocalStore;
|
|
104
|
+
class LocalPromiseStore {
|
|
78
105
|
storage;
|
|
79
|
-
constructor(storage = new MemoryStorage()) {
|
|
106
|
+
constructor(storage = new memory_1.MemoryStorage()) {
|
|
80
107
|
this.storage = storage;
|
|
81
108
|
}
|
|
82
109
|
async create(id, ikey, strict, headers, data, timeout, tags) {
|
|
@@ -101,11 +128,11 @@ export class LocalPromiseStore {
|
|
|
101
128
|
tags: tags,
|
|
102
129
|
};
|
|
103
130
|
}
|
|
104
|
-
if (strict && !isPendingPromise(promise)) {
|
|
105
|
-
throw new ResonateError("Forbidden request", ErrorCodes.STORE_FORBIDDEN);
|
|
131
|
+
if (strict && !(0, types_1.isPendingPromise)(promise)) {
|
|
132
|
+
throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
|
|
106
133
|
}
|
|
107
134
|
if (promise.idempotencyKeyForCreate === undefined || ikey !== promise.idempotencyKeyForCreate) {
|
|
108
|
-
throw new ResonateError("Forbidden request", ErrorCodes.STORE_FORBIDDEN);
|
|
135
|
+
throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
|
|
109
136
|
}
|
|
110
137
|
return promise;
|
|
111
138
|
});
|
|
@@ -113,9 +140,9 @@ export class LocalPromiseStore {
|
|
|
113
140
|
async resolve(id, ikey, strict, headers, data) {
|
|
114
141
|
return this.storage.rmw(id, (promise) => {
|
|
115
142
|
if (!promise) {
|
|
116
|
-
throw new ResonateError("Not found", ErrorCodes.STORE_NOT_FOUND);
|
|
143
|
+
throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
|
|
117
144
|
}
|
|
118
|
-
if (isPendingPromise(promise)) {
|
|
145
|
+
if ((0, types_1.isPendingPromise)(promise)) {
|
|
119
146
|
return {
|
|
120
147
|
state: "RESOLVED",
|
|
121
148
|
id: promise.id,
|
|
@@ -132,12 +159,12 @@ export class LocalPromiseStore {
|
|
|
132
159
|
tags: promise.tags,
|
|
133
160
|
};
|
|
134
161
|
}
|
|
135
|
-
if (strict && !isResolvedPromise(promise)) {
|
|
136
|
-
throw new ResonateError("Forbidden request", ErrorCodes.STORE_FORBIDDEN);
|
|
162
|
+
if (strict && !(0, types_1.isResolvedPromise)(promise)) {
|
|
163
|
+
throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
|
|
137
164
|
}
|
|
138
|
-
if (!isTimedoutPromise(promise) &&
|
|
165
|
+
if (!(0, types_1.isTimedoutPromise)(promise) &&
|
|
139
166
|
(promise.idempotencyKeyForComplete === undefined || ikey !== promise.idempotencyKeyForComplete)) {
|
|
140
|
-
throw new ResonateError("Forbidden request", ErrorCodes.STORE_FORBIDDEN);
|
|
167
|
+
throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
|
|
141
168
|
}
|
|
142
169
|
return promise;
|
|
143
170
|
});
|
|
@@ -145,9 +172,9 @@ export class LocalPromiseStore {
|
|
|
145
172
|
async reject(id, ikey, strict, headers, data) {
|
|
146
173
|
return this.storage.rmw(id, (promise) => {
|
|
147
174
|
if (!promise) {
|
|
148
|
-
throw new ResonateError("Not found", ErrorCodes.STORE_NOT_FOUND);
|
|
175
|
+
throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
|
|
149
176
|
}
|
|
150
|
-
if (isPendingPromise(promise)) {
|
|
177
|
+
if ((0, types_1.isPendingPromise)(promise)) {
|
|
151
178
|
return {
|
|
152
179
|
state: "REJECTED",
|
|
153
180
|
id: promise.id,
|
|
@@ -164,12 +191,12 @@ export class LocalPromiseStore {
|
|
|
164
191
|
tags: promise.tags,
|
|
165
192
|
};
|
|
166
193
|
}
|
|
167
|
-
if (strict && !isRejectedPromise(promise)) {
|
|
168
|
-
throw new ResonateError("Forbidden request", ErrorCodes.STORE_FORBIDDEN);
|
|
194
|
+
if (strict && !(0, types_1.isRejectedPromise)(promise)) {
|
|
195
|
+
throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
|
|
169
196
|
}
|
|
170
|
-
if (!isTimedoutPromise(promise) &&
|
|
197
|
+
if (!(0, types_1.isTimedoutPromise)(promise) &&
|
|
171
198
|
(promise.idempotencyKeyForComplete === undefined || ikey !== promise.idempotencyKeyForComplete)) {
|
|
172
|
-
throw new ResonateError("Forbidden request", ErrorCodes.STORE_FORBIDDEN);
|
|
199
|
+
throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
|
|
173
200
|
}
|
|
174
201
|
return promise;
|
|
175
202
|
});
|
|
@@ -177,9 +204,9 @@ export class LocalPromiseStore {
|
|
|
177
204
|
async cancel(id, ikey, strict, headers, data) {
|
|
178
205
|
return this.storage.rmw(id, (promise) => {
|
|
179
206
|
if (!promise) {
|
|
180
|
-
throw new ResonateError("Not found", ErrorCodes.STORE_NOT_FOUND);
|
|
207
|
+
throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
|
|
181
208
|
}
|
|
182
|
-
if (isPendingPromise(promise)) {
|
|
209
|
+
if ((0, types_1.isPendingPromise)(promise)) {
|
|
183
210
|
return {
|
|
184
211
|
state: "REJECTED_CANCELED",
|
|
185
212
|
id: promise.id,
|
|
@@ -196,12 +223,12 @@ export class LocalPromiseStore {
|
|
|
196
223
|
tags: promise.tags,
|
|
197
224
|
};
|
|
198
225
|
}
|
|
199
|
-
if (strict && !isCanceledPromise(promise)) {
|
|
200
|
-
throw new ResonateError("Forbidden request", ErrorCodes.STORE_FORBIDDEN);
|
|
226
|
+
if (strict && !(0, types_1.isCanceledPromise)(promise)) {
|
|
227
|
+
throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
|
|
201
228
|
}
|
|
202
|
-
if (!isTimedoutPromise(promise) &&
|
|
229
|
+
if (!(0, types_1.isTimedoutPromise)(promise) &&
|
|
203
230
|
(promise.idempotencyKeyForComplete === undefined || ikey !== promise.idempotencyKeyForComplete)) {
|
|
204
|
-
throw new ResonateError("Forbidden request", ErrorCodes.STORE_FORBIDDEN);
|
|
231
|
+
throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
|
|
205
232
|
}
|
|
206
233
|
return promise;
|
|
207
234
|
});
|
|
@@ -209,7 +236,7 @@ export class LocalPromiseStore {
|
|
|
209
236
|
async get(id) {
|
|
210
237
|
const promise = await this.storage.rmw(id, (p) => p);
|
|
211
238
|
if (!promise) {
|
|
212
|
-
throw new ResonateError("Not found", ErrorCodes.STORE_NOT_FOUND);
|
|
239
|
+
throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
|
|
213
240
|
}
|
|
214
241
|
return promise;
|
|
215
242
|
}
|
|
@@ -226,10 +253,11 @@ export class LocalPromiseStore {
|
|
|
226
253
|
}
|
|
227
254
|
}
|
|
228
255
|
}
|
|
229
|
-
|
|
256
|
+
exports.LocalPromiseStore = LocalPromiseStore;
|
|
257
|
+
class LocalScheduleStore {
|
|
230
258
|
storage;
|
|
231
259
|
store;
|
|
232
|
-
constructor(storage = new MemoryStorage(), store = undefined) {
|
|
260
|
+
constructor(storage = new memory_1.MemoryStorage(), store = undefined) {
|
|
233
261
|
this.storage = storage;
|
|
234
262
|
this.store = store;
|
|
235
263
|
}
|
|
@@ -237,7 +265,7 @@ export class LocalScheduleStore {
|
|
|
237
265
|
const schedule = await this.storage.rmw(id, (schedule) => {
|
|
238
266
|
if (schedule) {
|
|
239
267
|
if (schedule.idempotencyKey === undefined || ikey != schedule.idempotencyKey) {
|
|
240
|
-
throw new ResonateError("Already exists", ErrorCodes.STORE_ALREADY_EXISTS);
|
|
268
|
+
throw new errors_1.ResonateError("Already exists", errors_1.ErrorCodes.STORE_ALREADY_EXISTS);
|
|
241
269
|
}
|
|
242
270
|
return schedule;
|
|
243
271
|
}
|
|
@@ -247,7 +275,7 @@ export class LocalScheduleStore {
|
|
|
247
275
|
nextRunTime = this.nextRunTime(cron, createdOn);
|
|
248
276
|
}
|
|
249
277
|
catch (error) {
|
|
250
|
-
throw ResonateError.fromError(error);
|
|
278
|
+
throw errors_1.ResonateError.fromError(error);
|
|
251
279
|
}
|
|
252
280
|
return {
|
|
253
281
|
id,
|
|
@@ -275,7 +303,7 @@ export class LocalScheduleStore {
|
|
|
275
303
|
async update(id, lastRunTime) {
|
|
276
304
|
const schedule = await this.storage.rmw(id, (schedule) => {
|
|
277
305
|
if (!schedule) {
|
|
278
|
-
throw new ResonateError("Not found", ErrorCodes.STORE_NOT_FOUND);
|
|
306
|
+
throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
|
|
279
307
|
}
|
|
280
308
|
// update iff not already updated
|
|
281
309
|
if (schedule.nextRunTime === lastRunTime) {
|
|
@@ -284,7 +312,7 @@ export class LocalScheduleStore {
|
|
|
284
312
|
nextRunTime = this.nextRunTime(schedule.cron, lastRunTime);
|
|
285
313
|
}
|
|
286
314
|
catch (error) {
|
|
287
|
-
throw ResonateError.fromError(error);
|
|
315
|
+
throw errors_1.ResonateError.fromError(error);
|
|
288
316
|
}
|
|
289
317
|
schedule.lastRunTime = lastRunTime;
|
|
290
318
|
schedule.nextRunTime = nextRunTime;
|
|
@@ -299,13 +327,13 @@ export class LocalScheduleStore {
|
|
|
299
327
|
async delete(id) {
|
|
300
328
|
const result = await this.storage.rmd(id, () => true);
|
|
301
329
|
if (!result) {
|
|
302
|
-
throw new ResonateError("Not found", ErrorCodes.STORE_NOT_FOUND);
|
|
330
|
+
throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
|
|
303
331
|
}
|
|
304
332
|
}
|
|
305
333
|
async get(id) {
|
|
306
334
|
const schedule = await this.storage.rmw(id, (s) => s);
|
|
307
335
|
if (!schedule) {
|
|
308
|
-
throw new ResonateError("Not found", ErrorCodes.STORE_NOT_FOUND);
|
|
336
|
+
throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
|
|
309
337
|
}
|
|
310
338
|
return schedule;
|
|
311
339
|
}
|
|
@@ -324,9 +352,10 @@ export class LocalScheduleStore {
|
|
|
324
352
|
.getTime();
|
|
325
353
|
}
|
|
326
354
|
}
|
|
327
|
-
|
|
355
|
+
exports.LocalScheduleStore = LocalScheduleStore;
|
|
356
|
+
class LocalLockStore {
|
|
328
357
|
storage;
|
|
329
|
-
constructor(storage = new MemoryStorage()) {
|
|
358
|
+
constructor(storage = new memory_1.MemoryStorage()) {
|
|
330
359
|
this.storage = storage;
|
|
331
360
|
}
|
|
332
361
|
async tryAcquire(id, eid) {
|
|
@@ -340,17 +369,18 @@ export class LocalLockStore {
|
|
|
340
369
|
return lock;
|
|
341
370
|
});
|
|
342
371
|
if (lock.eid !== eid) {
|
|
343
|
-
throw new ResonateError("Forbidden request", ErrorCodes.STORE_FORBIDDEN);
|
|
372
|
+
throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
|
|
344
373
|
}
|
|
345
374
|
return lock.eid === eid;
|
|
346
375
|
}
|
|
347
376
|
async release(id, eid) {
|
|
348
377
|
const result = await this.storage.rmd(id, (lock) => lock.eid === eid);
|
|
349
378
|
if (!result) {
|
|
350
|
-
throw new ResonateError("Not found", ErrorCodes.STORE_NOT_FOUND);
|
|
379
|
+
throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
|
|
351
380
|
}
|
|
352
381
|
}
|
|
353
382
|
}
|
|
383
|
+
exports.LocalLockStore = LocalLockStore;
|
|
354
384
|
// Utils
|
|
355
385
|
function searchStates(state) {
|
|
356
386
|
if (state?.toLowerCase() == "pending") {
|
|
@@ -366,3 +396,4 @@ function searchStates(state) {
|
|
|
366
396
|
return ["PENDING", "RESOLVED", "REJECTED", "REJECTED_CANCELED", "REJECTED_TIMEDOUT"];
|
|
367
397
|
}
|
|
368
398
|
}
|
|
399
|
+
//# sourceMappingURL=local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../lib/core/stores/local.ts"],"names":[],"mappings":"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"}
|