@temporalio/workflow 1.0.0-rc.0 → 1.0.0-rc.1
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/lib/errors.js +9 -5
- package/lib/errors.js.map +1 -1
- package/lib/index.d.ts +15 -9
- package/lib/index.js +14 -11
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +54 -5
- package/lib/interfaces.js +44 -0
- package/lib/interfaces.js.map +1 -1
- package/lib/sinks.d.ts +2 -1
- package/lib/workflow.d.ts +59 -36
- package/lib/workflow.js +29 -28
- package/lib/workflow.js.map +1 -1
- package/package.json +9 -8
- package/src/alea.ts +88 -0
- package/src/cancellation-scope.ts +205 -0
- package/src/errors.ts +30 -0
- package/src/index.ts +91 -0
- package/src/interceptors.ts +239 -0
- package/src/interfaces.ts +272 -0
- package/src/internals.ts +621 -0
- package/src/sinks.ts +41 -0
- package/src/stack-helpers.ts +11 -0
- package/src/trigger.ts +49 -0
- package/src/worker-interface.ts +283 -0
- package/src/workflow-handle.ts +63 -0
- package/src/workflow.ts +1265 -0
package/lib/workflow.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stackTraceQuery = exports.taskInfo = exports.upsertSearchAttributes = exports.setHandler = exports.defineQuery = exports.defineSignal = exports.condition = exports.deprecatePatch = exports.patched = exports.uuid4 = exports.continueAsNew = exports.makeContinueAsNewFunc = exports.proxySinks = exports.inWorkflowContext = exports.workflowInfo = exports.executeChild = exports.startChild = exports.getExternalWorkflowHandle = exports.proxyLocalActivities = exports.proxyActivities = exports.scheduleLocalActivity = exports.scheduleActivity = exports.sleep = exports.addDefaultWorkflowOptions = void 0;
|
|
3
|
+
exports.stackTraceQuery = exports.taskInfo = exports.upsertSearchAttributes = exports.setHandler = exports.defineQuery = exports.defineSignal = exports.condition = exports.deprecatePatch = exports.patched = exports.uuid4 = exports.continueAsNew = exports.makeContinueAsNewFunc = exports.proxySinks = exports.inWorkflowContext = exports.workflowInfo = exports.executeChild = exports.startChild = exports.getExternalWorkflowHandle = exports.proxyLocalActivities = exports.proxyActivities = exports.NotAnActivityMethod = exports.scheduleLocalActivity = exports.scheduleActivity = exports.sleep = exports.addDefaultWorkflowOptions = void 0;
|
|
4
4
|
const common_1 = require("@temporalio/common");
|
|
5
5
|
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
6
6
|
const cancellation_scope_1 = require("./cancellation-scope");
|
|
@@ -354,19 +354,25 @@ function signalWorkflowNextHandler({ seq, signalName, args, target, headers }) {
|
|
|
354
354
|
internals_1.state.completions.signalWorkflow.set(seq, { resolve, reject });
|
|
355
355
|
});
|
|
356
356
|
}
|
|
357
|
+
/**
|
|
358
|
+
* Symbol used in the return type of proxy methods to mark that an attribute on the source type is not a method.
|
|
359
|
+
*
|
|
360
|
+
* @see {@link ActivityInterfaceFor}
|
|
361
|
+
* @see {@link proxyActivities}
|
|
362
|
+
* @see {@link proxyLocalActivities}
|
|
363
|
+
*/
|
|
364
|
+
exports.NotAnActivityMethod = Symbol.for('__TEMPORAL_NOT_AN_ACTIVITY_METHOD');
|
|
357
365
|
/**
|
|
358
366
|
* Configure Activity functions with given {@link ActivityOptions}.
|
|
359
367
|
*
|
|
360
368
|
* This method may be called multiple times to setup Activities with different options.
|
|
361
369
|
*
|
|
362
|
-
* @return a
|
|
363
|
-
*
|
|
364
|
-
*
|
|
365
|
-
* @typeparam A An {@link ActivityInterface} - mapping of name to function
|
|
370
|
+
* @return a {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy | Proxy} for
|
|
371
|
+
* which each attribute is a callable Activity function
|
|
366
372
|
*
|
|
367
373
|
* @example
|
|
368
374
|
* ```ts
|
|
369
|
-
* import { proxyActivities
|
|
375
|
+
* import { proxyActivities } from '@temporalio/workflow';
|
|
370
376
|
* import * as activities from '../activities';
|
|
371
377
|
*
|
|
372
378
|
* // Setup Activities from module exports
|
|
@@ -375,7 +381,7 @@ function signalWorkflowNextHandler({ seq, signalName, args, target, headers }) {
|
|
|
375
381
|
* });
|
|
376
382
|
*
|
|
377
383
|
* // Setup Activities from an explicit interface (e.g. when defined by another SDK)
|
|
378
|
-
* interface JavaActivities
|
|
384
|
+
* interface JavaActivities {
|
|
379
385
|
* httpGetFromJava(url: string): Promise<string>
|
|
380
386
|
* someOtherJavaActivity(arg1: number, arg2: string): Promise<string>;
|
|
381
387
|
* }
|
|
@@ -417,14 +423,12 @@ exports.proxyActivities = proxyActivities;
|
|
|
417
423
|
*
|
|
418
424
|
* This method may be called multiple times to setup Activities with different options.
|
|
419
425
|
*
|
|
420
|
-
* @return a
|
|
426
|
+
* @return a {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy | Proxy}
|
|
421
427
|
* for which each attribute is a callable Activity function
|
|
422
428
|
*
|
|
423
|
-
* @typeparam A An {@link ActivityInterface} - mapping of name to function
|
|
424
|
-
*
|
|
425
429
|
* @experimental
|
|
426
430
|
*
|
|
427
|
-
*
|
|
431
|
+
* @see {@link proxyActivities} for examples
|
|
428
432
|
*/
|
|
429
433
|
function proxyLocalActivities(options) {
|
|
430
434
|
if (options === undefined) {
|
|
@@ -637,9 +641,9 @@ exports.proxySinks = proxySinks;
|
|
|
637
641
|
/**
|
|
638
642
|
* Returns a function `f` that will cause the current Workflow to ContinueAsNew when called.
|
|
639
643
|
*
|
|
640
|
-
* `f` takes the same arguments as the Workflow
|
|
644
|
+
* `f` takes the same arguments as the Workflow function supplied to typeparam `F`.
|
|
641
645
|
*
|
|
642
|
-
* Once `f` is called, Workflow
|
|
646
|
+
* Once `f` is called, Workflow Execution immediately completes.
|
|
643
647
|
*/
|
|
644
648
|
function makeContinueAsNewFunc(options) {
|
|
645
649
|
const info = workflowInfo();
|
|
@@ -674,24 +678,21 @@ function makeContinueAsNewFunc(options) {
|
|
|
674
678
|
}
|
|
675
679
|
exports.makeContinueAsNewFunc = makeContinueAsNewFunc;
|
|
676
680
|
/**
|
|
677
|
-
*
|
|
681
|
+
* {@link https://docs.temporal.io/concepts/what-is-continue-as-new/ | Continues-As-New} the current Workflow Execution
|
|
682
|
+
* with default options.
|
|
678
683
|
*
|
|
679
|
-
* Shorthand for `makeContinueAsNewFunc<F>()(...args)`.
|
|
684
|
+
* Shorthand for `makeContinueAsNewFunc<F>()(...args)`. (See: {@link makeContinueAsNewFunc}.)
|
|
680
685
|
*
|
|
681
686
|
* @example
|
|
682
687
|
*
|
|
683
|
-
|
|
684
|
-
*
|
|
688
|
+
*```ts
|
|
689
|
+
*import { continueAsNew } from '@temporalio/workflow';
|
|
685
690
|
*
|
|
686
|
-
*
|
|
687
|
-
*
|
|
688
|
-
*
|
|
689
|
-
*
|
|
690
|
-
|
|
691
|
-
* }
|
|
692
|
-
* };
|
|
693
|
-
* }
|
|
694
|
-
* ```
|
|
691
|
+
*export async function myWorkflow(n: number): Promise<void> {
|
|
692
|
+
* // ... Workflow logic
|
|
693
|
+
* await continueAsNew<typeof myWorkflow>(n + 1);
|
|
694
|
+
*}
|
|
695
|
+
*```
|
|
695
696
|
*/
|
|
696
697
|
function continueAsNew(...args) {
|
|
697
698
|
return makeContinueAsNewFunc()(...args);
|
|
@@ -724,7 +725,7 @@ exports.uuid4 = uuid4;
|
|
|
724
725
|
/**
|
|
725
726
|
* Patch or upgrade workflow code by checking or stating that this workflow has a certain patch.
|
|
726
727
|
*
|
|
727
|
-
* See
|
|
728
|
+
* See {@link https://docs.temporal.io/typescript/versioning | docs page} for info.
|
|
728
729
|
*
|
|
729
730
|
* If the workflow is replaying an existing history, then this function returns true if that
|
|
730
731
|
* history was produced by a worker which also had a `patched` call with the same `patchId`.
|
|
@@ -745,7 +746,7 @@ exports.patched = patched;
|
|
|
745
746
|
/**
|
|
746
747
|
* Indicate that a patch is being phased out.
|
|
747
748
|
*
|
|
748
|
-
* See
|
|
749
|
+
* See {@link https://docs.temporal.io/typescript/versioning | docs page} for info.
|
|
749
750
|
*
|
|
750
751
|
* Workflows with this call may be deployed alongside workflows with a {@link patched} call, but
|
|
751
752
|
* they must *not* be deployed while any workers still exist running old code without a
|
package/lib/workflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/workflow",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.1",
|
|
4
4
|
"description": "Temporal.io SDK Workflow sub-package",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"temporal",
|
|
@@ -15,17 +15,18 @@
|
|
|
15
15
|
"author": "Roey Berman <roey@temporal.io>",
|
|
16
16
|
"main": "lib/index.js",
|
|
17
17
|
"types": "lib/index.d.ts",
|
|
18
|
-
"files": [
|
|
19
|
-
"lib"
|
|
20
|
-
],
|
|
21
18
|
"scripts": {},
|
|
22
19
|
"dependencies": {
|
|
23
|
-
"@temporalio/common": "^1.0.0-rc.
|
|
24
|
-
"@temporalio/internal-workflow-common": "^1.0.0-rc.
|
|
25
|
-
"@temporalio/proto": "^1.0.0-rc.
|
|
20
|
+
"@temporalio/common": "^1.0.0-rc.1",
|
|
21
|
+
"@temporalio/internal-workflow-common": "^1.0.0-rc.1",
|
|
22
|
+
"@temporalio/proto": "^1.0.0-rc.1"
|
|
26
23
|
},
|
|
27
24
|
"publishConfig": {
|
|
28
25
|
"access": "public"
|
|
29
26
|
},
|
|
30
|
-
"
|
|
27
|
+
"files": [
|
|
28
|
+
"src",
|
|
29
|
+
"lib"
|
|
30
|
+
],
|
|
31
|
+
"gitHead": "723de0fbc7a04e68084ec99453578e7027eb3803"
|
|
31
32
|
}
|
package/src/alea.ts
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// A port of an algorithm by Johannes Baagøe <baagoe@baagoe.com>, 2010
|
|
2
|
+
// http://baagoe.com/en/RandomMusings/javascript/
|
|
3
|
+
// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror
|
|
4
|
+
// Original work is under MIT license -
|
|
5
|
+
|
|
6
|
+
// Copyright (C) 2010 by Johannes Baagøe <baagoe@baagoe.org>
|
|
7
|
+
//
|
|
8
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
10
|
+
// in the Software without restriction, including without limitation the rights
|
|
11
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
12
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
13
|
+
// furnished to do so, subject to the following conditions:
|
|
14
|
+
//
|
|
15
|
+
// The above copyright notice and this permission notice shall be included in
|
|
16
|
+
// all copies or substantial portions of the Software.
|
|
17
|
+
//
|
|
18
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
19
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
20
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
21
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
22
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
23
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
24
|
+
// THE SOFTWARE.
|
|
25
|
+
|
|
26
|
+
// Taken and modified from https://github.com/davidbau/seedrandom/blob/released/lib/alea.js
|
|
27
|
+
|
|
28
|
+
class Alea {
|
|
29
|
+
public c: number;
|
|
30
|
+
public s0: number;
|
|
31
|
+
public s1: number;
|
|
32
|
+
public s2: number;
|
|
33
|
+
|
|
34
|
+
constructor(seed: number[]) {
|
|
35
|
+
const mash = new Mash();
|
|
36
|
+
// Apply the seeding algorithm from Baagoe.
|
|
37
|
+
this.c = 1;
|
|
38
|
+
this.s0 = mash.mash([32]);
|
|
39
|
+
this.s1 = mash.mash([32]);
|
|
40
|
+
this.s2 = mash.mash([32]);
|
|
41
|
+
this.s0 -= mash.mash(seed);
|
|
42
|
+
if (this.s0 < 0) {
|
|
43
|
+
this.s0 += 1;
|
|
44
|
+
}
|
|
45
|
+
this.s1 -= mash.mash(seed);
|
|
46
|
+
if (this.s1 < 0) {
|
|
47
|
+
this.s1 += 1;
|
|
48
|
+
}
|
|
49
|
+
this.s2 -= mash.mash(seed);
|
|
50
|
+
if (this.s2 < 0) {
|
|
51
|
+
this.s2 += 1;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
public next(): number {
|
|
56
|
+
const t = 2091639 * this.s0 + this.c * 2.3283064365386963e-10; // 2^-32
|
|
57
|
+
this.s0 = this.s1;
|
|
58
|
+
this.s1 = this.s2;
|
|
59
|
+
return (this.s2 = t - (this.c = t | 0));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export type RNG = () => number;
|
|
64
|
+
|
|
65
|
+
export function alea(seed: number[]): RNG {
|
|
66
|
+
const xg = new Alea(seed);
|
|
67
|
+
return xg.next.bind(xg);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export class Mash {
|
|
71
|
+
private n = 0xefc8249d;
|
|
72
|
+
|
|
73
|
+
public mash(data: number[]): number {
|
|
74
|
+
let { n } = this;
|
|
75
|
+
for (let i = 0; i < data.length; i++) {
|
|
76
|
+
n += data[i];
|
|
77
|
+
let h = 0.02519603282416938 * n;
|
|
78
|
+
n = h >>> 0;
|
|
79
|
+
h -= n;
|
|
80
|
+
h *= n;
|
|
81
|
+
n = h >>> 0;
|
|
82
|
+
h -= n;
|
|
83
|
+
n += h * 0x100000000; // 2^32
|
|
84
|
+
}
|
|
85
|
+
this.n = n;
|
|
86
|
+
return (n >>> 0) * 2.3283064365386963e-10; // 2^-32
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { CancelledFailure, IllegalStateError } from '@temporalio/common';
|
|
2
|
+
import type { AsyncLocalStorage as ALS } from 'async_hooks';
|
|
3
|
+
import { untrackPromise } from './stack-helpers';
|
|
4
|
+
|
|
5
|
+
// AsyncLocalStorage is injected via vm module into global scope.
|
|
6
|
+
// In case Workflow code is imported in Node.js context, replace with an empty class.
|
|
7
|
+
export const AsyncLocalStorage: new <T>() => ALS<T> = (globalThis as any).AsyncLocalStorage ?? class {};
|
|
8
|
+
|
|
9
|
+
/** Magic symbol used to create the root scope - intentionally not exported */
|
|
10
|
+
const NO_PARENT = Symbol('NO_PARENT');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Option for constructing a CancellationScope
|
|
14
|
+
*/
|
|
15
|
+
export interface CancellationScopeOptions {
|
|
16
|
+
/**
|
|
17
|
+
* Time in milliseconds before the scope cancellation is automatically requested
|
|
18
|
+
*/
|
|
19
|
+
timeout?: number;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* If false, prevent outer cancellation from propagating to inner scopes, Activities, timers, and Triggers, defaults to true.
|
|
23
|
+
* (Scope still propagates CancelledFailure thrown from within).
|
|
24
|
+
*/
|
|
25
|
+
cancellable: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* An optional CancellationScope (useful for running background tasks).
|
|
28
|
+
* The `NO_PARENT` symbol is reserved for the root scope.
|
|
29
|
+
*/
|
|
30
|
+
parent?: CancellationScope | typeof NO_PARENT;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* In the SDK, Workflows are represented internally by a tree of scopes where the `execute` function runs in the root scope.
|
|
35
|
+
* Cancellation propagates from outer scopes to inner ones and is handled by catching {@link CancelledFailure}s
|
|
36
|
+
* thrown by cancellable operations (see below).
|
|
37
|
+
*
|
|
38
|
+
* Scopes are created using the `CancellationScope` constructor or the static helper methods
|
|
39
|
+
* {@link cancellable}, {@link nonCancellable} and {@link withTimeout}.
|
|
40
|
+
*
|
|
41
|
+
* When a `CancellationScope` is cancelled, it will propagate cancellation any child scopes and any cancellable
|
|
42
|
+
* operations created within it, such as:
|
|
43
|
+
*
|
|
44
|
+
* - Activities
|
|
45
|
+
* - Child Workflows
|
|
46
|
+
* - Timers (created with the {@link sleep} function)
|
|
47
|
+
* - {@link Trigger}s
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
*
|
|
51
|
+
* ```ts
|
|
52
|
+
* await CancellationScope.cancellable(async () => {
|
|
53
|
+
* const promise = someActivity();
|
|
54
|
+
* CancellationScope.current().cancel(); // Cancels the activity
|
|
55
|
+
* await promise; // Throws `ActivityFailure` with `cause` set to `CancelledFailure`
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
*
|
|
61
|
+
* ```ts
|
|
62
|
+
* const scope = new CancellationScope();
|
|
63
|
+
* const promise = scope.run(someActivity);
|
|
64
|
+
* scope.cancel(); // Cancels the activity
|
|
65
|
+
* await promise; // Throws `ActivityFailure` with `cause` set to `CancelledFailure`
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export class CancellationScope {
|
|
69
|
+
/**
|
|
70
|
+
* Time in milliseconds before the scope cancellation is automatically requested
|
|
71
|
+
*/
|
|
72
|
+
protected readonly timeout?: number;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* If false, prevent outer cancellation from propagating to inner scopes, Activities, timers, and Triggers, defaults to true.
|
|
76
|
+
* (Scope still propagates CancelledFailure thrown from within)
|
|
77
|
+
*/
|
|
78
|
+
public readonly cancellable: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* An optional CancellationScope (useful for running background tasks), defaults to {@link CancellationScope.current}()
|
|
81
|
+
*/
|
|
82
|
+
public readonly parent?: CancellationScope;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Rejected when scope cancellation is requested
|
|
86
|
+
*/
|
|
87
|
+
public readonly cancelRequested: Promise<never>;
|
|
88
|
+
|
|
89
|
+
#cancelRequested = false;
|
|
90
|
+
|
|
91
|
+
// Typescript does not understand that the Promise executor runs synchronously in the constructor
|
|
92
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
93
|
+
// @ts-ignore
|
|
94
|
+
protected readonly reject: (reason?: any) => void;
|
|
95
|
+
|
|
96
|
+
constructor(options?: CancellationScopeOptions) {
|
|
97
|
+
this.timeout = options?.timeout;
|
|
98
|
+
this.cancellable = options?.cancellable ?? true;
|
|
99
|
+
this.cancelRequested = new Promise((_, reject) => {
|
|
100
|
+
// Typescript does not understand that the Promise executor runs synchronously
|
|
101
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
102
|
+
// @ts-ignore
|
|
103
|
+
this.reject = (err) => {
|
|
104
|
+
this.#cancelRequested = true;
|
|
105
|
+
reject(err);
|
|
106
|
+
};
|
|
107
|
+
});
|
|
108
|
+
untrackPromise(this.cancelRequested);
|
|
109
|
+
// Avoid unhandled rejections
|
|
110
|
+
untrackPromise(this.cancelRequested.catch(() => undefined));
|
|
111
|
+
if (options?.parent !== NO_PARENT) {
|
|
112
|
+
this.parent = options?.parent || CancellationScope.current();
|
|
113
|
+
this.#cancelRequested = this.parent.#cancelRequested;
|
|
114
|
+
this.parent.cancelRequested.catch((err) => {
|
|
115
|
+
this.reject(err);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
public get consideredCancelled(): boolean {
|
|
121
|
+
return this.#cancelRequested && this.cancellable;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Activate the scope as current and run `fn`
|
|
125
|
+
*
|
|
126
|
+
* Any timers, Activities, Triggers and CancellationScopes created in the body of `fn`
|
|
127
|
+
* automatically link their cancellation to this scope.
|
|
128
|
+
*
|
|
129
|
+
* @return the result of `fn`
|
|
130
|
+
*/
|
|
131
|
+
run<T>(fn: () => Promise<T>): Promise<T> {
|
|
132
|
+
return storage.run(this, this.runInContext.bind(this, fn) as () => Promise<T>);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Method that runs a function in AsyncLocalStorage context.
|
|
137
|
+
*
|
|
138
|
+
* Could have been written as anonymous function, made into a method for improved stack traces.
|
|
139
|
+
*/
|
|
140
|
+
protected async runInContext<T>(fn: () => Promise<T>): Promise<T> {
|
|
141
|
+
if (this.timeout) {
|
|
142
|
+
untrackPromise(
|
|
143
|
+
sleep(this.timeout).then(
|
|
144
|
+
() => this.cancel(),
|
|
145
|
+
() => {
|
|
146
|
+
// scope was already cancelled, ignore
|
|
147
|
+
}
|
|
148
|
+
)
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
return await fn();
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Request to cancel the scope and linked children
|
|
156
|
+
*/
|
|
157
|
+
cancel(): void {
|
|
158
|
+
this.reject(new CancelledFailure('Cancellation scope cancelled'));
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Get the current "active" scope
|
|
163
|
+
*/
|
|
164
|
+
static current(): CancellationScope {
|
|
165
|
+
return storage.getStore() ?? ROOT_SCOPE;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/** Alias to `new CancellationScope({ cancellable: true }).run(fn)` */
|
|
169
|
+
static cancellable<T>(fn: () => Promise<T>): Promise<T> {
|
|
170
|
+
return new this({ cancellable: true }).run(fn);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/** Alias to `new CancellationScope({ cancellable: false }).run(fn)` */
|
|
174
|
+
static nonCancellable<T>(fn: () => Promise<T>): Promise<T> {
|
|
175
|
+
return new this({ cancellable: false }).run(fn);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/** Alias to `new CancellationScope({ cancellable: true, timeout }).run(fn)` */
|
|
179
|
+
static withTimeout<T>(timeout: number, fn: () => Promise<T>): Promise<T> {
|
|
180
|
+
return new this({ cancellable: true, timeout }).run(fn);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* This is exported so it can be disposed in the worker interface
|
|
186
|
+
*/
|
|
187
|
+
export const storage = new AsyncLocalStorage<CancellationScope>();
|
|
188
|
+
|
|
189
|
+
export class RootCancellationScope extends CancellationScope {
|
|
190
|
+
cancel(): void {
|
|
191
|
+
this.reject(new CancelledFailure('Workflow cancelled'));
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/** There can only be one of these */
|
|
196
|
+
export const ROOT_SCOPE = new RootCancellationScope({ cancellable: true, parent: NO_PARENT });
|
|
197
|
+
|
|
198
|
+
/** This function is here to avoid a circular dependency between this module and workflow.ts */
|
|
199
|
+
let sleep = (_: number | string): Promise<void> => {
|
|
200
|
+
throw new IllegalStateError('Workflow has not been properly initialized');
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
export function registerSleepImplementation(fn: typeof sleep): void {
|
|
204
|
+
sleep = fn;
|
|
205
|
+
}
|
package/src/errors.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export { WorkflowExecutionAlreadyStartedError } from '@temporalio/common';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Base class for all workflow errors
|
|
5
|
+
*/
|
|
6
|
+
export class WorkflowError extends Error {
|
|
7
|
+
public readonly name: string = 'WorkflowError';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Thrown in workflow when it tries to do something that non-deterministic such as construct a WeakMap()
|
|
12
|
+
*/
|
|
13
|
+
export class DeterminismViolationError extends WorkflowError {
|
|
14
|
+
public readonly name: string = 'DeterminismViolationError';
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function looksLikeError(err: unknown): err is { name: string; cause?: unknown } {
|
|
18
|
+
return typeof err === 'object' && err != null && Object.prototype.hasOwnProperty.call(err, 'name');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Returns whether provided `err` is caused by cancellation
|
|
23
|
+
*/
|
|
24
|
+
export function isCancellation(err: unknown): boolean {
|
|
25
|
+
if (!looksLikeError(err)) return false;
|
|
26
|
+
return (
|
|
27
|
+
err.name === 'CancelledFailure' ||
|
|
28
|
+
((err.name === 'ActivityFailure' || err.name === 'ChildWorkflowFailure') && isCancellation(err.cause))
|
|
29
|
+
);
|
|
30
|
+
}
|