@resonatehq/sdk 0.5.0 → 0.5.2

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.
@@ -1,49 +1,210 @@
1
1
  import { IEncoder } from "../encoder";
2
2
  import { IPromiseStore } from "../store";
3
3
  import { PendingPromise, ResolvedPromise, RejectedPromise, CanceledPromise, TimedoutPromise } from "./types";
4
+ /**
5
+ * Durable Promise create options.
6
+ */
4
7
  export type CreateOptions = {
8
+ /**
9
+ * Durable Promise idempotency key.
10
+ */
5
11
  idempotencyKey: string | undefined;
12
+ /**
13
+ * Durable Promise headers.
14
+ */
6
15
  headers: Record<string, string>;
16
+ /**
17
+ * Durable Promise param, will be encoded with the provided encoder.
18
+ */
7
19
  param: unknown;
20
+ /**
21
+ * Durable Promise tags.
22
+ */
8
23
  tags: Record<string, string>;
24
+ /**
25
+ * Create the Durable Promise in strict mode.
26
+ */
9
27
  strict: boolean;
10
- poll: number | undefined;
11
28
  };
29
+ /**
30
+ * Durable Promise complete options.
31
+ */
12
32
  export type CompleteOptions = {
33
+ /**
34
+ * Durable Promise idempotency key.
35
+ */
13
36
  idempotencyKey: string | undefined;
37
+ /**
38
+ * Durable Promise headers.
39
+ */
14
40
  headers: Record<string, string>;
41
+ /**
42
+ * Create the Durable Promise in strict mode.
43
+ */
15
44
  strict: boolean;
16
45
  };
17
46
  export declare class DurablePromise<T> {
18
47
  private store;
19
48
  private encoder;
20
49
  private promise;
21
- readonly created: Promise<DurablePromise<T>>;
22
- readonly completed: Promise<DurablePromise<T>>;
50
+ private readonly completed;
23
51
  private complete;
24
52
  private interval;
25
- constructor(store: IPromiseStore, encoder: IEncoder<unknown, string | undefined>, promise: PendingPromise | ResolvedPromise | RejectedPromise | CanceledPromise | TimedoutPromise, poll?: number);
53
+ /**
54
+ * Creates a Durable Promise instance. This is provided as a lower level API, used by the Resonate class internally.
55
+ *
56
+ * @constructor
57
+ * @param store - A reference to a promise store.
58
+ * @param encoder - An encoder instance used for encode and decode promise data.
59
+ * @param promise - The raw Durable Promise.
60
+ */
61
+ constructor(store: IPromiseStore, encoder: IEncoder<unknown, string | undefined>, promise: PendingPromise | ResolvedPromise | RejectedPromise | CanceledPromise | TimedoutPromise);
62
+ /**
63
+ * The Durable Promise id.
64
+ */
26
65
  get id(): string;
66
+ /**
67
+ * The Durable Promise create idempotency key.
68
+ */
27
69
  get idempotencyKeyForCreate(): string | undefined;
70
+ /**
71
+ * The Durable Promise complete idempotency key.
72
+ */
28
73
  get idempotencyKeyForComplete(): string | undefined;
74
+ /**
75
+ * The Durable Promise created on time.
76
+ */
77
+ get createdOn(): number;
78
+ /**
79
+ * The Durable Promise timeout time.
80
+ */
29
81
  get timeout(): number;
82
+ /**
83
+ * Returns true when the Durable Promise is pending.
84
+ */
30
85
  get pending(): boolean;
86
+ /**
87
+ * Returns true when the Durable Promise is resolved.
88
+ */
31
89
  get resolved(): boolean;
90
+ /**
91
+ * Returns true when the Durable Promise is rejected.
92
+ */
32
93
  get rejected(): boolean;
94
+ /**
95
+ * Returns true when the Durable Promise is canceled.
96
+ */
33
97
  get canceled(): boolean;
98
+ /**
99
+ * Returns true when the Durable Promise is timedout.
100
+ */
34
101
  get timedout(): boolean;
102
+ /**
103
+ * Returns the decoded promise param data.
104
+ */
35
105
  param(): unknown;
106
+ /**
107
+ * Returns the decoded promise value data.
108
+ */
36
109
  value(): T;
110
+ /**
111
+ * Returns the decoded promise value data as an error.
112
+ */
37
113
  error(): unknown;
114
+ /**
115
+ * Creates a Durable Promise.
116
+ * @param store - A reference to a promise store.
117
+ * @param encoder - An encoder instance used for encode and decode promise data.
118
+ * @param id - The Durable Promise id.
119
+ * @param timeout - The Durable Promise timeout in milliseconds.
120
+ * @param opts - A partial Durable Promise create options.
121
+ * @returns A Durable Promise instance.
122
+ */
38
123
  static create<T>(store: IPromiseStore, encoder: IEncoder<unknown, string | undefined>, id: string, timeout: number, opts?: Partial<CreateOptions>): Promise<DurablePromise<T>>;
124
+ /**
125
+ * Resolves a Durable Promise.
126
+ * @param store - A reference to a promise store.
127
+ * @param encoder - An encoder instance used for encode and decode promise data.
128
+ * @param id - The Durable Promise id.
129
+ * @param value - The Durable Promise value, will be encoded with the provided encoder.
130
+ * @param opts - A partial Durable Promise create options.
131
+ * @returns A Durable Promise instance.
132
+ */
39
133
  static resolve<T>(store: IPromiseStore, encoder: IEncoder<unknown, string | undefined>, id: string, value: T, opts?: Partial<CompleteOptions>): Promise<DurablePromise<T>>;
134
+ /**
135
+ * Rejects a Durable Promise.
136
+ * @param store - A reference to a promise store.
137
+ * @param encoder - An encoder instance used for encode and decode promise data.
138
+ * @param id - The Durable Promise id.
139
+ * @param error - The Durable Promise error value, will be encoded with the provided encoder.
140
+ * @param opts - A partial Durable Promise create options.
141
+ * @returns A Durable Promise instance.
142
+ */
40
143
  static reject<T>(store: IPromiseStore, encoder: IEncoder<unknown, string | undefined>, id: string, error: any, opts?: Partial<CompleteOptions>): Promise<DurablePromise<T>>;
144
+ /**
145
+ * Cancels a Durable Promise.
146
+ * @param store - A reference to a promise store.
147
+ * @param encoder - An encoder instance used for encode and decode promise data.
148
+ * @param id - The Durable Promise id.
149
+ * @param error - The Durable Promise error value, will be encoded with the provided encoder.
150
+ * @param opts - A partial Durable Promise create options.
151
+ * @returns A Durable Promise instance.
152
+ */
41
153
  static cancel<T>(store: IPromiseStore, encoder: IEncoder<unknown, string | undefined>, id: string, error: any, opts?: Partial<CompleteOptions>): Promise<DurablePromise<T>>;
154
+ /**
155
+ * Gets a Durable Promise.
156
+ * @param store - A reference to a promise store.
157
+ * @param encoder - An encoder instance used for encode and decode promise data.
158
+ * @param id - The Durable Promise id.
159
+ * @returns A Durable Promise instance.
160
+ */
42
161
  static get<T>(store: IPromiseStore, encoder: IEncoder<unknown, string | undefined>, id: string): Promise<DurablePromise<T>>;
162
+ /**
163
+ * Search for Durable Promises.
164
+ * @param store - A reference to a promise store.
165
+ * @param encoder - An encoder instance used for encode and decode promise data.
166
+ * @param id - An id to match against Durable Promise ids, can include wilcards.
167
+ * @param state - A state to search for, can be one of {pending, resolved, rejected}, matches all states if undefined.
168
+ * @param tags - Tags to search against.
169
+ * @param limit - The maximum number of Durable Promises to return per page.
170
+ * @returns An async generator that yields Durable Promise instances.
171
+ */
43
172
  static search(store: IPromiseStore, encoder: IEncoder<unknown, string | undefined>, id: string, state?: string, tags?: Record<string, string>, limit?: number): AsyncGenerator<DurablePromise<any>[], void>;
173
+ /**
174
+ * Resolves the Durable Promise.
175
+ * @param value - The Durable Promise value, will be encoded with the provided encoder.
176
+ * @param opts - A partial Durable Promise create options.
177
+ * @returns this instance.
178
+ */
44
179
  resolve(value: T, opts?: Partial<CompleteOptions>): Promise<this>;
180
+ /**
181
+ * Rejects the Durable Promise.
182
+ * @param error - The Durable Promise error value, will be encoded with the provided encoder.
183
+ * @param opts - A partial Durable Promise create options.
184
+ * @returns this instance.
185
+ */
45
186
  reject(error: any, opts?: Partial<CompleteOptions>): Promise<this>;
187
+ /**
188
+ * Cancels the Durable Promise.
189
+ * @param error - The Durable Promise error value, will be encoded with the provided encoder.
190
+ * @param opts - A partial Durable Promise create options.
191
+ * @returns this instance.
192
+ */
46
193
  cancel(error: any, opts?: Partial<CompleteOptions>): Promise<this>;
194
+ /**
195
+ * Polls the Durable Promise store to sychronize the state, stops when the promise is complete.
196
+ * @param timeout - The time at which to stop polling if the promise is still pending.
197
+ * @param frequency - The frequency in ms to poll.
198
+ * @returns A Promise that resolves when the Durable Promise is complete.
199
+ */
200
+ sync(timeout?: number, frequency?: number): Promise<void>;
201
+ /**
202
+ * Polls the Durable Promise store, and returns the value when the Durable Promise is complete.
203
+ * @param timeout - The time at which to stop polling if the promise is still pending.
204
+ * @param frequency - The frequency in ms to poll.
205
+ * @returns The promise value, or throws an error.
206
+ */
207
+ wait(timeout?: number, frequency?: number): Promise<T>;
47
208
  private poll;
48
209
  }
49
210
  //# sourceMappingURL=promises.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"promises.d.ts","sourceRoot":"","sources":["../../../lib/core/promises/promises.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promises.d.ts","sourceRoot":"","sources":["../../../lib/core/promises/promises.ts"],"names":[],"mappings":"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"}
@@ -6,58 +6,103 @@ class DurablePromise {
6
6
  store;
7
7
  encoder;
8
8
  promise;
9
- created;
10
9
  completed;
11
10
  complete;
12
11
  interval;
13
- constructor(store, encoder, promise, poll) {
12
+ /**
13
+ * Creates a Durable Promise instance. This is provided as a lower level API, used by the Resonate class internally.
14
+ *
15
+ * @constructor
16
+ * @param store - A reference to a promise store.
17
+ * @param encoder - An encoder instance used for encode and decode promise data.
18
+ * @param promise - The raw Durable Promise.
19
+ */
20
+ constructor(store, encoder, promise) {
14
21
  this.store = store;
15
22
  this.encoder = encoder;
16
23
  this.promise = promise;
17
- this.created = Promise.resolve(this);
18
24
  this.completed = new Promise((resolve) => {
19
25
  this.complete = resolve;
20
26
  });
21
- if (poll !== undefined) {
22
- this.interval = setInterval(() => this.poll(), poll);
23
- }
24
27
  }
28
+ /**
29
+ * The Durable Promise id.
30
+ */
25
31
  get id() {
26
32
  return this.promise.id;
27
33
  }
34
+ /**
35
+ * The Durable Promise create idempotency key.
36
+ */
28
37
  get idempotencyKeyForCreate() {
29
38
  return this.promise.idempotencyKeyForCreate;
30
39
  }
40
+ /**
41
+ * The Durable Promise complete idempotency key.
42
+ */
31
43
  get idempotencyKeyForComplete() {
32
44
  return this.promise.idempotencyKeyForComplete;
33
45
  }
46
+ /**
47
+ * The Durable Promise created on time.
48
+ */
49
+ get createdOn() {
50
+ return this.promise.createdOn;
51
+ }
52
+ /**
53
+ * The Durable Promise timeout time.
54
+ */
34
55
  get timeout() {
35
56
  return this.promise.timeout;
36
57
  }
58
+ /**
59
+ * Returns true when the Durable Promise is pending.
60
+ */
37
61
  get pending() {
38
62
  return this.promise.state === "PENDING";
39
63
  }
64
+ /**
65
+ * Returns true when the Durable Promise is resolved.
66
+ */
40
67
  get resolved() {
41
68
  return this.promise.state === "RESOLVED";
42
69
  }
70
+ /**
71
+ * Returns true when the Durable Promise is rejected.
72
+ */
43
73
  get rejected() {
44
74
  return this.promise.state === "REJECTED";
45
75
  }
76
+ /**
77
+ * Returns true when the Durable Promise is canceled.
78
+ */
46
79
  get canceled() {
47
80
  return this.promise.state === "REJECTED_CANCELED";
48
81
  }
82
+ /**
83
+ * Returns true when the Durable Promise is timedout.
84
+ */
49
85
  get timedout() {
50
86
  return this.promise.state === "REJECTED_TIMEDOUT";
51
87
  }
88
+ /**
89
+ * Returns the decoded promise param data.
90
+ */
52
91
  param() {
53
92
  return this.encoder.decode(this.promise.param.data);
54
93
  }
94
+ /**
95
+ * Returns the decoded promise value data.
96
+ */
55
97
  value() {
56
98
  if (!this.resolved) {
57
99
  throw new Error("Promise is not resolved");
58
100
  }
59
101
  return this.encoder.decode(this.promise.value.data);
60
102
  }
103
+ /**
104
+ * Returns the decoded promise value data as an error.
105
+ */
61
106
  error() {
62
107
  if (this.rejected) {
63
108
  return this.encoder.decode(this.promise.value.data);
@@ -72,26 +117,85 @@ class DurablePromise {
72
117
  throw new Error("Promise is not rejected, canceled, or timedout");
73
118
  }
74
119
  }
120
+ /**
121
+ * Creates a Durable Promise.
122
+ * @param store - A reference to a promise store.
123
+ * @param encoder - An encoder instance used for encode and decode promise data.
124
+ * @param id - The Durable Promise id.
125
+ * @param timeout - The Durable Promise timeout in milliseconds.
126
+ * @param opts - A partial Durable Promise create options.
127
+ * @returns A Durable Promise instance.
128
+ */
75
129
  static async create(store, encoder, id, timeout, opts = {}) {
76
- return new DurablePromise(store, encoder, await store.create(id, opts.idempotencyKey, opts.strict ?? false, opts.headers, encoder.encode(opts.param), timeout, opts.tags), opts.poll);
130
+ return new DurablePromise(store, encoder, await store.create(id, opts.idempotencyKey, opts.strict ?? false, opts.headers, encoder.encode(opts.param), timeout, opts.tags));
77
131
  }
132
+ /**
133
+ * Resolves a Durable Promise.
134
+ * @param store - A reference to a promise store.
135
+ * @param encoder - An encoder instance used for encode and decode promise data.
136
+ * @param id - The Durable Promise id.
137
+ * @param value - The Durable Promise value, will be encoded with the provided encoder.
138
+ * @param opts - A partial Durable Promise create options.
139
+ * @returns A Durable Promise instance.
140
+ */
78
141
  static async resolve(store, encoder, id, value, opts = {}) {
79
142
  return new DurablePromise(store, encoder, await store.resolve(id, opts.idempotencyKey, opts.strict ?? false, opts.headers, encoder.encode(value)));
80
143
  }
144
+ /**
145
+ * Rejects a Durable Promise.
146
+ * @param store - A reference to a promise store.
147
+ * @param encoder - An encoder instance used for encode and decode promise data.
148
+ * @param id - The Durable Promise id.
149
+ * @param error - The Durable Promise error value, will be encoded with the provided encoder.
150
+ * @param opts - A partial Durable Promise create options.
151
+ * @returns A Durable Promise instance.
152
+ */
81
153
  static async reject(store, encoder, id, error, opts = {}) {
82
154
  return new DurablePromise(store, encoder, await store.reject(id, opts.idempotencyKey, opts.strict ?? false, opts.headers, encoder.encode(error)));
83
155
  }
156
+ /**
157
+ * Cancels a Durable Promise.
158
+ * @param store - A reference to a promise store.
159
+ * @param encoder - An encoder instance used for encode and decode promise data.
160
+ * @param id - The Durable Promise id.
161
+ * @param error - The Durable Promise error value, will be encoded with the provided encoder.
162
+ * @param opts - A partial Durable Promise create options.
163
+ * @returns A Durable Promise instance.
164
+ */
84
165
  static async cancel(store, encoder, id, error, opts = {}) {
85
166
  return new DurablePromise(store, encoder, await store.cancel(id, opts.idempotencyKey, opts.strict ?? false, opts.headers, encoder.encode(error)));
86
167
  }
168
+ /**
169
+ * Gets a Durable Promise.
170
+ * @param store - A reference to a promise store.
171
+ * @param encoder - An encoder instance used for encode and decode promise data.
172
+ * @param id - The Durable Promise id.
173
+ * @returns A Durable Promise instance.
174
+ */
87
175
  static async get(store, encoder, id) {
88
176
  return new DurablePromise(store, encoder, await store.get(id));
89
177
  }
178
+ /**
179
+ * Search for Durable Promises.
180
+ * @param store - A reference to a promise store.
181
+ * @param encoder - An encoder instance used for encode and decode promise data.
182
+ * @param id - An id to match against Durable Promise ids, can include wilcards.
183
+ * @param state - A state to search for, can be one of {pending, resolved, rejected}, matches all states if undefined.
184
+ * @param tags - Tags to search against.
185
+ * @param limit - The maximum number of Durable Promises to return per page.
186
+ * @returns An async generator that yields Durable Promise instances.
187
+ */
90
188
  static async *search(store, encoder, id, state, tags, limit) {
91
189
  for await (const promises of store.search(id, state, tags, limit)) {
92
190
  yield promises.map((p) => new DurablePromise(store, encoder, p));
93
191
  }
94
192
  }
193
+ /**
194
+ * Resolves the Durable Promise.
195
+ * @param value - The Durable Promise value, will be encoded with the provided encoder.
196
+ * @param opts - A partial Durable Promise create options.
197
+ * @returns this instance.
198
+ */
95
199
  async resolve(value, opts = {}) {
96
200
  this.promise = !this.pending
97
201
  ? this.promise
@@ -101,6 +205,12 @@ class DurablePromise {
101
205
  }
102
206
  return this;
103
207
  }
208
+ /**
209
+ * Rejects the Durable Promise.
210
+ * @param error - The Durable Promise error value, will be encoded with the provided encoder.
211
+ * @param opts - A partial Durable Promise create options.
212
+ * @returns this instance.
213
+ */
104
214
  async reject(error, opts = {}) {
105
215
  this.promise = !this.pending
106
216
  ? this.promise
@@ -110,6 +220,12 @@ class DurablePromise {
110
220
  }
111
221
  return this;
112
222
  }
223
+ /**
224
+ * Cancels the Durable Promise.
225
+ * @param error - The Durable Promise error value, will be encoded with the provided encoder.
226
+ * @param opts - A partial Durable Promise create options.
227
+ * @returns this instance.
228
+ */
113
229
  async cancel(error, opts = {}) {
114
230
  this.promise = !this.pending
115
231
  ? this.promise
@@ -119,12 +235,56 @@ class DurablePromise {
119
235
  }
120
236
  return this;
121
237
  }
238
+ /**
239
+ * Polls the Durable Promise store to sychronize the state, stops when the promise is complete.
240
+ * @param timeout - The time at which to stop polling if the promise is still pending.
241
+ * @param frequency - The frequency in ms to poll.
242
+ * @returns A Promise that resolves when the Durable Promise is complete.
243
+ */
244
+ async sync(timeout = Infinity, frequency = 5000) {
245
+ if (!this.pending)
246
+ return;
247
+ // reset polling interval
248
+ clearInterval(this.interval);
249
+ this.interval = setInterval(() => this.poll(), frequency);
250
+ // poll immediately for now
251
+ // we can revisit when we implement a cache subsystem
252
+ await this.poll();
253
+ // set timeout promise
254
+ const timeoutPromise = timeout === Infinity
255
+ ? new Promise(() => { }) // wait forever
256
+ : new Promise((resolve) => setTimeout(resolve, timeout));
257
+ // await either:
258
+ // - completion of the promise
259
+ // - timeout
260
+ await Promise.any([this.completed, timeoutPromise]);
261
+ // stop polling interval
262
+ clearInterval(this.interval);
263
+ // throw error if timeout occcured
264
+ if (this.pending) {
265
+ throw new Error("Timeout occured while waiting for promise to complete");
266
+ }
267
+ }
268
+ /**
269
+ * Polls the Durable Promise store, and returns the value when the Durable Promise is complete.
270
+ * @param timeout - The time at which to stop polling if the promise is still pending.
271
+ * @param frequency - The frequency in ms to poll.
272
+ * @returns The promise value, or throws an error.
273
+ */
274
+ async wait(timeout = Infinity, frequency = 5000) {
275
+ await this.sync(timeout, frequency);
276
+ if (this.resolved) {
277
+ return this.value();
278
+ }
279
+ else {
280
+ throw this.error();
281
+ }
282
+ }
122
283
  async poll() {
123
284
  try {
124
285
  this.promise = await this.store.get(this.id);
125
286
  if (!this.pending) {
126
287
  this.complete(this);
127
- clearInterval(this.interval);
128
288
  }
129
289
  }
130
290
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../lib/core/promises/promises.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../lib/core/promises/promises.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"withTimeout.d.ts","sourceRoot":"","sources":["../../../lib/core/storages/withTimeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqC,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,qBAAa,WAAY,YAAW,QAAQ,CAAC,cAAc,CAAC;IAC9C,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,QAAQ,CAAC,cAAc,CAAuC;IAE3F,GAAG,CAAC,CAAC,SAAS,cAAc,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhH,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,GAAG,IAAI,cAAc,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC;CAKrD"}
1
+ {"version":3,"file":"withTimeout.d.ts","sourceRoot":"","sources":["../../../lib/core/storages/withTimeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsD,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,qBAAa,WAAY,YAAW,QAAQ,CAAC,cAAc,CAAC;IAC9C,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,QAAQ,CAAC,cAAc,CAAuC;IAE3F,GAAG,CAAC,CAAC,SAAS,cAAc,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhH,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,GAAG,IAAI,cAAc,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC;CAKrD"}
@@ -23,8 +23,7 @@ class WithTimeout {
23
23
  exports.WithTimeout = WithTimeout;
24
24
  function timeout(promise) {
25
25
  if ((0, types_1.isPendingPromise)(promise) && Date.now() >= promise.timeout) {
26
- return {
27
- state: "REJECTED_TIMEDOUT",
26
+ const body = {
28
27
  id: promise.id,
29
28
  timeout: promise.timeout,
30
29
  param: promise.param,
@@ -38,6 +37,18 @@ function timeout(promise) {
38
37
  idempotencyKeyForComplete: undefined,
39
38
  tags: promise.tags,
40
39
  };
40
+ if (promise.tags?.["resonate:timeout"] === "true") {
41
+ return {
42
+ state: "RESOLVED",
43
+ ...body,
44
+ };
45
+ }
46
+ else {
47
+ return {
48
+ state: "REJECTED_TIMEDOUT",
49
+ ...body,
50
+ };
51
+ }
41
52
  }
42
53
  return promise;
43
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"withTimeout.js","sourceRoot":"","sources":["../../../lib/core/storages/withTimeout.ts"],"names":[],"mappings":";;;AAAA,6CAAsF;AAEtF,qCAAyC;AAEzC,MAAa,WAAW;IACF;IAApB,YAAoB,UAAoC,IAAI,sBAAa,EAAkB;QAAvE,YAAO,GAAP,OAAO,CAAgE;IAAG,CAAC;IAE/F,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"}
1
+ {"version":3,"file":"withTimeout.js","sourceRoot":"","sources":["../../../lib/core/storages/withTimeout.ts"],"names":[],"mappings":";;;AAAA,6CAAuG;AAEvG,qCAAyC;AAEzC,MAAa,WAAW;IACF;IAApB,YAAoB,UAAoC,IAAI,sBAAa,EAAkB;QAAvE,YAAO,GAAP,OAAO,CAAgE;IAAG,CAAC;IAE/F,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,MAAM,IAAI,GAAG;YACX,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;QAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,kBAAkB,CAAC,KAAK,MAAM,EAAE,CAAC;YAClD,OAAO;gBACL,KAAK,EAAE,UAAU;gBACjB,GAAG,IAAI;aACR,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,KAAK,EAAE,mBAAmB;gBAC1B,GAAG,IAAI;aACR,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -77,7 +77,6 @@ export declare class Resonate extends ResonateBase {
77
77
  * @param name The schedule name.
78
78
  * @param cron The schedule cron expression.
79
79
  * @param func The registered function name.
80
- * @param version The registered function version.
81
80
  * @param args The function arguments.
82
81
  * @returns The schedule object.
83
82
  */
@@ -118,6 +117,10 @@ export declare class Context {
118
117
  * The running count of child function invocations.
119
118
  */
120
119
  get counter(): number;
120
+ /**
121
+ * The time the invocation was created. Will use the durable promise creation time if available.
122
+ */
123
+ get createdOn(): number;
121
124
  /**
122
125
  * Uniquely identifies the function invocation.
123
126
  */
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../lib/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../lib/generator.ts"],"names":[],"mappings":"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"}
package/dist/generator.js CHANGED
@@ -108,6 +108,12 @@ class Context {
108
108
  get counter() {
109
109
  return this.invocation.counter;
110
110
  }
111
+ /**
112
+ * The time the invocation was created. Will use the durable promise creation time if available.
113
+ */
114
+ get createdOn() {
115
+ return this.invocation.createdOn;
116
+ }
111
117
  /**
112
118
  * Uniquely identifies the function invocation.
113
119
  */