@resonatehq/sdk 0.6.3 → 0.7.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/README.md +24 -45
- package/dist/dev/network.d.ts +16 -0
- package/dist/dev/network.d.ts.map +1 -0
- package/dist/dev/network.js +89 -0
- package/dist/dev/network.js.map +1 -0
- package/dist/dev/server.d.ts +87 -0
- package/dist/dev/server.d.ts.map +1 -0
- package/dist/dev/server.js +891 -0
- package/dist/dev/server.js.map +1 -0
- package/dist/sim/example-1.d.ts +2 -0
- package/dist/sim/example-1.d.ts.map +1 -0
- package/dist/sim/example-1.js +94 -0
- package/dist/sim/example-1.js.map +1 -0
- package/dist/sim/example-2.d.ts +2 -0
- package/dist/sim/example-2.d.ts.map +1 -0
- package/dist/sim/example-2.js +95 -0
- package/dist/sim/example-2.js.map +1 -0
- package/dist/sim/example-3.d.ts +2 -0
- package/dist/sim/example-3.d.ts.map +1 -0
- package/dist/sim/example-3.js +95 -0
- package/dist/sim/example-3.js.map +1 -0
- package/dist/sim/main.d.ts +14 -0
- package/dist/sim/main.d.ts.map +1 -0
- package/dist/sim/main.js +206 -0
- package/dist/sim/main.js.map +1 -0
- package/dist/sim/src/server.d.ts +15 -0
- package/dist/sim/src/server.d.ts.map +1 -0
- package/dist/sim/src/server.js +85 -0
- package/dist/sim/src/server.js.map +1 -0
- package/dist/sim/src/simulator.d.ts +65 -0
- package/dist/sim/src/simulator.d.ts.map +1 -0
- package/dist/sim/src/simulator.js +235 -0
- package/dist/sim/src/simulator.js.map +1 -0
- package/dist/sim/src/worker.d.ts +22 -0
- package/dist/sim/src/worker.d.ts.map +1 -0
- package/dist/sim/src/worker.js +175 -0
- package/dist/sim/src/worker.js.map +1 -0
- package/dist/src/clock.d.ts +11 -0
- package/dist/src/clock.d.ts.map +1 -0
- package/dist/src/clock.js +17 -0
- package/dist/src/clock.js.map +1 -0
- package/dist/src/computation.d.ts +40 -0
- package/dist/src/computation.d.ts.map +1 -0
- package/dist/src/computation.js +225 -0
- package/dist/src/computation.js.map +1 -0
- package/dist/src/context.d.ts +120 -0
- package/dist/src/context.d.ts.map +1 -0
- package/dist/src/context.js +288 -0
- package/dist/src/context.js.map +1 -0
- package/dist/src/coroutine.d.ts +35 -0
- package/dist/src/coroutine.d.ts.map +1 -0
- package/dist/src/coroutine.js +251 -0
- package/dist/src/coroutine.js.map +1 -0
- package/dist/src/decorator.d.ts +14 -0
- package/dist/src/decorator.d.ts.map +1 -0
- package/dist/src/decorator.js +208 -0
- package/dist/src/decorator.js.map +1 -0
- package/dist/src/handler.d.ts +40 -0
- package/dist/src/handler.d.ts.map +1 -0
- package/dist/src/handler.js +198 -0
- package/dist/src/handler.js.map +1 -0
- package/dist/src/heartbeat.d.ts +22 -0
- package/dist/src/heartbeat.d.ts.map +1 -0
- package/dist/src/heartbeat.js +87 -0
- package/dist/src/heartbeat.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +25 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/network/network.d.ts +216 -0
- package/dist/src/network/network.d.ts.map +1 -0
- package/dist/{core/logger.js → src/network/network.js} +2 -1
- package/dist/src/network/network.js.map +1 -0
- package/dist/src/network/remote.d.ts +67 -0
- package/dist/src/network/remote.d.ts.map +1 -0
- package/dist/src/network/remote.js +514 -0
- package/dist/src/network/remote.js.map +1 -0
- package/dist/src/nursery.d.ts +19 -0
- package/dist/src/nursery.d.ts.map +1 -0
- package/dist/src/nursery.js +102 -0
- package/dist/src/nursery.js.map +1 -0
- package/dist/src/processor/processor.d.ts +11 -0
- package/dist/src/processor/processor.d.ts.map +1 -0
- package/dist/src/processor/processor.js +24 -0
- package/dist/src/processor/processor.js.map +1 -0
- package/dist/src/promises.d.ts +23 -0
- package/dist/src/promises.d.ts.map +1 -0
- package/dist/src/promises.js +157 -0
- package/dist/src/promises.js.map +1 -0
- package/dist/src/registry.d.ts +15 -0
- package/dist/src/registry.d.ts.map +1 -0
- package/dist/src/registry.js +26 -0
- package/dist/src/registry.js.map +1 -0
- package/dist/src/resonate-inner.d.ts +45 -0
- package/dist/src/resonate-inner.d.ts.map +1 -0
- package/dist/src/resonate-inner.js +157 -0
- package/dist/src/resonate-inner.js.map +1 -0
- package/dist/src/resonate.d.ts +92 -0
- package/dist/src/resonate.d.ts.map +1 -0
- package/dist/src/resonate.js +240 -0
- package/dist/src/resonate.js.map +1 -0
- package/dist/src/schedules.d.ts +9 -0
- package/dist/src/schedules.d.ts.map +1 -0
- package/dist/src/schedules.js +65 -0
- package/dist/src/schedules.js.map +1 -0
- package/dist/src/tasks.d.ts +9 -0
- package/dist/src/tasks.d.ts.map +1 -0
- package/dist/src/tasks.js +61 -0
- package/dist/src/tasks.js.map +1 -0
- package/dist/src/types.d.ts +86 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +14 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/util.d.ts +14 -0
- package/dist/src/util.d.ts.map +1 -0
- package/dist/src/util.js +69 -0
- package/dist/src/util.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +51 -52
- package/dist/core/encoder.d.ts +0 -5
- package/dist/core/encoder.d.ts.map +0 -1
- package/dist/core/encoder.js +0 -3
- package/dist/core/encoder.js.map +0 -1
- package/dist/core/encoders/base64.d.ts +0 -6
- package/dist/core/encoders/base64.d.ts.map +0 -1
- package/dist/core/encoders/base64.js +0 -13
- package/dist/core/encoders/base64.js.map +0 -1
- package/dist/core/encoders/json.d.ts +0 -6
- package/dist/core/encoders/json.d.ts.map +0 -1
- package/dist/core/encoders/json.js +0 -77
- package/dist/core/encoders/json.js.map +0 -1
- package/dist/core/errors.d.ts +0 -24
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -42
- package/dist/core/errors.js.map +0 -1
- package/dist/core/logger.d.ts +0 -10
- package/dist/core/logger.d.ts.map +0 -1
- package/dist/core/logger.js.map +0 -1
- package/dist/core/loggers/logger.d.ts +0 -13
- package/dist/core/loggers/logger.d.ts.map +0 -1
- package/dist/core/loggers/logger.js +0 -48
- package/dist/core/loggers/logger.js.map +0 -1
- package/dist/core/options.d.ts +0 -160
- package/dist/core/options.d.ts.map +0 -1
- package/dist/core/options.js +0 -18
- package/dist/core/options.js.map +0 -1
- package/dist/core/promises/promises.d.ts +0 -210
- package/dist/core/promises/promises.d.ts.map +0 -1
- package/dist/core/promises/promises.js +0 -300
- package/dist/core/promises/promises.js.map +0 -1
- package/dist/core/promises/types.d.ts +0 -42
- package/dist/core/promises/types.d.ts.map +0 -1
- package/dist/core/promises/types.js +0 -70
- package/dist/core/promises/types.js.map +0 -1
- package/dist/core/retry.d.ts +0 -37
- package/dist/core/retry.d.ts.map +0 -1
- package/dist/core/retry.js +0 -141
- package/dist/core/retry.js.map +0 -1
- package/dist/core/schedules/schedules.d.ts +0 -22
- package/dist/core/schedules/schedules.d.ts.map +0 -1
- package/dist/core/schedules/schedules.js +0 -29
- package/dist/core/schedules/schedules.js.map +0 -1
- package/dist/core/schedules/types.d.ts +0 -19
- package/dist/core/schedules/types.d.ts.map +0 -1
- package/dist/core/schedules/types.js +0 -8
- package/dist/core/schedules/types.js.map +0 -1
- package/dist/core/storage.d.ts +0 -6
- package/dist/core/storage.d.ts.map +0 -1
- package/dist/core/storage.js +0 -3
- package/dist/core/storage.js.map +0 -1
- package/dist/core/storages/memory.d.ts +0 -8
- package/dist/core/storages/memory.d.ts.map +0 -1
- package/dist/core/storages/memory.js +0 -29
- package/dist/core/storages/memory.js.map +0 -1
- package/dist/core/storages/withTimeout.d.ts +0 -10
- package/dist/core/storages/withTimeout.d.ts.map +0 -1
- package/dist/core/storages/withTimeout.js +0 -44
- package/dist/core/storages/withTimeout.js.map +0 -1
- package/dist/core/store.d.ts +0 -142
- package/dist/core/store.d.ts.map +0 -1
- package/dist/core/store.js +0 -3
- package/dist/core/store.js.map +0 -1
- package/dist/core/stores/local.d.ts +0 -57
- package/dist/core/stores/local.d.ts.map +0 -1
- package/dist/core/stores/local.js +0 -405
- package/dist/core/stores/local.js.map +0 -1
- package/dist/core/stores/remote.d.ts +0 -51
- package/dist/core/stores/remote.d.ts.map +0 -1
- package/dist/core/stores/remote.js +0 -431
- package/dist/core/stores/remote.js.map +0 -1
- package/dist/core/utils.d.ts +0 -85
- package/dist/core/utils.d.ts.map +0 -1
- package/dist/core/utils.js +0 -121
- package/dist/core/utils.js.map +0 -1
- package/dist/index.d.ts +0 -19
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -57
- package/dist/index.js.map +0 -1
- package/dist/resonate.d.ts +0 -337
- package/dist/resonate.d.ts.map +0 -1
- package/dist/resonate.js +0 -730
- package/dist/resonate.js.map +0 -1
|
@@ -0,0 +1,240 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Resonate = void 0;
|
|
37
|
+
const network_1 = require("../dev/network");
|
|
38
|
+
const handler_1 = require("../src/handler");
|
|
39
|
+
const registry_1 = require("../src/registry");
|
|
40
|
+
const clock_1 = require("./clock");
|
|
41
|
+
const heartbeat_1 = require("./heartbeat");
|
|
42
|
+
const remote_1 = require("./network/remote");
|
|
43
|
+
const promises_1 = require("./promises");
|
|
44
|
+
const resonate_inner_1 = require("./resonate-inner");
|
|
45
|
+
const schedules_1 = require("./schedules");
|
|
46
|
+
const types_1 = require("./types");
|
|
47
|
+
const util = __importStar(require("./util"));
|
|
48
|
+
class Resonate {
|
|
49
|
+
unicast;
|
|
50
|
+
anycast;
|
|
51
|
+
pid;
|
|
52
|
+
ttl;
|
|
53
|
+
inner;
|
|
54
|
+
network;
|
|
55
|
+
registry;
|
|
56
|
+
heartbeat;
|
|
57
|
+
dependencies;
|
|
58
|
+
promises;
|
|
59
|
+
schedules;
|
|
60
|
+
constructor({ group, pid, ttl }, network) {
|
|
61
|
+
this.unicast = `poll://uni@${group}/${pid}`;
|
|
62
|
+
this.anycast = `poll://any@${group}/${pid}`;
|
|
63
|
+
this.pid = pid;
|
|
64
|
+
this.ttl = ttl;
|
|
65
|
+
this.network = network;
|
|
66
|
+
this.registry = new registry_1.Registry();
|
|
67
|
+
this.heartbeat = network instanceof network_1.LocalNetwork ? new heartbeat_1.NoopHeartbeat() : new heartbeat_1.AsyncHeartbeat(pid, ttl / 2, network);
|
|
68
|
+
this.dependencies = new Map();
|
|
69
|
+
this.inner = new resonate_inner_1.ResonateInner({
|
|
70
|
+
unicast: this.unicast,
|
|
71
|
+
anycast: this.anycast,
|
|
72
|
+
pid: this.pid,
|
|
73
|
+
ttl: this.ttl,
|
|
74
|
+
clock: new clock_1.WallClock(),
|
|
75
|
+
network: this.network,
|
|
76
|
+
handler: new handler_1.Handler(this.network),
|
|
77
|
+
registry: this.registry,
|
|
78
|
+
heartbeat: this.heartbeat,
|
|
79
|
+
dependencies: this.dependencies,
|
|
80
|
+
});
|
|
81
|
+
this.promises = new promises_1.Promises(network);
|
|
82
|
+
this.schedules = new schedules_1.Schedules(network);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Create a local Resonate instance
|
|
86
|
+
*/
|
|
87
|
+
static local() {
|
|
88
|
+
return new Resonate({
|
|
89
|
+
group: "default",
|
|
90
|
+
pid: "default",
|
|
91
|
+
ttl: Number.MAX_SAFE_INTEGER,
|
|
92
|
+
}, new network_1.LocalNetwork());
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create a remote Resonate instance
|
|
96
|
+
*/
|
|
97
|
+
static remote({ host = "http://localhost", storePort = "8001", messageSourcePort = "8002", group = "default", pid = crypto.randomUUID().replace(/-/g, ""), ttl = 1 * util.MIN, } = {}) {
|
|
98
|
+
const network = new remote_1.HttpNetwork({
|
|
99
|
+
host,
|
|
100
|
+
storePort,
|
|
101
|
+
messageSourcePort,
|
|
102
|
+
pid,
|
|
103
|
+
group,
|
|
104
|
+
timeout: 1 * util.MIN,
|
|
105
|
+
headers: {},
|
|
106
|
+
});
|
|
107
|
+
return new Resonate({ pid, group, ttl }, network);
|
|
108
|
+
}
|
|
109
|
+
register(nameOrFunc, maybeFunc) {
|
|
110
|
+
const name = typeof nameOrFunc === "string" ? nameOrFunc : nameOrFunc.name;
|
|
111
|
+
const func = typeof nameOrFunc === "string" ? maybeFunc : nameOrFunc;
|
|
112
|
+
if (this.registry.has(name)) {
|
|
113
|
+
throw new Error(`'${name}' already registered`);
|
|
114
|
+
}
|
|
115
|
+
this.registry.set(name, func);
|
|
116
|
+
return {
|
|
117
|
+
run: (id, ...args) => this.run(id, func, ...args),
|
|
118
|
+
rpc: (id, ...args) => this.rpc(id, func, ...args),
|
|
119
|
+
beginRun: (id, ...args) => this.beginRun(id, func, ...args),
|
|
120
|
+
beginRpc: (id, ...args) => this.beginRpc(id, func, ...args),
|
|
121
|
+
options: this.options,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
async run(id, funcOrName, ...args) {
|
|
125
|
+
return (await this.beginRun(id, funcOrName, ...args)).result();
|
|
126
|
+
}
|
|
127
|
+
async beginRun(id, funcOrName, ...argsWithOpts) {
|
|
128
|
+
const registered = this.registry.get(funcOrName);
|
|
129
|
+
if (!registered) {
|
|
130
|
+
throw new Error(`${funcOrName} does not exist`);
|
|
131
|
+
}
|
|
132
|
+
const [args, opts] = util.splitArgsAndOpts(argsWithOpts, this.options());
|
|
133
|
+
const promiseHandler = this.inner.run({
|
|
134
|
+
kind: "createPromiseAndTask",
|
|
135
|
+
promise: {
|
|
136
|
+
id: id,
|
|
137
|
+
timeout: Date.now() + opts.timeout,
|
|
138
|
+
param: { func: registered.name, args },
|
|
139
|
+
tags: {
|
|
140
|
+
...opts.tags,
|
|
141
|
+
"resonate:invoke": this.anycast,
|
|
142
|
+
"resonate:scope": "global",
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
task: {
|
|
146
|
+
processId: this.pid,
|
|
147
|
+
ttl: this.ttl,
|
|
148
|
+
},
|
|
149
|
+
iKey: id,
|
|
150
|
+
strict: false,
|
|
151
|
+
});
|
|
152
|
+
return this.handle(promiseHandler);
|
|
153
|
+
}
|
|
154
|
+
async rpc(id, funcOrName, ...args) {
|
|
155
|
+
return (await this.beginRpc(id, funcOrName, ...args)).result();
|
|
156
|
+
}
|
|
157
|
+
async beginRpc(id, funcOrName, ...argsWithOpts) {
|
|
158
|
+
let name;
|
|
159
|
+
if (typeof funcOrName === "string") {
|
|
160
|
+
name = funcOrName;
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
const registered = this.registry.get(funcOrName);
|
|
164
|
+
if (!registered) {
|
|
165
|
+
throw new Error(`${funcOrName} is not registered`);
|
|
166
|
+
}
|
|
167
|
+
name = registered.name;
|
|
168
|
+
}
|
|
169
|
+
const [args, opts] = util.splitArgsAndOpts(argsWithOpts, this.options());
|
|
170
|
+
const promiseHandler = this.inner.rpc({
|
|
171
|
+
kind: "createPromise",
|
|
172
|
+
id: id,
|
|
173
|
+
timeout: Date.now() + opts.timeout,
|
|
174
|
+
param: { func: name, args },
|
|
175
|
+
tags: { ...opts.tags, "resonate:invoke": opts.target, "resonate:scope": "global" },
|
|
176
|
+
iKey: id,
|
|
177
|
+
strict: false,
|
|
178
|
+
});
|
|
179
|
+
return this.handle(promiseHandler);
|
|
180
|
+
}
|
|
181
|
+
options(opts = {}) {
|
|
182
|
+
return {
|
|
183
|
+
id: "",
|
|
184
|
+
target: "poll://any@default",
|
|
185
|
+
timeout: 24 * util.HOUR,
|
|
186
|
+
tags: {},
|
|
187
|
+
...opts,
|
|
188
|
+
[types_1.RESONATE_OPTIONS]: true,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/** Store a named dependency for use with `Context`.
|
|
192
|
+
* The dependency is made available to all functions via
|
|
193
|
+
* their execution `Context`.
|
|
194
|
+
* Setting a dependency for a name that already exists will
|
|
195
|
+
* overwrite the previously set dependency.
|
|
196
|
+
*/
|
|
197
|
+
setDependency(name, obj) {
|
|
198
|
+
this.dependencies.set(name, obj);
|
|
199
|
+
}
|
|
200
|
+
stop() {
|
|
201
|
+
this.network.stop();
|
|
202
|
+
this.heartbeat.stop();
|
|
203
|
+
}
|
|
204
|
+
handle(promiseHandler) {
|
|
205
|
+
// resolves with a handle
|
|
206
|
+
const handle = Promise.withResolvers();
|
|
207
|
+
// resolves with the result
|
|
208
|
+
const result = Promise.withResolvers();
|
|
209
|
+
// listen for created and resolve p1 with a handle
|
|
210
|
+
promiseHandler.addEventListener("created", (promise) => {
|
|
211
|
+
handle.resolve({
|
|
212
|
+
id: promise.id,
|
|
213
|
+
result: async () => {
|
|
214
|
+
// subscribe lazily, no need to await
|
|
215
|
+
promiseHandler.subscribe();
|
|
216
|
+
return await result.promise;
|
|
217
|
+
},
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
// listen for completed and resolve p2 with the value
|
|
221
|
+
promiseHandler.addEventListener("completed", (promise) => {
|
|
222
|
+
util.assert(promise.state !== "pending", "promise must be completed");
|
|
223
|
+
if (promise.state === "resolved") {
|
|
224
|
+
result.resolve(promise.value);
|
|
225
|
+
}
|
|
226
|
+
else if (promise.state === "rejected") {
|
|
227
|
+
result.reject(promise.value);
|
|
228
|
+
}
|
|
229
|
+
else if (promise.state === "rejected_canceled") {
|
|
230
|
+
result.reject(new Error("Promise canceled"));
|
|
231
|
+
}
|
|
232
|
+
else if (promise.state === "rejected_timedout") {
|
|
233
|
+
result.reject(new Error("Promise timedout"));
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
return handle.promise;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
exports.Resonate = Resonate;
|
|
240
|
+
//# sourceMappingURL=resonate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resonate.js","sourceRoot":"","sources":["../../src/resonate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Network, ScheduleRecord } from "./network/network";
|
|
2
|
+
export declare class Schedules {
|
|
3
|
+
private network;
|
|
4
|
+
constructor(network?: Network);
|
|
5
|
+
get(id: string): Promise<ScheduleRecord>;
|
|
6
|
+
create(id: string, cron: string, promiseId: string, promiseTimeout: number, iKey?: string | undefined, description?: string | undefined, tags?: Record<string, string> | undefined, promiseParam?: any | undefined, promiseTags?: Record<string, string> | undefined): Promise<ScheduleRecord>;
|
|
7
|
+
delete(id: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=schedules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/schedules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEjE,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,OAA4B;IAIjD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoBxC,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,IAAI,GAAE,MAAM,GAAG,SAAqB,EACpC,WAAW,GAAE,MAAM,GAAG,SAAqB,EAC3C,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAqB,EACpD,YAAY,GAAE,GAAG,GAAG,SAAqB,EACzC,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAqB,GAC1D,OAAO,CAAC,cAAc,CAAC;IA4B1B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBlC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Schedules = void 0;
|
|
4
|
+
const network_1 = require("../dev/network");
|
|
5
|
+
class Schedules {
|
|
6
|
+
network;
|
|
7
|
+
constructor(network = new network_1.LocalNetwork()) {
|
|
8
|
+
this.network = network;
|
|
9
|
+
}
|
|
10
|
+
get(id) {
|
|
11
|
+
return new Promise((resolve, reject) => {
|
|
12
|
+
this.network.send({
|
|
13
|
+
kind: "readSchedule",
|
|
14
|
+
id: id,
|
|
15
|
+
}, (err, res) => {
|
|
16
|
+
if (err) {
|
|
17
|
+
// TODO: reject with more information
|
|
18
|
+
reject(Error("not implemented"));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
resolve(res.schedule);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
create(id, cron, promiseId, promiseTimeout, iKey = undefined, description = undefined, tags = undefined, promiseParam = undefined, promiseTags = undefined) {
|
|
26
|
+
return new Promise((resolve, reject) => {
|
|
27
|
+
this.network.send({
|
|
28
|
+
kind: "createSchedule",
|
|
29
|
+
id: id,
|
|
30
|
+
description: description,
|
|
31
|
+
cron: cron,
|
|
32
|
+
tags: tags,
|
|
33
|
+
promiseId: promiseId,
|
|
34
|
+
promiseTimeout: promiseTimeout,
|
|
35
|
+
promiseParam: promiseParam,
|
|
36
|
+
promiseTags: promiseTags,
|
|
37
|
+
iKey: iKey,
|
|
38
|
+
}, (err, res) => {
|
|
39
|
+
if (err) {
|
|
40
|
+
// TODO: reject with more information
|
|
41
|
+
reject(Error("not implemented"));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
resolve(res.schedule);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
delete(id) {
|
|
49
|
+
return new Promise((resolve, reject) => {
|
|
50
|
+
this.network.send({
|
|
51
|
+
kind: "deleteSchedule",
|
|
52
|
+
id: id,
|
|
53
|
+
}, (err) => {
|
|
54
|
+
if (err) {
|
|
55
|
+
// TODO: reject with more information
|
|
56
|
+
reject(Error("not implemented"));
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
resolve();
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.Schedules = Schedules;
|
|
65
|
+
//# sourceMappingURL=schedules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../src/schedules.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAG9C,MAAa,SAAS;IACZ,OAAO,CAAU;IAEzB,YAAY,UAAmB,IAAI,sBAAY,EAAE;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,EAAE;aACP,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CACJ,EAAU,EACV,IAAY,EACZ,SAAiB,EACjB,cAAsB,EACtB,OAA2B,SAAS,EACpC,cAAkC,SAAS,EAC3C,OAA2C,SAAS,EACpD,eAAgC,SAAS,EACzC,cAAkD,SAAS;QAE3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,gBAAgB;gBACtB,EAAE,EAAE,EAAE;gBACN,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,SAAS;gBACpB,cAAc,EAAE,cAAc;gBAC9B,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,IAAI;aACX,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,gBAAgB;gBACtB,EAAE,EAAE,EAAE;aACP,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AApFD,8BAoFC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ClaimTaskRes, Network, TaskRecord } from "./network/network";
|
|
2
|
+
export declare class Tasks {
|
|
3
|
+
private network;
|
|
4
|
+
constructor(network?: Network);
|
|
5
|
+
claim(id: string, counter: number, processId: string, ttl: number): Promise<ClaimTaskRes["message"]>;
|
|
6
|
+
complete(id: string, counter: number): Promise<TaskRecord>;
|
|
7
|
+
heartbeat(processId: string): Promise<number>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tasks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE3E,qBAAa,KAAK;IAChB,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,OAA4B;IAIjD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAuBpG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAqB1D,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAmB9C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tasks = void 0;
|
|
4
|
+
const network_1 = require("../dev/network");
|
|
5
|
+
class Tasks {
|
|
6
|
+
network;
|
|
7
|
+
constructor(network = new network_1.LocalNetwork()) {
|
|
8
|
+
this.network = network;
|
|
9
|
+
}
|
|
10
|
+
claim(id, counter, processId, ttl) {
|
|
11
|
+
return new Promise((resolve, reject) => {
|
|
12
|
+
this.network.send({
|
|
13
|
+
kind: "claimTask",
|
|
14
|
+
id: id,
|
|
15
|
+
counter: counter,
|
|
16
|
+
processId: processId,
|
|
17
|
+
ttl: ttl,
|
|
18
|
+
}, (err, res) => {
|
|
19
|
+
if (err) {
|
|
20
|
+
// TODO: reject with more information
|
|
21
|
+
reject(Error("not implemented"));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
resolve(res.message);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
complete(id, counter) {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
this.network.send({
|
|
31
|
+
kind: "completeTask",
|
|
32
|
+
id: id,
|
|
33
|
+
counter: counter,
|
|
34
|
+
}, (err, res) => {
|
|
35
|
+
if (err) {
|
|
36
|
+
// TODO: reject with more information
|
|
37
|
+
reject(Error("not implemented"));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
resolve(res.task);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
heartbeat(processId) {
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
this.network.send({
|
|
47
|
+
kind: "heartbeatTasks",
|
|
48
|
+
processId: processId,
|
|
49
|
+
}, (err, res) => {
|
|
50
|
+
if (err) {
|
|
51
|
+
// TODO: reject with more information
|
|
52
|
+
reject(Error("not implemented"));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
resolve(res.tasksAffected);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.Tasks = Tasks;
|
|
61
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tasks.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAG9C,MAAa,KAAK;IACR,OAAO,CAAU;IAEzB,YAAY,UAAmB,IAAI,sBAAY,EAAE;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,EAAU,EAAE,OAAe,EAAE,SAAiB,EAAE,GAAW;QAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,EAAE;gBACN,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,SAAS;gBACpB,GAAG,EAAE,GAAG;aACT,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,EAAU,EAAE,OAAe;QAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,EAAE;gBACN,OAAO,EAAE,OAAO;aACjB,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,SAAiB;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,SAAS;aACrB,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAtED,sBAsEC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { Context } from "./context";
|
|
2
|
+
import type { CreatePromiseReq, DurablePromiseRecord, TaskRecord } from "./network/network";
|
|
3
|
+
export type Func = (ctx: Context, ...args: any[]) => any;
|
|
4
|
+
export declare const RESONATE_OPTIONS: unique symbol;
|
|
5
|
+
export type Params<F> = F extends (ctx: Context, ...args: infer P) => any ? P : never;
|
|
6
|
+
export type ParamsWithOptions<F> = [...Params<F>, (Partial<Options> & {
|
|
7
|
+
[RESONATE_OPTIONS]: true;
|
|
8
|
+
})?];
|
|
9
|
+
export type Options = {
|
|
10
|
+
id: string;
|
|
11
|
+
target: string;
|
|
12
|
+
tags: Record<string, string>;
|
|
13
|
+
timeout: number;
|
|
14
|
+
};
|
|
15
|
+
export type Callback<T> = {
|
|
16
|
+
(err: false, res: T): void;
|
|
17
|
+
(err: true, res?: undefined): void;
|
|
18
|
+
};
|
|
19
|
+
export type Task = ClaimedTask | UnclaimedTask;
|
|
20
|
+
export type ClaimedTask = {
|
|
21
|
+
kind: "claimed";
|
|
22
|
+
task: TaskRecord;
|
|
23
|
+
rootPromise: DurablePromiseRecord;
|
|
24
|
+
};
|
|
25
|
+
export type UnclaimedTask = {
|
|
26
|
+
kind: "unclaimed";
|
|
27
|
+
task: TaskRecord;
|
|
28
|
+
};
|
|
29
|
+
export type Return<T> = T extends (...args: any[]) => Generator<infer __, infer R, infer _> ? R : T extends (...args: any[]) => infer R ? Awaited<R> : never;
|
|
30
|
+
export type Result<T> = Ok<T> | Ko;
|
|
31
|
+
type Ok<T> = {
|
|
32
|
+
success: true;
|
|
33
|
+
value: T;
|
|
34
|
+
};
|
|
35
|
+
type Ko = {
|
|
36
|
+
success: false;
|
|
37
|
+
error: any;
|
|
38
|
+
};
|
|
39
|
+
export type InternalExpr<T> = InternalAsyncL | InternalAsyncR | InternalAwait<T> | InternalReturn<T>;
|
|
40
|
+
export type InternalAsyncR = {
|
|
41
|
+
type: "internal.async.r";
|
|
42
|
+
id: string;
|
|
43
|
+
mode: "attached" | "detached";
|
|
44
|
+
createReq: CreatePromiseReq;
|
|
45
|
+
};
|
|
46
|
+
export type InternalAsyncL = {
|
|
47
|
+
type: "internal.async.l";
|
|
48
|
+
id: string;
|
|
49
|
+
func: Func;
|
|
50
|
+
args: any[];
|
|
51
|
+
createReq: CreatePromiseReq;
|
|
52
|
+
};
|
|
53
|
+
export type InternalAwait<T> = {
|
|
54
|
+
type: "internal.await";
|
|
55
|
+
id: string;
|
|
56
|
+
promise: Promise<T>;
|
|
57
|
+
};
|
|
58
|
+
export type InternalReturn<T> = {
|
|
59
|
+
type: "internal.return";
|
|
60
|
+
value: Literal<T>;
|
|
61
|
+
};
|
|
62
|
+
export type Value<T> = Nothing | Literal<T> | Promise<T>;
|
|
63
|
+
export type Nothing = {
|
|
64
|
+
type: "internal.nothing";
|
|
65
|
+
};
|
|
66
|
+
export type Promise<T> = PromisePending | PromiseCompleted<T>;
|
|
67
|
+
export type PromisePending = {
|
|
68
|
+
type: "internal.promise";
|
|
69
|
+
state: "pending";
|
|
70
|
+
mode: "attached" | "detached";
|
|
71
|
+
id: string;
|
|
72
|
+
};
|
|
73
|
+
export type PromiseCompleted<T> = {
|
|
74
|
+
type: "internal.promise";
|
|
75
|
+
state: "completed";
|
|
76
|
+
id: string;
|
|
77
|
+
value: Literal<T>;
|
|
78
|
+
};
|
|
79
|
+
export type Literal<T> = {
|
|
80
|
+
type: "internal.literal";
|
|
81
|
+
value: Result<T>;
|
|
82
|
+
};
|
|
83
|
+
export declare function ok<T>(data: T): Result<T>;
|
|
84
|
+
export declare function ko(error: any): Result<any>;
|
|
85
|
+
export {};
|
|
86
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESONATE_OPTIONS = void 0;
|
|
4
|
+
exports.ok = ok;
|
|
5
|
+
exports.ko = ko;
|
|
6
|
+
exports.RESONATE_OPTIONS = Symbol("ResonateOptions");
|
|
7
|
+
// Helper functions to create some of the types defined in this file
|
|
8
|
+
function ok(data) {
|
|
9
|
+
return { success: true, value: data };
|
|
10
|
+
}
|
|
11
|
+
function ko(error) {
|
|
12
|
+
return { success: false, error };
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAkHA,gBAEC;AAED,gBAEC;AAnHY,QAAA,gBAAgB,GAAkB,MAAM,CAAC,iBAAiB,CAAC,CAAC;AA2GzE,oEAAoE;AAEpE,SAAgB,EAAE,CAAI,IAAO;IAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAgB,EAAE,CAAC,KAAU;IAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DurablePromiseRecord, TaskRecord } from "./network/network";
|
|
2
|
+
import { type Options } from "./types";
|
|
3
|
+
export declare const MS = 1;
|
|
4
|
+
export declare const SEC = 1000;
|
|
5
|
+
export declare const MIN: number;
|
|
6
|
+
export declare const HOUR: number;
|
|
7
|
+
export declare function assert(cond: boolean, msg?: string): void;
|
|
8
|
+
export declare function assertDefined<T>(val: T | undefined | null): asserts val is T;
|
|
9
|
+
export declare function isGeneratorFunction(func: Function): boolean;
|
|
10
|
+
export declare function isTaskRecord(obj: any): obj is TaskRecord;
|
|
11
|
+
export declare function isDurablePromiseRecord(obj: unknown): obj is DurablePromiseRecord;
|
|
12
|
+
export declare function isOptions(obj: unknown): obj is Options;
|
|
13
|
+
export declare function splitArgsAndOpts(args: any[], defaults: Options): [any[], Options];
|
|
14
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,KAAK,OAAO,EAAoB,MAAM,SAAS,CAAC;AAGzD,eAAO,MAAM,EAAE,IAAI,CAAC;AACpB,eAAO,MAAM,GAAG,OAAO,CAAC;AACxB,eAAO,MAAM,GAAG,QAAW,CAAC;AAC5B,eAAO,MAAM,IAAI,QAAW,CAAC;AAE7B,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CASxD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAE5E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAI3D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,UAAU,CAYxD;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,oBAAoB,CAkBhF;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,OAAO,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAGjF"}
|
package/dist/src/util.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HOUR = exports.MIN = exports.SEC = exports.MS = void 0;
|
|
4
|
+
exports.assert = assert;
|
|
5
|
+
exports.assertDefined = assertDefined;
|
|
6
|
+
exports.isGeneratorFunction = isGeneratorFunction;
|
|
7
|
+
exports.isTaskRecord = isTaskRecord;
|
|
8
|
+
exports.isDurablePromiseRecord = isDurablePromiseRecord;
|
|
9
|
+
exports.isOptions = isOptions;
|
|
10
|
+
exports.splitArgsAndOpts = splitArgsAndOpts;
|
|
11
|
+
const types_1 = require("./types");
|
|
12
|
+
// Base unit: milliseconds
|
|
13
|
+
exports.MS = 1;
|
|
14
|
+
exports.SEC = 1000;
|
|
15
|
+
exports.MIN = 60 * exports.SEC;
|
|
16
|
+
exports.HOUR = 60 * exports.MIN;
|
|
17
|
+
function assert(cond, msg) {
|
|
18
|
+
if (cond)
|
|
19
|
+
return; // Early return if assertion passes
|
|
20
|
+
console.assert(cond, "Assertion Failed: %s", msg);
|
|
21
|
+
console.trace();
|
|
22
|
+
if (typeof process !== "undefined" && process.versions.node) {
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function assertDefined(val) {
|
|
27
|
+
assert(val !== null && val !== undefined, "value must not be null");
|
|
28
|
+
}
|
|
29
|
+
function isGeneratorFunction(func) {
|
|
30
|
+
const GeneratorFunction = Object.getPrototypeOf(function* () { }).constructor;
|
|
31
|
+
const AsyncGeneratorFunction = Object.getPrototypeOf(async function* () { }).constructor;
|
|
32
|
+
return func instanceof GeneratorFunction || func instanceof AsyncGeneratorFunction;
|
|
33
|
+
}
|
|
34
|
+
function isTaskRecord(obj) {
|
|
35
|
+
return (typeof obj === "object" &&
|
|
36
|
+
obj !== null &&
|
|
37
|
+
typeof obj.id === "string" &&
|
|
38
|
+
typeof obj.rootPromiseId === "string" &&
|
|
39
|
+
typeof obj.counter === "number" &&
|
|
40
|
+
typeof obj.timeout === "number" &&
|
|
41
|
+
(obj.processId === undefined || typeof obj.processId === "string") &&
|
|
42
|
+
(obj.createdOn === undefined || typeof obj.createdOn === "number") &&
|
|
43
|
+
(obj.completedOn === undefined || typeof obj.completedOn === "number"));
|
|
44
|
+
}
|
|
45
|
+
function isDurablePromiseRecord(obj) {
|
|
46
|
+
return (typeof obj === "object" &&
|
|
47
|
+
obj !== null &&
|
|
48
|
+
typeof obj.id === "string" &&
|
|
49
|
+
typeof obj.timeout === "number" &&
|
|
50
|
+
typeof obj.param !== "undefined" && // allow any type
|
|
51
|
+
typeof obj.value !== "undefined" && // allow any type
|
|
52
|
+
typeof obj.tags === "object" &&
|
|
53
|
+
obj.tags !== null &&
|
|
54
|
+
!Array.isArray(obj.tags) &&
|
|
55
|
+
Object.values(obj.tags).every((v) => typeof v === "string") &&
|
|
56
|
+
["PENDING", "RESOLVED", "REJECTED", "REJECTED_CANCELED", "REJECTED_TIMEDOUT"].includes(obj.state) &&
|
|
57
|
+
(typeof obj.iKeyForCreate === "undefined" || typeof obj.iKeyForCreate === "string") &&
|
|
58
|
+
(typeof obj.iKeyForComplete === "undefined" || typeof obj.iKeyForComplete === "string") &&
|
|
59
|
+
(typeof obj.createdOn === "undefined" || typeof obj.createdOn === "number") &&
|
|
60
|
+
(typeof obj.completedOn === "undefined" || typeof obj.completedOn === "number"));
|
|
61
|
+
}
|
|
62
|
+
function isOptions(obj) {
|
|
63
|
+
return typeof obj === "object" && obj !== null && types_1.RESONATE_OPTIONS in obj;
|
|
64
|
+
}
|
|
65
|
+
function splitArgsAndOpts(args, defaults) {
|
|
66
|
+
const opts = isOptions(args.at(-1)) ? args.pop() : {};
|
|
67
|
+
return [args, { ...defaults, ...opts }];
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["../sim/example-1.ts","../sim/example-2.ts","../sim/example-3.ts","../sim/main.ts","../sim/src/server.ts","../sim/src/simulator.ts","../sim/src/worker.ts","../src/clock.ts","../src/computation.ts","../src/context.ts","../src/coroutine.ts","../src/decorator.ts","../src/handler.ts","../src/heartbeat.ts","../src/index.ts","../src/nursery.ts","../src/promises.ts","../src/registry.ts","../src/resonate-inner.ts","../src/resonate.ts","../src/schedules.ts","../src/tasks.ts","../src/types.ts","../src/util.ts","../src/network/network.ts","../src/network/remote.ts","../src/processor/processor.ts"],"version":"5.8.3"}
|