@resonatehq/sdk 0.5.5 → 0.6.0
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/core/errors.d.ts +4 -2
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +5 -2
- package/dist/core/errors.js.map +1 -1
- package/dist/core/options.d.ts +12 -5
- package/dist/core/options.d.ts.map +1 -1
- package/dist/core/options.js +11 -1
- package/dist/core/options.js.map +1 -1
- package/dist/core/promises/promises.d.ts.map +1 -1
- package/dist/core/retry.d.ts +1 -0
- package/dist/core/retry.d.ts.map +1 -1
- package/dist/core/retry.js +20 -1
- package/dist/core/retry.js.map +1 -1
- package/dist/core/schedules/schedules.d.ts +1 -1
- package/dist/core/schedules/schedules.d.ts.map +1 -1
- package/dist/core/schedules/schedules.js.map +1 -1
- package/dist/core/stores/local.js +2 -2
- package/dist/core/stores/local.js.map +1 -1
- package/dist/core/stores/remote.d.ts.map +1 -1
- package/dist/core/stores/remote.js +14 -1
- package/dist/core/stores/remote.js.map +1 -1
- package/dist/core/utils.d.ts +55 -0
- package/dist/core/utils.d.ts.map +1 -1
- package/dist/core/utils.js +67 -1
- package/dist/core/utils.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/resonate.d.ts +165 -46
- package/dist/resonate.d.ts.map +1 -1
- package/dist/resonate.js +622 -169
- package/dist/resonate.js.map +1 -1
- package/package.json +1 -1
- package/dist/async.d.ts +0 -219
- package/dist/async.d.ts.map +0 -1
- package/dist/async.js +0 -403
- package/dist/async.js.map +0 -1
- package/dist/core/calls.d.ts +0 -23
- package/dist/core/calls.d.ts.map +0 -1
- package/dist/core/calls.js +0 -13
- package/dist/core/calls.js.map +0 -1
- package/dist/core/execution.d.ts +0 -37
- package/dist/core/execution.d.ts.map +0 -1
- package/dist/core/execution.js +0 -215
- package/dist/core/execution.js.map +0 -1
- package/dist/core/future.d.ts +0 -56
- package/dist/core/future.d.ts.map +0 -1
- package/dist/core/future.js +0 -107
- package/dist/core/future.js.map +0 -1
- package/dist/core/invocation.d.ts +0 -41
- package/dist/core/invocation.d.ts.map +0 -1
- package/dist/core/invocation.js +0 -81
- package/dist/core/invocation.js.map +0 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,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
|
@@ -27,14 +27,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.utils = exports.schedules = exports.promises = void 0;
|
|
30
|
-
//
|
|
30
|
+
// invok
|
|
31
31
|
__exportStar(require("./resonate"), exports);
|
|
32
|
-
// async
|
|
33
|
-
__exportStar(require("./async"), exports);
|
|
34
32
|
// errors
|
|
35
33
|
__exportStar(require("./core/errors"), exports);
|
|
36
|
-
// futures
|
|
37
|
-
__exportStar(require("./core/future"), exports);
|
|
38
34
|
// options
|
|
39
35
|
__exportStar(require("./core/options"), exports);
|
|
40
36
|
// promises
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,6CAA2B;AAE3B,SAAS;AACT,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"}
|
package/dist/resonate.d.ts
CHANGED
|
@@ -1,58 +1,166 @@
|
|
|
1
|
-
import { TFC } from "./core/calls";
|
|
2
|
-
import { IEncoder } from "./core/encoder";
|
|
3
|
-
import { ResonatePromise } from "./core/future";
|
|
4
1
|
import { ILogger } from "./core/logger";
|
|
5
|
-
import {
|
|
6
|
-
import * as
|
|
7
|
-
import * as retryPolicy from "./core/retry";
|
|
2
|
+
import { PartialOptions, Options, InvocationOverrides, ResonateOptions } from "./core/options";
|
|
3
|
+
import * as durablePromises from "./core/promises/promises";
|
|
8
4
|
import * as schedules from "./core/schedules/schedules";
|
|
9
5
|
import { IStore } from "./core/store";
|
|
10
|
-
type
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
type InvocationData = {
|
|
7
|
+
id: string;
|
|
8
|
+
eid: string;
|
|
9
|
+
name: string;
|
|
10
|
+
opts: Options;
|
|
11
|
+
};
|
|
12
|
+
export type Func = (ctx: Context, ...args: any[]) => any;
|
|
13
|
+
export type Params<F> = F extends (ctx: any, ...args: infer P) => any ? P : never;
|
|
14
|
+
export type Return<F> = F extends (...args: any[]) => infer T ? Awaited<T> : never;
|
|
15
|
+
export declare class Resonate {
|
|
16
|
+
#private;
|
|
17
|
+
readonly store: IStore;
|
|
18
|
+
readonly logger: ILogger;
|
|
19
|
+
readonly defaultInvocationOptions: Options;
|
|
13
20
|
readonly promises: ResonatePromises;
|
|
14
21
|
readonly schedules: ResonateSchedules;
|
|
15
|
-
readonly pid: string;
|
|
16
|
-
readonly poll: number;
|
|
17
|
-
readonly timeout: number;
|
|
18
|
-
readonly tags: Record<string, string>;
|
|
19
|
-
readonly encoder: IEncoder<unknown, string | undefined>;
|
|
20
|
-
readonly logger: ILogger;
|
|
21
|
-
readonly retry: retryPolicy.RetryPolicy;
|
|
22
|
-
readonly store: IStore;
|
|
23
|
-
private interval;
|
|
24
22
|
constructor({ auth, encoder, heartbeat, // 15s
|
|
25
|
-
logger, pid,
|
|
26
|
-
|
|
23
|
+
logger, pid, pollFrequency, // 5s
|
|
24
|
+
retryPolicy, store, tags, timeout, // 10s
|
|
27
25
|
url, }?: Partial<ResonateOptions>);
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
get promisesStore(): import("./core/store").IPromiseStore;
|
|
27
|
+
get locksStore(): import("./core/store").ILockStore;
|
|
28
|
+
registeredFunction(funcName: string, version: number): {
|
|
29
|
+
func: Func;
|
|
30
|
+
opts: Options;
|
|
31
|
+
};
|
|
32
|
+
register(name: string, func: Func, opts?: Partial<Options>): void;
|
|
30
33
|
registerModule(module: Record<string, Func>, opts?: Partial<Options>): void;
|
|
31
|
-
run<T>(tfc: TFC): ResonatePromise<T>;
|
|
32
|
-
run<T>(name: string, id: string, ...argsWithOpts: [...any, PartialOptions?]): ResonatePromise<T>;
|
|
33
|
-
private _run;
|
|
34
|
-
registeredOptions(name: string, version: number): Options;
|
|
35
|
-
schedule(name: string, cron: string, func: Func | string, ...argsWithOpts: [...any, PartialOptions?]): Promise<schedules.Schedule>;
|
|
36
|
-
/**
|
|
37
|
-
* Construct options.
|
|
38
|
-
*
|
|
39
|
-
* @param opts A partial {@link Options} object.
|
|
40
|
-
* @returns PartialOptions.
|
|
41
|
-
*/
|
|
42
|
-
options(opts?: Partial<Options>): PartialOptions;
|
|
43
34
|
/**
|
|
44
35
|
* Start the resonate service which continually checks for pending promises
|
|
45
36
|
* every `delay` ms.
|
|
46
37
|
*
|
|
47
38
|
* @param delay Frequency in ms to check for pending promises.
|
|
48
39
|
*/
|
|
49
|
-
start(delay?: number): void
|
|
40
|
+
start(delay?: number): Promise<void>;
|
|
50
41
|
/**
|
|
51
42
|
* Stop the resonate service.
|
|
52
43
|
*/
|
|
53
|
-
stop(): void
|
|
54
|
-
|
|
55
|
-
|
|
44
|
+
stop(): Promise<void>;
|
|
45
|
+
run<R>(name: string, id: string, ...argsWithOverrides: [...any, InvocationOverrides?]): Promise<R>;
|
|
46
|
+
invokeLocal<R>(name: string, id: string, ...argsWithOverrides: [...any, InvocationOverrides?]): Promise<InvocationHandle<R>>;
|
|
47
|
+
/**
|
|
48
|
+
* Schedule a resonate function.
|
|
49
|
+
*
|
|
50
|
+
* @param name The schedule name.
|
|
51
|
+
* @param cron The schedule cron expression.
|
|
52
|
+
* @param func The function to schedule.
|
|
53
|
+
* @param args The function arguments.
|
|
54
|
+
* @returns The schedule object.
|
|
55
|
+
*/
|
|
56
|
+
schedule<F extends Func>(name: string, cron: string, func: F, ...args: [...Params<F>, PartialOptions?]): Promise<schedules.Schedule>;
|
|
57
|
+
/**
|
|
58
|
+
* Schedule a resonate function that is already registered.
|
|
59
|
+
*
|
|
60
|
+
* @param name The schedule name.
|
|
61
|
+
* @param cron The schedule cron expression.
|
|
62
|
+
* @param func The registered function name.
|
|
63
|
+
* @param args The function arguments.
|
|
64
|
+
* @returns The schedule object.
|
|
65
|
+
*/
|
|
66
|
+
schedule(name: string, cron: string, func: string, ...args: [...any, PartialOptions?]): Promise<schedules.Schedule>;
|
|
67
|
+
withDefaultOpts(givenOpts?: Partial<Options>): Options;
|
|
68
|
+
}
|
|
69
|
+
export declare class Context {
|
|
70
|
+
#private;
|
|
71
|
+
childrenCount: number;
|
|
72
|
+
readonly invocationData: InvocationData;
|
|
73
|
+
parent: Context | undefined;
|
|
74
|
+
root: Context;
|
|
75
|
+
private constructor();
|
|
76
|
+
static createRootContext(resonate: Resonate, invocationData: InvocationData): Context;
|
|
77
|
+
static createChildrenContext(parentCtx: Context, invocationData: InvocationData): Context;
|
|
78
|
+
reset(): void;
|
|
79
|
+
finalize(): Promise<void>;
|
|
80
|
+
abort(cause: any): void;
|
|
81
|
+
get aborted(): boolean;
|
|
82
|
+
get abortCause(): any;
|
|
83
|
+
/**
|
|
84
|
+
* Invoke a remote function.
|
|
85
|
+
*
|
|
86
|
+
* @template R The return type of the remote function.
|
|
87
|
+
* @param func The id of the remote function.
|
|
88
|
+
* @param args The arguments to pass to the remote function.
|
|
89
|
+
* @param opts Optional {@link options}.
|
|
90
|
+
* @returns A promise that resolves to the resolved value of the remote function.
|
|
91
|
+
*/
|
|
92
|
+
run<R>(funcId: string, args: any, opts?: PartialOptions): Promise<R>;
|
|
93
|
+
/**
|
|
94
|
+
* Invoke a function.
|
|
95
|
+
*
|
|
96
|
+
* @template F The type of the function.
|
|
97
|
+
* @param func The function to invoke.
|
|
98
|
+
* @param args The function arguments, optionally followed by {@link options}.
|
|
99
|
+
* @returns A promise that resolves to the return value of the function.
|
|
100
|
+
*/
|
|
101
|
+
run<F extends Func>(func: F, ...argsWithOpts: [...Params<F>, PartialOptions?]): Promise<Return<F>>;
|
|
102
|
+
invokeRemote<R>(funcId: string, ...argsWithOpts: [...any, PartialOptions?]): Promise<InvocationHandle<R>>;
|
|
103
|
+
invokeLocal<F extends Func, R>(func: F, ...argsWithOpts: [...Params<F>, PartialOptions?]): Promise<InvocationHandle<R>>;
|
|
104
|
+
/**
|
|
105
|
+
* Durable version of sleep.
|
|
106
|
+
* Sleep for the specified time (ms).
|
|
107
|
+
*
|
|
108
|
+
* @param ms Amount of time to sleep in milliseconds.
|
|
109
|
+
* @returns A Promise that resolves after the specified time has elapsed.
|
|
110
|
+
*/
|
|
111
|
+
sleep(ms: number): Promise<void>;
|
|
112
|
+
/**
|
|
113
|
+
* Creates a Promise that is resolved with an array of results when all of the provided Promises
|
|
114
|
+
* resolve, or rejected when any Promise is rejected.
|
|
115
|
+
*
|
|
116
|
+
* @param values An array of Promises.
|
|
117
|
+
* @param opts Optional {@link options}.
|
|
118
|
+
* @returns A new ResonatePromise.
|
|
119
|
+
*/
|
|
120
|
+
all<T extends readonly unknown[] | []>(values: T, opts?: Partial<Options>): Promise<{
|
|
121
|
+
-readonly [P in keyof T]: Awaited<T[P]>;
|
|
122
|
+
}>;
|
|
123
|
+
/**
|
|
124
|
+
* Creates a Promise that is fulfilled by the first given promise to be fulfilled, or rejected
|
|
125
|
+
* with an AggregateError.
|
|
126
|
+
*
|
|
127
|
+
* @param values An array of Promises.
|
|
128
|
+
* @param opts Optional {@link options}.
|
|
129
|
+
* @returns A new ResonatePromise.
|
|
130
|
+
*/
|
|
131
|
+
any<T extends readonly unknown[] | []>(values: T, opts?: Partial<Options>): Promise<Awaited<Awaited<T[number]>>>;
|
|
132
|
+
/**
|
|
133
|
+
* Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
|
|
134
|
+
* or rejected.
|
|
135
|
+
*
|
|
136
|
+
* @param values An array of Promises.
|
|
137
|
+
* @param opts Optional {@link options}.
|
|
138
|
+
* @returns A new ResonatePromise.
|
|
139
|
+
*/
|
|
140
|
+
race<T extends readonly unknown[] | []>(values: T, opts?: Partial<Options>): Promise<Awaited<T[number]>>;
|
|
141
|
+
/**
|
|
142
|
+
* Creates a Promise that is resolved with an array of results when all of the provided Promises
|
|
143
|
+
* resolve or reject.
|
|
144
|
+
*
|
|
145
|
+
* @param values An array of Promises.
|
|
146
|
+
* @param opts Optional {@link options}.
|
|
147
|
+
* @returns A new Promise.
|
|
148
|
+
*/
|
|
149
|
+
allSettled<T extends readonly unknown[] | []>(values: T, opts?: Partial<Options>): Promise<{
|
|
150
|
+
-readonly [P in keyof T]: PromiseSettledResult<Awaited<T[P]>>;
|
|
151
|
+
}>;
|
|
152
|
+
/**
|
|
153
|
+
* Invoke a Resonate function in detached mode. Functions must first be registered with Resonate.
|
|
154
|
+
* a detached invocation will not be implecitly awaited at the end of the current context, instead
|
|
155
|
+
* it will be "supervised" as a top level invocation.
|
|
156
|
+
*
|
|
157
|
+
* @template R The return type of the function.
|
|
158
|
+
* @param id A unique id for the function invocation.
|
|
159
|
+
* @param name The function name.
|
|
160
|
+
* @param argsWithOverrides The function arguments and options overrides.
|
|
161
|
+
* @returns A Res.
|
|
162
|
+
*/
|
|
163
|
+
detached<R>(name: string, id: string, ...argsWithOverrides: [...any, InvocationOverrides?]): Promise<InvocationHandle<R>>;
|
|
56
164
|
}
|
|
57
165
|
export interface ResonatePromises {
|
|
58
166
|
/**
|
|
@@ -64,7 +172,7 @@ export interface ResonatePromises {
|
|
|
64
172
|
* @param opts Additional options.
|
|
65
173
|
* @returns A durable promise.
|
|
66
174
|
*/
|
|
67
|
-
create<T>(id: string, timeout: number, opts?: Partial<
|
|
175
|
+
create<T>(id: string, timeout: number, opts?: Partial<durablePromises.CreateOptions>): Promise<durablePromises.DurablePromise<T>>;
|
|
68
176
|
/**
|
|
69
177
|
* Resolve a durable promise.
|
|
70
178
|
*
|
|
@@ -74,7 +182,7 @@ export interface ResonatePromises {
|
|
|
74
182
|
* @param opts Additional options.
|
|
75
183
|
* @returns A durable promise.
|
|
76
184
|
*/
|
|
77
|
-
resolve<T>(id: string, value: T, opts?: Partial<
|
|
185
|
+
resolve<T>(id: string, value: T, opts?: Partial<durablePromises.CompleteOptions>): Promise<durablePromises.DurablePromise<T>>;
|
|
78
186
|
/**
|
|
79
187
|
* Reject a durable promise.
|
|
80
188
|
*
|
|
@@ -84,7 +192,7 @@ export interface ResonatePromises {
|
|
|
84
192
|
* @param opts Additional options.
|
|
85
193
|
* @returns A durable promise.
|
|
86
194
|
*/
|
|
87
|
-
reject<T>(id: string, error: any, opts?: Partial<
|
|
195
|
+
reject<T>(id: string, error: any, opts?: Partial<durablePromises.CompleteOptions>): Promise<durablePromises.DurablePromise<T>>;
|
|
88
196
|
/**
|
|
89
197
|
* Cancel a durable promise.
|
|
90
198
|
*
|
|
@@ -94,7 +202,7 @@ export interface ResonatePromises {
|
|
|
94
202
|
* @param opts Additional options.
|
|
95
203
|
* @returns A durable promise.
|
|
96
204
|
*/
|
|
97
|
-
cancel<T>(id: string, error: any, opts?: Partial<
|
|
205
|
+
cancel<T>(id: string, error: any, opts?: Partial<durablePromises.CompleteOptions>): Promise<durablePromises.DurablePromise<T>>;
|
|
98
206
|
/**
|
|
99
207
|
* Get a durable promise.
|
|
100
208
|
*
|
|
@@ -102,17 +210,17 @@ export interface ResonatePromises {
|
|
|
102
210
|
* @param id Id of the promise.
|
|
103
211
|
* @returns A durable promise.
|
|
104
212
|
*/
|
|
105
|
-
get<T>(id: string): Promise<
|
|
213
|
+
get<T>(id: string): Promise<durablePromises.DurablePromise<T>>;
|
|
106
214
|
/**
|
|
107
215
|
* Search durable promises.
|
|
108
216
|
*
|
|
109
217
|
* @param id Ids to match, can include wildcards.
|
|
110
218
|
* @param state State to match.
|
|
111
219
|
* @param tags Tags to match.
|
|
112
|
-
* @param limit Maximum number of
|
|
113
|
-
* @returns A generator that yields durable
|
|
220
|
+
* @param limit Maximum number of durablePromises to return.
|
|
221
|
+
* @returns A generator that yields durable durablePromises.
|
|
114
222
|
*/
|
|
115
|
-
search(id: string, state?: string, tags?: Record<string, string>, limit?: number): AsyncGenerator<
|
|
223
|
+
search(id: string, state?: string, tags?: Record<string, string>, limit?: number): AsyncGenerator<durablePromises.DurablePromise<any>[]>;
|
|
116
224
|
}
|
|
117
225
|
export interface ResonateSchedules {
|
|
118
226
|
/**
|
|
@@ -143,5 +251,16 @@ export interface ResonateSchedules {
|
|
|
143
251
|
*/
|
|
144
252
|
search(id: string, tags: Record<string, string> | undefined, limit?: number): AsyncGenerator<schedules.Schedule[], void>;
|
|
145
253
|
}
|
|
254
|
+
export declare class InvocationHandle<R> {
|
|
255
|
+
readonly resultPromise: Promise<R>;
|
|
256
|
+
readonly invocationId: string;
|
|
257
|
+
constructor(resultPromise: Promise<R>, invocationId: string);
|
|
258
|
+
/**
|
|
259
|
+
* get the current state of the resultPromise.
|
|
260
|
+
*
|
|
261
|
+
*/
|
|
262
|
+
state(): Promise<"pending" | "resolved" | "rejected">;
|
|
263
|
+
result(): Promise<R>;
|
|
264
|
+
}
|
|
146
265
|
export {};
|
|
147
266
|
//# sourceMappingURL=resonate.d.ts.map
|
package/dist/resonate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resonate.d.ts","sourceRoot":"","sources":["../lib/resonate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resonate.d.ts","sourceRoot":"","sources":["../lib/resonate.ts"],"names":[],"mappings":"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"}
|