@jbrowse/mobx-state-tree 5.7.0 → 5.8.6

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/esm/utils.js DELETED
@@ -1,449 +0,0 @@
1
- import { _getGlobalState, defineProperty as mobxDefineProperty, isObservableArray, isObservableObject } from "mobx";
2
- const plainObjectString = Object.toString();
3
- /**
4
- * @internal
5
- * @hidden
6
- */
7
- export const EMPTY_ARRAY = Object.freeze([]);
8
- /**
9
- * @internal
10
- * @hidden
11
- */
12
- export const EMPTY_OBJECT = Object.freeze({});
13
- /**
14
- * @internal
15
- * @hidden
16
- */
17
- export const mobxShallow = _getGlobalState().useProxies
18
- ? { deep: false }
19
- : { deep: false, proxy: false };
20
- Object.freeze(mobxShallow);
21
- /**
22
- * @internal
23
- * @hidden
24
- */
25
- export function fail(message = "Illegal state") {
26
- return new Error("[mobx-state-tree] " + message);
27
- }
28
- /**
29
- * @internal
30
- * @hidden
31
- */
32
- export function identity(_) {
33
- return _;
34
- }
35
- /**
36
- * @internal
37
- * @hidden
38
- */
39
- export function noop() { }
40
- /**
41
- * @internal
42
- * @hidden
43
- */
44
- export const isInteger = Number.isInteger;
45
- /**
46
- * @internal
47
- * @hidden
48
- */
49
- export function isFloat(val) {
50
- return Number(val) === val && val % 1 !== 0;
51
- }
52
- /**
53
- * @internal
54
- * @hidden
55
- */
56
- export function isFinite(val) {
57
- return Number.isFinite(val);
58
- }
59
- /**
60
- * @internal
61
- * @hidden
62
- */
63
- export function isArray(val) {
64
- return Array.isArray(val) || isObservableArray(val);
65
- }
66
- /**
67
- * @internal
68
- * @hidden
69
- */
70
- export function asArray(val) {
71
- if (!val) {
72
- return EMPTY_ARRAY;
73
- }
74
- if (isArray(val)) {
75
- return val;
76
- }
77
- return [val];
78
- }
79
- /**
80
- * @internal
81
- * @hidden
82
- */
83
- export function extend(a, ...b) {
84
- for (let i = 0; i < b.length; i++) {
85
- const current = b[i];
86
- for (const key in current) {
87
- a[key] = current[key];
88
- }
89
- }
90
- return a;
91
- }
92
- /**
93
- * @internal
94
- * @hidden
95
- */
96
- export function isPlainObject(value) {
97
- if (value === null || typeof value !== "object") {
98
- return false;
99
- }
100
- const proto = Object.getPrototypeOf(value);
101
- if (proto == null) {
102
- return true;
103
- }
104
- return proto.constructor?.toString() === plainObjectString;
105
- }
106
- /**
107
- * @internal
108
- * @hidden
109
- */
110
- export function isMutable(value) {
111
- return (value !== null &&
112
- typeof value === "object" &&
113
- !(value instanceof Date) &&
114
- !(value instanceof RegExp));
115
- }
116
- /**
117
- * @internal
118
- * @hidden
119
- */
120
- export function isPrimitive(value, includeDate = true) {
121
- return (value === null ||
122
- value === undefined ||
123
- typeof value === "string" ||
124
- typeof value === "number" ||
125
- typeof value === "boolean" ||
126
- (includeDate && value instanceof Date));
127
- }
128
- /**
129
- * @internal
130
- * @hidden
131
- * Freeze a value and return it (if not in production)
132
- */
133
- export function freeze(value) {
134
- if (!devMode()) {
135
- return value;
136
- }
137
- return isPrimitive(value) || isObservableArray(value)
138
- ? value
139
- : Object.freeze(value);
140
- }
141
- /**
142
- * @internal
143
- * @hidden
144
- * Recursively freeze a value (if not in production)
145
- */
146
- export function deepFreeze(value) {
147
- if (!devMode()) {
148
- return value;
149
- }
150
- freeze(value);
151
- if (isPlainObject(value)) {
152
- Object.keys(value).forEach(propKey => {
153
- if (!isPrimitive(value[propKey]) &&
154
- !Object.isFrozen(value[propKey])) {
155
- deepFreeze(value[propKey]);
156
- }
157
- });
158
- }
159
- return value;
160
- }
161
- /**
162
- * @internal
163
- * @hidden
164
- */
165
- export function isSerializable(value) {
166
- return typeof value !== "function";
167
- }
168
- /**
169
- * @internal
170
- * @hidden
171
- */
172
- export function defineProperty(object, key, descriptor) {
173
- if (isObservableObject(object)) {
174
- mobxDefineProperty(object, key, descriptor);
175
- }
176
- else {
177
- Object.defineProperty(object, key, descriptor);
178
- }
179
- }
180
- /**
181
- * @internal
182
- * @hidden
183
- */
184
- export function addHiddenFinalProp(object, propName, value) {
185
- defineProperty(object, propName, {
186
- enumerable: false,
187
- writable: false,
188
- configurable: true,
189
- value
190
- });
191
- }
192
- /**
193
- * @internal
194
- * @hidden
195
- */
196
- export function addHiddenWritableProp(object, propName, value) {
197
- defineProperty(object, propName, {
198
- enumerable: false,
199
- writable: true,
200
- configurable: true,
201
- value
202
- });
203
- }
204
- /**
205
- * @internal
206
- * @hidden
207
- */
208
- class EventHandler {
209
- handlers = [];
210
- emitting = false;
211
- pendingUnregisters = null;
212
- get hasSubscribers() {
213
- return this.handlers.length > 0;
214
- }
215
- register(fn, atTheBeginning = false) {
216
- if (atTheBeginning) {
217
- this.handlers.unshift(fn);
218
- }
219
- else {
220
- this.handlers.push(fn);
221
- }
222
- return () => {
223
- this.unregister(fn);
224
- };
225
- }
226
- has(fn) {
227
- return this.handlers.indexOf(fn) >= 0;
228
- }
229
- unregister(fn) {
230
- if (this.emitting) {
231
- // defer unregistration until emit is done
232
- if (!this.pendingUnregisters) {
233
- this.pendingUnregisters = [];
234
- }
235
- this.pendingUnregisters.push(fn);
236
- return;
237
- }
238
- const index = this.handlers.indexOf(fn);
239
- if (index >= 0) {
240
- this.handlers.splice(index, 1);
241
- }
242
- }
243
- clear() {
244
- this.handlers.length = 0;
245
- }
246
- emit(...args) {
247
- // use emitting flag to defer unregistrations instead of copying array
248
- this.emitting = true;
249
- try {
250
- for (const f of this.handlers) {
251
- f(...args);
252
- }
253
- }
254
- finally {
255
- this.emitting = false;
256
- // process any deferred unregistrations
257
- if (this.pendingUnregisters) {
258
- for (const fn of this.pendingUnregisters) {
259
- const index = this.handlers.indexOf(fn);
260
- if (index >= 0) {
261
- this.handlers.splice(index, 1);
262
- }
263
- }
264
- this.pendingUnregisters = null;
265
- }
266
- }
267
- }
268
- }
269
- /**
270
- * @internal
271
- * @hidden
272
- */
273
- export class EventHandlers {
274
- eventHandlers;
275
- hasSubscribers(event) {
276
- const handler = this.eventHandlers && this.eventHandlers[event];
277
- return !!handler && handler.hasSubscribers;
278
- }
279
- register(event, fn, atTheBeginning = false) {
280
- if (!this.eventHandlers) {
281
- this.eventHandlers = {};
282
- }
283
- let handler = this.eventHandlers[event];
284
- if (!handler) {
285
- handler = this.eventHandlers[event] = new EventHandler();
286
- }
287
- return handler.register(fn, atTheBeginning);
288
- }
289
- has(event, fn) {
290
- const handler = this.eventHandlers && this.eventHandlers[event];
291
- return !!handler && handler.has(fn);
292
- }
293
- unregister(event, fn) {
294
- const handler = this.eventHandlers && this.eventHandlers[event];
295
- if (handler) {
296
- handler.unregister(fn);
297
- }
298
- }
299
- clear(event) {
300
- if (this.eventHandlers) {
301
- delete this.eventHandlers[event];
302
- }
303
- }
304
- clearAll() {
305
- this.eventHandlers = undefined;
306
- }
307
- emit(event, ...args) {
308
- const handler = this.eventHandlers && this.eventHandlers[event];
309
- if (handler) {
310
- ;
311
- handler.emit(...args);
312
- }
313
- }
314
- }
315
- const prototypeHasOwnProperty = Object.prototype.hasOwnProperty;
316
- /**
317
- * @internal
318
- * @hidden
319
- */
320
- export function hasOwnProperty(object, propName) {
321
- return prototypeHasOwnProperty.call(object, propName);
322
- }
323
- /**
324
- * @internal
325
- * @hidden
326
- */
327
- export function argsToArray(args) {
328
- const res = new Array(args.length);
329
- for (let i = 0; i < args.length; i++) {
330
- res[i] = args[i];
331
- }
332
- return res;
333
- }
334
- /**
335
- * @internal
336
- * @hidden
337
- */
338
- export function stringStartsWith(str, beginning) {
339
- return str.indexOf(beginning) === 0;
340
- }
341
- /**
342
- * @internal
343
- * @hidden
344
- */
345
- export const deprecated = function (id, message) {
346
- // skip if running production
347
- if (!devMode()) {
348
- return;
349
- }
350
- // warn if hasn't been warned before
351
- if (deprecated.ids && !deprecated.ids.hasOwnProperty(id)) {
352
- warnError("Deprecation warning: " + message);
353
- }
354
- // mark as warned to avoid duplicate warn message
355
- if (deprecated.ids) {
356
- deprecated.ids[id] = true;
357
- }
358
- };
359
- deprecated.ids = {};
360
- /**
361
- * @internal
362
- * @hidden
363
- */
364
- export function warnError(msg) {
365
- console.warn(new Error(`[mobx-state-tree] ${msg}`));
366
- }
367
- /**
368
- * @internal
369
- * @hidden
370
- */
371
- export function isTypeCheckingEnabled() {
372
- return (devMode() ||
373
- (typeof process !== "undefined" &&
374
- process.env &&
375
- process.env.ENABLE_TYPE_CHECK === "true"));
376
- }
377
- let _devMode = process.env.NODE_ENV !== "production";
378
- /**
379
- * @internal
380
- * @hidden
381
- */
382
- export function devMode() {
383
- return _devMode;
384
- }
385
- /**
386
- * @internal
387
- * @hidden
388
- */
389
- export function setDevMode(value) {
390
- _devMode = value;
391
- }
392
- /**
393
- * @internal
394
- * @hidden
395
- */
396
- export function assertArg(value, fn, typeName, argNumber) {
397
- if (devMode()) {
398
- if (!fn(value)) {
399
- // istanbul ignore next
400
- throw fail(`expected ${typeName} as argument ${asArray(argNumber).join(" or ")}, got ${value} instead`);
401
- }
402
- }
403
- }
404
- /**
405
- * @internal
406
- * @hidden
407
- */
408
- export function assertIsFunction(value, argNumber) {
409
- assertArg(value, fn => typeof fn === "function", "function", argNumber);
410
- }
411
- /**
412
- * @internal
413
- * @hidden
414
- */
415
- export function assertIsNumber(value, argNumber, min, max) {
416
- assertArg(value, n => typeof n === "number", "number", argNumber);
417
- if (min !== undefined) {
418
- assertArg(value, n => n >= min, `number greater than ${min}`, argNumber);
419
- }
420
- if (max !== undefined) {
421
- assertArg(value, n => n <= max, `number lesser than ${max}`, argNumber);
422
- }
423
- }
424
- /**
425
- * @internal
426
- * @hidden
427
- */
428
- export function assertIsString(value, argNumber, canBeEmpty = true) {
429
- assertArg(value, s => typeof s === "string", "string", argNumber);
430
- if (!canBeEmpty) {
431
- assertArg(value, s => s !== "", "not empty string", argNumber);
432
- }
433
- }
434
- /**
435
- * @internal
436
- * @hidden
437
- */
438
- export function setImmediateWithFallback(fn) {
439
- if (typeof queueMicrotask === "function") {
440
- queueMicrotask(fn);
441
- }
442
- else if (typeof setImmediate === "function") {
443
- setImmediate(fn);
444
- }
445
- else {
446
- setTimeout(fn, 1);
447
- }
448
- }
449
- //# sourceMappingURL=utils.js.map
package/esm/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"]}