@temporalio/activity 0.22.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/README.md +2 -2
- package/lib/index.d.ts +76 -24
- package/lib/index.js +72 -19
- package/lib/index.js.map +1 -1
- package/package.json +8 -4
- package/src/index.ts +80 -24
- package/tsconfig.json +0 -9
- package/tsconfig.tsbuildinfo +0 -1
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@temporalio/activity)
|
|
4
4
|
|
|
5
|
-
Part of [Temporal](https://temporal.io)'s [TypeScript SDK](https://docs.temporal.io/
|
|
5
|
+
Part of [Temporal](https://temporal.io)'s [TypeScript SDK](https://docs.temporal.io/typescript/introduction/).
|
|
6
6
|
|
|
7
|
-
- [Activity docs](https://docs.temporal.io/
|
|
7
|
+
- [Activity docs](https://docs.temporal.io/typescript/activities/)
|
|
8
8
|
- [API reference](https://typescript.temporal.io/api/namespaces/activity)
|
|
9
9
|
- [Sample projects](https://github.com/temporalio/samples-typescript)
|
package/lib/index.d.ts
CHANGED
|
@@ -1,25 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This
|
|
2
|
+
* This package's main export is {@link Context}. Get the current Activity's context with
|
|
3
|
+
* {@link Context.current | `Context.current()`}:
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { Context } from '@temporalio/activity';
|
|
5
7
|
*
|
|
6
|
-
*
|
|
8
|
+
* export async function myActivity() {
|
|
9
|
+
* const context = Context.current();
|
|
10
|
+
* }
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* Any function can be used as an Activity as long as its parameters and return value are serializable using a
|
|
14
|
+
* {@link https://docs.temporal.io/concepts/what-is-a-data-converter/ | DataConverter}.
|
|
7
15
|
*
|
|
8
16
|
* ### Cancellation
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
17
|
+
*
|
|
18
|
+
* Activities may be cancelled only if they {@link Context.heartbeat | emit heartbeats}.
|
|
19
|
+
*
|
|
20
|
+
* There are two ways to handle Activity cancellation:
|
|
21
|
+
* 1. await on {@link Context.cancelled | `Context.current().cancelled`} or
|
|
22
|
+
* {@link Context.sleep | `Context.current().sleep()`}, which each throw a
|
|
23
|
+
* {@link CancelledFailure}.
|
|
24
|
+
* 1. Pass the context's {@link https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | `AbortSignal`} at
|
|
25
|
+
* {@link Context.cancellationSignal | `Context.current().cancellationSignal`} to a library that
|
|
26
|
+
* supports it.
|
|
13
27
|
*
|
|
14
28
|
* ### Examples
|
|
15
29
|
*
|
|
16
|
-
* #### An Activity that
|
|
30
|
+
* #### An Activity that sends progress heartbeats and can be cancelled
|
|
17
31
|
*
|
|
18
32
|
* <!--SNIPSTART typescript-activity-fake-progress-->
|
|
19
33
|
* <!--SNIPEND-->
|
|
20
34
|
*
|
|
21
35
|
* #### An Activity that makes a cancellable HTTP request
|
|
22
36
|
*
|
|
37
|
+
* It passes the `AbortSignal` to {@link https://github.com/node-fetch/node-fetch#api | `fetch`}: `fetch(url, { signal:
|
|
38
|
+
* Context.current().cancellationSignal })`.
|
|
39
|
+
*
|
|
23
40
|
* <!--SNIPSTART typescript-activity-cancellable-fetch-->
|
|
24
41
|
* <!--SNIPEND-->
|
|
25
42
|
*
|
|
@@ -29,13 +46,25 @@
|
|
|
29
46
|
import { AbortSignal } from 'abort-controller';
|
|
30
47
|
import { AsyncLocalStorage } from 'async_hooks';
|
|
31
48
|
export { CancelledFailure } from '@temporalio/common';
|
|
32
|
-
export { ActivityFunction, ActivityInterface
|
|
49
|
+
export { ActivityFunction, ActivityInterface, // eslint-disable-line deprecation/deprecation
|
|
50
|
+
UntypedActivities, } from '@temporalio/internal-workflow-common';
|
|
51
|
+
export * from '@temporalio/internal-workflow-common/lib/errors';
|
|
33
52
|
/**
|
|
34
|
-
* Throw this error from an Activity in order to make the Worker
|
|
35
|
-
*
|
|
53
|
+
* Throw this error from an Activity in order to make the Worker forget about this Activity.
|
|
54
|
+
*
|
|
55
|
+
* The Activity can then be completed asynchronously (from anywhere—usually outside the Worker) using
|
|
56
|
+
* {@link AsyncCompletionClient}.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
*
|
|
60
|
+
*```ts
|
|
61
|
+
*import { CompleteAsyncError } from '@temporalio/activity';
|
|
36
62
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
63
|
+
*export async function myActivity(): Promise<never> {
|
|
64
|
+
* // ...
|
|
65
|
+
* throw new CompleteAsyncError();
|
|
66
|
+
*}
|
|
67
|
+
*```
|
|
39
68
|
*/
|
|
40
69
|
export declare class CompleteAsyncError extends Error {
|
|
41
70
|
readonly name: string;
|
|
@@ -44,7 +73,7 @@ export declare class CompleteAsyncError extends Error {
|
|
|
44
73
|
/** @ignore */
|
|
45
74
|
export declare const asyncLocalStorage: AsyncLocalStorage<Context>;
|
|
46
75
|
/**
|
|
47
|
-
* Holds information about the current
|
|
76
|
+
* Holds information about the current Activity Execution. Retrieved inside an Activity with `Context.current().info`.
|
|
48
77
|
*/
|
|
49
78
|
export interface Info {
|
|
50
79
|
taskToken: Uint8Array;
|
|
@@ -109,11 +138,20 @@ export interface Info {
|
|
|
109
138
|
* Use this in order to resume your Activity from checkpoint.
|
|
110
139
|
*/
|
|
111
140
|
heartbeatDetails: any;
|
|
141
|
+
/**
|
|
142
|
+
* Task queue the Activity is scheduled in, set to the Workflow's task queue in case of local Activity.
|
|
143
|
+
*/
|
|
144
|
+
taskQueue: string;
|
|
112
145
|
}
|
|
113
146
|
/**
|
|
114
|
-
* Activity Context
|
|
147
|
+
* Activity Context, used to:
|
|
148
|
+
*
|
|
149
|
+
* - Get {@link Info} about the current Activity Execution
|
|
150
|
+
* - Send {@link https://docs.temporal.io/concepts/what-is-an-activity-heartbeat | heartbeats}
|
|
151
|
+
* - Get notified of Activity cancellation
|
|
152
|
+
* - Sleep (cancellation-aware)
|
|
115
153
|
*
|
|
116
|
-
* Call `Context.current()` from Activity code in order to
|
|
154
|
+
* Call `Context.current()` from Activity code in order to get the current Activity's Context.
|
|
117
155
|
*/
|
|
118
156
|
export declare class Context {
|
|
119
157
|
/**
|
|
@@ -123,13 +161,21 @@ export declare class Context {
|
|
|
123
161
|
/**
|
|
124
162
|
* Await this promise in an Activity to get notified of cancellation.
|
|
125
163
|
*
|
|
126
|
-
* This promise will never
|
|
164
|
+
* This promise will never resolve—it will only be rejected with a {@link CancelledFailure}.
|
|
165
|
+
*
|
|
166
|
+
* @see [Cancellation](/api/namespaces/activity#cancellation)
|
|
127
167
|
*/
|
|
128
168
|
readonly cancelled: Promise<never>;
|
|
129
169
|
/**
|
|
130
|
-
* An `AbortSignal`
|
|
170
|
+
* An {@link https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | `AbortSignal`} that can be used to react to
|
|
171
|
+
* Activity cancellation.
|
|
172
|
+
*
|
|
173
|
+
* Used by {@link https://www.npmjs.com/package/node-fetch#request-cancellation-with-abortsignal | fetch} to abort an
|
|
174
|
+
* in-progress request and
|
|
175
|
+
* {@link https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options child_process}
|
|
176
|
+
* to abort a child process, and is supported by some other libraries as well.
|
|
131
177
|
*
|
|
132
|
-
*
|
|
178
|
+
* @see [Cancellation](/api/namespaces/activity#cancellation)
|
|
133
179
|
*/
|
|
134
180
|
readonly cancellationSignal: AbortSignal;
|
|
135
181
|
/**
|
|
@@ -143,11 +189,17 @@ export declare class Context {
|
|
|
143
189
|
*/
|
|
144
190
|
constructor(info: Info, cancelled: Promise<never>, cancellationSignal: AbortSignal, heartbeat: (details?: any) => void);
|
|
145
191
|
/**
|
|
146
|
-
* Send a heartbeat from an Activity.
|
|
192
|
+
* Send a {@link https://docs.temporal.io/concepts/what-is-an-activity-heartbeat | heartbeat} from an Activity.
|
|
193
|
+
*
|
|
194
|
+
* If an Activity times out, then during the next retry, the last value of `details` is available at
|
|
195
|
+
* {@link Info.heartbeatDetails}. This acts as a periodic checkpoint mechanism for the progress of an Activity.
|
|
147
196
|
*
|
|
148
|
-
* If an Activity times out
|
|
197
|
+
* If an Activity times out on the final retry (relevant in cases in which {@link RetryPolicy.maximumAttempts} is
|
|
198
|
+
* set), the Activity function call in the Workflow code will throw an {@link ActivityFailure} with the `cause`
|
|
199
|
+
* attribute set to a {@link TimeoutFailure}, which has the last value of `details` available at
|
|
200
|
+
* {@link TimeoutFailure.lastHeartbeatDetails}.
|
|
149
201
|
*
|
|
150
|
-
*
|
|
202
|
+
* Activities must heartbeat in order to receive cancellation.
|
|
151
203
|
*/
|
|
152
204
|
heartbeat(details?: unknown): void;
|
|
153
205
|
/**
|
|
@@ -158,8 +210,8 @@ export declare class Context {
|
|
|
158
210
|
static current(): Context;
|
|
159
211
|
/**
|
|
160
212
|
* Helper function for sleeping in an Activity.
|
|
161
|
-
* @param ms
|
|
162
|
-
* @returns
|
|
213
|
+
* @param ms Sleep duration: an {@link https://www.npmjs.com/package/ms | ms}-formatted string or number of milliseconds
|
|
214
|
+
* @returns A Promise that either resolves when `ms` is reached or rejects when the Activity is cancelled
|
|
163
215
|
*/
|
|
164
216
|
sleep(ms: number | string): Promise<void>;
|
|
165
217
|
}
|
package/lib/index.js
CHANGED
|
@@ -1,43 +1,85 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* This
|
|
3
|
+
* This package's main export is {@link Context}. Get the current Activity's context with
|
|
4
|
+
* {@link Context.current | `Context.current()`}:
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { Context } from '@temporalio/activity';
|
|
6
8
|
*
|
|
7
|
-
*
|
|
9
|
+
* export async function myActivity() {
|
|
10
|
+
* const context = Context.current();
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* Any function can be used as an Activity as long as its parameters and return value are serializable using a
|
|
15
|
+
* {@link https://docs.temporal.io/concepts/what-is-a-data-converter/ | DataConverter}.
|
|
8
16
|
*
|
|
9
17
|
* ### Cancellation
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
18
|
+
*
|
|
19
|
+
* Activities may be cancelled only if they {@link Context.heartbeat | emit heartbeats}.
|
|
20
|
+
*
|
|
21
|
+
* There are two ways to handle Activity cancellation:
|
|
22
|
+
* 1. await on {@link Context.cancelled | `Context.current().cancelled`} or
|
|
23
|
+
* {@link Context.sleep | `Context.current().sleep()`}, which each throw a
|
|
24
|
+
* {@link CancelledFailure}.
|
|
25
|
+
* 1. Pass the context's {@link https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | `AbortSignal`} at
|
|
26
|
+
* {@link Context.cancellationSignal | `Context.current().cancellationSignal`} to a library that
|
|
27
|
+
* supports it.
|
|
14
28
|
*
|
|
15
29
|
* ### Examples
|
|
16
30
|
*
|
|
17
|
-
* #### An Activity that
|
|
31
|
+
* #### An Activity that sends progress heartbeats and can be cancelled
|
|
18
32
|
*
|
|
19
33
|
* <!--SNIPSTART typescript-activity-fake-progress-->
|
|
20
34
|
* <!--SNIPEND-->
|
|
21
35
|
*
|
|
22
36
|
* #### An Activity that makes a cancellable HTTP request
|
|
23
37
|
*
|
|
38
|
+
* It passes the `AbortSignal` to {@link https://github.com/node-fetch/node-fetch#api | `fetch`}: `fetch(url, { signal:
|
|
39
|
+
* Context.current().cancellationSignal })`.
|
|
40
|
+
*
|
|
24
41
|
* <!--SNIPSTART typescript-activity-cancellable-fetch-->
|
|
25
42
|
* <!--SNIPEND-->
|
|
26
43
|
*
|
|
27
44
|
* @module
|
|
28
45
|
*/
|
|
46
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
47
|
+
if (k2 === undefined) k2 = k;
|
|
48
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
49
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
50
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
51
|
+
}
|
|
52
|
+
Object.defineProperty(o, k2, desc);
|
|
53
|
+
}) : (function(o, m, k, k2) {
|
|
54
|
+
if (k2 === undefined) k2 = k;
|
|
55
|
+
o[k2] = m[k];
|
|
56
|
+
}));
|
|
57
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
58
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
59
|
+
};
|
|
29
60
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
61
|
exports.Context = exports.asyncLocalStorage = exports.CompleteAsyncError = exports.CancelledFailure = void 0;
|
|
31
62
|
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
32
63
|
const async_hooks_1 = require("async_hooks");
|
|
33
64
|
var common_1 = require("@temporalio/common");
|
|
34
65
|
Object.defineProperty(exports, "CancelledFailure", { enumerable: true, get: function () { return common_1.CancelledFailure; } });
|
|
66
|
+
__exportStar(require("@temporalio/internal-workflow-common/lib/errors"), exports);
|
|
35
67
|
/**
|
|
36
|
-
* Throw this error from an Activity in order to make the Worker
|
|
37
|
-
* forget about this Activity.
|
|
68
|
+
* Throw this error from an Activity in order to make the Worker forget about this Activity.
|
|
38
69
|
*
|
|
39
|
-
* The Activity can be completed asynchronously using
|
|
40
|
-
* {@link AsyncCompletionClient}
|
|
70
|
+
* The Activity can then be completed asynchronously (from anywhere—usually outside the Worker) using
|
|
71
|
+
* {@link AsyncCompletionClient}.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
*
|
|
75
|
+
*```ts
|
|
76
|
+
*import { CompleteAsyncError } from '@temporalio/activity';
|
|
77
|
+
*
|
|
78
|
+
*export async function myActivity(): Promise<never> {
|
|
79
|
+
* // ...
|
|
80
|
+
* throw new CompleteAsyncError();
|
|
81
|
+
*}
|
|
82
|
+
*```
|
|
41
83
|
*/
|
|
42
84
|
class CompleteAsyncError extends Error {
|
|
43
85
|
constructor() {
|
|
@@ -49,9 +91,14 @@ exports.CompleteAsyncError = CompleteAsyncError;
|
|
|
49
91
|
/** @ignore */
|
|
50
92
|
exports.asyncLocalStorage = new async_hooks_1.AsyncLocalStorage();
|
|
51
93
|
/**
|
|
52
|
-
* Activity Context
|
|
94
|
+
* Activity Context, used to:
|
|
53
95
|
*
|
|
54
|
-
*
|
|
96
|
+
* - Get {@link Info} about the current Activity Execution
|
|
97
|
+
* - Send {@link https://docs.temporal.io/concepts/what-is-an-activity-heartbeat | heartbeats}
|
|
98
|
+
* - Get notified of Activity cancellation
|
|
99
|
+
* - Sleep (cancellation-aware)
|
|
100
|
+
*
|
|
101
|
+
* Call `Context.current()` from Activity code in order to get the current Activity's Context.
|
|
55
102
|
*/
|
|
56
103
|
class Context {
|
|
57
104
|
/**
|
|
@@ -66,11 +113,17 @@ class Context {
|
|
|
66
113
|
this.heartbeatFn = heartbeat;
|
|
67
114
|
}
|
|
68
115
|
/**
|
|
69
|
-
* Send a heartbeat from an Activity.
|
|
116
|
+
* Send a {@link https://docs.temporal.io/concepts/what-is-an-activity-heartbeat | heartbeat} from an Activity.
|
|
117
|
+
*
|
|
118
|
+
* If an Activity times out, then during the next retry, the last value of `details` is available at
|
|
119
|
+
* {@link Info.heartbeatDetails}. This acts as a periodic checkpoint mechanism for the progress of an Activity.
|
|
70
120
|
*
|
|
71
|
-
* If an Activity times out
|
|
121
|
+
* If an Activity times out on the final retry (relevant in cases in which {@link RetryPolicy.maximumAttempts} is
|
|
122
|
+
* set), the Activity function call in the Workflow code will throw an {@link ActivityFailure} with the `cause`
|
|
123
|
+
* attribute set to a {@link TimeoutFailure}, which has the last value of `details` available at
|
|
124
|
+
* {@link TimeoutFailure.lastHeartbeatDetails}.
|
|
72
125
|
*
|
|
73
|
-
*
|
|
126
|
+
* Activities must heartbeat in order to receive cancellation.
|
|
74
127
|
*/
|
|
75
128
|
heartbeat(details) {
|
|
76
129
|
this.heartbeatFn(details);
|
|
@@ -89,8 +142,8 @@ class Context {
|
|
|
89
142
|
}
|
|
90
143
|
/**
|
|
91
144
|
* Helper function for sleeping in an Activity.
|
|
92
|
-
* @param ms
|
|
93
|
-
* @returns
|
|
145
|
+
* @param ms Sleep duration: an {@link https://www.npmjs.com/package/ms | ms}-formatted string or number of milliseconds
|
|
146
|
+
* @returns A Promise that either resolves when `ms` is reached or rejects when the Activity is cancelled
|
|
94
147
|
*/
|
|
95
148
|
sleep(ms) {
|
|
96
149
|
let handle;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;;;;;;;;;;;;;;;;;AAEH,mFAAkE;AAElE,6CAAgD;AAChD,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AAMzB,kFAAgE;AAEhE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAG3C;QACE,KAAK,EAAE,CAAC;QAHM,SAAI,GAAW,oBAAoB,CAAC;IAIpD,CAAC;CACF;AAND,gDAMC;AAED,cAAc;AACD,QAAA,iBAAiB,GAAG,IAAI,+BAAiB,EAAW,CAAC;AA2ElE;;;;;;;;;GASG;AACH,MAAa,OAAO;IA8BlB;;;;OAIG;IACH,YACE,IAAU,EACV,SAAyB,EACzB,kBAA+B,EAC/B,SAAkC;QAElC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,SAAS,CAAC,OAAiB;QAChC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,OAAO;QACnB,MAAM,KAAK,GAAG,yBAAiB,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,EAAmB;QAC9B,IAAI,MAAsB,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC1C,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,IAAA,qCAAU,EAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;CACF;AAzFD,0BAyFC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/activity",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-rc.1",
|
|
4
4
|
"description": "Temporal.io SDK Activity sub-package",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"author": "Roey Berman <roey@temporal.io>",
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@temporalio/common": "^0.
|
|
17
|
-
"@temporalio/internal-workflow-common": "^0.
|
|
16
|
+
"@temporalio/common": "^1.0.0-rc.1",
|
|
17
|
+
"@temporalio/internal-workflow-common": "^1.0.0-rc.1",
|
|
18
18
|
"abort-controller": "^3.0.0"
|
|
19
19
|
},
|
|
20
20
|
"bugs": {
|
|
@@ -24,5 +24,9 @@
|
|
|
24
24
|
"publishConfig": {
|
|
25
25
|
"access": "public"
|
|
26
26
|
},
|
|
27
|
-
"
|
|
27
|
+
"files": [
|
|
28
|
+
"src",
|
|
29
|
+
"lib"
|
|
30
|
+
],
|
|
31
|
+
"gitHead": "723de0fbc7a04e68084ec99453578e7027eb3803"
|
|
28
32
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,25 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This
|
|
2
|
+
* This package's main export is {@link Context}. Get the current Activity's context with
|
|
3
|
+
* {@link Context.current | `Context.current()`}:
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { Context } from '@temporalio/activity';
|
|
5
7
|
*
|
|
6
|
-
*
|
|
8
|
+
* export async function myActivity() {
|
|
9
|
+
* const context = Context.current();
|
|
10
|
+
* }
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* Any function can be used as an Activity as long as its parameters and return value are serializable using a
|
|
14
|
+
* {@link https://docs.temporal.io/concepts/what-is-a-data-converter/ | DataConverter}.
|
|
7
15
|
*
|
|
8
16
|
* ### Cancellation
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
17
|
+
*
|
|
18
|
+
* Activities may be cancelled only if they {@link Context.heartbeat | emit heartbeats}.
|
|
19
|
+
*
|
|
20
|
+
* There are two ways to handle Activity cancellation:
|
|
21
|
+
* 1. await on {@link Context.cancelled | `Context.current().cancelled`} or
|
|
22
|
+
* {@link Context.sleep | `Context.current().sleep()`}, which each throw a
|
|
23
|
+
* {@link CancelledFailure}.
|
|
24
|
+
* 1. Pass the context's {@link https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | `AbortSignal`} at
|
|
25
|
+
* {@link Context.cancellationSignal | `Context.current().cancellationSignal`} to a library that
|
|
26
|
+
* supports it.
|
|
13
27
|
*
|
|
14
28
|
* ### Examples
|
|
15
29
|
*
|
|
16
|
-
* #### An Activity that
|
|
30
|
+
* #### An Activity that sends progress heartbeats and can be cancelled
|
|
17
31
|
*
|
|
18
32
|
* <!--SNIPSTART typescript-activity-fake-progress-->
|
|
19
33
|
* <!--SNIPEND-->
|
|
20
34
|
*
|
|
21
35
|
* #### An Activity that makes a cancellable HTTP request
|
|
22
36
|
*
|
|
37
|
+
* It passes the `AbortSignal` to {@link https://github.com/node-fetch/node-fetch#api | `fetch`}: `fetch(url, { signal:
|
|
38
|
+
* Context.current().cancellationSignal })`.
|
|
39
|
+
*
|
|
23
40
|
* <!--SNIPSTART typescript-activity-cancellable-fetch-->
|
|
24
41
|
* <!--SNIPEND-->
|
|
25
42
|
*
|
|
@@ -30,14 +47,29 @@ import { msToNumber } from '@temporalio/internal-workflow-common';
|
|
|
30
47
|
import { AbortSignal } from 'abort-controller';
|
|
31
48
|
import { AsyncLocalStorage } from 'async_hooks';
|
|
32
49
|
export { CancelledFailure } from '@temporalio/common';
|
|
33
|
-
export {
|
|
50
|
+
export {
|
|
51
|
+
ActivityFunction,
|
|
52
|
+
ActivityInterface, // eslint-disable-line deprecation/deprecation
|
|
53
|
+
UntypedActivities,
|
|
54
|
+
} from '@temporalio/internal-workflow-common';
|
|
55
|
+
export * from '@temporalio/internal-workflow-common/lib/errors';
|
|
34
56
|
|
|
35
57
|
/**
|
|
36
|
-
* Throw this error from an Activity in order to make the Worker
|
|
37
|
-
*
|
|
58
|
+
* Throw this error from an Activity in order to make the Worker forget about this Activity.
|
|
59
|
+
*
|
|
60
|
+
* The Activity can then be completed asynchronously (from anywhere—usually outside the Worker) using
|
|
61
|
+
* {@link AsyncCompletionClient}.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
*
|
|
65
|
+
*```ts
|
|
66
|
+
*import { CompleteAsyncError } from '@temporalio/activity';
|
|
38
67
|
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
68
|
+
*export async function myActivity(): Promise<never> {
|
|
69
|
+
* // ...
|
|
70
|
+
* throw new CompleteAsyncError();
|
|
71
|
+
*}
|
|
72
|
+
*```
|
|
41
73
|
*/
|
|
42
74
|
export class CompleteAsyncError extends Error {
|
|
43
75
|
public readonly name: string = 'CompleteAsyncError';
|
|
@@ -51,7 +83,7 @@ export class CompleteAsyncError extends Error {
|
|
|
51
83
|
export const asyncLocalStorage = new AsyncLocalStorage<Context>();
|
|
52
84
|
|
|
53
85
|
/**
|
|
54
|
-
* Holds information about the current
|
|
86
|
+
* Holds information about the current Activity Execution. Retrieved inside an Activity with `Context.current().info`.
|
|
55
87
|
*/
|
|
56
88
|
export interface Info {
|
|
57
89
|
taskToken: Uint8Array;
|
|
@@ -116,12 +148,22 @@ export interface Info {
|
|
|
116
148
|
* Use this in order to resume your Activity from checkpoint.
|
|
117
149
|
*/
|
|
118
150
|
heartbeatDetails: any;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Task queue the Activity is scheduled in, set to the Workflow's task queue in case of local Activity.
|
|
154
|
+
*/
|
|
155
|
+
taskQueue: string;
|
|
119
156
|
}
|
|
120
157
|
|
|
121
158
|
/**
|
|
122
|
-
* Activity Context
|
|
159
|
+
* Activity Context, used to:
|
|
160
|
+
*
|
|
161
|
+
* - Get {@link Info} about the current Activity Execution
|
|
162
|
+
* - Send {@link https://docs.temporal.io/concepts/what-is-an-activity-heartbeat | heartbeats}
|
|
163
|
+
* - Get notified of Activity cancellation
|
|
164
|
+
* - Sleep (cancellation-aware)
|
|
123
165
|
*
|
|
124
|
-
* Call `Context.current()` from Activity code in order to
|
|
166
|
+
* Call `Context.current()` from Activity code in order to get the current Activity's Context.
|
|
125
167
|
*/
|
|
126
168
|
export class Context {
|
|
127
169
|
/**
|
|
@@ -131,13 +173,21 @@ export class Context {
|
|
|
131
173
|
/**
|
|
132
174
|
* Await this promise in an Activity to get notified of cancellation.
|
|
133
175
|
*
|
|
134
|
-
* This promise will never
|
|
176
|
+
* This promise will never resolve—it will only be rejected with a {@link CancelledFailure}.
|
|
177
|
+
*
|
|
178
|
+
* @see [Cancellation](/api/namespaces/activity#cancellation)
|
|
135
179
|
*/
|
|
136
180
|
public readonly cancelled: Promise<never>;
|
|
137
181
|
/**
|
|
138
|
-
* An `AbortSignal`
|
|
182
|
+
* An {@link https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | `AbortSignal`} that can be used to react to
|
|
183
|
+
* Activity cancellation.
|
|
184
|
+
*
|
|
185
|
+
* Used by {@link https://www.npmjs.com/package/node-fetch#request-cancellation-with-abortsignal | fetch} to abort an
|
|
186
|
+
* in-progress request and
|
|
187
|
+
* {@link https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options child_process}
|
|
188
|
+
* to abort a child process, and is supported by some other libraries as well.
|
|
139
189
|
*
|
|
140
|
-
*
|
|
190
|
+
* @see [Cancellation](/api/namespaces/activity#cancellation)
|
|
141
191
|
*/
|
|
142
192
|
public readonly cancellationSignal: AbortSignal;
|
|
143
193
|
/**
|
|
@@ -163,11 +213,17 @@ export class Context {
|
|
|
163
213
|
}
|
|
164
214
|
|
|
165
215
|
/**
|
|
166
|
-
* Send a heartbeat from an Activity.
|
|
216
|
+
* Send a {@link https://docs.temporal.io/concepts/what-is-an-activity-heartbeat | heartbeat} from an Activity.
|
|
217
|
+
*
|
|
218
|
+
* If an Activity times out, then during the next retry, the last value of `details` is available at
|
|
219
|
+
* {@link Info.heartbeatDetails}. This acts as a periodic checkpoint mechanism for the progress of an Activity.
|
|
167
220
|
*
|
|
168
|
-
* If an Activity times out
|
|
221
|
+
* If an Activity times out on the final retry (relevant in cases in which {@link RetryPolicy.maximumAttempts} is
|
|
222
|
+
* set), the Activity function call in the Workflow code will throw an {@link ActivityFailure} with the `cause`
|
|
223
|
+
* attribute set to a {@link TimeoutFailure}, which has the last value of `details` available at
|
|
224
|
+
* {@link TimeoutFailure.lastHeartbeatDetails}.
|
|
169
225
|
*
|
|
170
|
-
*
|
|
226
|
+
* Activities must heartbeat in order to receive cancellation.
|
|
171
227
|
*/
|
|
172
228
|
public heartbeat(details?: unknown): void {
|
|
173
229
|
this.heartbeatFn(details);
|
|
@@ -188,8 +244,8 @@ export class Context {
|
|
|
188
244
|
|
|
189
245
|
/**
|
|
190
246
|
* Helper function for sleeping in an Activity.
|
|
191
|
-
* @param ms
|
|
192
|
-
* @returns
|
|
247
|
+
* @param ms Sleep duration: an {@link https://www.npmjs.com/package/ms | ms}-formatted string or number of milliseconds
|
|
248
|
+
* @returns A Promise that either resolves when `ms` is reached or rejects when the Activity is cancelled
|
|
193
249
|
*/
|
|
194
250
|
public sleep(ms: number | string): Promise<void> {
|
|
195
251
|
let handle: NodeJS.Timeout;
|
package/tsconfig.json
DELETED
package/tsconfig.tsbuildinfo
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/long/index.d.ts","../../node_modules/protobufjs/index.d.ts","../proto/protos/root.d.ts","../proto/protos/index.d.ts","../internal-workflow-common/lib/retry-policy.d.ts","../internal-workflow-common/lib/activity-options.d.ts","../internal-workflow-common/lib/errors.d.ts","../internal-workflow-common/lib/type-helpers.d.ts","../internal-workflow-common/lib/interceptors.d.ts","../internal-workflow-common/lib/interfaces.d.ts","../internal-workflow-common/lib/time.d.ts","../internal-workflow-common/lib/workflow-handle.d.ts","../internal-workflow-common/lib/workflow-options.d.ts","../internal-workflow-common/lib/index.d.ts","../../node_modules/event-target-shim/index.d.ts","../../node_modules/abort-controller/dist/abort-controller.d.ts","../common/lib/converter/types.d.ts","../common/lib/converter/payload-codec.d.ts","../common/lib/converter/payload-converters.d.ts","../common/lib/converter/payload-converter.d.ts","../common/lib/converter/data-converter.d.ts","../common/lib/failure.d.ts","../common/lib/index.d.ts","./src/index.ts","../../node_modules/@types/retry/index.d.ts","../../node_modules/@types/async-retry/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/keyv/src/index.d.ts","../../node_modules/@types/http-cache-semantics/index.d.ts","../../node_modules/@types/responselike/index.d.ts","../../node_modules/@types/cacheable-request/index.d.ts","../../node_modules/@types/cross-spawn/index.d.ts","../../node_modules/@types/dedent/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/got/index.d.ts","../../node_modules/@types/json-buffer/index.d.ts","../../node_modules/@types/keyv/index.d.ts","../../node_modules/@types/linkify-it/index.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/mdurl/encode.d.ts","../../node_modules/@types/mdurl/decode.d.ts","../../node_modules/@types/mdurl/parse.d.ts","../../node_modules/@types/mdurl/format.d.ts","../../node_modules/@types/mdurl/index.d.ts","../../node_modules/@types/markdown-it/lib/common/utils.d.ts","../../node_modules/@types/markdown-it/lib/token.d.ts","../../node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.ts","../../node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.ts","../../node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.ts","../../node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.ts","../../node_modules/@types/markdown-it/lib/helpers/index.d.ts","../../node_modules/@types/markdown-it/lib/ruler.d.ts","../../node_modules/@types/markdown-it/lib/rules_block/state_block.d.ts","../../node_modules/@types/markdown-it/lib/parser_block.d.ts","../../node_modules/@types/markdown-it/lib/rules_core/state_core.d.ts","../../node_modules/@types/markdown-it/lib/parser_core.d.ts","../../node_modules/@types/markdown-it/lib/parser_inline.d.ts","../../node_modules/@types/markdown-it/lib/renderer.d.ts","../../node_modules/@types/markdown-it/lib/index.d.ts","../../node_modules/@types/markdown-it/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/minipass/index.d.ts","../../node_modules/@types/ms/index.d.ts","../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/pidusage/index.d.ts","../../node_modules/@types/prompts/index.d.ts","../../node_modules/ts-toolbelt/out/index.d.ts","../../node_modules/@types/ramda/tools.d.ts","../../node_modules/@types/ramda/index.d.ts","../../node_modules/@types/rimraf/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/tar/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../../node_modules/@types/validate-npm-package-name/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b","1558c642e03689d42843e7b047b9c20e77ee09ab388ff854484db5dcfbed11da","1483036bc7965f2b68e63475c4ac7bae6b398b60262be25725c0542779afcdd2","e784aa955e0c457fac13e62cf5ae21238000032b0c60fe4c138891912ac4ceed","82a29801c5e4e2a6cf192da6a810b79e7be27a3a3e846d38fc6f1a67750a940f","1f86b92d8d772ebeeb5b4a6fc4bb4fb13ae7275d69fbb2ed0128fb589a6fc057","e6a153915ebf3d92d5cfa88c1169dbbf6cc425db01dde390c1c126bcfdbb238b","8c1c7f187912d5dadec77f8bd1fdf1f4099bf86ddf33525525beaf290f5d1789","c53ea76f31dbe2c5f5b76d2a07268b7e969a30fbcccca4d7271dccac54259311","bafd8944f9cbefccff23b2af47517925f3fa0be29251308fdc4485cf2e99afb4","97fdf5a317f77456a8d2d20c9eaf61f64611dbf6baa2b6ca36bbbeb6b456aae7","1a7689daffa54e39ebac4d793b9a38605e6c1354ba4f82a2777599d2e316d118","02cac870dfa641086d52c0a1dde60c3bcd070228d64637f4016230c41ca36791","9863b273003f68928bab5740056d3de2f3344749b4a24cf3dedc6d3cbda79d81","2859adaa4f2db3d4f0fc37ad86f056045341496b58fba0dbc16a222f9d5d55b1","655ed305e8f4cb95d3f578040301a4e4d6ace112b1bd8824cd32bda66c3677d1","a3e9831fdc1949c03153e3461df846ec44c7841f67420dd6268d771ec77d85f2","a8b57b57e51a8089b1d8cb5ee168bc49c756d91ef682b9732cbe380886ee2e8a","9393bf77518ca92fa254be923226088b1775500fe39d77c8e49d88af52a36ae1","f2953c72803c93836952e6c3559994aaccd8fa07236310f7177a25a80c99827f","37678045f97aab8229b960a48680d1c0573c21439d12b80cbe33b22855ebc105","70148973a311c3b6afc0083d1308c9cd4edf11b6c5c3dfb08611c2c71b6aa323","92551832d2af47e8871e238ac42299ec1a005864cba26307a61df8e50cfcb9f6","490ead8742bffcf1d078e0325820c1e22fc21c29580931a7374bfa5f08767a19","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","79d2fdaa1e0bf1a62b59de50e185374b74d22dc43144a78eab1bbcca0a4a2550","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"92d63add669d18ebc349efbacd88966d6f2ccdddfb1b880b2db98ae3aa7bf7c4","affectsGlobalScope":true},"ccc94049a9841fe47abe5baef6be9a38fc6228807974ae675fb15dc22531b4be",{"version":"aeeee3998c5a730f8689f04038d41cf4245c9edbf6ef29a698e45b36e399b8ed","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","2f520601649a893e6a49a8851ebfcf4be8ce090dc1281c2a08a871cb04e8251f","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","2b8c764f856a1dd0a9a2bf23e5efddbff157de8138b0754010be561ae5fcaa90","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"80793b2277f31baa199234daed806fff0fb11491d1ebd3357e520c3558063f00","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","e3b886bacdd1fbf1f72e654596c80a55c7bc1d10bdf464aaf52f45ecd243862f","c665d5c50c2573aefd98f0ffb12c5583e333ed94294ce6f144a4163a8c84f09b","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","a458dc78104cc80048ac24fdc02fe6dce254838094c2f25641b3f954d9721241",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"8a215750db3e2073511e07c9e293c8c40d6109e5c7368845e060bcc12adbae6f","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","945a841f9a591197154c85386bc5a1467d42d325104bb36db51bc566bbb240be","10c39ce1df102994b47d4bc0c71aa9a6aea76f4651a5ec51914431f50bc883a1",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","3fa48484c65913004d5abb5c0f917b61ea4684f32d05bb28c1ecfa5f05a9ed12","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"33eee034727baf564056b4ea719075c23d3b4767d0b5f9c6933b81f3d77774d2","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"b42b47e17b8ece2424ae8039feb944c2e3ba4b262986aebd582e51efbdca93dc","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4",{"version":"dd9ea469d1bfaf589c6a196275d35cb1aa14014707c2c46d920c7b921e8f5bca","affectsGlobalScope":true},"badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1503a452a67127e5c2da794d1c7c44344d5038373aae16c9b03ac964db159edd","cd71905370ede696577acc23c695181e618a7d08616b1d06b43d3e6a12880fab","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","5e3a55837aa1f42af2d2334c9b750f59f5f50a2205471875f5dd6aadc3e49ddb","70646d9cb37b62611766d18a9bcca6cbf28ca9aec33a66244e974056ab1193f6",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","8566fa84085caa46340393b1704ecd368491918fb45bd688d6e89736aec73a2f","dc33ce27fbeaf0ea3da556c80a6cc8af9d13eb443088c8f25cdc39fca8e756f6","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","19bf3ca55fd356755cda33e6e8c753d3d13d4aaa54ad9c5c032927f362188066","75bdc1b420f0ffc6cc6fd0b6694d89f5072bf755b4e6c7e65a2fda797ca0bb8a","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","6503fb6addf62f9b10f8564d9869ad824565a914ec1ac3dd7d13da14a3f57036","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"f313731860257325f13351575f381fef333d4dfe30daf5a2e72f894208feea08","951b37f7d86f6012f09e6b35f1de57c69d75f16908cb0adaa56b93675ea0b853","3816fc03ffd9cbd1a7a3362a264756a4a1d547caabea50ca68303046be40e376","0c417b4ec46b88fb62a43ec00204700b560d01eb5677c7faa8ecd34610f096a8","13d29cdeb64e8496424edf42749bbb47de5e42d201cf958911a4638cbcffbd3f","0f9e381eecc5860f693c31fe463b3ca20a64ca9b8db0cf6208cd4a053f064809","95902d5561c6aac5dfc40568a12b0aca324037749dcd32a81f23423bfde69bab","5dfb2aca4136abdc5a2740f14be8134a6e6b66fd53470bb2e954e40f8abfaf3e","577463167dd69bd81f76697dfc3f7b22b77a6152f60a602a9218e52e3183ad67","b8396e9024d554b611cbe31a024b176ba7116063d19354b5a02dccd8f0118989","4b28e1c5bf88d891e07a1403358b81a51b3ba2eae1ffada51cca7476b5ac6407","7150ad575d28bf98fae321a1c0f10ad17b127927811f488ded6ff1d88d4244e5","8b155c4757d197969553de3762c8d23d5866710301de41e1b66b97c9ed867003","93733466609dd8bf72eace502a24ca7574bd073d934216e628f1b615c8d3cb3c","45e9228761aabcadb79c82fb3008523db334491525bdb8e74e0f26eaf7a4f7f4","aeacac2778c9821512b6b889da79ac31606a863610c8f28da1e483579627bf90","569fdb354062fc098a6a3ba93a029edf22d6fe480cf72b231b3c07832b2e7c97","bf9876e62fb7f4237deafab8c7444770ef6e82b4cad2d5dc768664ff340feeb2","6cf60e76d37faf0fbc2f80a873eab0fd545f6b1bf300e7f0823f956ddb3083e9","6adaa6103086f931e3eee20f0987e86e8879e9d13aa6bd6075ccfc58b9c5681c","ee0af0f2b8d3b4d0baf669f2ff6fcef4a8816a473c894cc7c905029f7505fed0","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","2d7833f437e0f41a91d9ac5b156157fde7e5380558ff44832afae705ac0e795d","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","bef99c239e4fb2f51b7cc4952d019cb30bacd8c2e9fa07884886dbe3624cbcfb","4c8239bedbe72ce9405efb578f03f56219dba4ceb5a57ca3d2dc10334612f210","9df147746b0cbd11d022b564e6fdd43ac79b643dc579d2123317ee01cc4f0d70","fcd714a42a6b383a6240c056da9326afcea41a0d289a23206990f2550e5c1988","19392d5faf0ddca7ecdf300ace20ff6a5a120a11b6536a767fb1d9feb592cec5","f4cf5f0ad1cfb0ceebbe4fbe8aaf0aa728e899c99cc36ec6c0c4b8f6e8a84c83","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","bae219fc966077e88ec22d2dc2eb24617d3244d3593afdc5f2457fabd27d7462"],"options":{"composite":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7},"fileIdsList":[[63,108],[80,83,107,108,115,116,117,118],[70,108,115],[108],[108,124,125],[108,122,123,124],[81,108,115],[80,81,108,115,128],[83,85,97,107,108,115,130],[80,108,115],[108,135,137,138,139,140,141,142,143,144,145,146,147],[108,135,136,138,139,140,141,142,143,144,145,146,147],[108,136,137,138,139,140,141,142,143,144,145,146,147],[108,135,136,137,139,140,141,142,143,144,145,146,147],[108,135,136,137,138,140,141,142,143,144,145,146,147],[108,135,136,137,138,139,141,142,143,144,145,146,147],[108,135,136,137,138,139,140,142,143,144,145,146,147],[108,135,136,137,138,139,140,141,143,144,145,146,147],[108,135,136,137,138,139,140,141,142,144,145,146,147],[108,135,136,137,138,139,140,141,142,143,145,146,147],[108,135,136,137,138,139,140,141,142,143,144,146,147],[108,135,136,137,138,139,140,141,142,143,144,145,147],[108,135,136,137,138,139,140,141,142,143,144,145,146],[108,167],[108,152],[108,156,157,158],[108,155],[108,157],[108,134,153,154,159,162,164,165,166],[108,154,160,161,167],[108,160,163],[108,154,155,160,167],[108,154,167],[108,148,149,150,151],[83,107,108,115,172,173],[83,97,108,115],[65,108],[68,108],[69,74,108],[70,80,81,88,97,107,108],[70,71,80,88,108],[72,108],[73,74,81,89,108],[74,97,104,108],[75,77,80,88,108],[76,108],[77,78,108],[79,80,108],[80,108],[80,81,82,97,107,108],[80,81,82,97,108],[83,88,97,107,108],[80,81,83,84,88,97,104,107,108],[83,85,97,104,107,108],[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114],[80,86,108],[87,107,108],[77,80,88,97,108],[89,108],[90,108],[68,91,108],[92,106,108,112],[93,108],[94,108],[80,95,108],[95,96,108,110],[80,97,98,99,108],[97,99,108],[97,98,108],[100,108],[101,108],[80,102,103,108],[102,103,108],[74,88,104,108],[105,108],[88,106,108],[69,83,94,107,108],[74,108],[97,108,109],[108,110],[108,111],[69,74,80,82,91,97,107,108,110,112],[97,108,113],[108,179,180],[108,179],[81,108,115,129],[108,183,222],[108,183,207,222],[108,222],[108,183],[108,183,208,222],[108,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221],[108,208,222],[80,97,108,113,115,170],[53,108],[52,54,61,68,108],[56,58,108],[55,108],[55,57,108],[55,58,108],[42,108],[42,58,108],[44,45,48,49,51,52,55,56,57,58,59,60,108],[42,43,108],[43,44,45,46,47,48,49,50,51,108],[42,46,108],[48,108],[42,43,46,48,108],[41,108],[39,40,108]],"referencedMap":[[64,1],[119,2],[120,3],[121,4],[126,5],[122,4],[125,6],[124,4],[127,7],[129,8],[131,9],[117,4],[132,4],[123,4],[133,10],[134,4],[136,11],[137,12],[135,13],[138,14],[139,15],[140,16],[141,17],[142,18],[143,19],[144,20],[145,21],[146,22],[147,23],[39,4],[168,24],[153,25],[159,26],[157,4],[156,27],[158,28],[167,29],[162,30],[164,31],[165,32],[166,33],[160,4],[161,33],[163,33],[155,33],[154,4],[149,4],[148,4],[151,25],[152,34],[150,25],[128,4],[169,4],[170,10],[171,4],[173,4],[174,35],[172,36],[65,37],[66,37],[68,38],[69,39],[70,40],[71,41],[72,42],[73,43],[74,44],[75,45],[76,46],[77,47],[78,47],[79,48],[80,49],[81,50],[82,51],[67,4],[114,4],[83,52],[84,53],[85,54],[115,55],[86,56],[87,57],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[97,67],[99,68],[98,69],[100,70],[101,71],[102,72],[103,73],[104,74],[105,75],[106,76],[107,77],[108,78],[109,79],[110,80],[111,81],[112,82],[113,83],[175,4],[176,4],[177,4],[178,4],[181,84],[180,85],[118,36],[63,4],[182,86],[207,87],[208,88],[183,89],[186,89],[205,87],[206,87],[196,90],[195,90],[193,87],[188,87],[201,87],[199,87],[203,87],[187,87],[200,87],[204,87],[189,87],[190,87],[202,87],[184,87],[191,87],[192,87],[194,87],[198,87],[209,91],[197,87],[185,87],[222,92],[221,4],[216,91],[218,93],[217,91],[210,91],[211,91],[213,91],[215,91],[219,93],[220,93],[212,93],[214,93],[223,94],[130,4],[224,4],[225,4],[54,95],[53,4],[116,49],[40,4],[179,85],[9,4],[8,4],[2,4],[10,4],[11,4],[12,4],[13,4],[14,4],[15,4],[16,4],[17,4],[3,4],[4,4],[21,4],[18,4],[19,4],[20,4],[22,4],[23,4],[24,4],[5,4],[25,4],[26,4],[27,4],[28,4],[6,4],[29,4],[30,4],[31,4],[32,4],[7,4],[37,4],[33,4],[34,4],[35,4],[36,4],[1,4],[38,4],[62,96],[59,97],[56,98],[58,99],[57,100],[55,101],[60,102],[61,103],[44,104],[45,4],[52,105],[47,106],[48,4],[43,101],[49,101],[46,4],[50,107],[51,108],[42,109],[41,110]],"exportedModulesMap":[[64,1],[119,2],[120,3],[121,4],[126,5],[122,4],[125,6],[124,4],[127,7],[129,8],[131,9],[117,4],[132,4],[123,4],[133,10],[134,4],[136,11],[137,12],[135,13],[138,14],[139,15],[140,16],[141,17],[142,18],[143,19],[144,20],[145,21],[146,22],[147,23],[39,4],[168,24],[153,25],[159,26],[157,4],[156,27],[158,28],[167,29],[162,30],[164,31],[165,32],[166,33],[160,4],[161,33],[163,33],[155,33],[154,4],[149,4],[148,4],[151,25],[152,34],[150,25],[128,4],[169,4],[170,10],[171,4],[173,4],[174,35],[172,36],[65,37],[66,37],[68,38],[69,39],[70,40],[71,41],[72,42],[73,43],[74,44],[75,45],[76,46],[77,47],[78,47],[79,48],[80,49],[81,50],[82,51],[67,4],[114,4],[83,52],[84,53],[85,54],[115,55],[86,56],[87,57],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[97,67],[99,68],[98,69],[100,70],[101,71],[102,72],[103,73],[104,74],[105,75],[106,76],[107,77],[108,78],[109,79],[110,80],[111,81],[112,82],[113,83],[175,4],[176,4],[177,4],[178,4],[181,84],[180,85],[118,36],[63,4],[182,86],[207,87],[208,88],[183,89],[186,89],[205,87],[206,87],[196,90],[195,90],[193,87],[188,87],[201,87],[199,87],[203,87],[187,87],[200,87],[204,87],[189,87],[190,87],[202,87],[184,87],[191,87],[192,87],[194,87],[198,87],[209,91],[197,87],[185,87],[222,92],[221,4],[216,91],[218,93],[217,91],[210,91],[211,91],[213,91],[215,91],[219,93],[220,93],[212,93],[214,93],[223,94],[130,4],[224,4],[225,4],[54,95],[53,4],[116,49],[40,4],[179,85],[9,4],[8,4],[2,4],[10,4],[11,4],[12,4],[13,4],[14,4],[15,4],[16,4],[17,4],[3,4],[4,4],[21,4],[18,4],[19,4],[20,4],[22,4],[23,4],[24,4],[5,4],[25,4],[26,4],[27,4],[28,4],[6,4],[29,4],[30,4],[31,4],[32,4],[7,4],[37,4],[33,4],[34,4],[35,4],[36,4],[1,4],[38,4],[62,96],[59,97],[56,98],[58,99],[57,100],[55,101],[60,102],[61,103],[44,104],[45,4],[52,105],[47,106],[48,4],[43,101],[49,101],[46,4],[50,107],[51,108],[42,109],[41,110]],"semanticDiagnosticsPerFile":[64,119,120,121,126,122,125,124,127,129,131,117,132,123,133,134,136,137,135,138,139,140,141,142,143,144,145,146,147,39,168,153,159,157,156,158,167,162,164,165,166,160,161,163,155,154,149,148,151,152,150,128,169,170,171,173,174,172,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,67,114,83,84,85,115,86,87,88,89,90,91,92,93,94,95,96,97,99,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,175,176,177,178,181,180,118,63,182,207,208,183,186,205,206,196,195,193,188,201,199,203,187,200,204,189,190,202,184,191,192,194,198,209,197,185,222,221,216,218,217,210,211,213,215,219,220,212,214,223,130,224,225,54,53,116,40,179,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,62,59,56,58,57,55,60,61,44,45,52,47,48,43,49,46,50,51,42,41]},"version":"4.6.3"}
|