@jbrowse/mobx-state-tree 5.6.3 → 5.6.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.
- package/dist/core/action.d.ts +87 -0
- package/dist/core/action.js +228 -0
- package/dist/core/action.js.map +1 -0
- package/dist/core/actionContext.d.ts +27 -0
- package/dist/core/actionContext.js +42 -0
- package/dist/core/actionContext.js.map +1 -0
- package/dist/core/flow.d.ts +69 -0
- package/dist/core/flow.js +180 -0
- package/dist/core/flow.js.map +1 -0
- package/dist/core/json-patch.d.ts +46 -0
- package/dist/core/json-patch.js +133 -0
- package/dist/core/json-patch.js.map +1 -0
- package/dist/core/mst-operations.d.ts +459 -0
- package/dist/core/mst-operations.js +885 -0
- package/dist/core/mst-operations.js.map +1 -0
- package/dist/core/node/BaseNode.d.ts +62 -0
- package/dist/core/node/BaseNode.js +152 -0
- package/dist/core/node/BaseNode.js.map +1 -0
- package/dist/core/node/Hook.d.ts +17 -0
- package/dist/core/node/Hook.js +15 -0
- package/dist/core/node/Hook.js.map +1 -0
- package/dist/core/node/create-node.d.ts +16 -0
- package/dist/core/node/create-node.js +41 -0
- package/dist/core/node/create-node.js.map +1 -0
- package/dist/core/node/identifier-cache.d.ts +19 -0
- package/dist/core/node/identifier-cache.js +115 -0
- package/dist/core/node/identifier-cache.js.map +1 -0
- package/dist/core/node/livelinessChecking.d.ts +37 -0
- package/dist/core/node/livelinessChecking.js +38 -0
- package/dist/core/node/livelinessChecking.js.map +1 -0
- package/dist/core/node/node-utils.d.ts +83 -0
- package/dist/core/node/node-utils.js +165 -0
- package/dist/core/node/node-utils.js.map +1 -0
- package/dist/core/node/object-node.d.ts +99 -0
- package/dist/core/node/object-node.js +545 -0
- package/dist/core/node/object-node.js.map +1 -0
- package/dist/core/node/scalar-node.d.ts +19 -0
- package/dist/core/node/scalar-node.js +89 -0
- package/dist/core/node/scalar-node.js.map +1 -0
- package/dist/core/process.d.ts +50 -0
- package/dist/core/process.js +39 -0
- package/dist/core/process.js.map +1 -0
- package/dist/core/type/type-checker.d.ts +69 -0
- package/dist/core/type/type-checker.js +154 -0
- package/dist/core/type/type-checker.js.map +1 -0
- package/dist/core/type/type.d.ts +317 -0
- package/dist/core/type/type.js +251 -0
- package/dist/core/type/type.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +39 -0
- package/dist/internal.js +60 -0
- package/dist/internal.js.map +1 -0
- package/dist/middlewares/create-action-tracking-middleware.d.ts +24 -0
- package/dist/middlewares/create-action-tracking-middleware.js +81 -0
- package/dist/middlewares/create-action-tracking-middleware.js.map +1 -0
- package/dist/middlewares/createActionTrackingMiddleware2.d.ts +34 -0
- package/dist/middlewares/createActionTrackingMiddleware2.js +133 -0
- package/dist/middlewares/createActionTrackingMiddleware2.js.map +1 -0
- package/dist/middlewares/on-action.d.ts +87 -0
- package/dist/middlewares/on-action.js +215 -0
- package/dist/middlewares/on-action.js.map +1 -0
- package/dist/mobx-state-tree.js +85 -0
- package/dist/mobx-state-tree.module.js +83 -0
- package/dist/types/complex-types/array.d.ts +80 -0
- package/dist/types/complex-types/array.js +352 -0
- package/dist/types/complex-types/array.js.map +1 -0
- package/dist/types/complex-types/map.d.ts +110 -0
- package/dist/types/complex-types/map.js +361 -0
- package/dist/types/complex-types/map.js.map +1 -0
- package/dist/types/complex-types/model.d.ts +192 -0
- package/dist/types/complex-types/model.js +477 -0
- package/dist/types/complex-types/model.js.map +1 -0
- package/dist/types/index.d.ts +33 -0
- package/dist/types/index.js +38 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/primitives.d.ts +124 -0
- package/dist/types/primitives.js +182 -0
- package/dist/types/primitives.js.map +1 -0
- package/dist/types/utility-types/custom.d.ts +74 -0
- package/dist/types/utility-types/custom.js +110 -0
- package/dist/types/utility-types/custom.js.map +1 -0
- package/dist/types/utility-types/enumeration.d.ts +5 -0
- package/dist/types/utility-types/enumeration.js +34 -0
- package/dist/types/utility-types/enumeration.js.map +1 -0
- package/dist/types/utility-types/frozen.d.ts +23 -0
- package/dist/types/utility-types/frozen.js +97 -0
- package/dist/types/utility-types/frozen.js.map +1 -0
- package/dist/types/utility-types/identifier.d.ts +86 -0
- package/dist/types/utility-types/identifier.js +129 -0
- package/dist/types/utility-types/identifier.js.map +1 -0
- package/dist/types/utility-types/late.d.ts +10 -0
- package/dist/types/utility-types/late.js +109 -0
- package/dist/types/utility-types/late.js.map +1 -0
- package/dist/types/utility-types/lazy.d.ts +22 -0
- package/dist/types/utility-types/lazy.js +76 -0
- package/dist/types/utility-types/lazy.js.map +1 -0
- package/dist/types/utility-types/literal.d.ts +37 -0
- package/dist/types/utility-types/literal.js +63 -0
- package/dist/types/utility-types/literal.js.map +1 -0
- package/dist/types/utility-types/maybe.d.ts +26 -0
- package/dist/types/utility-types/maybe.js +30 -0
- package/dist/types/utility-types/maybe.js.map +1 -0
- package/dist/types/utility-types/optional.d.ts +41 -0
- package/dist/types/utility-types/optional.js +140 -0
- package/dist/types/utility-types/optional.js.map +1 -0
- package/dist/types/utility-types/reference.d.ts +89 -0
- package/dist/types/utility-types/reference.js +392 -0
- package/dist/types/utility-types/reference.js.map +1 -0
- package/dist/types/utility-types/refinement.d.ts +10 -0
- package/dist/types/utility-types/refinement.js +85 -0
- package/dist/types/utility-types/refinement.js.map +1 -0
- package/dist/types/utility-types/resilient.d.ts +18 -0
- package/dist/types/utility-types/resilient.js +120 -0
- package/dist/types/utility-types/resilient.js.map +1 -0
- package/dist/types/utility-types/snapshotProcessor.d.ts +63 -0
- package/dist/types/utility-types/snapshotProcessor.js +161 -0
- package/dist/types/utility-types/snapshotProcessor.js.map +1 -0
- package/dist/types/utility-types/union.d.ts +77 -0
- package/dist/types/utility-types/union.js +245 -0
- package/dist/types/utility-types/union.js.map +1 -0
- package/dist/utils.d.ts +230 -0
- package/dist/utils.js +483 -0
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
|
@@ -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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/types/complex-types/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
export declare const types: {
|
|
3
|
+
enumeration: typeof enumeration;
|
|
4
|
+
model: typeof model;
|
|
5
|
+
compose: typeof compose;
|
|
6
|
+
custom: typeof custom;
|
|
7
|
+
reference: typeof reference;
|
|
8
|
+
safeReference: typeof safeReference;
|
|
9
|
+
union: typeof union;
|
|
10
|
+
optional: typeof optional;
|
|
11
|
+
literal: typeof literal;
|
|
12
|
+
maybe: typeof maybe;
|
|
13
|
+
maybeNull: typeof maybeNull;
|
|
14
|
+
refinement: typeof refinement;
|
|
15
|
+
string: import("../internal.ts").ISimpleType<string>;
|
|
16
|
+
boolean: import("../internal.ts").ISimpleType<boolean>;
|
|
17
|
+
number: import("../internal.ts").ISimpleType<number>;
|
|
18
|
+
integer: import("../internal.ts").ISimpleType<number>;
|
|
19
|
+
float: import("../internal.ts").ISimpleType<number>;
|
|
20
|
+
finite: import("../internal.ts").ISimpleType<number>;
|
|
21
|
+
Date: import("../internal.ts").IType<number | Date, number, Date>;
|
|
22
|
+
map: typeof map;
|
|
23
|
+
array: typeof array;
|
|
24
|
+
frozen: typeof frozen;
|
|
25
|
+
identifier: import("../internal.ts").ISimpleType<string>;
|
|
26
|
+
identifierNumber: import("../internal.ts").ISimpleType<number>;
|
|
27
|
+
late: typeof late;
|
|
28
|
+
lazy: typeof lazy;
|
|
29
|
+
undefined: import("../internal.ts").ISimpleType<undefined>;
|
|
30
|
+
null: import("../internal.ts").ISimpleType<null>;
|
|
31
|
+
snapshotProcessor: typeof snapshotProcessor;
|
|
32
|
+
resilient: typeof resilient;
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|