@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.
Files changed (253) hide show
  1. package/README.md +0 -10
  2. package/dist/index.d.ts +2135 -2
  3. package/dist/mobx-state-tree.cjs +6894 -0
  4. package/dist/mobx-state-tree.cjs.map +1 -0
  5. package/dist/mobx-state-tree.mjs +6814 -0
  6. package/dist/mobx-state-tree.mjs.map +1 -0
  7. package/package.json +30 -26
  8. package/dist/core/action.d.ts +0 -87
  9. package/dist/core/action.js +0 -228
  10. package/dist/core/action.js.map +0 -1
  11. package/dist/core/actionContext.d.ts +0 -27
  12. package/dist/core/actionContext.js +0 -42
  13. package/dist/core/actionContext.js.map +0 -1
  14. package/dist/core/flow.d.ts +0 -69
  15. package/dist/core/flow.js +0 -180
  16. package/dist/core/flow.js.map +0 -1
  17. package/dist/core/json-patch.d.ts +0 -46
  18. package/dist/core/json-patch.js +0 -133
  19. package/dist/core/json-patch.js.map +0 -1
  20. package/dist/core/mst-operations.d.ts +0 -459
  21. package/dist/core/mst-operations.js +0 -885
  22. package/dist/core/mst-operations.js.map +0 -1
  23. package/dist/core/node/BaseNode.d.ts +0 -62
  24. package/dist/core/node/BaseNode.js +0 -152
  25. package/dist/core/node/BaseNode.js.map +0 -1
  26. package/dist/core/node/Hook.d.ts +0 -17
  27. package/dist/core/node/Hook.js +0 -15
  28. package/dist/core/node/Hook.js.map +0 -1
  29. package/dist/core/node/create-node.d.ts +0 -16
  30. package/dist/core/node/create-node.js +0 -41
  31. package/dist/core/node/create-node.js.map +0 -1
  32. package/dist/core/node/identifier-cache.d.ts +0 -19
  33. package/dist/core/node/identifier-cache.js +0 -115
  34. package/dist/core/node/identifier-cache.js.map +0 -1
  35. package/dist/core/node/livelinessChecking.d.ts +0 -37
  36. package/dist/core/node/livelinessChecking.js +0 -38
  37. package/dist/core/node/livelinessChecking.js.map +0 -1
  38. package/dist/core/node/node-utils.d.ts +0 -83
  39. package/dist/core/node/node-utils.js +0 -165
  40. package/dist/core/node/node-utils.js.map +0 -1
  41. package/dist/core/node/object-node.d.ts +0 -101
  42. package/dist/core/node/object-node.js +0 -546
  43. package/dist/core/node/object-node.js.map +0 -1
  44. package/dist/core/node/scalar-node.d.ts +0 -21
  45. package/dist/core/node/scalar-node.js +0 -90
  46. package/dist/core/node/scalar-node.js.map +0 -1
  47. package/dist/core/process.d.ts +0 -50
  48. package/dist/core/process.js +0 -39
  49. package/dist/core/process.js.map +0 -1
  50. package/dist/core/type/type-checker.d.ts +0 -69
  51. package/dist/core/type/type-checker.js +0 -154
  52. package/dist/core/type/type-checker.js.map +0 -1
  53. package/dist/core/type/type.d.ts +0 -317
  54. package/dist/core/type/type.js +0 -251
  55. package/dist/core/type/type.js.map +0 -1
  56. package/dist/index.js +0 -85
  57. package/dist/index.js.map +0 -1
  58. package/dist/internal.d.ts +0 -39
  59. package/dist/internal.js +0 -60
  60. package/dist/internal.js.map +0 -1
  61. package/dist/middlewares/create-action-tracking-middleware.d.ts +0 -24
  62. package/dist/middlewares/create-action-tracking-middleware.js +0 -81
  63. package/dist/middlewares/create-action-tracking-middleware.js.map +0 -1
  64. package/dist/middlewares/createActionTrackingMiddleware2.d.ts +0 -34
  65. package/dist/middlewares/createActionTrackingMiddleware2.js +0 -133
  66. package/dist/middlewares/createActionTrackingMiddleware2.js.map +0 -1
  67. package/dist/middlewares/on-action.d.ts +0 -87
  68. package/dist/middlewares/on-action.js +0 -215
  69. package/dist/middlewares/on-action.js.map +0 -1
  70. package/dist/package.json +0 -1
  71. package/dist/types/complex-types/array.d.ts +0 -81
  72. package/dist/types/complex-types/array.js +0 -353
  73. package/dist/types/complex-types/array.js.map +0 -1
  74. package/dist/types/complex-types/map.d.ts +0 -111
  75. package/dist/types/complex-types/map.js +0 -362
  76. package/dist/types/complex-types/map.js.map +0 -1
  77. package/dist/types/complex-types/model.d.ts +0 -193
  78. package/dist/types/complex-types/model.js +0 -478
  79. package/dist/types/complex-types/model.js.map +0 -1
  80. package/dist/types/index.d.ts +0 -33
  81. package/dist/types/index.js +0 -38
  82. package/dist/types/index.js.map +0 -1
  83. package/dist/types/primitives.d.ts +0 -125
  84. package/dist/types/primitives.js +0 -183
  85. package/dist/types/primitives.js.map +0 -1
  86. package/dist/types/utility-types/custom.d.ts +0 -75
  87. package/dist/types/utility-types/custom.js +0 -111
  88. package/dist/types/utility-types/custom.js.map +0 -1
  89. package/dist/types/utility-types/enumeration.d.ts +0 -5
  90. package/dist/types/utility-types/enumeration.js +0 -34
  91. package/dist/types/utility-types/enumeration.js.map +0 -1
  92. package/dist/types/utility-types/frozen.d.ts +0 -24
  93. package/dist/types/utility-types/frozen.js +0 -98
  94. package/dist/types/utility-types/frozen.js.map +0 -1
  95. package/dist/types/utility-types/identifier.d.ts +0 -87
  96. package/dist/types/utility-types/identifier.js +0 -130
  97. package/dist/types/utility-types/identifier.js.map +0 -1
  98. package/dist/types/utility-types/late.d.ts +0 -10
  99. package/dist/types/utility-types/late.js +0 -110
  100. package/dist/types/utility-types/late.js.map +0 -1
  101. package/dist/types/utility-types/lazy.d.ts +0 -23
  102. package/dist/types/utility-types/lazy.js +0 -77
  103. package/dist/types/utility-types/lazy.js.map +0 -1
  104. package/dist/types/utility-types/literal.d.ts +0 -38
  105. package/dist/types/utility-types/literal.js +0 -64
  106. package/dist/types/utility-types/literal.js.map +0 -1
  107. package/dist/types/utility-types/maybe.d.ts +0 -26
  108. package/dist/types/utility-types/maybe.js +0 -30
  109. package/dist/types/utility-types/maybe.js.map +0 -1
  110. package/dist/types/utility-types/optional.d.ts +0 -42
  111. package/dist/types/utility-types/optional.js +0 -141
  112. package/dist/types/utility-types/optional.js.map +0 -1
  113. package/dist/types/utility-types/reference.d.ts +0 -90
  114. package/dist/types/utility-types/reference.js +0 -393
  115. package/dist/types/utility-types/reference.js.map +0 -1
  116. package/dist/types/utility-types/refinement.d.ts +0 -10
  117. package/dist/types/utility-types/refinement.js +0 -86
  118. package/dist/types/utility-types/refinement.js.map +0 -1
  119. package/dist/types/utility-types/resilient.d.ts +0 -18
  120. package/dist/types/utility-types/resilient.js +0 -121
  121. package/dist/types/utility-types/resilient.js.map +0 -1
  122. package/dist/types/utility-types/snapshotProcessor.d.ts +0 -63
  123. package/dist/types/utility-types/snapshotProcessor.js +0 -162
  124. package/dist/types/utility-types/snapshotProcessor.js.map +0 -1
  125. package/dist/types/utility-types/union.d.ts +0 -78
  126. package/dist/types/utility-types/union.js +0 -246
  127. package/dist/types/utility-types/union.js.map +0 -1
  128. package/dist/utils.d.ts +0 -230
  129. package/dist/utils.js +0 -483
  130. package/dist/utils.js.map +0 -1
  131. package/esm/core/action.d.ts +0 -87
  132. package/esm/core/action.js +0 -219
  133. package/esm/core/action.js.map +0 -1
  134. package/esm/core/actionContext.d.ts +0 -27
  135. package/esm/core/actionContext.js +0 -37
  136. package/esm/core/actionContext.js.map +0 -1
  137. package/esm/core/flow.d.ts +0 -69
  138. package/esm/core/flow.js +0 -173
  139. package/esm/core/flow.js.map +0 -1
  140. package/esm/core/json-patch.d.ts +0 -46
  141. package/esm/core/json-patch.js +0 -125
  142. package/esm/core/json-patch.js.map +0 -1
  143. package/esm/core/mst-operations.d.ts +0 -459
  144. package/esm/core/mst-operations.js +0 -844
  145. package/esm/core/mst-operations.js.map +0 -1
  146. package/esm/core/node/BaseNode.d.ts +0 -62
  147. package/esm/core/node/BaseNode.js +0 -148
  148. package/esm/core/node/BaseNode.js.map +0 -1
  149. package/esm/core/node/Hook.d.ts +0 -17
  150. package/esm/core/node/Hook.js +0 -12
  151. package/esm/core/node/Hook.js.map +0 -1
  152. package/esm/core/node/create-node.d.ts +0 -16
  153. package/esm/core/node/create-node.js +0 -36
  154. package/esm/core/node/create-node.js.map +0 -1
  155. package/esm/core/node/identifier-cache.d.ts +0 -19
  156. package/esm/core/node/identifier-cache.js +0 -111
  157. package/esm/core/node/identifier-cache.js.map +0 -1
  158. package/esm/core/node/livelinessChecking.d.ts +0 -37
  159. package/esm/core/node/livelinessChecking.js +0 -33
  160. package/esm/core/node/livelinessChecking.js.map +0 -1
  161. package/esm/core/node/node-utils.d.ts +0 -83
  162. package/esm/core/node/node-utils.js +0 -153
  163. package/esm/core/node/node-utils.js.map +0 -1
  164. package/esm/core/node/object-node.d.ts +0 -101
  165. package/esm/core/node/object-node.js +0 -542
  166. package/esm/core/node/object-node.js.map +0 -1
  167. package/esm/core/node/scalar-node.d.ts +0 -21
  168. package/esm/core/node/scalar-node.js +0 -86
  169. package/esm/core/node/scalar-node.js.map +0 -1
  170. package/esm/core/process.d.ts +0 -50
  171. package/esm/core/process.js +0 -35
  172. package/esm/core/process.js.map +0 -1
  173. package/esm/core/type/type-checker.d.ts +0 -69
  174. package/esm/core/type/type-checker.js +0 -144
  175. package/esm/core/type/type-checker.js.map +0 -1
  176. package/esm/core/type/type.d.ts +0 -317
  177. package/esm/core/type/type.js +0 -243
  178. package/esm/core/type/type.js.map +0 -1
  179. package/esm/index.d.ts +0 -2
  180. package/esm/index.js +0 -2
  181. package/esm/index.js.map +0 -1
  182. package/esm/internal.d.ts +0 -39
  183. package/esm/internal.js +0 -44
  184. package/esm/internal.js.map +0 -1
  185. package/esm/middlewares/create-action-tracking-middleware.d.ts +0 -24
  186. package/esm/middlewares/create-action-tracking-middleware.js +0 -78
  187. package/esm/middlewares/create-action-tracking-middleware.js.map +0 -1
  188. package/esm/middlewares/createActionTrackingMiddleware2.d.ts +0 -34
  189. package/esm/middlewares/createActionTrackingMiddleware2.js +0 -130
  190. package/esm/middlewares/createActionTrackingMiddleware2.js.map +0 -1
  191. package/esm/middlewares/on-action.d.ts +0 -87
  192. package/esm/middlewares/on-action.js +0 -210
  193. package/esm/middlewares/on-action.js.map +0 -1
  194. package/esm/types/complex-types/array.d.ts +0 -81
  195. package/esm/types/complex-types/array.js +0 -347
  196. package/esm/types/complex-types/array.js.map +0 -1
  197. package/esm/types/complex-types/map.d.ts +0 -111
  198. package/esm/types/complex-types/map.js +0 -356
  199. package/esm/types/complex-types/map.js.map +0 -1
  200. package/esm/types/complex-types/model.d.ts +0 -193
  201. package/esm/types/complex-types/model.js +0 -471
  202. package/esm/types/complex-types/model.js.map +0 -1
  203. package/esm/types/index.d.ts +0 -33
  204. package/esm/types/index.js +0 -35
  205. package/esm/types/index.js.map +0 -1
  206. package/esm/types/primitives.d.ts +0 -125
  207. package/esm/types/primitives.js +0 -177
  208. package/esm/types/primitives.js.map +0 -1
  209. package/esm/types/utility-types/custom.d.ts +0 -75
  210. package/esm/types/utility-types/custom.js +0 -106
  211. package/esm/types/utility-types/custom.js.map +0 -1
  212. package/esm/types/utility-types/enumeration.d.ts +0 -5
  213. package/esm/types/utility-types/enumeration.js +0 -31
  214. package/esm/types/utility-types/enumeration.js.map +0 -1
  215. package/esm/types/utility-types/frozen.d.ts +0 -24
  216. package/esm/types/utility-types/frozen.js +0 -92
  217. package/esm/types/utility-types/frozen.js.map +0 -1
  218. package/esm/types/utility-types/identifier.d.ts +0 -87
  219. package/esm/types/utility-types/identifier.js +0 -121
  220. package/esm/types/utility-types/identifier.js.map +0 -1
  221. package/esm/types/utility-types/late.d.ts +0 -10
  222. package/esm/types/utility-types/late.js +0 -106
  223. package/esm/types/utility-types/late.js.map +0 -1
  224. package/esm/types/utility-types/lazy.d.ts +0 -23
  225. package/esm/types/utility-types/lazy.js +0 -72
  226. package/esm/types/utility-types/lazy.js.map +0 -1
  227. package/esm/types/utility-types/literal.d.ts +0 -38
  228. package/esm/types/utility-types/literal.js +0 -58
  229. package/esm/types/utility-types/literal.js.map +0 -1
  230. package/esm/types/utility-types/maybe.d.ts +0 -26
  231. package/esm/types/utility-types/maybe.js +0 -26
  232. package/esm/types/utility-types/maybe.js.map +0 -1
  233. package/esm/types/utility-types/optional.d.ts +0 -42
  234. package/esm/types/utility-types/optional.js +0 -135
  235. package/esm/types/utility-types/optional.js.map +0 -1
  236. package/esm/types/utility-types/reference.d.ts +0 -90
  237. package/esm/types/utility-types/reference.js +0 -383
  238. package/esm/types/utility-types/reference.js.map +0 -1
  239. package/esm/types/utility-types/refinement.d.ts +0 -10
  240. package/esm/types/utility-types/refinement.js +0 -82
  241. package/esm/types/utility-types/refinement.js.map +0 -1
  242. package/esm/types/utility-types/resilient.d.ts +0 -18
  243. package/esm/types/utility-types/resilient.js +0 -118
  244. package/esm/types/utility-types/resilient.js.map +0 -1
  245. package/esm/types/utility-types/snapshotProcessor.d.ts +0 -63
  246. package/esm/types/utility-types/snapshotProcessor.js +0 -159
  247. package/esm/types/utility-types/snapshotProcessor.js.map +0 -1
  248. package/esm/types/utility-types/union.d.ts +0 -78
  249. package/esm/types/utility-types/union.js +0 -240
  250. package/esm/types/utility-types/union.js.map +0 -1
  251. package/esm/utils.d.ts +0 -230
  252. package/esm/utils.js +0 -449
  253. 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":"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","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"]}
@@ -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;