@restatedev/restate-sdk 0.7.0 → 0.7.2-worker
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cloudflare_bundle.js +26133 -0
- package/dist/io/encoder.d.ts +2 -1
- package/dist/io/encoder.d.ts.map +1 -1
- package/package.json +6 -3
- package/dist/connection/buffered_connection.js +0 -44
- package/dist/connection/buffered_connection.js.map +0 -1
- package/dist/connection/connection.js +0 -13
- package/dist/connection/connection.js.map +0 -1
- package/dist/connection/embedded_connection.js +0 -59
- package/dist/connection/embedded_connection.js.map +0 -1
- package/dist/connection/http_connection.js +0 -203
- package/dist/connection/http_connection.js.map +0 -1
- package/dist/connection/lambda_connection.js +0 -58
- package/dist/connection/lambda_connection.js.map +0 -1
- package/dist/embedded/api.js +0 -35
- package/dist/embedded/api.js.map +0 -1
- package/dist/embedded/handler.js +0 -28
- package/dist/embedded/handler.js.map +0 -1
- package/dist/embedded/http2_remote.js +0 -91
- package/dist/embedded/http2_remote.js.map +0 -1
- package/dist/embedded/invocation.js +0 -94
- package/dist/embedded/invocation.js.map +0 -1
- package/dist/generated/dev/restate/events.js +0 -371
- package/dist/generated/dev/restate/events.js.map +0 -1
- package/dist/generated/dev/restate/ext.js +0 -215
- package/dist/generated/dev/restate/ext.js.map +0 -1
- package/dist/generated/google/protobuf/descriptor.js +0 -6676
- package/dist/generated/google/protobuf/descriptor.js.map +0 -1
- package/dist/generated/google/protobuf/empty.js +0 -107
- package/dist/generated/google/protobuf/empty.js.map +0 -1
- package/dist/generated/google/protobuf/struct.js +0 -754
- package/dist/generated/google/protobuf/struct.js.map +0 -1
- package/dist/generated/proto/discovery.js +0 -364
- package/dist/generated/proto/discovery.js.map +0 -1
- package/dist/generated/proto/dynrpc.js +0 -668
- package/dist/generated/proto/dynrpc.js.map +0 -1
- package/dist/generated/proto/javascript.js +0 -297
- package/dist/generated/proto/javascript.js.map +0 -1
- package/dist/generated/proto/protocol.js +0 -2398
- package/dist/generated/proto/protocol.js.map +0 -1
- package/dist/generated/proto/services.js +0 -1535
- package/dist/generated/proto/services.js.map +0 -1
- package/dist/generated/proto/test.js +0 -321
- package/dist/generated/proto/test.js.map +0 -1
- package/dist/invocation.js +0 -154
- package/dist/invocation.js.map +0 -1
- package/dist/io/decoder.js +0 -133
- package/dist/io/decoder.js.map +0 -1
- package/dist/io/encoder.js +0 -68
- package/dist/io/encoder.js.map +0 -1
- package/dist/journal.js +0 -372
- package/dist/journal.js.map +0 -1
- package/dist/local_state_store.js +0 -72
- package/dist/local_state_store.js.map +0 -1
- package/dist/public_api.js +0 -58
- package/dist/public_api.js.map +0 -1
- package/dist/restate_context.js +0 -46
- package/dist/restate_context.js.map +0 -1
- package/dist/restate_context_impl.js +0 -375
- package/dist/restate_context_impl.js.map +0 -1
- package/dist/server/base_restate_server.js +0 -364
- package/dist/server/base_restate_server.js.map +0 -1
- package/dist/server/restate_lambda_handler.js +0 -247
- package/dist/server/restate_lambda_handler.js.map +0 -1
- package/dist/server/restate_server.js +0 -186
- package/dist/server/restate_server.js.map +0 -1
- package/dist/state_machine.js +0 -403
- package/dist/state_machine.js.map +0 -1
- package/dist/types/errors.js +0 -267
- package/dist/types/errors.js.map +0 -1
- package/dist/types/grpc.js +0 -68
- package/dist/types/grpc.js.map +0 -1
- package/dist/types/protocol.js +0 -125
- package/dist/types/protocol.js.map +0 -1
- package/dist/types/router.js +0 -36
- package/dist/types/router.js.map +0 -1
- package/dist/types/types.js +0 -126
- package/dist/types/types.js.map +0 -1
- package/dist/utils/assumpsions.js +0 -101
- package/dist/utils/assumpsions.js.map +0 -1
- package/dist/utils/logger.js +0 -102
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/public_utils.js +0 -49
- package/dist/utils/public_utils.js.map +0 -1
- package/dist/utils/rand.js +0 -114
- package/dist/utils/rand.js.map +0 -1
- package/dist/utils/utils.js +0 -144
- package/dist/utils/utils.js.map +0 -1
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023 - Restate Software, Inc., Restate GmbH
|
|
4
|
-
*
|
|
5
|
-
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
6
|
-
* which is released under the MIT license.
|
|
7
|
-
*
|
|
8
|
-
* You can find a copy of the license in file LICENSE in the root
|
|
9
|
-
* directory of this repository or package, or at
|
|
10
|
-
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.verifyAssumptions = exports.requestFromArgs = void 0;
|
|
14
|
-
const dynrpc_1 = require("../generated/proto/dynrpc");
|
|
15
|
-
const errors_1 = require("../types/errors");
|
|
16
|
-
const ASSUME_UNKEYED_SINCE_FIRST_PARAM_NOT_STRING = 1;
|
|
17
|
-
const ASSUME_UNKEYED_SINCE_ZERO_ARGS = 2;
|
|
18
|
-
const ASSUME_KEYED_SINCE_TWO_ARGS_STR_AND_ANY = 3;
|
|
19
|
-
const ASSUME_EITHER_KEYED_OR_UNKEYED_ONE_STR_ARG = 4;
|
|
20
|
-
const requestFromArgs = (args) => {
|
|
21
|
-
switch (args.length) {
|
|
22
|
-
case 0: {
|
|
23
|
-
return dynrpc_1.RpcRequest.create({
|
|
24
|
-
senderAssumes: ASSUME_UNKEYED_SINCE_ZERO_ARGS,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
case 1: {
|
|
28
|
-
if (typeof args[0] === "string") {
|
|
29
|
-
return dynrpc_1.RpcRequest.create({
|
|
30
|
-
key: args[0],
|
|
31
|
-
senderAssumes: ASSUME_EITHER_KEYED_OR_UNKEYED_ONE_STR_ARG,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
return dynrpc_1.RpcRequest.create({
|
|
36
|
-
request: args[0],
|
|
37
|
-
senderAssumes: ASSUME_UNKEYED_SINCE_FIRST_PARAM_NOT_STRING,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
case 2: {
|
|
42
|
-
if (typeof args[0] !== "string") {
|
|
43
|
-
throw new errors_1.TerminalError(`Two argument handlers are only possible for keyed handlers. Where the first argument must be of type 'string'.`);
|
|
44
|
-
}
|
|
45
|
-
return dynrpc_1.RpcRequest.create({
|
|
46
|
-
key: args[0],
|
|
47
|
-
request: args[1],
|
|
48
|
-
senderAssumes: ASSUME_KEYED_SINCE_TWO_ARGS_STR_AND_ANY,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
default: {
|
|
52
|
-
throw new errors_1.TerminalError("wrong number of arguments " + args.length);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
exports.requestFromArgs = requestFromArgs;
|
|
57
|
-
/* eslint-enable @typescript-eslint/ban-types, @typescript-eslint/no-explicit-any */
|
|
58
|
-
const requireThat = (condition, errorMessage) => {
|
|
59
|
-
if (!condition) {
|
|
60
|
-
throw new errors_1.TerminalError(errorMessage);
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
const verifyAssumptions = (isKeyed, request) => {
|
|
64
|
-
const assumpsion = request.senderAssumes ?? 0;
|
|
65
|
-
switch (assumpsion) {
|
|
66
|
-
case 0: {
|
|
67
|
-
// no assumption: this comes from an ingress.
|
|
68
|
-
const hasKeyProperty = typeof request.key === "string" && request.key.length > 0;
|
|
69
|
-
if (isKeyed) {
|
|
70
|
-
requireThat(hasKeyProperty, "Trying to call a keyed handler with a missing or empty 'key' property.");
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
requireThat(!hasKeyProperty, "Trying to call a an unkeyed handler with a 'key' property. Did you mean using the 'request' property instead?");
|
|
74
|
-
}
|
|
75
|
-
return { key: request.key, request: request.request };
|
|
76
|
-
}
|
|
77
|
-
case ASSUME_UNKEYED_SINCE_FIRST_PARAM_NOT_STRING: {
|
|
78
|
-
requireThat(!isKeyed, "Trying to call a keyed handler with a missing key. This could happen if the first argument passed is not a 'string'.");
|
|
79
|
-
return { request: request.request };
|
|
80
|
-
}
|
|
81
|
-
case ASSUME_UNKEYED_SINCE_ZERO_ARGS: {
|
|
82
|
-
requireThat(!isKeyed, "A keyed handler must at least be invoked with a single non empty string argument, that represents the key. 0 arguments given.");
|
|
83
|
-
return { request: request.request };
|
|
84
|
-
}
|
|
85
|
-
case ASSUME_KEYED_SINCE_TWO_ARGS_STR_AND_ANY: {
|
|
86
|
-
requireThat(isKeyed, "An unkeyed handler must have at most 1 argument. two given.");
|
|
87
|
-
return { key: request.key, request: request.request };
|
|
88
|
-
}
|
|
89
|
-
case ASSUME_EITHER_KEYED_OR_UNKEYED_ONE_STR_ARG: {
|
|
90
|
-
if (isKeyed) {
|
|
91
|
-
return { key: request.key };
|
|
92
|
-
}
|
|
93
|
-
return { request: request.key };
|
|
94
|
-
}
|
|
95
|
-
default: {
|
|
96
|
-
throw new errors_1.TerminalError(`Unknown assumption id ${assumpsion}. This indicates an incorrect (or involuntary) setting of the assumption property at the ingress request, or an SDK bug.`);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
exports.verifyAssumptions = verifyAssumptions;
|
|
101
|
-
//# sourceMappingURL=assumpsions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assumpsions.js","sourceRoot":"","sources":["../../src/utils/assumpsions.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/logger.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023 - Restate Software, Inc., Restate GmbH
|
|
4
|
-
*
|
|
5
|
-
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
6
|
-
* which is released under the MIT license.
|
|
7
|
-
*
|
|
8
|
-
* You can find a copy of the license in file LICENSE in the root
|
|
9
|
-
* directory of this repository or package, or at
|
|
10
|
-
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.rlog = exports.DEBUG_LOG_LEVEL = exports.DEBUG_LOGGING_ENV = void 0;
|
|
14
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
15
|
-
/* eslint-disable no-console */
|
|
16
|
-
const protocol_1 = require("../types/protocol");
|
|
17
|
-
const utils_1 = require("./utils");
|
|
18
|
-
/**
|
|
19
|
-
* The environment variable which is read to determine the debug log settings.
|
|
20
|
-
*/
|
|
21
|
-
exports.DEBUG_LOGGING_ENV = "RESTATE_DEBUG_LOGGING";
|
|
22
|
-
/**
|
|
23
|
-
* The values for the {@link DEBUG_LOGGING_ENV} variable.
|
|
24
|
-
*/
|
|
25
|
-
var DEBUG_LOG_LEVEL;
|
|
26
|
-
(function (DEBUG_LOG_LEVEL) {
|
|
27
|
-
/** No debug logging at all. Good for performance and avoid per-invocation log volume */
|
|
28
|
-
DEBUG_LOG_LEVEL["OFF"] = "OFF";
|
|
29
|
-
/** Logs debug information for every Restate function invocation. */
|
|
30
|
-
DEBUG_LOG_LEVEL["INVOKE"] = "INVOKE";
|
|
31
|
-
/** Logs debug information for every Restate effect (=journal event) inside an invocation,
|
|
32
|
-
* like RPC, state access, sideEffect, ... */
|
|
33
|
-
DEBUG_LOG_LEVEL["JOURNAL"] = "JOURNAL";
|
|
34
|
-
/** Logs debug information for every Restate effect (=journal event) inside an invocation,
|
|
35
|
-
* like RPC, state access, sideEffect, ... Additionally, this adds a JSON representation
|
|
36
|
-
* of the journal message to the log. */
|
|
37
|
-
DEBUG_LOG_LEVEL["JOURNAL_VERBOSE"] = "JOURNAL_VERBOSE";
|
|
38
|
-
})(DEBUG_LOG_LEVEL = exports.DEBUG_LOG_LEVEL || (exports.DEBUG_LOG_LEVEL = {}));
|
|
39
|
-
const log_setting = process.env[exports.DEBUG_LOGGING_ENV]?.toUpperCase();
|
|
40
|
-
const verbose_journal_event_logging = log_setting == DEBUG_LOG_LEVEL.JOURNAL_VERBOSE;
|
|
41
|
-
const journal_event_logging = verbose_journal_event_logging || log_setting == DEBUG_LOG_LEVEL.JOURNAL;
|
|
42
|
-
const invoke_event_logging = journal_event_logging ||
|
|
43
|
-
log_setting == DEBUG_LOG_LEVEL.INVOKE ||
|
|
44
|
-
(log_setting != DEBUG_LOG_LEVEL.OFF &&
|
|
45
|
-
process.env["NODE_ENV"]?.toLowerCase() !== "production");
|
|
46
|
-
// ----------------------------------------------------------------------------
|
|
47
|
-
// build restate logger
|
|
48
|
-
// ----------------------------------------------------------------------------
|
|
49
|
-
// effectively duplicate the console object (new object with same prototype)
|
|
50
|
-
// to override some specific methods
|
|
51
|
-
const restate_logger = Object.create(console);
|
|
52
|
-
restate_logger.log = (message, ...optionalParams) => {
|
|
53
|
-
console.log(`[restate] [${new Date().toISOString()}] LOG: ${message}`, ...optionalParams);
|
|
54
|
-
};
|
|
55
|
-
restate_logger.info = (message, ...optionalParams) => {
|
|
56
|
-
console.info(`[restate] [${new Date().toISOString()}] INFO: ${message}`, ...optionalParams);
|
|
57
|
-
};
|
|
58
|
-
restate_logger.warn = (message, ...optionalParams) => {
|
|
59
|
-
console.warn(`[restate] [${new Date().toISOString()}] WARN: ${message}`, ...optionalParams);
|
|
60
|
-
};
|
|
61
|
-
restate_logger.error = (message, ...optionalParams) => {
|
|
62
|
-
console.error(`[restate] [${new Date().toISOString()}] ERROR: ${message}`, ...optionalParams);
|
|
63
|
-
};
|
|
64
|
-
restate_logger.debug = (message, ...optionalParams) => {
|
|
65
|
-
console.debug(`[restate] [${new Date().toISOString()}] DEBUG: ${message}`, ...optionalParams);
|
|
66
|
-
};
|
|
67
|
-
restate_logger.trace = (message, ...optionalParams) => {
|
|
68
|
-
console.trace(`[restate] [${new Date().toISOString()}] TRACE: ${message}`, ...optionalParams);
|
|
69
|
-
};
|
|
70
|
-
restate_logger.debugInvokeMessage = function (invocationInfo, logMessage) {
|
|
71
|
-
if (!invoke_event_logging) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
const msg = `[restate] [${new Date().toISOString()}] DEBUG: ${invocationInfo} : ${logMessage}`;
|
|
75
|
-
console.debug(msg);
|
|
76
|
-
};
|
|
77
|
-
restate_logger.debugJournalMessage = function (invocationInfo, logMessage, messageType, message) {
|
|
78
|
-
if (!journal_event_logging) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
const type = messageType !== undefined
|
|
82
|
-
? " ; " + protocol_1.PROTOBUF_MESSAGE_NAME_BY_TYPE.get(messageType) ||
|
|
83
|
-
"" + messageType
|
|
84
|
-
: "";
|
|
85
|
-
const journalEvent = verbose_journal_event_logging && message !== undefined
|
|
86
|
-
? " : " + (0, utils_1.printMessageAsJson)(message)
|
|
87
|
-
: "";
|
|
88
|
-
console.debug(`[restate] [${new Date().toISOString()}] DEBUG: ${invocationInfo} : ${logMessage}${type}${journalEvent}`);
|
|
89
|
-
};
|
|
90
|
-
/**
|
|
91
|
-
* The RestateLogger lets us add some extra information to logging statements:
|
|
92
|
-
* [restate] [timestamp] INFO/WARN/ERROR/DEBUG/TRACE <log-message>.
|
|
93
|
-
*
|
|
94
|
-
* It also adds the methods {@link RestateConsole.debugInvokeMessage} and *
|
|
95
|
-
* {@link RestateConsole.debugJournalMessage} for optional intensive (per
|
|
96
|
-
* invocation / per journal message) logging.
|
|
97
|
-
*
|
|
98
|
-
* We don't override the console here, to make sure that this only applies to Restate
|
|
99
|
-
* log lines, and not to logging from application code.
|
|
100
|
-
*/
|
|
101
|
-
exports.rlog = restate_logger;
|
|
102
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/utils/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023 - Restate Software, Inc., Restate GmbH
|
|
4
|
-
*
|
|
5
|
-
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
6
|
-
* which is released under the MIT license.
|
|
7
|
-
*
|
|
8
|
-
* You can find a copy of the license in file LICENSE in the root
|
|
9
|
-
* directory of this repository or package, or at
|
|
10
|
-
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.NO_RETRIES = exports.DEFAULT_INFINITE_EXPONENTIAL_BACKOFF = exports.DEFAULT_INITIAL_DELAY_MS = exports.EXPONENTIAL_BACKOFF = exports.FIXED_DELAY = void 0;
|
|
14
|
-
/**
|
|
15
|
-
* A {@link RetryPolicy} that keeps a fixed delay between retries.
|
|
16
|
-
*/
|
|
17
|
-
exports.FIXED_DELAY = {
|
|
18
|
-
computeNextDelay(previousDelayMs) {
|
|
19
|
-
return previousDelayMs;
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* A {@link RetryPolicy} that does an exponential backoff delay between retries.
|
|
24
|
-
* Each delay is twice as long as the previous delay.
|
|
25
|
-
*/
|
|
26
|
-
exports.EXPONENTIAL_BACKOFF = {
|
|
27
|
-
computeNextDelay(previousDelayMs) {
|
|
28
|
-
return 2 * previousDelayMs;
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* The default initial delay between retries: 10 milliseconds.
|
|
33
|
-
*/
|
|
34
|
-
exports.DEFAULT_INITIAL_DELAY_MS = 10;
|
|
35
|
-
/**
|
|
36
|
-
* Default retry policy that retries an infinite number of times, with exponential backoff
|
|
37
|
-
* and a starting delay of 10 milliseconds.
|
|
38
|
-
*/
|
|
39
|
-
exports.DEFAULT_INFINITE_EXPONENTIAL_BACKOFF = {
|
|
40
|
-
initialDelayMs: exports.DEFAULT_INITIAL_DELAY_MS,
|
|
41
|
-
maxDelayMs: Number.MAX_SAFE_INTEGER,
|
|
42
|
-
maxRetries: Number.MAX_SAFE_INTEGER,
|
|
43
|
-
policy: exports.EXPONENTIAL_BACKOFF,
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Retry policy that does no retries.
|
|
47
|
-
*/
|
|
48
|
-
exports.NO_RETRIES = { maxRetries: 0 };
|
|
49
|
-
//# sourceMappingURL=public_utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"public_utils.js","sourceRoot":"","sources":["../../src/utils/public_utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AASH;;GAEG;AACU,QAAA,WAAW,GAAgB;IACtC,gBAAgB,CAAC,eAAuB;QACtC,OAAO,eAAe,CAAC;IACzB,CAAC;CACF,CAAC;AAEF;;;GAGG;AACU,QAAA,mBAAmB,GAAgB;IAC9C,gBAAgB,CAAC,eAAuB;QACtC,OAAO,CAAC,GAAG,eAAe,CAAC;IAC7B,CAAC;CACF,CAAC;AAoCF;;GAEG;AACU,QAAA,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;;GAGG;AACU,QAAA,oCAAoC,GAAkB;IACjE,cAAc,EAAE,gCAAwB;IACxC,UAAU,EAAE,MAAM,CAAC,gBAAgB;IACnC,UAAU,EAAE,MAAM,CAAC,gBAAgB;IACnC,MAAM,EAAE,2BAAmB;CAC5B,CAAC;AAEF;;GAEG;AACU,QAAA,UAAU,GAAkB,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC"}
|
package/dist/utils/rand.js
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023 - Restate Software, Inc., Restate GmbH
|
|
4
|
-
*
|
|
5
|
-
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
6
|
-
* which is released under the MIT license.
|
|
7
|
-
*
|
|
8
|
-
* You can find a copy of the license in file LICENSE in the root
|
|
9
|
-
* directory of this repository or package, or at
|
|
10
|
-
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.RandImpl = void 0;
|
|
14
|
-
const errors_1 = require("../types/errors");
|
|
15
|
-
const restate_context_impl_1 = require("../restate_context_impl");
|
|
16
|
-
const crypto_1 = require("crypto");
|
|
17
|
-
class RandImpl {
|
|
18
|
-
randstate256;
|
|
19
|
-
constructor(id) {
|
|
20
|
-
if (id instanceof Buffer) {
|
|
21
|
-
// hash the invocation ID, which is known to contain 74 bits of entropy
|
|
22
|
-
const hash = (0, crypto_1.createHash)("sha256").update(id).digest();
|
|
23
|
-
this.randstate256 = [
|
|
24
|
-
hash.readBigUInt64LE(0),
|
|
25
|
-
hash.readBigUInt64LE(8),
|
|
26
|
-
hash.readBigUInt64LE(16),
|
|
27
|
-
hash.readBigUInt64LE(24),
|
|
28
|
-
];
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
this.randstate256 = id;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
static U64_MASK = (1n << 64n) - 1n;
|
|
35
|
-
// xoshiro256++
|
|
36
|
-
// https://prng.di.unimi.it/xoshiro256plusplus.c - public domain
|
|
37
|
-
u64() {
|
|
38
|
-
const result = (RandImpl.rotl((this.randstate256[0] + this.randstate256[3]) & RandImpl.U64_MASK, 23n) +
|
|
39
|
-
this.randstate256[0]) &
|
|
40
|
-
RandImpl.U64_MASK;
|
|
41
|
-
const t = (this.randstate256[1] << 17n) & RandImpl.U64_MASK;
|
|
42
|
-
this.randstate256[2] ^= this.randstate256[0];
|
|
43
|
-
this.randstate256[3] ^= this.randstate256[1];
|
|
44
|
-
this.randstate256[1] ^= this.randstate256[2];
|
|
45
|
-
this.randstate256[0] ^= this.randstate256[3];
|
|
46
|
-
this.randstate256[2] ^= t;
|
|
47
|
-
this.randstate256[3] = RandImpl.rotl(this.randstate256[3], 45n);
|
|
48
|
-
return result;
|
|
49
|
-
}
|
|
50
|
-
static rotl(x, k) {
|
|
51
|
-
return ((x << k) & RandImpl.U64_MASK) | (x >> (64n - k));
|
|
52
|
-
}
|
|
53
|
-
checkContext() {
|
|
54
|
-
const context = restate_context_impl_1.RestateGrpcContextImpl.callContext.getStore();
|
|
55
|
-
if (context && context.type === restate_context_impl_1.CallContexType.SideEffect) {
|
|
56
|
-
throw new errors_1.TerminalError(`You may not call methods on Rand from within a side effect.`, { errorCode: errors_1.ErrorCodes.INTERNAL });
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
static U53_MASK = (1n << 53n) - 1n;
|
|
60
|
-
random() {
|
|
61
|
-
this.checkContext();
|
|
62
|
-
// first generate a uint in range [0,2^53), which can be mapped 1:1 to a float64 in [0,1)
|
|
63
|
-
const u53 = this.u64() & RandImpl.U53_MASK;
|
|
64
|
-
// then divide by 2^53, which will simply update the exponent
|
|
65
|
-
return Number(u53) / 2 ** 53;
|
|
66
|
-
}
|
|
67
|
-
uuidv4() {
|
|
68
|
-
this.checkContext();
|
|
69
|
-
const buf = Buffer.alloc(16);
|
|
70
|
-
buf.writeBigUInt64LE(this.u64(), 0);
|
|
71
|
-
buf.writeBigUInt64LE(this.u64(), 8);
|
|
72
|
-
// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
73
|
-
buf[6] = (buf[6] & 0x0f) | 0x40;
|
|
74
|
-
buf[8] = (buf[8] & 0x3f) | 0x80;
|
|
75
|
-
return uuidStringify(buf);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
exports.RandImpl = RandImpl;
|
|
79
|
-
const byteToHex = [];
|
|
80
|
-
for (let i = 0; i < 256; ++i) {
|
|
81
|
-
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Convert array of 16 byte values to UUID string format of the form:
|
|
85
|
-
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
86
|
-
*/
|
|
87
|
-
function uuidStringify(arr, offset = 0) {
|
|
88
|
-
// Note: Be careful editing this code! It's been tuned for performance
|
|
89
|
-
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
|
|
90
|
-
//
|
|
91
|
-
// Note to future-self: No, you can't remove the `toLowerCase()` call.
|
|
92
|
-
// REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351
|
|
93
|
-
return (byteToHex[arr[offset + 0]] +
|
|
94
|
-
byteToHex[arr[offset + 1]] +
|
|
95
|
-
byteToHex[arr[offset + 2]] +
|
|
96
|
-
byteToHex[arr[offset + 3]] +
|
|
97
|
-
"-" +
|
|
98
|
-
byteToHex[arr[offset + 4]] +
|
|
99
|
-
byteToHex[arr[offset + 5]] +
|
|
100
|
-
"-" +
|
|
101
|
-
byteToHex[arr[offset + 6]] +
|
|
102
|
-
byteToHex[arr[offset + 7]] +
|
|
103
|
-
"-" +
|
|
104
|
-
byteToHex[arr[offset + 8]] +
|
|
105
|
-
byteToHex[arr[offset + 9]] +
|
|
106
|
-
"-" +
|
|
107
|
-
byteToHex[arr[offset + 10]] +
|
|
108
|
-
byteToHex[arr[offset + 11]] +
|
|
109
|
-
byteToHex[arr[offset + 12]] +
|
|
110
|
-
byteToHex[arr[offset + 13]] +
|
|
111
|
-
byteToHex[arr[offset + 14]] +
|
|
112
|
-
byteToHex[arr[offset + 15]]).toLowerCase();
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=rand.js.map
|
package/dist/utils/rand.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rand.js","sourceRoot":"","sources":["../../src/utils/rand.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAMH,4CAA4D;AAC5D,kEAGiC;AACjC,mCAAoC;AAEpC,MAAa,QAAQ;IACX,YAAY,CAAmC;IAEvD,YAAY,EAA6C;QACvD,IAAI,EAAE,YAAY,MAAM,EAAE;YACxB,uEAAuE;YACvE,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YAEtD,IAAI,CAAC,YAAY,GAAG;gBAClB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;aACzB,CAAC;SACH;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;IAEnC,eAAe;IACf,gEAAgE;IAChE,GAAG;QACD,MAAM,MAAM,GACV,CAAC,QAAQ,CAAC,IAAI,CACZ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,EACjE,GAAG,CACJ;YACC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACvB,QAAQ,CAAC,QAAQ,CAAC;QAEpB,MAAM,CAAC,GAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAEpE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEhE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAS,EAAE,CAAS;QAC9B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,YAAY;QACV,MAAM,OAAO,GAAG,6CAAsB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9D,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,qCAAc,CAAC,UAAU,EAAE;YACzD,MAAM,IAAI,sBAAa,CACrB,6DAA6D,EAC7D,EAAE,SAAS,EAAE,mBAAU,CAAC,QAAQ,EAAE,CACnC,CAAC;SACH;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;IAE5B,MAAM;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,yFAAyF;QACzF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC3C,6DAA6D;QAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACpC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACpC,gEAAgE;QAChE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAChC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;;AAjFH,4BAkFC;AAED,MAAM,SAAS,GAAa,EAAE,CAAC;AAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;IAC5B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;CACnD;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,GAAW,EAAE,MAAM,GAAG,CAAC;IAC5C,uEAAuE;IACvE,oFAAoF;IACpF,EAAE;IACF,sEAAsE;IACtE,uEAAuE;IACvE,OAAO,CACL,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1B,GAAG;QACH,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAC5B,CAAC,WAAW,EAAE,CAAC;AAClB,CAAC"}
|
package/dist/utils/utils.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023 - Restate Software, Inc., Restate GmbH
|
|
4
|
-
*
|
|
5
|
-
* This file is part of the Restate SDK for Node.js/TypeScript,
|
|
6
|
-
* which is released under the MIT license.
|
|
7
|
-
*
|
|
8
|
-
* You can find a copy of the license in file LICENSE in the root
|
|
9
|
-
* directory of this repository or package, or at
|
|
10
|
-
* https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.equalityCheckers = exports.makeFqServiceName = exports.printMessageAsJson = exports.jsonSafeAny = exports.jsonDeserialize = exports.jsonSerialize = exports.CompletablePromise = void 0;
|
|
14
|
-
const protocol_1 = require("../types/protocol");
|
|
15
|
-
class CompletablePromise {
|
|
16
|
-
success;
|
|
17
|
-
failure;
|
|
18
|
-
promise;
|
|
19
|
-
constructor() {
|
|
20
|
-
this.promise = new Promise((resolve, reject) => {
|
|
21
|
-
this.success = resolve;
|
|
22
|
-
this.failure = reject;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
resolve(value) {
|
|
26
|
-
this.success(value);
|
|
27
|
-
}
|
|
28
|
-
reject(reason) {
|
|
29
|
-
this.failure(reason);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.CompletablePromise = CompletablePromise;
|
|
33
|
-
function jsonSerialize(obj) {
|
|
34
|
-
return JSON.stringify(obj, (_, v) => typeof v === "bigint" ? "BIGINT::" + v.toString() : v);
|
|
35
|
-
}
|
|
36
|
-
exports.jsonSerialize = jsonSerialize;
|
|
37
|
-
function jsonDeserialize(json) {
|
|
38
|
-
return JSON.parse(json, (_, v) => typeof v === "string" && v.startsWith("BIGINT::")
|
|
39
|
-
? BigInt(v.substring(8))
|
|
40
|
-
: v);
|
|
41
|
-
}
|
|
42
|
-
exports.jsonDeserialize = jsonDeserialize;
|
|
43
|
-
// When using google.protobuf.Value in RPC handler responses, we want to roughly match the behaviour of JSON.stringify
|
|
44
|
-
// for example in converting Date objects to a UTC string
|
|
45
|
-
function jsonSafeAny(key, value) {
|
|
46
|
-
if (value !== undefined &&
|
|
47
|
-
value !== null &&
|
|
48
|
-
typeof value.toJSON == "function") {
|
|
49
|
-
return value.toJSON(key);
|
|
50
|
-
}
|
|
51
|
-
else if (globalThis.Array.isArray(value)) {
|
|
52
|
-
// in place replace
|
|
53
|
-
value.forEach((_, i) => (value[i] = jsonSafeAny(i.toString(), value[i])));
|
|
54
|
-
return value;
|
|
55
|
-
}
|
|
56
|
-
else if (typeof value === "object") {
|
|
57
|
-
Object.keys(value).forEach((key) => {
|
|
58
|
-
value[key] = jsonSafeAny(key, value[key]);
|
|
59
|
-
});
|
|
60
|
-
return value;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
// primitive that doesn't have a toJSON method, with no children
|
|
64
|
-
return value;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
exports.jsonSafeAny = jsonSafeAny;
|
|
68
|
-
function printMessageAsJson(obj) {
|
|
69
|
-
const newObj = { ...obj };
|
|
70
|
-
for (const [key, value] of Object.entries(newObj)) {
|
|
71
|
-
if (Buffer.isBuffer(value)) {
|
|
72
|
-
newObj[key] = value.toString().trim();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Stringify object. Replace bigintToString serializer to prevent "BigInt not serializable" errors
|
|
76
|
-
return JSON.stringify(obj, (_, v) => typeof v === "bigint" ? v.toString() + "n" : v);
|
|
77
|
-
}
|
|
78
|
-
exports.printMessageAsJson = printMessageAsJson;
|
|
79
|
-
function makeFqServiceName(pckg, name) {
|
|
80
|
-
return pckg ? `${pckg}.${name}` : name;
|
|
81
|
-
}
|
|
82
|
-
exports.makeFqServiceName = makeFqServiceName;
|
|
83
|
-
/**
|
|
84
|
-
* Equality functions
|
|
85
|
-
* @param msg1 the current message from user code
|
|
86
|
-
* @param msg2 the replayed message
|
|
87
|
-
*/
|
|
88
|
-
// These functions are used to check whether a replayed message matches the current user code.
|
|
89
|
-
// We check the fields which we can check
|
|
90
|
-
// (the fields which do not contain results, because these might be filled in the result)
|
|
91
|
-
const getStateMsgEquality = (msg1, msg2) => {
|
|
92
|
-
return msg1.key.equals(msg2.key);
|
|
93
|
-
};
|
|
94
|
-
const invokeMsgEquality = (msg1, msg2) => {
|
|
95
|
-
return (msg1.serviceName === msg2.serviceName &&
|
|
96
|
-
msg1.methodName === msg2.methodName &&
|
|
97
|
-
msg1.parameter.equals(msg2.parameter));
|
|
98
|
-
};
|
|
99
|
-
const setStateMsgEquality = (msg1, msg2) => {
|
|
100
|
-
return msg1.key.equals(msg2.key) && msg1.value.equals(msg2.value);
|
|
101
|
-
};
|
|
102
|
-
const clearStateMsgEquality = (msg1, msg2) => {
|
|
103
|
-
return msg1.key.equals(msg2.key);
|
|
104
|
-
};
|
|
105
|
-
const completeAwakeableMsgEquality = (msg1, msg2) => {
|
|
106
|
-
if (!(msg1.id === msg2.id)) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
if (msg1.value && msg2.value) {
|
|
110
|
-
return msg1.value.equals(msg2.value);
|
|
111
|
-
}
|
|
112
|
-
else if (msg1.failure && msg2.failure) {
|
|
113
|
-
return (msg1.failure?.code === msg2.failure?.code &&
|
|
114
|
-
msg1.failure?.message === msg2.failure?.message);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
return false;
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
const outputMsgEquality = (msg1, msg2) => {
|
|
121
|
-
if (msg1.value && msg2.value) {
|
|
122
|
-
return msg1.value.equals(msg2.value);
|
|
123
|
-
}
|
|
124
|
-
else if (msg1.failure && msg2.failure) {
|
|
125
|
-
return (msg1.failure?.code === msg2.failure?.code &&
|
|
126
|
-
msg1.failure?.message === msg2.failure?.message);
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
exports.equalityCheckers = new Map([
|
|
133
|
-
[protocol_1.GET_STATE_ENTRY_MESSAGE_TYPE, getStateMsgEquality],
|
|
134
|
-
[protocol_1.SET_STATE_ENTRY_MESSAGE_TYPE, setStateMsgEquality],
|
|
135
|
-
[protocol_1.CLEAR_STATE_ENTRY_MESSAGE_TYPE, clearStateMsgEquality],
|
|
136
|
-
[protocol_1.INVOKE_ENTRY_MESSAGE_TYPE, invokeMsgEquality],
|
|
137
|
-
[protocol_1.BACKGROUND_INVOKE_ENTRY_MESSAGE_TYPE, invokeMsgEquality],
|
|
138
|
-
[protocol_1.COMPLETE_AWAKEABLE_ENTRY_MESSAGE_TYPE, completeAwakeableMsgEquality],
|
|
139
|
-
[protocol_1.OUTPUT_STREAM_ENTRY_MESSAGE_TYPE, outputMsgEquality],
|
|
140
|
-
[protocol_1.AWAKEABLE_ENTRY_MESSAGE_TYPE, () => true],
|
|
141
|
-
[protocol_1.SIDE_EFFECT_ENTRY_MESSAGE_TYPE, () => true],
|
|
142
|
-
[protocol_1.SLEEP_ENTRY_MESSAGE_TYPE, () => true],
|
|
143
|
-
]);
|
|
144
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/utils/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|