@jbrowse/mobx-state-tree 5.5.0 → 5.6.2

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 (99) hide show
  1. package/README.md +18 -0
  2. package/dist/core/action.d.ts +1 -1
  3. package/dist/core/action.js +228 -0
  4. package/dist/core/action.js.map +1 -1
  5. package/dist/core/actionContext.js +42 -0
  6. package/dist/core/actionContext.js.map +1 -1
  7. package/dist/core/flow.d.ts +1 -1
  8. package/dist/core/flow.js +180 -0
  9. package/dist/core/flow.js.map +1 -1
  10. package/dist/core/json-patch.js +133 -0
  11. package/dist/core/json-patch.js.map +1 -1
  12. package/dist/core/mst-operations.js +885 -0
  13. package/dist/core/mst-operations.js.map +1 -1
  14. package/dist/core/node/BaseNode.js +152 -0
  15. package/dist/core/node/BaseNode.js.map +1 -1
  16. package/dist/core/node/Hook.js +15 -0
  17. package/dist/core/node/Hook.js.map +1 -1
  18. package/dist/core/node/create-node.js +41 -0
  19. package/dist/core/node/create-node.js.map +1 -1
  20. package/dist/core/node/identifier-cache.js +115 -0
  21. package/dist/core/node/identifier-cache.js.map +1 -1
  22. package/dist/core/node/livelinessChecking.js +38 -0
  23. package/dist/core/node/livelinessChecking.js.map +1 -1
  24. package/dist/core/node/node-utils.js +165 -0
  25. package/dist/core/node/node-utils.js.map +1 -1
  26. package/dist/core/node/object-node.js +545 -0
  27. package/dist/core/node/object-node.js.map +1 -1
  28. package/dist/core/node/scalar-node.js +89 -0
  29. package/dist/core/node/scalar-node.js.map +1 -1
  30. package/dist/core/process.d.ts +1 -1
  31. package/dist/core/process.js +39 -0
  32. package/dist/core/process.js.map +1 -1
  33. package/dist/core/type/type-checker.js +154 -0
  34. package/dist/core/type/type-checker.js.map +1 -1
  35. package/dist/core/type/type.d.ts +1 -1
  36. package/dist/core/type/type.js +251 -0
  37. package/dist/core/type/type.js.map +1 -1
  38. package/dist/index.js +85 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal.d.ts +1 -0
  41. package/dist/internal.js +60 -0
  42. package/dist/internal.js.map +1 -1
  43. package/dist/middlewares/create-action-tracking-middleware.js +81 -0
  44. package/dist/middlewares/create-action-tracking-middleware.js.map +1 -1
  45. package/dist/middlewares/createActionTrackingMiddleware2.js +133 -0
  46. package/dist/middlewares/createActionTrackingMiddleware2.js.map +1 -1
  47. package/dist/middlewares/on-action.js +215 -0
  48. package/dist/middlewares/on-action.js.map +1 -1
  49. package/dist/mobx-state-tree.js +83 -6750
  50. package/dist/mobx-state-tree.module.js +83 -6672
  51. package/dist/types/complex-types/array.d.ts +1 -1
  52. package/dist/types/complex-types/array.js +352 -0
  53. package/dist/types/complex-types/array.js.map +1 -1
  54. package/dist/types/complex-types/map.d.ts +1 -1
  55. package/dist/types/complex-types/map.js +361 -0
  56. package/dist/types/complex-types/map.js.map +1 -1
  57. package/dist/types/complex-types/model.js +477 -0
  58. package/dist/types/complex-types/model.js.map +1 -1
  59. package/dist/types/index.d.ts +2 -1
  60. package/dist/types/index.js +38 -0
  61. package/dist/types/index.js.map +1 -1
  62. package/dist/types/primitives.js +182 -0
  63. package/dist/types/primitives.js.map +1 -1
  64. package/dist/types/utility-types/custom.js +110 -0
  65. package/dist/types/utility-types/custom.js.map +1 -1
  66. package/dist/types/utility-types/enumeration.js +34 -0
  67. package/dist/types/utility-types/enumeration.js.map +1 -1
  68. package/dist/types/utility-types/frozen.js +97 -0
  69. package/dist/types/utility-types/frozen.js.map +1 -1
  70. package/dist/types/utility-types/identifier.js +129 -0
  71. package/dist/types/utility-types/identifier.js.map +1 -1
  72. package/dist/types/utility-types/late.js +109 -0
  73. package/dist/types/utility-types/late.js.map +1 -1
  74. package/dist/types/utility-types/lazy.js +76 -0
  75. package/dist/types/utility-types/lazy.js.map +1 -1
  76. package/dist/types/utility-types/literal.js +63 -0
  77. package/dist/types/utility-types/literal.js.map +1 -1
  78. package/dist/types/utility-types/maybe.js +30 -0
  79. package/dist/types/utility-types/maybe.js.map +1 -1
  80. package/dist/types/utility-types/optional.js +140 -0
  81. package/dist/types/utility-types/optional.js.map +1 -1
  82. package/dist/types/utility-types/reference.d.ts +2 -2
  83. package/dist/types/utility-types/reference.js +392 -0
  84. package/dist/types/utility-types/reference.js.map +1 -1
  85. package/dist/types/utility-types/refinement.js +85 -0
  86. package/dist/types/utility-types/refinement.js.map +1 -1
  87. package/dist/types/utility-types/resilient.d.ts +18 -0
  88. package/dist/types/utility-types/resilient.js +120 -0
  89. package/dist/types/utility-types/resilient.js.map +1 -0
  90. package/dist/types/utility-types/snapshotProcessor.js +161 -0
  91. package/dist/types/utility-types/snapshotProcessor.js.map +1 -1
  92. package/dist/types/utility-types/union.d.ts +1 -0
  93. package/dist/types/utility-types/union.js +245 -0
  94. package/dist/types/utility-types/union.js.map +1 -1
  95. package/dist/utils.js +483 -0
  96. package/dist/utils.js.map +1 -1
  97. package/package.json +26 -24
  98. package/changelog.md +0 -677
  99. package/dist/mobx-state-tree.umd.js +0 -6756
@@ -0,0 +1,477 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModelType = void 0;
4
+ exports.model = model;
5
+ exports.compose = compose;
6
+ exports.isModelType = isModelType;
7
+ const mobx_1 = require("mobx");
8
+ const internal_ts_1 = require("../../internal.js");
9
+ const PRE_PROCESS_SNAPSHOT = "preProcessSnapshot";
10
+ const POST_PROCESS_SNAPSHOT = "postProcessSnapshot";
11
+ function objectTypeToString() {
12
+ return (0, internal_ts_1.getStateTreeNode)(this).toString();
13
+ }
14
+ const defaultObjectOptions = {
15
+ name: "AnonymousModel",
16
+ properties: {},
17
+ initializers: internal_ts_1.EMPTY_ARRAY
18
+ };
19
+ function toPropertiesObject(declaredProps) {
20
+ const keysList = Object.keys(declaredProps);
21
+ const alreadySeenKeys = new Set();
22
+ keysList.forEach(key => {
23
+ if (alreadySeenKeys.has(key)) {
24
+ throw (0, internal_ts_1.fail)(`${key} is declared twice in the model. Model should not contain the same keys`);
25
+ }
26
+ alreadySeenKeys.add(key);
27
+ });
28
+ // loop through properties and ensures that all items are types
29
+ return keysList.reduce((props, key) => {
30
+ // warn if user intended a HOOK
31
+ if (key in internal_ts_1.Hook) {
32
+ throw (0, internal_ts_1.fail)(`Hook '${key}' was defined as property. Hooks should be defined as part of the actions`);
33
+ }
34
+ // the user intended to use a view
35
+ const descriptor = Object.getOwnPropertyDescriptor(declaredProps, key);
36
+ if ("get" in descriptor) {
37
+ throw (0, internal_ts_1.fail)("Getters are not supported as properties. Please use views instead");
38
+ }
39
+ // undefined and null are not valid
40
+ const value = descriptor.value;
41
+ if (value === null || value === undefined) {
42
+ throw (0, internal_ts_1.fail)("The default value of an attribute cannot be null or undefined as the type cannot be inferred. Did you mean `types.maybe(someType)`?");
43
+ }
44
+ // its a primitive, convert to its type
45
+ else if ((0, internal_ts_1.isPrimitive)(value)) {
46
+ props[key] = (0, internal_ts_1.optional)((0, internal_ts_1.getPrimitiveFactoryFromValue)(value), value);
47
+ }
48
+ // map defaults to empty object automatically for models
49
+ else if (value instanceof internal_ts_1.MapType) {
50
+ props[key] = (0, internal_ts_1.optional)(value, {});
51
+ }
52
+ else if (value instanceof internal_ts_1.ArrayType) {
53
+ props[key] = (0, internal_ts_1.optional)(value, []);
54
+ }
55
+ // its already a type
56
+ else if ((0, internal_ts_1.isType)(value)) {
57
+ // do nothing, it's already a type
58
+ }
59
+ // its a function, maybe the user wanted a view?
60
+ else if ((0, internal_ts_1.devMode)() && typeof value === "function") {
61
+ throw (0, internal_ts_1.fail)(`Invalid type definition for property '${key}', it looks like you passed a function. Did you forget to invoke it, or did you intend to declare a view / action?`);
62
+ }
63
+ // no other complex values
64
+ else if ((0, internal_ts_1.devMode)() && typeof value === "object") {
65
+ throw (0, internal_ts_1.fail)(`Invalid type definition for property '${key}', it looks like you passed an object. Try passing another model type or a types.frozen.`);
66
+ }
67
+ else {
68
+ throw (0, internal_ts_1.fail)(`Invalid type definition for property '${key}', cannot infer a type from a value like '${value}' (${typeof value})`);
69
+ }
70
+ return props;
71
+ }, { ...declaredProps });
72
+ }
73
+ /**
74
+ * @internal
75
+ * @hidden
76
+ */
77
+ class ModelType extends internal_ts_1.ComplexType {
78
+ flags = internal_ts_1.TypeFlags.Object;
79
+ /*
80
+ * The original object definition
81
+ */
82
+ initializers;
83
+ properties;
84
+ preProcessor;
85
+ postProcessor;
86
+ propertyNames;
87
+ constructor(opts) {
88
+ super(opts.name || defaultObjectOptions.name);
89
+ Object.assign(this, defaultObjectOptions, opts);
90
+ // ensures that any default value gets converted to its related type
91
+ this.properties = toPropertiesObject(this.properties);
92
+ (0, internal_ts_1.freeze)(this.properties); // make sure nobody messes with it
93
+ this.propertyNames = Object.keys(this.properties);
94
+ this.identifierAttribute = this._getIdentifierAttribute();
95
+ }
96
+ _getIdentifierAttribute() {
97
+ let identifierAttribute = undefined;
98
+ this.forAllProps((propName, propType) => {
99
+ if (propType.flags & internal_ts_1.TypeFlags.Identifier) {
100
+ if (identifierAttribute) {
101
+ throw (0, internal_ts_1.fail)(`Cannot define property '${propName}' as object identifier, property '${identifierAttribute}' is already defined as identifier property`);
102
+ }
103
+ identifierAttribute = propName;
104
+ }
105
+ });
106
+ return identifierAttribute;
107
+ }
108
+ cloneAndEnhance(opts) {
109
+ return new ModelType({
110
+ name: opts.name || this.name,
111
+ properties: Object.assign({}, this.properties, opts.properties),
112
+ initializers: this.initializers.concat(opts.initializers || []),
113
+ preProcessor: opts.preProcessor || this.preProcessor,
114
+ postProcessor: opts.postProcessor || this.postProcessor
115
+ });
116
+ }
117
+ actions(fn) {
118
+ const actionInitializer = (self) => {
119
+ this.instantiateActions(self, fn(self));
120
+ return self;
121
+ };
122
+ return this.cloneAndEnhance({ initializers: [actionInitializer] });
123
+ }
124
+ instantiateActions(self, actions) {
125
+ // check if return is correct
126
+ if (!(0, internal_ts_1.isPlainObject)(actions)) {
127
+ throw (0, internal_ts_1.fail)(`actions initializer should return a plain object containing actions`);
128
+ }
129
+ // bind actions to the object created
130
+ Object.keys(actions).forEach(name => {
131
+ // warn if preprocessor was given
132
+ if (name === PRE_PROCESS_SNAPSHOT) {
133
+ throw (0, internal_ts_1.fail)(`Cannot define action '${PRE_PROCESS_SNAPSHOT}', it should be defined using 'type.preProcessSnapshot(fn)' instead`);
134
+ }
135
+ // warn if postprocessor was given
136
+ if (name === POST_PROCESS_SNAPSHOT) {
137
+ throw (0, internal_ts_1.fail)(`Cannot define action '${POST_PROCESS_SNAPSHOT}', it should be defined using 'type.postProcessSnapshot(fn)' instead`);
138
+ }
139
+ let action2 = actions[name];
140
+ // apply hook composition
141
+ const baseAction = self[name];
142
+ if (name in internal_ts_1.Hook && baseAction) {
143
+ const specializedAction = action2;
144
+ action2 = function (...args) {
145
+ baseAction(...args);
146
+ specializedAction(...args);
147
+ };
148
+ }
149
+ // the goal of this is to make sure actions using "this" can call themselves,
150
+ // while still allowing the middlewares to register them
151
+ const middlewares = action2.$mst_middleware; // make sure middlewares are not lost
152
+ const boundAction = action2.bind(actions);
153
+ boundAction._isFlowAction =
154
+ action2._isFlowAction || false;
155
+ boundAction.$mst_middleware = middlewares;
156
+ const actionInvoker = (0, internal_ts_1.createActionInvoker)(self, name, boundAction);
157
+ actions[name] = actionInvoker;
158
+ (!(0, internal_ts_1.devMode)() ? internal_ts_1.addHiddenFinalProp : internal_ts_1.addHiddenWritableProp)(self, name, actionInvoker);
159
+ });
160
+ }
161
+ named = name => {
162
+ return this.cloneAndEnhance({ name });
163
+ };
164
+ props = properties => {
165
+ return this.cloneAndEnhance({ properties });
166
+ };
167
+ volatile(fn) {
168
+ if (typeof fn !== "function") {
169
+ throw (0, internal_ts_1.fail)(`You passed an ${typeof fn} to volatile state as an argument, when function is expected`);
170
+ }
171
+ const stateInitializer = (self) => {
172
+ this.instantiateVolatileState(self, fn(self));
173
+ return self;
174
+ };
175
+ return this.cloneAndEnhance({ initializers: [stateInitializer] });
176
+ }
177
+ instantiateVolatileState(self, state) {
178
+ // check views return
179
+ if (!(0, internal_ts_1.isPlainObject)(state)) {
180
+ throw (0, internal_ts_1.fail)(`volatile state initializer should return a plain object containing state`);
181
+ }
182
+ (0, mobx_1.set)(self, state);
183
+ }
184
+ extend(fn) {
185
+ const initializer = (self) => {
186
+ const { actions, views, state, ...rest } = fn(self);
187
+ for (const key in rest) {
188
+ throw (0, internal_ts_1.fail)(`The \`extend\` function should return an object with a subset of the fields 'actions', 'views' and 'state'. Found invalid key '${key}'`);
189
+ }
190
+ if (state) {
191
+ this.instantiateVolatileState(self, state);
192
+ }
193
+ if (views) {
194
+ this.instantiateViews(self, views);
195
+ }
196
+ if (actions) {
197
+ this.instantiateActions(self, actions);
198
+ }
199
+ return self;
200
+ };
201
+ return this.cloneAndEnhance({ initializers: [initializer] });
202
+ }
203
+ views(fn) {
204
+ const viewInitializer = (self) => {
205
+ this.instantiateViews(self, fn(self));
206
+ return self;
207
+ };
208
+ return this.cloneAndEnhance({ initializers: [viewInitializer] });
209
+ }
210
+ instantiateViews(self, views) {
211
+ // check views return
212
+ if (!(0, internal_ts_1.isPlainObject)(views)) {
213
+ throw (0, internal_ts_1.fail)(`views initializer should return a plain object containing views`);
214
+ }
215
+ Object.getOwnPropertyNames(views).forEach(key => {
216
+ // is this a computed property?
217
+ const descriptor = Object.getOwnPropertyDescriptor(views, key);
218
+ if ("get" in descriptor) {
219
+ (0, mobx_1.defineProperty)(self, key, descriptor);
220
+ (0, mobx_1.makeObservable)(self, { [key]: mobx_1.computed });
221
+ }
222
+ else if (typeof descriptor.value === "function") {
223
+ // this is a view function, merge as is!
224
+ // See #646, allow models to be mocked
225
+ ;
226
+ (!(0, internal_ts_1.devMode)() ? internal_ts_1.addHiddenFinalProp : internal_ts_1.addHiddenWritableProp)(self, key, descriptor.value);
227
+ }
228
+ else {
229
+ throw (0, internal_ts_1.fail)(`A view member should either be a function or getter based property`);
230
+ }
231
+ });
232
+ }
233
+ preProcessSnapshot = preProcessor => {
234
+ const currentPreprocessor = this.preProcessor;
235
+ if (!currentPreprocessor) {
236
+ return this.cloneAndEnhance({ preProcessor });
237
+ }
238
+ else {
239
+ return this.cloneAndEnhance({
240
+ preProcessor: snapshot => currentPreprocessor(preProcessor(snapshot))
241
+ });
242
+ }
243
+ };
244
+ postProcessSnapshot = postProcessor => {
245
+ const currentPostprocessor = this.postProcessor;
246
+ if (!currentPostprocessor) {
247
+ return this.cloneAndEnhance({ postProcessor });
248
+ }
249
+ else {
250
+ return this.cloneAndEnhance({
251
+ postProcessor: snapshot => postProcessor(currentPostprocessor(snapshot))
252
+ });
253
+ }
254
+ };
255
+ instantiate(parent, subpath, environment, initialValue) {
256
+ const value = (0, internal_ts_1.isStateTreeNode)(initialValue)
257
+ ? initialValue
258
+ : this.applySnapshotPreProcessor(initialValue);
259
+ return (0, internal_ts_1.createObjectNode)(this, parent, subpath, environment, value);
260
+ // Optimization: record all prop- view- and action names after first construction, and generate an optimal base class
261
+ // that pre-reserves all these fields for fast object-member lookups
262
+ }
263
+ initializeChildNodes(objNode, initialSnapshot = {}) {
264
+ const type = objNode.type;
265
+ const result = {};
266
+ type.forAllProps((name, childType) => {
267
+ result[name] = childType.instantiate(objNode, name, undefined, initialSnapshot[name]);
268
+ });
269
+ return result;
270
+ }
271
+ createNewInstance(childNodes) {
272
+ const options = { ...internal_ts_1.mobxShallow, name: this.name };
273
+ return mobx_1.observable.object(childNodes, internal_ts_1.EMPTY_OBJECT, options);
274
+ }
275
+ finalizeNewInstance(node, instance) {
276
+ (0, internal_ts_1.addHiddenFinalProp)(instance, "toString", objectTypeToString);
277
+ this.forAllProps(name => {
278
+ (0, mobx_1._interceptReads)(instance, name, node.unbox);
279
+ });
280
+ this.initializers.reduce((self, fn) => fn(self), instance);
281
+ (0, mobx_1.intercept)(instance, this.willChange);
282
+ (0, mobx_1.observe)(instance, this.didChange);
283
+ }
284
+ willChange(chg) {
285
+ // TODO: mobx typings don't seem to take into account that newValue can be set even when removing a prop
286
+ const change = chg;
287
+ const node = (0, internal_ts_1.getStateTreeNode)(change.object);
288
+ const subpath = change.name;
289
+ node.assertWritable({ subpath });
290
+ const childType = node.type.properties[subpath];
291
+ // only properties are typed, state are stored as-is references
292
+ if (childType) {
293
+ (0, internal_ts_1.typecheckInternal)(childType, change.newValue);
294
+ change.newValue = childType.reconcile(node.getChildNode(subpath), change.newValue, node, subpath);
295
+ }
296
+ return change;
297
+ }
298
+ didChange(chg) {
299
+ // TODO: mobx typings don't seem to take into account that newValue can be set even when removing a prop
300
+ const change = chg;
301
+ const childNode = (0, internal_ts_1.getStateTreeNode)(change.object);
302
+ const childType = childNode.type.properties[change.name];
303
+ if (!childType) {
304
+ // don't emit patches for volatile state
305
+ return;
306
+ }
307
+ const oldChildValue = change.oldValue ? change.oldValue.snapshot : undefined;
308
+ childNode.emitPatch({
309
+ op: "replace",
310
+ path: (0, internal_ts_1.escapeJsonPath)(change.name),
311
+ value: change.newValue.snapshot,
312
+ oldValue: oldChildValue
313
+ }, childNode);
314
+ }
315
+ getChildren(node) {
316
+ const res = [];
317
+ this.forAllProps(name => {
318
+ res.push(this.getChildNode(node, name));
319
+ });
320
+ return res;
321
+ }
322
+ getChildNode(node, key) {
323
+ if (!(key in this.properties)) {
324
+ throw (0, internal_ts_1.fail)("Not a value property: " + key);
325
+ }
326
+ const adm = (0, mobx_1._getAdministration)(node.storedValue, key);
327
+ const childNode = adm.raw?.();
328
+ if (!childNode) {
329
+ throw (0, internal_ts_1.fail)("Node not available for property " + key);
330
+ }
331
+ return childNode;
332
+ }
333
+ getSnapshot(node, applyPostProcess = true) {
334
+ const res = {};
335
+ this.forAllProps((name, _type) => {
336
+ try {
337
+ // TODO: FIXME, make sure the observable ref is used!
338
+ const atom = (0, mobx_1.getAtom)(node.storedValue, name);
339
+ atom.reportObserved();
340
+ }
341
+ catch (_e) {
342
+ throw (0, internal_ts_1.fail)(`${name} property is declared twice`);
343
+ }
344
+ res[name] = this.getChildNode(node, name).snapshot;
345
+ });
346
+ if (applyPostProcess) {
347
+ return this.applySnapshotPostProcessor(res);
348
+ }
349
+ return res;
350
+ }
351
+ processInitialSnapshot(childNodes) {
352
+ const processed = {};
353
+ Object.keys(childNodes).forEach(key => {
354
+ processed[key] = childNodes[key].getSnapshot();
355
+ });
356
+ return this.applySnapshotPostProcessor(processed);
357
+ }
358
+ applyPatchLocally(node, subpath, patch) {
359
+ if (!(patch.op === "replace" || patch.op === "add")) {
360
+ throw (0, internal_ts_1.fail)(`object does not support operation ${patch.op}`);
361
+ }
362
+ ;
363
+ node.storedValue[subpath] = patch.value;
364
+ }
365
+ applySnapshot(node, snapshot) {
366
+ (0, internal_ts_1.typecheckInternal)(this, snapshot);
367
+ const preProcessedSnapshot = this.applySnapshotPreProcessor(snapshot);
368
+ this.forAllProps(name => {
369
+ ;
370
+ node.storedValue[name] = preProcessedSnapshot[name];
371
+ });
372
+ }
373
+ applySnapshotPreProcessor(snapshot) {
374
+ const processor = this.preProcessor;
375
+ return processor ? processor.call(null, snapshot) : snapshot;
376
+ }
377
+ applySnapshotPostProcessor(snapshot) {
378
+ const postProcessor = this.postProcessor;
379
+ if (postProcessor) {
380
+ return postProcessor.call(null, snapshot);
381
+ }
382
+ return snapshot;
383
+ }
384
+ getChildType(propertyName) {
385
+ (0, internal_ts_1.assertIsString)(propertyName, 1);
386
+ return this.properties[propertyName];
387
+ }
388
+ isValidSnapshot(value, context) {
389
+ const snapshot = this.applySnapshotPreProcessor(value);
390
+ if (!(0, internal_ts_1.isPlainObject)(snapshot)) {
391
+ return (0, internal_ts_1.typeCheckFailure)(context, snapshot, "Value is not a plain object");
392
+ }
393
+ for (const key of this.propertyNames) {
394
+ const propType = this.properties[key];
395
+ (0, internal_ts_1.getContextForPath)(context, key, propType);
396
+ const errors = propType.validate(snapshot[key], context);
397
+ (0, internal_ts_1.popContext)(context);
398
+ if (errors.length > 0) {
399
+ return errors;
400
+ }
401
+ }
402
+ return (0, internal_ts_1.typeCheckSuccess)();
403
+ }
404
+ forAllProps(fn) {
405
+ this.propertyNames.forEach(key => fn(key, this.properties[key]));
406
+ }
407
+ describe() {
408
+ // optimization: cache
409
+ return ("{ " +
410
+ this.propertyNames
411
+ .map(key => key + ": " + this.properties[key].describe())
412
+ .join("; ") +
413
+ " }");
414
+ }
415
+ getDefaultSnapshot() {
416
+ return internal_ts_1.EMPTY_OBJECT;
417
+ }
418
+ removeChild(node, subpath) {
419
+ ;
420
+ node.storedValue[subpath] = undefined;
421
+ }
422
+ }
423
+ exports.ModelType = ModelType;
424
+ ModelType.prototype.applySnapshot = (0, mobx_1.action)(ModelType.prototype.applySnapshot);
425
+ /**
426
+ * `types.model` - Creates a new model type by providing a name, properties, volatile state and actions.
427
+ *
428
+ * See the [model type](/concepts/trees#creating-models) description or the [getting started](intro/getting-started.md#getting-started-1) tutorial.
429
+ */
430
+ function model(...args) {
431
+ if ((0, internal_ts_1.devMode)() && typeof args[0] !== "string" && args[1]) {
432
+ throw (0, internal_ts_1.fail)("Model creation failed. First argument must be a string when two arguments are provided");
433
+ }
434
+ const name = typeof args[0] === "string" ? args.shift() : "AnonymousModel";
435
+ const properties = args.shift() || {};
436
+ return new ModelType({ name, properties });
437
+ }
438
+ /**
439
+ * `types.compose` - Composes a new model from one or more existing model types.
440
+ * This method can be invoked in two forms:
441
+ * Given 2 or more model types, the types are composed into a new Type.
442
+ * Given first parameter as a string and 2 or more model types,
443
+ * the types are composed into a new Type with the given name
444
+ */
445
+ function compose(...args) {
446
+ // TODO: just join the base type names if no name is provided
447
+ const hasTypename = typeof args[0] === "string";
448
+ const typeName = hasTypename ? args[0] : "AnonymousModel";
449
+ if (hasTypename) {
450
+ args.shift();
451
+ }
452
+ // check all parameters
453
+ if ((0, internal_ts_1.devMode)()) {
454
+ args.forEach((type, i) => {
455
+ (0, internal_ts_1.assertArg)(type, isModelType, "mobx-state-tree model type", hasTypename ? i + 2 : i + 1);
456
+ });
457
+ }
458
+ return args
459
+ .reduce((prev, cur) => prev.cloneAndEnhance({
460
+ name: prev.name + "_" + cur.name,
461
+ properties: cur.properties,
462
+ initializers: cur.initializers,
463
+ preProcessor: (snapshot) => cur.applySnapshotPreProcessor(prev.applySnapshotPreProcessor(snapshot)),
464
+ postProcessor: (snapshot) => cur.applySnapshotPostProcessor(prev.applySnapshotPostProcessor(snapshot))
465
+ }))
466
+ .named(typeName);
467
+ }
468
+ /**
469
+ * Returns if a given value represents a model type.
470
+ *
471
+ * @param type
472
+ * @returns
473
+ */
474
+ function isModelType(type) {
475
+ return (0, internal_ts_1.isType)(type) && (type.flags & internal_ts_1.TypeFlags.Object) > 0;
476
+ }
477
+ //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/types/complex-types/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/types/complex-types/model.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { array, compose, custom, enumeration, frozen, late, lazy, literal, map, maybe, maybeNull, model, optional, reference, refinement, safeReference, snapshotProcessor, union } from "../internal.ts";
1
+ import { array, compose, custom, enumeration, frozen, late, lazy, literal, map, maybe, maybeNull, model, optional, reference, refinement, safeReference, resilient, snapshotProcessor, union } from "../internal.ts";
2
2
  export declare const types: {
3
3
  enumeration: typeof enumeration;
4
4
  model: typeof model;
@@ -29,4 +29,5 @@ export declare const types: {
29
29
  undefined: import("../internal.ts").ISimpleType<undefined>;
30
30
  null: import("../internal.ts").ISimpleType<null>;
31
31
  snapshotProcessor: typeof snapshotProcessor;
32
+ resilient: typeof resilient;
32
33
  };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.types = void 0;
4
+ // we import the types to re-export them inside types.
5
+ const internal_ts_1 = require("../internal.js");
6
+ exports.types = {
7
+ enumeration: internal_ts_1.enumeration,
8
+ model: internal_ts_1.model,
9
+ compose: internal_ts_1.compose,
10
+ custom: internal_ts_1.custom,
11
+ reference: internal_ts_1.reference,
12
+ safeReference: internal_ts_1.safeReference,
13
+ union: internal_ts_1.union,
14
+ optional: internal_ts_1.optional,
15
+ literal: internal_ts_1.literal,
16
+ maybe: internal_ts_1.maybe,
17
+ maybeNull: internal_ts_1.maybeNull,
18
+ refinement: internal_ts_1.refinement,
19
+ string: internal_ts_1.string,
20
+ boolean: internal_ts_1.boolean,
21
+ number: internal_ts_1.number,
22
+ integer: internal_ts_1.integer,
23
+ float: internal_ts_1.float,
24
+ finite: internal_ts_1.finite,
25
+ Date: internal_ts_1.DatePrimitive,
26
+ map: internal_ts_1.map,
27
+ array: internal_ts_1.array,
28
+ frozen: internal_ts_1.frozen,
29
+ identifier: internal_ts_1.identifier,
30
+ identifierNumber: internal_ts_1.identifierNumber,
31
+ late: internal_ts_1.late,
32
+ lazy: internal_ts_1.lazy,
33
+ undefined: internal_ts_1.undefinedType,
34
+ null: internal_ts_1.nullType,
35
+ snapshotProcessor: internal_ts_1.snapshotProcessor,
36
+ resilient: internal_ts_1.resilient
37
+ };
38
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EACL,aAAa,EACb,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,WAAW,EACX,MAAM,EACN,KAAK,EACL,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,GAAG,EACH,KAAK,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,aAAa,EACb,KAAK,EACN,MAAM,gBAAgB,CAAA;AAEvB,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,WAAW;IACX,KAAK;IACL,OAAO;IACP,MAAM;IACN,SAAS;IACT,aAAa;IACb,KAAK;IACL,QAAQ;IACR,OAAO;IACP,KAAK;IACL,SAAS;IACT,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,IAAI,EAAE,aAAa;IACnB,GAAG;IACH,KAAK;IACL,MAAM;IACN,UAAU;IACV,gBAAgB;IAChB,IAAI;IACJ,IAAI;IACJ,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE,QAAQ;IACd,iBAAiB;CAClB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,gDA+BuB;AAEV,QAAA,KAAK,GAAG;IACnB,WAAW,EAAX,yBAAW;IACX,KAAK,EAAL,mBAAK;IACL,OAAO,EAAP,qBAAO;IACP,MAAM,EAAN,oBAAM;IACN,SAAS,EAAT,uBAAS;IACT,aAAa,EAAb,2BAAa;IACb,KAAK,EAAL,mBAAK;IACL,QAAQ,EAAR,sBAAQ;IACR,OAAO,EAAP,qBAAO;IACP,KAAK,EAAL,mBAAK;IACL,SAAS,EAAT,uBAAS;IACT,UAAU,EAAV,wBAAU;IACV,MAAM,EAAN,oBAAM;IACN,OAAO,EAAP,qBAAO;IACP,MAAM,EAAN,oBAAM;IACN,OAAO,EAAP,qBAAO;IACP,KAAK,EAAL,mBAAK;IACL,MAAM,EAAN,oBAAM;IACN,IAAI,EAAE,2BAAa;IACnB,GAAG,EAAH,iBAAG;IACH,KAAK,EAAL,mBAAK;IACL,MAAM,EAAN,oBAAM;IACN,UAAU,EAAV,wBAAU;IACV,gBAAgB,EAAhB,8BAAgB;IAChB,IAAI,EAAJ,kBAAI;IACJ,IAAI,EAAJ,kBAAI;IACJ,SAAS,EAAE,2BAAa;IACxB,IAAI,EAAE,sBAAQ;IACd,iBAAiB,EAAjB,+BAAiB;IACjB,SAAS,EAAT,uBAAS;CACV,CAAA"}