@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.
Files changed (76) hide show
  1. package/dist/async.d.ts +23 -5
  2. package/dist/async.d.ts.map +1 -1
  3. package/dist/async.js +94 -22
  4. package/dist/async.js.map +1 -1
  5. package/dist/core/calls.d.ts +23 -0
  6. package/dist/core/calls.d.ts.map +1 -0
  7. package/dist/core/calls.js +13 -0
  8. package/dist/core/calls.js.map +1 -0
  9. package/dist/core/encoders/json.d.ts.map +1 -1
  10. package/dist/core/encoders/json.js +12 -0
  11. package/dist/core/encoders/json.js.map +1 -1
  12. package/dist/core/errors.d.ts +7 -6
  13. package/dist/core/errors.d.ts.map +1 -1
  14. package/dist/core/errors.js +7 -6
  15. package/dist/core/errors.js.map +1 -1
  16. package/dist/core/execution.d.ts +0 -10
  17. package/dist/core/execution.d.ts.map +1 -1
  18. package/dist/core/execution.js +10 -105
  19. package/dist/core/execution.js.map +1 -1
  20. package/dist/core/invocation.d.ts +4 -7
  21. package/dist/core/invocation.d.ts.map +1 -1
  22. package/dist/core/invocation.js +6 -28
  23. package/dist/core/invocation.js.map +1 -1
  24. package/dist/core/options.d.ts +58 -10
  25. package/dist/core/options.d.ts.map +1 -1
  26. package/dist/core/options.js.map +1 -1
  27. package/dist/core/promises/promises.d.ts +2 -2
  28. package/dist/core/promises/promises.d.ts.map +1 -1
  29. package/dist/core/promises/promises.js +8 -4
  30. package/dist/core/promises/promises.js.map +1 -1
  31. package/dist/core/promises/types.d.ts +10 -83
  32. package/dist/core/promises/types.d.ts.map +1 -1
  33. package/dist/core/promises/types.js +10 -10
  34. package/dist/core/promises/types.js.map +1 -1
  35. package/dist/core/retry.d.ts +35 -26
  36. package/dist/core/retry.d.ts.map +1 -1
  37. package/dist/core/retry.js +111 -14
  38. package/dist/core/retry.js.map +1 -1
  39. package/dist/core/storages/memory.d.ts.map +1 -1
  40. package/dist/core/storages/memory.js +2 -0
  41. package/dist/core/storages/memory.js.map +1 -1
  42. package/dist/core/storages/withTimeout.d.ts +6 -6
  43. package/dist/core/storages/withTimeout.d.ts.map +1 -1
  44. package/dist/core/storages/withTimeout.js +2 -13
  45. package/dist/core/storages/withTimeout.js.map +1 -1
  46. package/dist/core/store.d.ts +7 -7
  47. package/dist/core/store.d.ts.map +1 -1
  48. package/dist/core/stores/local.d.ts +16 -13
  49. package/dist/core/stores/local.d.ts.map +1 -1
  50. package/dist/core/stores/local.js +15 -11
  51. package/dist/core/stores/local.js.map +1 -1
  52. package/dist/core/stores/remote.d.ts +27 -24
  53. package/dist/core/stores/remote.d.ts.map +1 -1
  54. package/dist/core/stores/remote.js +162 -158
  55. package/dist/core/stores/remote.js.map +1 -1
  56. package/dist/core/utils.d.ts +27 -0
  57. package/dist/core/utils.d.ts.map +1 -1
  58. package/dist/core/utils.js +37 -1
  59. package/dist/core/utils.js.map +1 -1
  60. package/dist/index.d.ts +1 -4
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +4 -7
  63. package/dist/index.js.map +1 -1
  64. package/dist/resonate.d.ts +12 -16
  65. package/dist/resonate.d.ts.map +1 -1
  66. package/dist/resonate.js +85 -47
  67. package/dist/resonate.js.map +1 -1
  68. package/package.json +1 -1
  69. package/dist/core/retries/retry.d.ts +0 -20
  70. package/dist/core/retries/retry.d.ts.map +0 -1
  71. package/dist/core/retries/retry.js +0 -41
  72. package/dist/core/retries/retry.js.map +0 -1
  73. package/dist/generator.d.ts +0 -208
  74. package/dist/generator.d.ts.map +0 -1
  75. package/dist/generator.js +0 -427
  76. package/dist/generator.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,21 +1,18 @@
1
1
  export * from "./resonate";
2
2
  export * from "./async";
3
- export * as async from "./async";
4
- export * as generator from "./generator";
5
3
  export * from "./core/errors";
6
4
  export * from "./core/future";
7
5
  export * from "./core/options";
8
6
  export * as promises from "./core/promises/promises";
9
7
  export * as schedules from "./core/schedules/schedules";
8
+ export * from "./core/retry";
10
9
  export * from "./core/encoder";
11
10
  export * from "./core/logger";
12
- export * from "./core/retry";
13
11
  export * from "./core/storage";
14
12
  export * from "./core/store";
15
13
  export * from "./core/encoders/base64";
16
14
  export * from "./core/encoders/json";
17
15
  export * from "./core/loggers/logger";
18
- export * from "./core/retries/retry";
19
16
  export * from "./core/storages/memory";
20
17
  export * from "./core/storages/withTimeout";
21
18
  export * from "./core/stores/local";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,cAAc,eAAe,CAAC;AAG9B,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAG/B,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAC;AAGxD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAG7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAGrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAG/B,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAC;AAGxD,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAG7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAGrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -26,14 +26,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.utils = exports.schedules = exports.promises = exports.generator = exports.async = void 0;
29
+ exports.utils = exports.schedules = exports.promises = void 0;
30
30
  // resonate
31
31
  __exportStar(require("./resonate"), exports);
32
- // async (default)
32
+ // async
33
33
  __exportStar(require("./async"), exports);
34
- exports.async = __importStar(require("./async"));
35
- // generator
36
- exports.generator = __importStar(require("./generator"));
37
34
  // errors
38
35
  __exportStar(require("./core/errors"), exports);
39
36
  // futures
@@ -44,17 +41,17 @@ __exportStar(require("./core/options"), exports);
44
41
  exports.promises = __importStar(require("./core/promises/promises"));
45
42
  // schedules
46
43
  exports.schedules = __importStar(require("./core/schedules/schedules"));
44
+ // retry policies
45
+ __exportStar(require("./core/retry"), exports);
47
46
  // interfaces
48
47
  __exportStar(require("./core/encoder"), exports);
49
48
  __exportStar(require("./core/logger"), exports);
50
- __exportStar(require("./core/retry"), exports);
51
49
  __exportStar(require("./core/storage"), exports);
52
50
  __exportStar(require("./core/store"), exports);
53
51
  // implementations
54
52
  __exportStar(require("./core/encoders/base64"), exports);
55
53
  __exportStar(require("./core/encoders/json"), exports);
56
54
  __exportStar(require("./core/loggers/logger"), exports);
57
- __exportStar(require("./core/retries/retry"), exports);
58
55
  __exportStar(require("./core/storages/memory"), exports);
59
56
  __exportStar(require("./core/storages/withTimeout"), exports);
60
57
  __exportStar(require("./core/stores/local"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,6CAA2B;AAE3B,kBAAkB;AAClB,0CAAwB;AACxB,iDAAiC;AAEjC,YAAY;AACZ,yDAAyC;AAEzC,SAAS;AACT,gDAA8B;AAE9B,UAAU;AACV,gDAA8B;AAE9B,UAAU;AACV,iDAA+B;AAE/B,WAAW;AACX,qEAAqD;AAErD,YAAY;AACZ,wEAAwD;AAExD,aAAa;AACb,iDAA+B;AAC/B,gDAA8B;AAC9B,+CAA6B;AAC7B,iDAA+B;AAC/B,+CAA6B;AAE7B,kBAAkB;AAClB,yDAAuC;AACvC,uDAAqC;AACrC,wDAAsC;AACtC,uDAAqC;AACrC,yDAAuC;AACvC,8DAA4C;AAC5C,sDAAoC;AACpC,uDAAqC;AAErC,QAAQ;AACR,sDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,6CAA2B;AAE3B,QAAQ;AACR,0CAAwB;AAExB,SAAS;AACT,gDAA8B;AAE9B,UAAU;AACV,gDAA8B;AAE9B,UAAU;AACV,iDAA+B;AAE/B,WAAW;AACX,qEAAqD;AAErD,YAAY;AACZ,wEAAwD;AAExD,iBAAiB;AACjB,+CAA6B;AAE7B,aAAa;AACb,iDAA+B;AAC/B,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAE7B,kBAAkB;AAClB,yDAAuC;AACvC,uDAAqC;AACrC,wDAAsC;AACtC,yDAAuC;AACvC,8DAA4C;AAC5C,sDAAoC;AACpC,uDAAqC;AAErC,QAAQ;AACR,sDAAsC"}
@@ -1,9 +1,10 @@
1
+ import { TFC } from "./core/calls";
1
2
  import { IEncoder } from "./core/encoder";
2
3
  import { ResonatePromise } from "./core/future";
3
4
  import { ILogger } from "./core/logger";
4
5
  import { ResonateOptions, Options, PartialOptions } from "./core/options";
5
6
  import * as promises from "./core/promises/promises";
6
- import { IRetry } from "./core/retry";
7
+ import * as retryPolicy from "./core/retry";
7
8
  import * as schedules from "./core/schedules/schedules";
8
9
  import { IStore } from "./core/store";
9
10
  type Func = (...args: any[]) => any;
@@ -17,25 +18,20 @@ export declare abstract class ResonateBase {
17
18
  readonly tags: Record<string, string>;
18
19
  readonly encoder: IEncoder<unknown, string | undefined>;
19
20
  readonly logger: ILogger;
20
- readonly retry: IRetry;
21
+ readonly retry: retryPolicy.RetryPolicy;
21
22
  readonly store: IStore;
22
23
  private interval;
23
- constructor({ encoder, logger, pid, poll, // 5s
24
+ constructor({ auth, encoder, heartbeat, // 15s
25
+ logger, pid, poll, // 5s
24
26
  retry, store, tags, timeout, // 10s
25
27
  url, }?: Partial<ResonateOptions>);
26
- protected abstract execute(name: string, id: string, func: Func, args: any[], opts: Options, defaults: Options, durablePromise?: promises.DurablePromise<any>): ResonatePromise<any>;
28
+ protected abstract execute(name: string, id: string, func: Func, args: any[], opts: Options, durablePromise?: promises.DurablePromise<any>): ResonatePromise<any>;
27
29
  register(name: string, func: Func, opts?: Partial<Options>): (id: string, ...args: any) => ResonatePromise<any>;
28
30
  registerModule(module: Record<string, Func>, opts?: Partial<Options>): void;
29
- /**
30
- * Run a Resonate function. Functions must first be registered with {@link register}.
31
- *
32
- * @template T The return type of the function.
33
- * @param id A unique id for the function invocation.
34
- * @param name The function name.
35
- * @param argsWithOpts The function arguments.
36
- * @returns A promise that resolve to the function return value.
37
- */
31
+ run<T>(tfc: TFC): ResonatePromise<T>;
38
32
  run<T>(name: string, id: string, ...argsWithOpts: [...any, PartialOptions?]): ResonatePromise<T>;
33
+ private _run;
34
+ registeredOptions(name: string, version: number): Options;
39
35
  schedule(name: string, cron: string, func: Func | string, ...argsWithOpts: [...any, PartialOptions?]): Promise<schedules.Schedule>;
40
36
  /**
41
37
  * Construct options.
@@ -45,7 +41,8 @@ export declare abstract class ResonateBase {
45
41
  */
46
42
  options(opts?: Partial<Options>): PartialOptions;
47
43
  /**
48
- * Start the resonate service.
44
+ * Start the resonate service which continually checks for pending promises
45
+ * every `delay` ms.
49
46
  *
50
47
  * @param delay Frequency in ms to check for pending promises.
51
48
  */
@@ -54,9 +51,8 @@ export declare abstract class ResonateBase {
54
51
  * Stop the resonate service.
55
52
  */
56
53
  stop(): void;
57
- private defaults;
54
+ defaults({ durable, eidFn, encoder, idempotencyKeyFn, lock, poll, retry, tags, timeout, version, }?: Partial<Options>): Options;
58
55
  private _start;
59
- private split;
60
56
  }
61
57
  export interface ResonatePromises {
62
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"resonate.d.ts","sourceRoot":"","sources":["../lib/resonate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resonate.d.ts","sourceRoot":"","sources":["../lib/resonate.ts"],"names":[],"mappings":"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"}
package/dist/resonate.js CHANGED
@@ -26,9 +26,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.ResonateBase = void 0;
27
27
  const json_1 = require("./core/encoders/json");
28
28
  const logger_1 = require("./core/loggers/logger");
29
- const options_1 = require("./core/options");
30
29
  const promises = __importStar(require("./core/promises/promises"));
31
- const retry_1 = require("./core/retries/retry");
30
+ const retryPolicy = __importStar(require("./core/retry"));
32
31
  const schedules = __importStar(require("./core/schedules/schedules"));
33
32
  const local_1 = require("./core/stores/local");
34
33
  const remote_1 = require("./core/stores/remote");
@@ -49,8 +48,9 @@ class ResonateBase {
49
48
  retry;
50
49
  store;
51
50
  interval;
52
- constructor({ encoder = new json_1.JSONEncoder(), logger = new logger_1.Logger(), pid = utils.randomId(), poll = 5000, // 5s
53
- retry = retry_1.Retry.exponential(), store = undefined, tags = {}, timeout = 10000, // 10s
51
+ constructor({ auth = undefined, encoder = new json_1.JSONEncoder(), heartbeat = 15000, // 15s
52
+ logger = new logger_1.Logger(), pid = utils.randomId(), poll = 5000, // 5s
53
+ retry = retryPolicy.exponential(), store = undefined, tags = {}, timeout = 10000, // 10s
54
54
  url = undefined, } = {}) {
55
55
  this.encoder = encoder;
56
56
  this.logger = logger;
@@ -63,10 +63,20 @@ class ResonateBase {
63
63
  this.store = store;
64
64
  }
65
65
  else if (url) {
66
- this.store = new remote_1.RemoteStore(url, this.pid, this.logger);
66
+ this.store = new remote_1.RemoteStore(url, {
67
+ auth,
68
+ heartbeat,
69
+ logger,
70
+ pid,
71
+ });
67
72
  }
68
73
  else {
69
- this.store = new local_1.LocalStore(this.logger);
74
+ this.store = new local_1.LocalStore({
75
+ auth,
76
+ heartbeat,
77
+ logger,
78
+ pid,
79
+ });
70
80
  }
71
81
  // promises
72
82
  this.promises = {
@@ -120,42 +130,70 @@ class ResonateBase {
120
130
  * @param argsWithOpts The function arguments.
121
131
  * @returns A promise that resolve to the function return value.
122
132
  */
123
- run(name, id, ...argsWithOpts) {
124
- const { args, opts: { version }, part: { durable, idempotencyKey, tags, timeout }, } = this.split(argsWithOpts);
125
- if (!this.functions[name] || !this.functions[name][version]) {
126
- throw new Error(`Function ${name} version ${version} not registered`);
127
- }
128
- // the options registered with the function are the defaults
129
- const { func, opts: defaults } = this.functions[name][version];
130
- // only the following options can be overridden, this information is persisted
131
- // in the durable promise and therefore not required on the recovery path
132
- const override = {};
133
- if (durable !== undefined) {
134
- override.durable = durable;
135
- }
136
- if (idempotencyKey !== undefined) {
137
- override.idempotencyKey = idempotencyKey;
138
- }
139
- if (tags !== undefined) {
140
- override.tags = { ...defaults.tags, ...tags, "resonate:invocation": "true" };
133
+ run(nameOrTfc, id, ...argsWithOpts) {
134
+ let tfc;
135
+ if (typeof nameOrTfc === "string") {
136
+ const { args, opts: givenOpts } = utils.split(argsWithOpts);
137
+ const { durable, eidFn, idempotencyKeyFn, retry, tags, timeout, version } = givenOpts;
138
+ if (!id) {
139
+ throw new Error("Id was not set for a top level function call");
140
+ }
141
+ tfc = {
142
+ funcName: nameOrTfc,
143
+ id,
144
+ args,
145
+ optsOverrides: {
146
+ durable,
147
+ eidFn,
148
+ idempotencyKeyFn,
149
+ retry,
150
+ tags,
151
+ timeout,
152
+ version,
153
+ },
154
+ };
141
155
  }
142
156
  else {
143
- override.tags = { ...defaults.tags, "resonate:invocation": "true" };
157
+ tfc = nameOrTfc;
144
158
  }
145
- if (timeout !== undefined) {
146
- override.timeout = timeout;
159
+ return this._run(tfc);
160
+ }
161
+ _run(tfc) {
162
+ // Sets the defaults for the optional fields of TFC
163
+ tfc.optsOverrides = tfc.optsOverrides ?? {};
164
+ tfc.args = tfc.args ?? [];
165
+ tfc.optsOverrides.version = tfc.optsOverrides.version || 0;
166
+ if (!this.functions[tfc.funcName] || !this.functions[tfc.funcName][tfc.optsOverrides.version]) {
167
+ throw new Error(`Function ${tfc.funcName} version ${tfc.optsOverrides.version} not registered`);
147
168
  }
169
+ // the options registered with the function are the defaults
170
+ const { func, opts: registeredOpts } = this.functions[tfc.funcName][tfc.optsOverrides.version];
148
171
  // merge defaults with override to get opts
149
- const opts = {
150
- ...defaults,
151
- ...override,
152
- };
172
+ const opts = utils.mergeObjects(tfc.optsOverrides, registeredOpts);
173
+ // We want to preserve the version that was registered with the function
174
+ // when calling the function with `version=0` we will find the latest
175
+ // registered version of a function, but we want to make sure the registered
176
+ // version is preserved.
177
+ opts.version = registeredOpts.version;
178
+ // For tags we need to merge the objects themselves and add the
179
+ // resonate:invocation tag to identify a top level invocation
180
+ opts.tags = { ...registeredOpts.tags, ...tfc.optsOverrides.tags, "resonate:invocation": "true" };
153
181
  // lock on top level is true by default
154
182
  opts.lock = opts.lock ?? true;
155
- return this.execute(name, id, func, args, opts, defaults);
183
+ return this.execute(tfc.funcName, tfc.id, func, tfc.args, opts);
184
+ }
185
+ // Gets the registered options for a specific function and version
186
+ // that has been previously registered.
187
+ registeredOptions(name, version) {
188
+ if (!this.functions[name] || !this.functions[name][version]) {
189
+ throw new Error(`Function ${name} version ${version} not registered`);
190
+ }
191
+ const { opts } = this.functions[name][version];
192
+ return opts;
156
193
  }
157
194
  schedule(name, cron, func, ...argsWithOpts) {
158
- const { args, opts } = this.split(argsWithOpts);
195
+ const { args, opts: givenOpts } = utils.split(argsWithOpts);
196
+ const opts = this.defaults(givenOpts);
159
197
  if (typeof func === "function") {
160
198
  // if function is provided, the default version is 1
161
199
  // as opposed to 0 (alias for latest version)
@@ -166,11 +204,12 @@ class ResonateBase {
166
204
  if (!this.functions[funcName] || !this.functions[funcName][opts.version]) {
167
205
  throw new Error(`Function ${funcName} version ${opts.version} not registered`);
168
206
  }
169
- const { opts: { version, timeout, tags: promiseTags }, } = this.functions[funcName][opts.version];
170
- const idempotencyKey = typeof opts.idempotencyKey === "function" ? opts.idempotencyKey(funcName) : opts.idempotencyKey;
207
+ const { opts: { retry, version, timeout, tags: promiseTags }, } = this.functions[funcName][opts.version];
208
+ const idempotencyKey = opts.idempotencyKeyFn(funcName);
171
209
  const promiseParam = {
172
210
  func: funcName,
173
211
  version,
212
+ retryPolicy: retry,
174
213
  args,
175
214
  };
176
215
  return this.schedules.create(name, cron, "{{.id}}.{{.timestamp}}", timeout, {
@@ -189,12 +228,14 @@ class ResonateBase {
189
228
  return { ...opts, __resonate: true };
190
229
  }
191
230
  /**
192
- * Start the resonate service.
231
+ * Start the resonate service which continually checks for pending promises
232
+ * every `delay` ms.
193
233
  *
194
234
  * @param delay Frequency in ms to check for pending promises.
195
235
  */
196
236
  start(delay = 5000) {
197
237
  clearInterval(this.interval);
238
+ this._start();
198
239
  this.interval = setInterval(() => this._start(), delay);
199
240
  }
200
241
  /**
@@ -203,15 +244,15 @@ class ResonateBase {
203
244
  stop() {
204
245
  clearInterval(this.interval);
205
246
  }
206
- defaults({ durable = true, eid = utils.randomId, encoder = this.encoder, idempotencyKey = utils.hash, lock = undefined, poll = this.poll, retry = this.retry, tags = {}, timeout = this.timeout, version = 0, } = {}) {
247
+ defaults({ durable = true, eidFn = utils.randomId, encoder = this.encoder, idempotencyKeyFn = utils.hash, lock = undefined, poll = this.poll, retry = this.retry, tags = {}, timeout = this.timeout, version = 0, } = {}) {
207
248
  // merge tags
208
249
  tags = { ...this.tags, ...tags };
209
250
  return {
210
251
  __resonate: true,
211
- eid,
252
+ eidFn,
212
253
  durable,
213
254
  encoder,
214
- idempotencyKey,
255
+ idempotencyKeyFn,
215
256
  lock,
216
257
  poll,
217
258
  retry,
@@ -232,9 +273,12 @@ class ResonateBase {
232
273
  "version" in param &&
233
274
  typeof param.version === "number" &&
234
275
  "args" in param &&
235
- Array.isArray(param.args)) {
276
+ Array.isArray(param.args) &&
277
+ "retryPolicy" in param &&
278
+ retryPolicy.isRetryPolicy(param.retryPolicy)) {
236
279
  const { func, opts } = this.functions[param.func][param.version];
237
- this.execute(param.func, promise.id, func, param.args, opts, opts, promise);
280
+ opts.retry = param.retryPolicy;
281
+ this.execute(param.func, promise.id, func, param.args, opts, promise);
238
282
  }
239
283
  }
240
284
  }
@@ -245,12 +289,6 @@ class ResonateBase {
245
289
  this.logger.error(e);
246
290
  }
247
291
  }
248
- split(args) {
249
- const part = args[args.length - 1];
250
- return (0, options_1.isOptions)(part)
251
- ? { args: args.slice(0, -1), opts: this.defaults(part), part }
252
- : { args, opts: this.defaults(), part: {} };
253
- }
254
292
  }
255
293
  exports.ResonateBase = ResonateBase;
256
294
  //# sourceMappingURL=resonate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resonate.js","sourceRoot":"","sources":["../lib/resonate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resonate.js","sourceRoot":"","sources":["../lib/resonate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resonatehq/sdk",
3
- "version": "0.5.2",
3
+ "version": "0.5.5",
4
4
  "description": "TypeScript SDK for Resonate",
5
5
  "author": "Resonate Developers",
6
6
  "license": "Apache-2.0",
@@ -1,20 +0,0 @@
1
- import { IRetry, IterableRetry } from "../retry";
2
- export declare class Retry extends IterableRetry implements IRetry {
3
- private initialDelay;
4
- private backoffFactor;
5
- private maxAttempts;
6
- private maxDelay;
7
- constructor(initialDelay: number, backoffFactor: number, maxAttempts: number, maxDelay: number);
8
- static exponential(initialDelay?: number, backoffFactor?: number, maxAttempts?: number, maxDelay?: number): Retry;
9
- static linear(delay?: number, // 1 second
10
- maxAttempts?: number): Retry;
11
- static never(): Retry;
12
- next<T extends {
13
- attempt: number;
14
- timeout: number;
15
- }>(ctx: T): {
16
- done: boolean;
17
- delay?: number;
18
- };
19
- }
20
- //# sourceMappingURL=retry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../lib/core/retries/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEjD,qBAAa,KAAM,SAAQ,aAAc,YAAW,MAAM;IAEtD,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;gBAHR,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM;IAK1B,MAAM,CAAC,WAAW,CAChB,YAAY,GAAE,MAAY,EAC1B,aAAa,GAAE,MAAU,EACzB,WAAW,GAAE,MAAiB,EAC9B,QAAQ,GAAE,MAAc,GACvB,KAAK;IAIR,MAAM,CAAC,MAAM,CACX,KAAK,GAAE,MAAa,EAAE,WAAW;IACjC,WAAW,GAAE,MAAiB,GAC7B,KAAK;IAIR,MAAM,CAAC,KAAK,IAAI,KAAK;IAIrB,IAAI,CAAC,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAiBhG"}
@@ -1,41 +0,0 @@
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 {
6
- initialDelay;
7
- backoffFactor;
8
- maxAttempts;
9
- maxDelay;
10
- constructor(initialDelay, backoffFactor, maxAttempts, maxDelay) {
11
- super();
12
- this.initialDelay = initialDelay;
13
- this.backoffFactor = backoffFactor;
14
- this.maxAttempts = maxAttempts;
15
- this.maxDelay = maxDelay;
16
- }
17
- static exponential(initialDelay = 100, backoffFactor = 2, maxAttempts = Infinity, maxDelay = 60000) {
18
- return new Retry(initialDelay, backoffFactor, maxAttempts, maxDelay);
19
- }
20
- static linear(delay = 1000, // 1 second
21
- maxAttempts = Infinity) {
22
- return new Retry(delay, 1, maxAttempts, delay);
23
- }
24
- static never() {
25
- return new Retry(0, 0, 1, 0);
26
- }
27
- next(ctx) {
28
- // attempt 0: 0ms delay
29
- // attampt n: {initial * factor^(attempt-1)}ms delay (or max delay)
30
- const delay = Math.min(Math.min(ctx.attempt, 1) * this.initialDelay * Math.pow(this.backoffFactor, ctx.attempt - 1), this.maxDelay);
31
- if (Date.now() + delay >= ctx.timeout || ctx.attempt >= this.maxAttempts) {
32
- return { done: true };
33
- }
34
- return {
35
- done: false,
36
- delay: delay,
37
- };
38
- }
39
- }
40
- exports.Retry = Retry;
41
- //# sourceMappingURL=retry.js.map
@@ -1 +0,0 @@
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"}