@jbrowse/mobx-state-tree 5.7.1 → 5.8.7
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 +0 -10
- package/dist/index.d.ts +2135 -2
- package/dist/mobx-state-tree.cjs +6894 -0
- package/dist/mobx-state-tree.cjs.map +1 -0
- package/dist/mobx-state-tree.mjs +6814 -0
- package/dist/mobx-state-tree.mjs.map +1 -0
- package/package.json +30 -26
- package/dist/core/action.d.ts +0 -87
- package/dist/core/action.js +0 -228
- package/dist/core/action.js.map +0 -1
- package/dist/core/actionContext.d.ts +0 -27
- package/dist/core/actionContext.js +0 -42
- package/dist/core/actionContext.js.map +0 -1
- package/dist/core/flow.d.ts +0 -69
- package/dist/core/flow.js +0 -180
- package/dist/core/flow.js.map +0 -1
- package/dist/core/json-patch.d.ts +0 -46
- package/dist/core/json-patch.js +0 -133
- package/dist/core/json-patch.js.map +0 -1
- package/dist/core/mst-operations.d.ts +0 -459
- package/dist/core/mst-operations.js +0 -885
- package/dist/core/mst-operations.js.map +0 -1
- package/dist/core/node/BaseNode.d.ts +0 -62
- package/dist/core/node/BaseNode.js +0 -152
- package/dist/core/node/BaseNode.js.map +0 -1
- package/dist/core/node/Hook.d.ts +0 -17
- package/dist/core/node/Hook.js +0 -15
- package/dist/core/node/Hook.js.map +0 -1
- package/dist/core/node/create-node.d.ts +0 -16
- package/dist/core/node/create-node.js +0 -41
- package/dist/core/node/create-node.js.map +0 -1
- package/dist/core/node/identifier-cache.d.ts +0 -19
- package/dist/core/node/identifier-cache.js +0 -115
- package/dist/core/node/identifier-cache.js.map +0 -1
- package/dist/core/node/livelinessChecking.d.ts +0 -37
- package/dist/core/node/livelinessChecking.js +0 -38
- package/dist/core/node/livelinessChecking.js.map +0 -1
- package/dist/core/node/node-utils.d.ts +0 -83
- package/dist/core/node/node-utils.js +0 -165
- package/dist/core/node/node-utils.js.map +0 -1
- package/dist/core/node/object-node.d.ts +0 -101
- package/dist/core/node/object-node.js +0 -546
- package/dist/core/node/object-node.js.map +0 -1
- package/dist/core/node/scalar-node.d.ts +0 -21
- package/dist/core/node/scalar-node.js +0 -90
- package/dist/core/node/scalar-node.js.map +0 -1
- package/dist/core/process.d.ts +0 -50
- package/dist/core/process.js +0 -39
- package/dist/core/process.js.map +0 -1
- package/dist/core/type/type-checker.d.ts +0 -69
- package/dist/core/type/type-checker.js +0 -154
- package/dist/core/type/type-checker.js.map +0 -1
- package/dist/core/type/type.d.ts +0 -317
- package/dist/core/type/type.js +0 -251
- package/dist/core/type/type.js.map +0 -1
- package/dist/index.js +0 -85
- package/dist/index.js.map +0 -1
- package/dist/internal.d.ts +0 -39
- package/dist/internal.js +0 -60
- package/dist/internal.js.map +0 -1
- package/dist/middlewares/create-action-tracking-middleware.d.ts +0 -24
- package/dist/middlewares/create-action-tracking-middleware.js +0 -81
- package/dist/middlewares/create-action-tracking-middleware.js.map +0 -1
- package/dist/middlewares/createActionTrackingMiddleware2.d.ts +0 -34
- package/dist/middlewares/createActionTrackingMiddleware2.js +0 -133
- package/dist/middlewares/createActionTrackingMiddleware2.js.map +0 -1
- package/dist/middlewares/on-action.d.ts +0 -87
- package/dist/middlewares/on-action.js +0 -215
- package/dist/middlewares/on-action.js.map +0 -1
- package/dist/package.json +0 -1
- package/dist/types/complex-types/array.d.ts +0 -81
- package/dist/types/complex-types/array.js +0 -353
- package/dist/types/complex-types/array.js.map +0 -1
- package/dist/types/complex-types/map.d.ts +0 -111
- package/dist/types/complex-types/map.js +0 -362
- package/dist/types/complex-types/map.js.map +0 -1
- package/dist/types/complex-types/model.d.ts +0 -193
- package/dist/types/complex-types/model.js +0 -478
- package/dist/types/complex-types/model.js.map +0 -1
- package/dist/types/index.d.ts +0 -33
- package/dist/types/index.js +0 -38
- package/dist/types/index.js.map +0 -1
- package/dist/types/primitives.d.ts +0 -125
- package/dist/types/primitives.js +0 -183
- package/dist/types/primitives.js.map +0 -1
- package/dist/types/utility-types/custom.d.ts +0 -75
- package/dist/types/utility-types/custom.js +0 -111
- package/dist/types/utility-types/custom.js.map +0 -1
- package/dist/types/utility-types/enumeration.d.ts +0 -5
- package/dist/types/utility-types/enumeration.js +0 -34
- package/dist/types/utility-types/enumeration.js.map +0 -1
- package/dist/types/utility-types/frozen.d.ts +0 -24
- package/dist/types/utility-types/frozen.js +0 -98
- package/dist/types/utility-types/frozen.js.map +0 -1
- package/dist/types/utility-types/identifier.d.ts +0 -87
- package/dist/types/utility-types/identifier.js +0 -130
- package/dist/types/utility-types/identifier.js.map +0 -1
- package/dist/types/utility-types/late.d.ts +0 -10
- package/dist/types/utility-types/late.js +0 -110
- package/dist/types/utility-types/late.js.map +0 -1
- package/dist/types/utility-types/lazy.d.ts +0 -23
- package/dist/types/utility-types/lazy.js +0 -77
- package/dist/types/utility-types/lazy.js.map +0 -1
- package/dist/types/utility-types/literal.d.ts +0 -38
- package/dist/types/utility-types/literal.js +0 -64
- package/dist/types/utility-types/literal.js.map +0 -1
- package/dist/types/utility-types/maybe.d.ts +0 -26
- package/dist/types/utility-types/maybe.js +0 -30
- package/dist/types/utility-types/maybe.js.map +0 -1
- package/dist/types/utility-types/optional.d.ts +0 -42
- package/dist/types/utility-types/optional.js +0 -141
- package/dist/types/utility-types/optional.js.map +0 -1
- package/dist/types/utility-types/reference.d.ts +0 -90
- package/dist/types/utility-types/reference.js +0 -393
- package/dist/types/utility-types/reference.js.map +0 -1
- package/dist/types/utility-types/refinement.d.ts +0 -10
- package/dist/types/utility-types/refinement.js +0 -86
- package/dist/types/utility-types/refinement.js.map +0 -1
- package/dist/types/utility-types/resilient.d.ts +0 -18
- package/dist/types/utility-types/resilient.js +0 -121
- package/dist/types/utility-types/resilient.js.map +0 -1
- package/dist/types/utility-types/snapshotProcessor.d.ts +0 -63
- package/dist/types/utility-types/snapshotProcessor.js +0 -162
- package/dist/types/utility-types/snapshotProcessor.js.map +0 -1
- package/dist/types/utility-types/union.d.ts +0 -78
- package/dist/types/utility-types/union.js +0 -246
- package/dist/types/utility-types/union.js.map +0 -1
- package/dist/utils.d.ts +0 -230
- package/dist/utils.js +0 -483
- package/dist/utils.js.map +0 -1
- package/esm/core/action.d.ts +0 -87
- package/esm/core/action.js +0 -219
- package/esm/core/action.js.map +0 -1
- package/esm/core/actionContext.d.ts +0 -27
- package/esm/core/actionContext.js +0 -37
- package/esm/core/actionContext.js.map +0 -1
- package/esm/core/flow.d.ts +0 -69
- package/esm/core/flow.js +0 -173
- package/esm/core/flow.js.map +0 -1
- package/esm/core/json-patch.d.ts +0 -46
- package/esm/core/json-patch.js +0 -125
- package/esm/core/json-patch.js.map +0 -1
- package/esm/core/mst-operations.d.ts +0 -459
- package/esm/core/mst-operations.js +0 -844
- package/esm/core/mst-operations.js.map +0 -1
- package/esm/core/node/BaseNode.d.ts +0 -62
- package/esm/core/node/BaseNode.js +0 -148
- package/esm/core/node/BaseNode.js.map +0 -1
- package/esm/core/node/Hook.d.ts +0 -17
- package/esm/core/node/Hook.js +0 -12
- package/esm/core/node/Hook.js.map +0 -1
- package/esm/core/node/create-node.d.ts +0 -16
- package/esm/core/node/create-node.js +0 -36
- package/esm/core/node/create-node.js.map +0 -1
- package/esm/core/node/identifier-cache.d.ts +0 -19
- package/esm/core/node/identifier-cache.js +0 -111
- package/esm/core/node/identifier-cache.js.map +0 -1
- package/esm/core/node/livelinessChecking.d.ts +0 -37
- package/esm/core/node/livelinessChecking.js +0 -33
- package/esm/core/node/livelinessChecking.js.map +0 -1
- package/esm/core/node/node-utils.d.ts +0 -83
- package/esm/core/node/node-utils.js +0 -153
- package/esm/core/node/node-utils.js.map +0 -1
- package/esm/core/node/object-node.d.ts +0 -101
- package/esm/core/node/object-node.js +0 -542
- package/esm/core/node/object-node.js.map +0 -1
- package/esm/core/node/scalar-node.d.ts +0 -21
- package/esm/core/node/scalar-node.js +0 -86
- package/esm/core/node/scalar-node.js.map +0 -1
- package/esm/core/process.d.ts +0 -50
- package/esm/core/process.js +0 -35
- package/esm/core/process.js.map +0 -1
- package/esm/core/type/type-checker.d.ts +0 -69
- package/esm/core/type/type-checker.js +0 -144
- package/esm/core/type/type-checker.js.map +0 -1
- package/esm/core/type/type.d.ts +0 -317
- package/esm/core/type/type.js +0 -243
- package/esm/core/type/type.js.map +0 -1
- package/esm/index.d.ts +0 -2
- package/esm/index.js +0 -2
- package/esm/index.js.map +0 -1
- package/esm/internal.d.ts +0 -39
- package/esm/internal.js +0 -44
- package/esm/internal.js.map +0 -1
- package/esm/middlewares/create-action-tracking-middleware.d.ts +0 -24
- package/esm/middlewares/create-action-tracking-middleware.js +0 -78
- package/esm/middlewares/create-action-tracking-middleware.js.map +0 -1
- package/esm/middlewares/createActionTrackingMiddleware2.d.ts +0 -34
- package/esm/middlewares/createActionTrackingMiddleware2.js +0 -130
- package/esm/middlewares/createActionTrackingMiddleware2.js.map +0 -1
- package/esm/middlewares/on-action.d.ts +0 -87
- package/esm/middlewares/on-action.js +0 -210
- package/esm/middlewares/on-action.js.map +0 -1
- package/esm/types/complex-types/array.d.ts +0 -81
- package/esm/types/complex-types/array.js +0 -347
- package/esm/types/complex-types/array.js.map +0 -1
- package/esm/types/complex-types/map.d.ts +0 -111
- package/esm/types/complex-types/map.js +0 -356
- package/esm/types/complex-types/map.js.map +0 -1
- package/esm/types/complex-types/model.d.ts +0 -193
- package/esm/types/complex-types/model.js +0 -471
- package/esm/types/complex-types/model.js.map +0 -1
- package/esm/types/index.d.ts +0 -33
- package/esm/types/index.js +0 -35
- package/esm/types/index.js.map +0 -1
- package/esm/types/primitives.d.ts +0 -125
- package/esm/types/primitives.js +0 -177
- package/esm/types/primitives.js.map +0 -1
- package/esm/types/utility-types/custom.d.ts +0 -75
- package/esm/types/utility-types/custom.js +0 -106
- package/esm/types/utility-types/custom.js.map +0 -1
- package/esm/types/utility-types/enumeration.d.ts +0 -5
- package/esm/types/utility-types/enumeration.js +0 -31
- package/esm/types/utility-types/enumeration.js.map +0 -1
- package/esm/types/utility-types/frozen.d.ts +0 -24
- package/esm/types/utility-types/frozen.js +0 -92
- package/esm/types/utility-types/frozen.js.map +0 -1
- package/esm/types/utility-types/identifier.d.ts +0 -87
- package/esm/types/utility-types/identifier.js +0 -121
- package/esm/types/utility-types/identifier.js.map +0 -1
- package/esm/types/utility-types/late.d.ts +0 -10
- package/esm/types/utility-types/late.js +0 -106
- package/esm/types/utility-types/late.js.map +0 -1
- package/esm/types/utility-types/lazy.d.ts +0 -23
- package/esm/types/utility-types/lazy.js +0 -72
- package/esm/types/utility-types/lazy.js.map +0 -1
- package/esm/types/utility-types/literal.d.ts +0 -38
- package/esm/types/utility-types/literal.js +0 -58
- package/esm/types/utility-types/literal.js.map +0 -1
- package/esm/types/utility-types/maybe.d.ts +0 -26
- package/esm/types/utility-types/maybe.js +0 -26
- package/esm/types/utility-types/maybe.js.map +0 -1
- package/esm/types/utility-types/optional.d.ts +0 -42
- package/esm/types/utility-types/optional.js +0 -135
- package/esm/types/utility-types/optional.js.map +0 -1
- package/esm/types/utility-types/reference.d.ts +0 -90
- package/esm/types/utility-types/reference.js +0 -383
- package/esm/types/utility-types/reference.js.map +0 -1
- package/esm/types/utility-types/refinement.d.ts +0 -10
- package/esm/types/utility-types/refinement.js +0 -82
- package/esm/types/utility-types/refinement.js.map +0 -1
- package/esm/types/utility-types/resilient.d.ts +0 -18
- package/esm/types/utility-types/resilient.js +0 -118
- package/esm/types/utility-types/resilient.js.map +0 -1
- package/esm/types/utility-types/snapshotProcessor.d.ts +0 -63
- package/esm/types/utility-types/snapshotProcessor.js +0 -159
- package/esm/types/utility-types/snapshotProcessor.js.map +0 -1
- package/esm/types/utility-types/union.d.ts +0 -78
- package/esm/types/utility-types/union.js +0 -240
- package/esm/types/utility-types/union.js.map +0 -1
- package/esm/utils.d.ts +0 -230
- package/esm/utils.js +0 -449
- package/esm/utils.js.map +0 -1
package/dist/utils.js
DELETED
|
@@ -1,483 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deprecated = exports.EventHandlers = exports.isInteger = exports.mobxShallow = exports.EMPTY_OBJECT = exports.EMPTY_ARRAY = void 0;
|
|
4
|
-
exports.fail = fail;
|
|
5
|
-
exports.identity = identity;
|
|
6
|
-
exports.noop = noop;
|
|
7
|
-
exports.isFloat = isFloat;
|
|
8
|
-
exports.isFinite = isFinite;
|
|
9
|
-
exports.isArray = isArray;
|
|
10
|
-
exports.asArray = asArray;
|
|
11
|
-
exports.extend = extend;
|
|
12
|
-
exports.isPlainObject = isPlainObject;
|
|
13
|
-
exports.isMutable = isMutable;
|
|
14
|
-
exports.isPrimitive = isPrimitive;
|
|
15
|
-
exports.freeze = freeze;
|
|
16
|
-
exports.deepFreeze = deepFreeze;
|
|
17
|
-
exports.isSerializable = isSerializable;
|
|
18
|
-
exports.defineProperty = defineProperty;
|
|
19
|
-
exports.addHiddenFinalProp = addHiddenFinalProp;
|
|
20
|
-
exports.addHiddenWritableProp = addHiddenWritableProp;
|
|
21
|
-
exports.hasOwnProperty = hasOwnProperty;
|
|
22
|
-
exports.argsToArray = argsToArray;
|
|
23
|
-
exports.stringStartsWith = stringStartsWith;
|
|
24
|
-
exports.warnError = warnError;
|
|
25
|
-
exports.isTypeCheckingEnabled = isTypeCheckingEnabled;
|
|
26
|
-
exports.devMode = devMode;
|
|
27
|
-
exports.setDevMode = setDevMode;
|
|
28
|
-
exports.assertArg = assertArg;
|
|
29
|
-
exports.assertIsFunction = assertIsFunction;
|
|
30
|
-
exports.assertIsNumber = assertIsNumber;
|
|
31
|
-
exports.assertIsString = assertIsString;
|
|
32
|
-
exports.setImmediateWithFallback = setImmediateWithFallback;
|
|
33
|
-
const mobx_1 = require("mobx");
|
|
34
|
-
const plainObjectString = Object.toString();
|
|
35
|
-
/**
|
|
36
|
-
* @internal
|
|
37
|
-
* @hidden
|
|
38
|
-
*/
|
|
39
|
-
exports.EMPTY_ARRAY = Object.freeze([]);
|
|
40
|
-
/**
|
|
41
|
-
* @internal
|
|
42
|
-
* @hidden
|
|
43
|
-
*/
|
|
44
|
-
exports.EMPTY_OBJECT = Object.freeze({});
|
|
45
|
-
/**
|
|
46
|
-
* @internal
|
|
47
|
-
* @hidden
|
|
48
|
-
*/
|
|
49
|
-
exports.mobxShallow = (0, mobx_1._getGlobalState)().useProxies
|
|
50
|
-
? { deep: false }
|
|
51
|
-
: { deep: false, proxy: false };
|
|
52
|
-
Object.freeze(exports.mobxShallow);
|
|
53
|
-
/**
|
|
54
|
-
* @internal
|
|
55
|
-
* @hidden
|
|
56
|
-
*/
|
|
57
|
-
function fail(message = "Illegal state") {
|
|
58
|
-
return new Error("[mobx-state-tree] " + message);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* @internal
|
|
62
|
-
* @hidden
|
|
63
|
-
*/
|
|
64
|
-
function identity(_) {
|
|
65
|
-
return _;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* @internal
|
|
69
|
-
* @hidden
|
|
70
|
-
*/
|
|
71
|
-
function noop() { }
|
|
72
|
-
/**
|
|
73
|
-
* @internal
|
|
74
|
-
* @hidden
|
|
75
|
-
*/
|
|
76
|
-
exports.isInteger = Number.isInteger;
|
|
77
|
-
/**
|
|
78
|
-
* @internal
|
|
79
|
-
* @hidden
|
|
80
|
-
*/
|
|
81
|
-
function isFloat(val) {
|
|
82
|
-
return Number(val) === val && val % 1 !== 0;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* @internal
|
|
86
|
-
* @hidden
|
|
87
|
-
*/
|
|
88
|
-
function isFinite(val) {
|
|
89
|
-
return Number.isFinite(val);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* @internal
|
|
93
|
-
* @hidden
|
|
94
|
-
*/
|
|
95
|
-
function isArray(val) {
|
|
96
|
-
return Array.isArray(val) || (0, mobx_1.isObservableArray)(val);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* @internal
|
|
100
|
-
* @hidden
|
|
101
|
-
*/
|
|
102
|
-
function asArray(val) {
|
|
103
|
-
if (!val) {
|
|
104
|
-
return exports.EMPTY_ARRAY;
|
|
105
|
-
}
|
|
106
|
-
if (isArray(val)) {
|
|
107
|
-
return val;
|
|
108
|
-
}
|
|
109
|
-
return [val];
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* @internal
|
|
113
|
-
* @hidden
|
|
114
|
-
*/
|
|
115
|
-
function extend(a, ...b) {
|
|
116
|
-
for (let i = 0; i < b.length; i++) {
|
|
117
|
-
const current = b[i];
|
|
118
|
-
for (const key in current) {
|
|
119
|
-
a[key] = current[key];
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return a;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* @internal
|
|
126
|
-
* @hidden
|
|
127
|
-
*/
|
|
128
|
-
function isPlainObject(value) {
|
|
129
|
-
if (value === null || typeof value !== "object") {
|
|
130
|
-
return false;
|
|
131
|
-
}
|
|
132
|
-
const proto = Object.getPrototypeOf(value);
|
|
133
|
-
if (proto == null) {
|
|
134
|
-
return true;
|
|
135
|
-
}
|
|
136
|
-
return proto.constructor?.toString() === plainObjectString;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* @internal
|
|
140
|
-
* @hidden
|
|
141
|
-
*/
|
|
142
|
-
function isMutable(value) {
|
|
143
|
-
return (value !== null &&
|
|
144
|
-
typeof value === "object" &&
|
|
145
|
-
!(value instanceof Date) &&
|
|
146
|
-
!(value instanceof RegExp));
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* @internal
|
|
150
|
-
* @hidden
|
|
151
|
-
*/
|
|
152
|
-
function isPrimitive(value, includeDate = true) {
|
|
153
|
-
return (value === null ||
|
|
154
|
-
value === undefined ||
|
|
155
|
-
typeof value === "string" ||
|
|
156
|
-
typeof value === "number" ||
|
|
157
|
-
typeof value === "boolean" ||
|
|
158
|
-
(includeDate && value instanceof Date));
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* @internal
|
|
162
|
-
* @hidden
|
|
163
|
-
* Freeze a value and return it (if not in production)
|
|
164
|
-
*/
|
|
165
|
-
function freeze(value) {
|
|
166
|
-
if (!devMode()) {
|
|
167
|
-
return value;
|
|
168
|
-
}
|
|
169
|
-
return isPrimitive(value) || (0, mobx_1.isObservableArray)(value)
|
|
170
|
-
? value
|
|
171
|
-
: Object.freeze(value);
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* @internal
|
|
175
|
-
* @hidden
|
|
176
|
-
* Recursively freeze a value (if not in production)
|
|
177
|
-
*/
|
|
178
|
-
function deepFreeze(value) {
|
|
179
|
-
if (!devMode()) {
|
|
180
|
-
return value;
|
|
181
|
-
}
|
|
182
|
-
freeze(value);
|
|
183
|
-
if (isPlainObject(value)) {
|
|
184
|
-
Object.keys(value).forEach(propKey => {
|
|
185
|
-
if (!isPrimitive(value[propKey]) &&
|
|
186
|
-
!Object.isFrozen(value[propKey])) {
|
|
187
|
-
deepFreeze(value[propKey]);
|
|
188
|
-
}
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
return value;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* @internal
|
|
195
|
-
* @hidden
|
|
196
|
-
*/
|
|
197
|
-
function isSerializable(value) {
|
|
198
|
-
return typeof value !== "function";
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* @internal
|
|
202
|
-
* @hidden
|
|
203
|
-
*/
|
|
204
|
-
function defineProperty(object, key, descriptor) {
|
|
205
|
-
if ((0, mobx_1.isObservableObject)(object)) {
|
|
206
|
-
(0, mobx_1.defineProperty)(object, key, descriptor);
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
Object.defineProperty(object, key, descriptor);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* @internal
|
|
214
|
-
* @hidden
|
|
215
|
-
*/
|
|
216
|
-
function addHiddenFinalProp(object, propName, value) {
|
|
217
|
-
defineProperty(object, propName, {
|
|
218
|
-
enumerable: false,
|
|
219
|
-
writable: false,
|
|
220
|
-
configurable: true,
|
|
221
|
-
value
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* @internal
|
|
226
|
-
* @hidden
|
|
227
|
-
*/
|
|
228
|
-
function addHiddenWritableProp(object, propName, value) {
|
|
229
|
-
defineProperty(object, propName, {
|
|
230
|
-
enumerable: false,
|
|
231
|
-
writable: true,
|
|
232
|
-
configurable: true,
|
|
233
|
-
value
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* @internal
|
|
238
|
-
* @hidden
|
|
239
|
-
*/
|
|
240
|
-
class EventHandler {
|
|
241
|
-
handlers = [];
|
|
242
|
-
emitting = false;
|
|
243
|
-
pendingUnregisters = null;
|
|
244
|
-
get hasSubscribers() {
|
|
245
|
-
return this.handlers.length > 0;
|
|
246
|
-
}
|
|
247
|
-
register(fn, atTheBeginning = false) {
|
|
248
|
-
if (atTheBeginning) {
|
|
249
|
-
this.handlers.unshift(fn);
|
|
250
|
-
}
|
|
251
|
-
else {
|
|
252
|
-
this.handlers.push(fn);
|
|
253
|
-
}
|
|
254
|
-
return () => {
|
|
255
|
-
this.unregister(fn);
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
has(fn) {
|
|
259
|
-
return this.handlers.indexOf(fn) >= 0;
|
|
260
|
-
}
|
|
261
|
-
unregister(fn) {
|
|
262
|
-
if (this.emitting) {
|
|
263
|
-
// defer unregistration until emit is done
|
|
264
|
-
if (!this.pendingUnregisters) {
|
|
265
|
-
this.pendingUnregisters = [];
|
|
266
|
-
}
|
|
267
|
-
this.pendingUnregisters.push(fn);
|
|
268
|
-
return;
|
|
269
|
-
}
|
|
270
|
-
const index = this.handlers.indexOf(fn);
|
|
271
|
-
if (index >= 0) {
|
|
272
|
-
this.handlers.splice(index, 1);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
clear() {
|
|
276
|
-
this.handlers.length = 0;
|
|
277
|
-
}
|
|
278
|
-
emit(...args) {
|
|
279
|
-
// use emitting flag to defer unregistrations instead of copying array
|
|
280
|
-
this.emitting = true;
|
|
281
|
-
try {
|
|
282
|
-
for (const f of this.handlers) {
|
|
283
|
-
f(...args);
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
finally {
|
|
287
|
-
this.emitting = false;
|
|
288
|
-
// process any deferred unregistrations
|
|
289
|
-
if (this.pendingUnregisters) {
|
|
290
|
-
for (const fn of this.pendingUnregisters) {
|
|
291
|
-
const index = this.handlers.indexOf(fn);
|
|
292
|
-
if (index >= 0) {
|
|
293
|
-
this.handlers.splice(index, 1);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
this.pendingUnregisters = null;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* @internal
|
|
303
|
-
* @hidden
|
|
304
|
-
*/
|
|
305
|
-
class EventHandlers {
|
|
306
|
-
eventHandlers;
|
|
307
|
-
hasSubscribers(event) {
|
|
308
|
-
const handler = this.eventHandlers && this.eventHandlers[event];
|
|
309
|
-
return !!handler && handler.hasSubscribers;
|
|
310
|
-
}
|
|
311
|
-
register(event, fn, atTheBeginning = false) {
|
|
312
|
-
if (!this.eventHandlers) {
|
|
313
|
-
this.eventHandlers = {};
|
|
314
|
-
}
|
|
315
|
-
let handler = this.eventHandlers[event];
|
|
316
|
-
if (!handler) {
|
|
317
|
-
handler = this.eventHandlers[event] = new EventHandler();
|
|
318
|
-
}
|
|
319
|
-
return handler.register(fn, atTheBeginning);
|
|
320
|
-
}
|
|
321
|
-
has(event, fn) {
|
|
322
|
-
const handler = this.eventHandlers && this.eventHandlers[event];
|
|
323
|
-
return !!handler && handler.has(fn);
|
|
324
|
-
}
|
|
325
|
-
unregister(event, fn) {
|
|
326
|
-
const handler = this.eventHandlers && this.eventHandlers[event];
|
|
327
|
-
if (handler) {
|
|
328
|
-
handler.unregister(fn);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
clear(event) {
|
|
332
|
-
if (this.eventHandlers) {
|
|
333
|
-
delete this.eventHandlers[event];
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
clearAll() {
|
|
337
|
-
this.eventHandlers = undefined;
|
|
338
|
-
}
|
|
339
|
-
emit(event, ...args) {
|
|
340
|
-
const handler = this.eventHandlers && this.eventHandlers[event];
|
|
341
|
-
if (handler) {
|
|
342
|
-
;
|
|
343
|
-
handler.emit(...args);
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
exports.EventHandlers = EventHandlers;
|
|
348
|
-
const prototypeHasOwnProperty = Object.prototype.hasOwnProperty;
|
|
349
|
-
/**
|
|
350
|
-
* @internal
|
|
351
|
-
* @hidden
|
|
352
|
-
*/
|
|
353
|
-
function hasOwnProperty(object, propName) {
|
|
354
|
-
return prototypeHasOwnProperty.call(object, propName);
|
|
355
|
-
}
|
|
356
|
-
/**
|
|
357
|
-
* @internal
|
|
358
|
-
* @hidden
|
|
359
|
-
*/
|
|
360
|
-
function argsToArray(args) {
|
|
361
|
-
const res = new Array(args.length);
|
|
362
|
-
for (let i = 0; i < args.length; i++) {
|
|
363
|
-
res[i] = args[i];
|
|
364
|
-
}
|
|
365
|
-
return res;
|
|
366
|
-
}
|
|
367
|
-
/**
|
|
368
|
-
* @internal
|
|
369
|
-
* @hidden
|
|
370
|
-
*/
|
|
371
|
-
function stringStartsWith(str, beginning) {
|
|
372
|
-
return str.indexOf(beginning) === 0;
|
|
373
|
-
}
|
|
374
|
-
/**
|
|
375
|
-
* @internal
|
|
376
|
-
* @hidden
|
|
377
|
-
*/
|
|
378
|
-
const deprecated = function (id, message) {
|
|
379
|
-
// skip if running production
|
|
380
|
-
if (!devMode()) {
|
|
381
|
-
return;
|
|
382
|
-
}
|
|
383
|
-
// warn if hasn't been warned before
|
|
384
|
-
if (exports.deprecated.ids && !exports.deprecated.ids.hasOwnProperty(id)) {
|
|
385
|
-
warnError("Deprecation warning: " + message);
|
|
386
|
-
}
|
|
387
|
-
// mark as warned to avoid duplicate warn message
|
|
388
|
-
if (exports.deprecated.ids) {
|
|
389
|
-
exports.deprecated.ids[id] = true;
|
|
390
|
-
}
|
|
391
|
-
};
|
|
392
|
-
exports.deprecated = deprecated;
|
|
393
|
-
exports.deprecated.ids = {};
|
|
394
|
-
/**
|
|
395
|
-
* @internal
|
|
396
|
-
* @hidden
|
|
397
|
-
*/
|
|
398
|
-
function warnError(msg) {
|
|
399
|
-
console.warn(new Error(`[mobx-state-tree] ${msg}`));
|
|
400
|
-
}
|
|
401
|
-
/**
|
|
402
|
-
* @internal
|
|
403
|
-
* @hidden
|
|
404
|
-
*/
|
|
405
|
-
function isTypeCheckingEnabled() {
|
|
406
|
-
return (devMode() ||
|
|
407
|
-
(typeof process !== "undefined" &&
|
|
408
|
-
process.env &&
|
|
409
|
-
process.env.ENABLE_TYPE_CHECK === "true"));
|
|
410
|
-
}
|
|
411
|
-
let _devMode = process.env.NODE_ENV !== "production";
|
|
412
|
-
/**
|
|
413
|
-
* @internal
|
|
414
|
-
* @hidden
|
|
415
|
-
*/
|
|
416
|
-
function devMode() {
|
|
417
|
-
return _devMode;
|
|
418
|
-
}
|
|
419
|
-
/**
|
|
420
|
-
* @internal
|
|
421
|
-
* @hidden
|
|
422
|
-
*/
|
|
423
|
-
function setDevMode(value) {
|
|
424
|
-
_devMode = value;
|
|
425
|
-
}
|
|
426
|
-
/**
|
|
427
|
-
* @internal
|
|
428
|
-
* @hidden
|
|
429
|
-
*/
|
|
430
|
-
function assertArg(value, fn, typeName, argNumber) {
|
|
431
|
-
if (devMode()) {
|
|
432
|
-
if (!fn(value)) {
|
|
433
|
-
// istanbul ignore next
|
|
434
|
-
throw fail(`expected ${typeName} as argument ${asArray(argNumber).join(" or ")}, got ${value} instead`);
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
/**
|
|
439
|
-
* @internal
|
|
440
|
-
* @hidden
|
|
441
|
-
*/
|
|
442
|
-
function assertIsFunction(value, argNumber) {
|
|
443
|
-
assertArg(value, fn => typeof fn === "function", "function", argNumber);
|
|
444
|
-
}
|
|
445
|
-
/**
|
|
446
|
-
* @internal
|
|
447
|
-
* @hidden
|
|
448
|
-
*/
|
|
449
|
-
function assertIsNumber(value, argNumber, min, max) {
|
|
450
|
-
assertArg(value, n => typeof n === "number", "number", argNumber);
|
|
451
|
-
if (min !== undefined) {
|
|
452
|
-
assertArg(value, n => n >= min, `number greater than ${min}`, argNumber);
|
|
453
|
-
}
|
|
454
|
-
if (max !== undefined) {
|
|
455
|
-
assertArg(value, n => n <= max, `number lesser than ${max}`, argNumber);
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
/**
|
|
459
|
-
* @internal
|
|
460
|
-
* @hidden
|
|
461
|
-
*/
|
|
462
|
-
function assertIsString(value, argNumber, canBeEmpty = true) {
|
|
463
|
-
assertArg(value, s => typeof s === "string", "string", argNumber);
|
|
464
|
-
if (!canBeEmpty) {
|
|
465
|
-
assertArg(value, s => s !== "", "not empty string", argNumber);
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
/**
|
|
469
|
-
* @internal
|
|
470
|
-
* @hidden
|
|
471
|
-
*/
|
|
472
|
-
function setImmediateWithFallback(fn) {
|
|
473
|
-
if (typeof queueMicrotask === "function") {
|
|
474
|
-
queueMicrotask(fn);
|
|
475
|
-
}
|
|
476
|
-
else if (typeof setImmediate === "function") {
|
|
477
|
-
setImmediate(fn);
|
|
478
|
-
}
|
|
479
|
-
else {
|
|
480
|
-
setTimeout(fn, 1);
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AA0CA,oBAEC;AAMD,4BAEC;AAMD,oBAAyB;AAYzB,0BAEC;AAMD,4BAEC;AAMD,0BAEC;AAMD,0BAUC;AA0BD,wBAQC;AAMD,sCASC;AAMD,8BAOC;AAMD,kCAYC;AAOD,wBAOC;AAOD,gCAkBC;AAMD,wCAEC;AAMD,wCAUC;AAMD,gDAOC;AAMD,sDAWC;AAiJD,wCAEC;AAMD,kCAMC;AAMD,4CAEC;AAmCD,8BAEC;AAKD,sDAOC;AAQD,0BAEC;AAMD,gCAEC;AAMD,8BAcC;AAMD,4CAKC;AAMD,wCAaC;AAMD,wCASC;AAMD,4DAQC;AA9kBD,+BAKa;AAIb,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;AAE3C;;;GAGG;AACU,QAAA,WAAW,GAAuB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAEhE;;;GAGG;AAEU,QAAA,YAAY,GAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAEjD;;;GAGG;AACU,QAAA,WAAW,GAAG,IAAA,sBAAe,GAAE,CAAC,UAAU;IACrD,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;IACjB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAA;AAO1B;;;GAGG;AACH,SAAgB,IAAI,CAAC,OAAO,GAAG,eAAe;IAC5C,OAAO,IAAI,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC,CAAA;AAClD,CAAC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,CAAM;IAC7B,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;GAGG;AACH,SAAgB,IAAI,KAAI,CAAC;AAEzB;;;GAGG;AACU,QAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;AAEzC;;;GAGG;AACH,SAAgB,OAAO,CAAC,GAAQ;IAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,GAAQ;IAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,GAAQ;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAA,wBAAiB,EAAC,GAAG,CAAC,CAAA;AACrD,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CACrB,GAAkD;IAElD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,mBAAyB,CAAA;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,GAAU,CAAA;IACnB,CAAC;IACD,OAAO,CAAC,GAAG,CAAQ,CAAA;AACrB,CAAC;AAsBD;;;GAGG;AACH,SAAgB,MAAM,CAAC,CAAM,EAAE,GAAG,CAAQ;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACpB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,KAAU;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,iBAAiB,CAAA;AAC5D,CAAC;AAED;;;GAGG;AACH,SAAgB,SAAS,CAAC,KAAU;IAClC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC;QACxB,CAAC,CAAC,KAAK,YAAY,MAAM,CAAC,CAC3B,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CACzB,KAAU,EACV,WAAW,GAAG,IAAI;IAElB,OAAO,CACL,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,SAAS;QACnB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS;QAC1B,CAAC,WAAW,IAAI,KAAK,YAAY,IAAI,CAAC,CACvC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CAAI,KAAQ;IAChC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACf,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,IAAA,wBAAiB,EAAC,KAAK,CAAC;QACnD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAI,KAAQ;IACpC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACf,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,CAAA;IAEb,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACnC,IACE,CAAC,WAAW,CAAE,KAAa,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC,MAAM,CAAC,QAAQ,CAAE,KAAa,CAAC,OAAO,CAAC,CAAC,EACzC,CAAC;gBACD,UAAU,CAAE,KAAa,CAAC,OAAO,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAA;AACpC,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,MAAW,EACX,GAAgB,EAChB,UAA8B;IAE9B,IAAI,IAAA,yBAAkB,EAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,IAAA,qBAAkB,EAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IAChD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,MAAW,EAAE,QAAgB,EAAE,KAAU;IAC1E,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;QAC/B,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,IAAI;QAClB,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CACnC,MAAW,EACX,QAAgB,EAChB,KAAU;IAEV,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;QAC/B,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAYD;;;GAGG;AACH,MAAM,YAAY;IACR,QAAQ,GAAQ,EAAE,CAAA;IAClB,QAAQ,GAAG,KAAK,CAAA;IAChB,kBAAkB,GAAe,IAAI,CAAA;IAE7C,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,QAAQ,CAAC,EAAK,EAAE,cAAc,GAAG,KAAK;QACpC,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC,CAAA;IACH,CAAC;IAED,GAAG,CAAC,EAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,UAAU,CAAC,EAAK;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,0CAA0C;YAC1C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAA;YAC9B,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAChC,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,CAAC,GAAG,IAAsB;QAC5B,sEAAsE;QACtE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9B,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;YACZ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;YACrB,uCAAuC;YACvC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;oBACvC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;wBACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;oBAChC,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;YAChC,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;;GAGG;AACH,MAAa,aAAa;IAChB,aAAa,CAA8C;IAEnE,cAAc,CAAC,KAAc;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC/D,OAAO,CAAC,CAAC,OAAO,IAAI,OAAQ,CAAC,cAAc,CAAA;IAC7C,CAAC;IAED,QAAQ,CACN,KAAQ,EACR,EAAQ,EACR,cAAc,GAAG,KAAK;QAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QACzB,CAAC;QACD,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,YAAY,EAAE,CAAA;QAC1D,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;IAC7C,CAAC;IAED,GAAG,CAAoB,KAAQ,EAAE,EAAQ;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC/D,OAAO,CAAC,CAAC,OAAO,IAAI,OAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,UAAU,CAAoB,KAAQ,EAAE,EAAQ;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC/D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,KAAK,CAAoB,KAAQ;QAC/B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;IAChC,CAAC;IAED,IAAI,CAAoB,KAAQ,EAAE,GAAG,IAAyB;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC/D,IAAI,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,OAAQ,CAAC,IAAY,CAAC,GAAG,IAAI,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;CACF;AAnDD,sCAmDC;AAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAA;AAE/D;;;GAGG;AACH,SAAgB,cAAc,CAAC,MAAc,EAAE,QAAgB;IAC7D,OAAO,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AACvD,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,IAAgB;IAC1C,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,GAAW,EAAE,SAAiB;IAC7D,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AACrC,CAAC;AAQD;;;GAGG;AACI,MAAM,UAAU,GAAuB,UAC5C,EAAU,EACV,OAAe;IAEf,6BAA6B;IAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACf,OAAM;IACR,CAAC;IACD,oCAAoC;IACpC,IAAI,kBAAU,CAAC,GAAG,IAAI,CAAC,kBAAU,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QACzD,SAAS,CAAC,uBAAuB,GAAG,OAAO,CAAC,CAAA;IAC9C,CAAC;IACD,iDAAiD;IACjD,IAAI,kBAAU,CAAC,GAAG,EAAE,CAAC;QACnB,kBAAU,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;IAC3B,CAAC;AACH,CAAC,CAAA;AAhBY,QAAA,UAAU,cAgBtB;AACD,kBAAU,CAAC,GAAG,GAAG,EAAE,CAAA;AAEnB;;;GAGG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC,CAAA;AACrD,CAAC;AACD;;;GAGG;AACH,SAAgB,qBAAqB;IACnC,OAAO,CACL,OAAO,EAAE;QACT,CAAC,OAAO,OAAO,KAAK,WAAW;YAC7B,OAAO,CAAC,GAAG;YACX,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAC5C,CAAA;AACH,CAAC;AAED,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;AAEpD;;;GAGG;AACH,SAAgB,OAAO;IACrB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,KAAc;IACvC,QAAQ,GAAG,KAAK,CAAA;AAClB,CAAC;AAED;;;GAGG;AACH,SAAgB,SAAS,CACvB,KAAQ,EACR,EAAyB,EACzB,QAAgB,EAChB,SAA4B;IAE5B,IAAI,OAAO,EAAE,EAAE,CAAC;QACd,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACf,uBAAuB;YACvB,MAAM,IAAI,CACR,YAAY,QAAQ,gBAAgB,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU,CAC5F,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,KAAe,EACf,SAA4B;IAE5B,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;AACzE,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,KAAa,EACb,SAA4B,EAC5B,GAAY,EACZ,GAAY;IAEZ,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IACjE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,uBAAuB,GAAG,EAAE,EAAE,SAAS,CAAC,CAAA;IAC1E,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,sBAAsB,GAAG,EAAE,EAAE,SAAS,CAAC,CAAA;IACzE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,KAAa,EACb,SAA4B,EAC5B,UAAU,GAAG,IAAI;IAEjB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,EAA4B;IACnE,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;QACzC,cAAc,CAAC,EAAE,CAAC,CAAA;IACpB,CAAC;SAAM,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;QAC9C,YAAY,CAAC,EAAE,CAAC,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACnB,CAAC;AACH,CAAC","sourcesContent":["import {\n _getGlobalState,\n defineProperty as mobxDefineProperty,\n isObservableArray,\n isObservableObject\n} from \"mobx\"\n\nimport type { Primitives } from \"./core/type/type.ts\"\n\nconst plainObjectString = Object.toString()\n\n/**\n * @internal\n * @hidden\n */\nexport const EMPTY_ARRAY: ReadonlyArray<any> = Object.freeze([])\n\n/**\n * @internal\n * @hidden\n */\n\nexport const EMPTY_OBJECT: {} = Object.freeze({})\n\n/**\n * @internal\n * @hidden\n */\nexport const mobxShallow = _getGlobalState().useProxies\n ? { deep: false }\n : { deep: false, proxy: false }\nObject.freeze(mobxShallow)\n\n/**\n * A generic disposer.\n */\nexport type IDisposer = () => void\n\n/**\n * @internal\n * @hidden\n */\nexport function fail(message = \"Illegal state\"): Error {\n return new Error(\"[mobx-state-tree] \" + message)\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function identity(_: any): any {\n return _\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function noop() {}\n\n/**\n * @internal\n * @hidden\n */\nexport const isInteger = Number.isInteger\n\n/**\n * @internal\n * @hidden\n */\nexport function isFloat(val: any) {\n return Number(val) === val && val % 1 !== 0\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function isFinite(val: any) {\n return Number.isFinite(val)\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function isArray(val: any): val is any[] {\n return Array.isArray(val) || isObservableArray(val)\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function asArray<T>(\n val: undefined | null | T | T[] | ReadonlyArray<T>\n): T[] {\n if (!val) {\n return EMPTY_ARRAY as any as T[]\n }\n if (isArray(val)) {\n return val as T[]\n }\n return [val] as T[]\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function extend<A, B>(a: A, b: B): A & B\n/**\n * @internal\n * @hidden\n */\nexport function extend<A, B, C>(a: A, b: B, c: C): A & B & C\n/**\n * @internal\n * @hidden\n */\nexport function extend<A, B, C, D>(a: A, b: B, c: C, d: D): A & B & C & D\n/**\n * @internal\n * @hidden\n */\nexport function extend(a: any, ...b: any[]): any\n/**\n * @internal\n * @hidden\n */\nexport function extend(a: any, ...b: any[]) {\n for (let i = 0; i < b.length; i++) {\n const current = b[i]\n for (const key in current) {\n a[key] = current[key]\n }\n }\n return a\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function isPlainObject(value: any): value is { [k: string]: any } {\n if (value === null || typeof value !== \"object\") {\n return false\n }\n const proto = Object.getPrototypeOf(value)\n if (proto == null) {\n return true\n }\n return proto.constructor?.toString() === plainObjectString\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function isMutable(value: any) {\n return (\n value !== null &&\n typeof value === \"object\" &&\n !(value instanceof Date) &&\n !(value instanceof RegExp)\n )\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function isPrimitive(\n value: any,\n includeDate = true\n): value is Primitives {\n return (\n value === null ||\n value === undefined ||\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\" ||\n (includeDate && value instanceof Date)\n )\n}\n\n/**\n * @internal\n * @hidden\n * Freeze a value and return it (if not in production)\n */\nexport function freeze<T>(value: T): T {\n if (!devMode()) {\n return value\n }\n return isPrimitive(value) || isObservableArray(value)\n ? value\n : Object.freeze(value)\n}\n\n/**\n * @internal\n * @hidden\n * Recursively freeze a value (if not in production)\n */\nexport function deepFreeze<T>(value: T): T {\n if (!devMode()) {\n return value\n }\n freeze(value)\n\n if (isPlainObject(value)) {\n Object.keys(value).forEach(propKey => {\n if (\n !isPrimitive((value as any)[propKey]) &&\n !Object.isFrozen((value as any)[propKey])\n ) {\n deepFreeze((value as any)[propKey])\n }\n })\n }\n\n return value\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function isSerializable(value: any) {\n return typeof value !== \"function\"\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function defineProperty(\n object: any,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n) {\n if (isObservableObject(object)) {\n mobxDefineProperty(object, key, descriptor)\n } else {\n Object.defineProperty(object, key, descriptor)\n }\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function addHiddenFinalProp(object: any, propName: string, value: any) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value\n })\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function addHiddenWritableProp(\n object: any,\n propName: string,\n value: any\n) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value\n })\n}\n\n/**\n * @internal\n * @hidden\n */\nexport type ArgumentTypes<F extends Function> = F extends (\n ...args: infer A\n) => any\n ? A\n : never\n\n/**\n * @internal\n * @hidden\n */\nclass EventHandler<F extends Function> {\n private handlers: F[] = []\n private emitting = false\n private pendingUnregisters: F[] | null = null\n\n get hasSubscribers(): boolean {\n return this.handlers.length > 0\n }\n\n register(fn: F, atTheBeginning = false): IDisposer {\n if (atTheBeginning) {\n this.handlers.unshift(fn)\n } else {\n this.handlers.push(fn)\n }\n return () => {\n this.unregister(fn)\n }\n }\n\n has(fn: F): boolean {\n return this.handlers.indexOf(fn) >= 0\n }\n\n unregister(fn: F) {\n if (this.emitting) {\n // defer unregistration until emit is done\n if (!this.pendingUnregisters) {\n this.pendingUnregisters = []\n }\n this.pendingUnregisters.push(fn)\n return\n }\n const index = this.handlers.indexOf(fn)\n if (index >= 0) {\n this.handlers.splice(index, 1)\n }\n }\n\n clear() {\n this.handlers.length = 0\n }\n\n emit(...args: ArgumentTypes<F>) {\n // use emitting flag to defer unregistrations instead of copying array\n this.emitting = true\n try {\n for (const f of this.handlers) {\n f(...args)\n }\n } finally {\n this.emitting = false\n // process any deferred unregistrations\n if (this.pendingUnregisters) {\n for (const fn of this.pendingUnregisters) {\n const index = this.handlers.indexOf(fn)\n if (index >= 0) {\n this.handlers.splice(index, 1)\n }\n }\n this.pendingUnregisters = null\n }\n }\n }\n}\n\n/**\n * @internal\n * @hidden\n */\nexport class EventHandlers<E extends { [k: string]: Function }> {\n private eventHandlers?: { [k in keyof E]?: EventHandler<Function> }\n\n hasSubscribers(event: keyof E): boolean {\n const handler = this.eventHandlers && this.eventHandlers[event]\n return !!handler && handler!.hasSubscribers\n }\n\n register<N extends keyof E>(\n event: N,\n fn: E[N],\n atTheBeginning = false\n ): IDisposer {\n if (!this.eventHandlers) {\n this.eventHandlers = {}\n }\n let handler = this.eventHandlers[event]\n if (!handler) {\n handler = this.eventHandlers[event] = new EventHandler()\n }\n return handler.register(fn, atTheBeginning)\n }\n\n has<N extends keyof E>(event: N, fn: E[N]): boolean {\n const handler = this.eventHandlers && this.eventHandlers[event]\n return !!handler && handler!.has(fn)\n }\n\n unregister<N extends keyof E>(event: N, fn: E[N]) {\n const handler = this.eventHandlers && this.eventHandlers[event]\n if (handler) {\n handler!.unregister(fn)\n }\n }\n\n clear<N extends keyof E>(event: N) {\n if (this.eventHandlers) {\n delete this.eventHandlers[event]\n }\n }\n\n clearAll() {\n this.eventHandlers = undefined\n }\n\n emit<N extends keyof E>(event: N, ...args: ArgumentTypes<E[N]>) {\n const handler = this.eventHandlers && this.eventHandlers[event]\n if (handler) {\n ;(handler!.emit as any)(...args)\n }\n }\n}\n\nconst prototypeHasOwnProperty = Object.prototype.hasOwnProperty\n\n/**\n * @internal\n * @hidden\n */\nexport function hasOwnProperty(object: object, propName: string) {\n return prototypeHasOwnProperty.call(object, propName)\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function argsToArray(args: IArguments): any[] {\n const res = new Array(args.length)\n for (let i = 0; i < args.length; i++) {\n res[i] = args[i]\n }\n return res\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function stringStartsWith(str: string, beginning: string) {\n return str.indexOf(beginning) === 0\n}\n\n/**\n * @internal\n * @hidden\n */\nexport type DeprecatedFunction = Function & { ids?: { [id: string]: true } }\n\n/**\n * @internal\n * @hidden\n */\nexport const deprecated: DeprecatedFunction = function (\n id: string,\n message: string\n): void {\n // skip if running production\n if (!devMode()) {\n return\n }\n // warn if hasn't been warned before\n if (deprecated.ids && !deprecated.ids.hasOwnProperty(id)) {\n warnError(\"Deprecation warning: \" + message)\n }\n // mark as warned to avoid duplicate warn message\n if (deprecated.ids) {\n deprecated.ids[id] = true\n }\n}\ndeprecated.ids = {}\n\n/**\n * @internal\n * @hidden\n */\nexport function warnError(msg: string) {\n console.warn(new Error(`[mobx-state-tree] ${msg}`))\n}\n/**\n * @internal\n * @hidden\n */\nexport function isTypeCheckingEnabled() {\n return (\n devMode() ||\n (typeof process !== \"undefined\" &&\n process.env &&\n process.env.ENABLE_TYPE_CHECK === \"true\")\n )\n}\n\nlet _devMode = process.env.NODE_ENV !== \"production\"\n\n/**\n * @internal\n * @hidden\n */\nexport function devMode() {\n return _devMode\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function setDevMode(value: boolean) {\n _devMode = value\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function assertArg<T>(\n value: T,\n fn: (value: T) => boolean,\n typeName: string,\n argNumber: number | number[]\n) {\n if (devMode()) {\n if (!fn(value)) {\n // istanbul ignore next\n throw fail(\n `expected ${typeName} as argument ${asArray(argNumber).join(\" or \")}, got ${value} instead`\n )\n }\n }\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function assertIsFunction(\n value: Function,\n argNumber: number | number[]\n) {\n assertArg(value, fn => typeof fn === \"function\", \"function\", argNumber)\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function assertIsNumber(\n value: number,\n argNumber: number | number[],\n min?: number,\n max?: number\n) {\n assertArg(value, n => typeof n === \"number\", \"number\", argNumber)\n if (min !== undefined) {\n assertArg(value, n => n >= min, `number greater than ${min}`, argNumber)\n }\n if (max !== undefined) {\n assertArg(value, n => n <= max, `number lesser than ${max}`, argNumber)\n }\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function assertIsString(\n value: string,\n argNumber: number | number[],\n canBeEmpty = true\n) {\n assertArg(value, s => typeof s === \"string\", \"string\", argNumber)\n if (!canBeEmpty) {\n assertArg(value, s => s !== \"\", \"not empty string\", argNumber)\n }\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function setImmediateWithFallback(fn: (...args: any[]) => void) {\n if (typeof queueMicrotask === \"function\") {\n queueMicrotask(fn)\n } else if (typeof setImmediate === \"function\") {\n setImmediate(fn)\n } else {\n setTimeout(fn, 1)\n }\n}\n"]}
|
package/esm/core/action.d.ts
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import type { IActionContext, IAnyStateTreeNode, IDisposer } from "../internal.ts";
|
|
2
|
-
export type IMiddlewareEventType = "action" | "flow_spawn" | "flow_resume" | "flow_resume_error" | "flow_return" | "flow_throw";
|
|
3
|
-
export interface IMiddlewareEvent extends IActionContext {
|
|
4
|
-
/** Event type */
|
|
5
|
-
readonly type: IMiddlewareEventType;
|
|
6
|
-
/** Parent event unique id */
|
|
7
|
-
readonly parentId: number;
|
|
8
|
-
/** Parent event object */
|
|
9
|
-
readonly parentEvent: IMiddlewareEvent | undefined;
|
|
10
|
-
/** Root event unique id */
|
|
11
|
-
readonly rootId: number;
|
|
12
|
-
/** Id of all events, from root until current (excluding current) */
|
|
13
|
-
readonly allParentIds: number[];
|
|
14
|
-
}
|
|
15
|
-
export interface FunctionWithFlag extends Function {
|
|
16
|
-
_isMSTAction?: boolean;
|
|
17
|
-
_isFlowAction?: boolean;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @internal
|
|
21
|
-
* @hidden
|
|
22
|
-
*/
|
|
23
|
-
export type IMiddleware = {
|
|
24
|
-
handler: IMiddlewareHandler;
|
|
25
|
-
includeHooks: boolean;
|
|
26
|
-
};
|
|
27
|
-
export type IMiddlewareHandler = (actionCall: IMiddlewareEvent, next: (actionCall: IMiddlewareEvent, callback?: (value: any) => any) => void, abort: (value: any) => void) => any;
|
|
28
|
-
/**
|
|
29
|
-
* @internal
|
|
30
|
-
* @hidden
|
|
31
|
-
*/
|
|
32
|
-
export declare function getCurrentActionContext(): IMiddlewareEvent | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* @internal
|
|
35
|
-
* @hidden
|
|
36
|
-
*/
|
|
37
|
-
export declare function getNextActionId(): number;
|
|
38
|
-
/**
|
|
39
|
-
* @internal
|
|
40
|
-
* @hidden
|
|
41
|
-
*/
|
|
42
|
-
export declare function runWithActionContext(context: IMiddlewareEvent, fn: Function): any;
|
|
43
|
-
/**
|
|
44
|
-
* @internal
|
|
45
|
-
* @hidden
|
|
46
|
-
*/
|
|
47
|
-
export declare function getParentActionContext(parentContext: IMiddlewareEvent | undefined): IMiddlewareEvent | undefined;
|
|
48
|
-
/**
|
|
49
|
-
* @internal
|
|
50
|
-
* @hidden
|
|
51
|
-
*/
|
|
52
|
-
export declare function createActionInvoker<T extends FunctionWithFlag>(target: IAnyStateTreeNode, name: string, fn: T): (...args: any[]) => any;
|
|
53
|
-
/**
|
|
54
|
-
* Middleware can be used to intercept any action is invoked on the subtree where it is attached.
|
|
55
|
-
* If a tree is protected (by default), this means that any mutation of the tree will pass through your middleware.
|
|
56
|
-
*
|
|
57
|
-
* For more details, see the [middleware docs](concepts/middleware.md)
|
|
58
|
-
*
|
|
59
|
-
* @param target Node to apply the middleware to.
|
|
60
|
-
* @param middleware Middleware to apply.
|
|
61
|
-
* @returns A callable function to dispose the middleware.
|
|
62
|
-
*/
|
|
63
|
-
export declare function addMiddleware(target: IAnyStateTreeNode, handler: IMiddlewareHandler, includeHooks?: boolean): IDisposer;
|
|
64
|
-
/**
|
|
65
|
-
* Binds middleware to a specific action.
|
|
66
|
-
*
|
|
67
|
-
* Example:
|
|
68
|
-
* ```ts
|
|
69
|
-
* type.actions(self => {
|
|
70
|
-
* function takeA____() {
|
|
71
|
-
* self.toilet.donate()
|
|
72
|
-
* self.wipe()
|
|
73
|
-
* self.wipe()
|
|
74
|
-
* self.toilet.flush()
|
|
75
|
-
* }
|
|
76
|
-
* return {
|
|
77
|
-
* takeA____: decorate(atomic, takeA____)
|
|
78
|
-
* }
|
|
79
|
-
* })
|
|
80
|
-
* ```
|
|
81
|
-
*
|
|
82
|
-
* @param handler
|
|
83
|
-
* @param fn
|
|
84
|
-
* @param includeHooks
|
|
85
|
-
* @returns The original function
|
|
86
|
-
*/
|
|
87
|
-
export declare function decorate<T extends Function>(handler: IMiddlewareHandler, fn: T, includeHooks?: boolean): T;
|