@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.
- package/README.md +18 -0
- package/dist/core/action.d.ts +1 -1
- package/dist/core/action.js +228 -0
- package/dist/core/action.js.map +1 -1
- package/dist/core/actionContext.js +42 -0
- package/dist/core/actionContext.js.map +1 -1
- package/dist/core/flow.d.ts +1 -1
- package/dist/core/flow.js +180 -0
- package/dist/core/flow.js.map +1 -1
- package/dist/core/json-patch.js +133 -0
- package/dist/core/json-patch.js.map +1 -1
- package/dist/core/mst-operations.js +885 -0
- package/dist/core/mst-operations.js.map +1 -1
- package/dist/core/node/BaseNode.js +152 -0
- package/dist/core/node/BaseNode.js.map +1 -1
- package/dist/core/node/Hook.js +15 -0
- package/dist/core/node/Hook.js.map +1 -1
- package/dist/core/node/create-node.js +41 -0
- package/dist/core/node/create-node.js.map +1 -1
- package/dist/core/node/identifier-cache.js +115 -0
- package/dist/core/node/identifier-cache.js.map +1 -1
- package/dist/core/node/livelinessChecking.js +38 -0
- package/dist/core/node/livelinessChecking.js.map +1 -1
- package/dist/core/node/node-utils.js +165 -0
- package/dist/core/node/node-utils.js.map +1 -1
- package/dist/core/node/object-node.js +545 -0
- package/dist/core/node/object-node.js.map +1 -1
- package/dist/core/node/scalar-node.js +89 -0
- package/dist/core/node/scalar-node.js.map +1 -1
- package/dist/core/process.d.ts +1 -1
- package/dist/core/process.js +39 -0
- package/dist/core/process.js.map +1 -1
- package/dist/core/type/type-checker.js +154 -0
- package/dist/core/type/type-checker.js.map +1 -1
- package/dist/core/type/type.d.ts +1 -1
- package/dist/core/type/type.js +251 -0
- package/dist/core/type/type.js.map +1 -1
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.js +60 -0
- package/dist/internal.js.map +1 -1
- package/dist/middlewares/create-action-tracking-middleware.js +81 -0
- package/dist/middlewares/create-action-tracking-middleware.js.map +1 -1
- package/dist/middlewares/createActionTrackingMiddleware2.js +133 -0
- package/dist/middlewares/createActionTrackingMiddleware2.js.map +1 -1
- package/dist/middlewares/on-action.js +215 -0
- package/dist/middlewares/on-action.js.map +1 -1
- package/dist/mobx-state-tree.js +83 -6750
- package/dist/mobx-state-tree.module.js +83 -6672
- package/dist/types/complex-types/array.d.ts +1 -1
- package/dist/types/complex-types/array.js +352 -0
- package/dist/types/complex-types/array.js.map +1 -1
- package/dist/types/complex-types/map.d.ts +1 -1
- package/dist/types/complex-types/map.js +361 -0
- package/dist/types/complex-types/map.js.map +1 -1
- package/dist/types/complex-types/model.js +477 -0
- package/dist/types/complex-types/model.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.js +38 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/primitives.js +182 -0
- package/dist/types/primitives.js.map +1 -1
- package/dist/types/utility-types/custom.js +110 -0
- package/dist/types/utility-types/custom.js.map +1 -1
- package/dist/types/utility-types/enumeration.js +34 -0
- package/dist/types/utility-types/enumeration.js.map +1 -1
- package/dist/types/utility-types/frozen.js +97 -0
- package/dist/types/utility-types/frozen.js.map +1 -1
- package/dist/types/utility-types/identifier.js +129 -0
- package/dist/types/utility-types/identifier.js.map +1 -1
- package/dist/types/utility-types/late.js +109 -0
- package/dist/types/utility-types/late.js.map +1 -1
- package/dist/types/utility-types/lazy.js +76 -0
- package/dist/types/utility-types/lazy.js.map +1 -1
- package/dist/types/utility-types/literal.js +63 -0
- package/dist/types/utility-types/literal.js.map +1 -1
- package/dist/types/utility-types/maybe.js +30 -0
- package/dist/types/utility-types/maybe.js.map +1 -1
- package/dist/types/utility-types/optional.js +140 -0
- package/dist/types/utility-types/optional.js.map +1 -1
- package/dist/types/utility-types/reference.d.ts +2 -2
- package/dist/types/utility-types/reference.js +392 -0
- package/dist/types/utility-types/reference.js.map +1 -1
- package/dist/types/utility-types/refinement.js +85 -0
- package/dist/types/utility-types/refinement.js.map +1 -1
- 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.js +161 -0
- package/dist/types/utility-types/snapshotProcessor.js.map +1 -1
- package/dist/types/utility-types/union.d.ts +1 -0
- package/dist/types/utility-types/union.js +245 -0
- package/dist/types/utility-types/union.js.map +1 -1
- package/dist/utils.js +483 -0
- package/dist/utils.js.map +1 -1
- package/package.json +26 -24
- package/changelog.md +0 -677
- 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":";;;AAu0BA,sBAUC;AA0DD,0BAqCC;AAQD,kCAIC;AA57BD,+BAca;AAEb,mDA4C0B;AAE1B,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AACjD,MAAM,qBAAqB,GAAG,qBAAqB,CAAA;AAwMnD,SAAS,kBAAkB;IACzB,OAAO,IAAA,8BAAgB,EAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;AAC1C,CAAC;AAcD,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,yBAAW;CAC1B,CAAA;AAED,SAAS,kBAAkB,CACzB,aAAyC;IAEzC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC3C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;IAEzC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACrB,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAA,kBAAI,EACR,GAAG,GAAG,yEAAyE,CAChF,CAAA;QACH,CAAC;QACD,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,+DAA+D;IAC/D,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACb,+BAA+B;QAC/B,IAAI,GAAG,IAAI,kBAAI,EAAE,CAAC;YAChB,MAAM,IAAA,kBAAI,EACR,SAAS,GAAG,2EAA2E,CACxF,CAAA;QACH,CAAC;QAED,kCAAkC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,aAAa,EAAE,GAAG,CAAE,CAAA;QACvE,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;YACxB,MAAM,IAAA,kBAAI,EACR,mEAAmE,CACpE,CAAA;QACH,CAAC;QACD,mCAAmC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;QAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAA,kBAAI,EACR,qIAAqI,CACtI,CAAA;QACH,CAAC;QACD,uCAAuC;aAClC,IAAI,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,IAAA,sBAAQ,EAAC,IAAA,0CAA4B,EAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACnE,CAAC;QACD,wDAAwD;aACnD,IAAI,KAAK,YAAY,qBAAO,EAAE,CAAC;YAClC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAA,sBAAQ,EAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAClC,CAAC;aAAM,IAAI,KAAK,YAAY,uBAAS,EAAE,CAAC;YACtC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAA,sBAAQ,EAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAClC,CAAC;QACD,qBAAqB;aAChB,IAAI,IAAA,oBAAM,EAAC,KAAK,CAAC,EAAE,CAAC;YACvB,kCAAkC;QACpC,CAAC;QACD,gDAAgD;aAC3C,IAAI,IAAA,qBAAO,GAAE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAClD,MAAM,IAAA,kBAAI,EACR,yCAAyC,GAAG,oHAAoH,CACjK,CAAA;QACH,CAAC;QACD,0BAA0B;aACrB,IAAI,IAAA,qBAAO,GAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAA,kBAAI,EACR,yCAAyC,GAAG,0FAA0F,CACvI,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAA,kBAAI,EACR,yCAAyC,GAAG,6CAA6C,KAAK,MAAM,OAAO,KAAK,GAAG,CACpH,CAAA;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC,EACD,EAAE,GAAG,aAAa,EAAS,CAC5B,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAa,SAOX,SAAQ,yBAIP;IAGQ,KAAK,GAAG,uBAAS,CAAC,MAAM,CAAA;IAEjC;;OAEG;IACa,YAAY,CAA6B;IACzC,UAAU,CAAQ;IAE1B,YAAY,CAAqC;IACjD,aAAa,CAAqC;IACjD,aAAa,CAAU;IAEhC,YAAY,IAAqB;QAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAA;QAC/C,oEAAoE;QACpE,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAU,CAAA;QAC9D,IAAA,oBAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA,CAAC,kCAAkC;QAC1D,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACjD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;IAC3D,CAAC;IAEO,uBAAuB;QAC7B,IAAI,mBAAmB,GAAuB,SAAS,CAAA;QACvD,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACtC,IAAI,QAAQ,CAAC,KAAK,GAAG,uBAAS,CAAC,UAAU,EAAE,CAAC;gBAC1C,IAAI,mBAAmB,EAAE,CAAC;oBACxB,MAAM,IAAA,kBAAI,EACR,2BAA2B,QAAQ,qCAAqC,mBAAmB,6CAA6C,CACzI,CAAA;gBACH,CAAC;gBACD,mBAAmB,GAAG,QAAQ,CAAA;YAChC,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IAED,eAAe,CAAC,IAAqB;QACnC,OAAO,IAAI,SAAS,CAAC;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;YAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;YAC/D,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YAC/D,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;YACpD,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa;SACxD,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,CAAyB,EAA+B;QAC7D,MAAM,iBAAiB,GAAG,CAAC,IAAoB,EAAE,EAAE;YACjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YACvC,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;IACpE,CAAC;IAEO,kBAAkB,CAAC,IAAe,EAAE,OAAqB;QAC/D,6BAA6B;QAC7B,IAAI,CAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAA,kBAAI,EACR,qEAAqE,CACtE,CAAA;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClC,iCAAiC;YACjC,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAClC,MAAM,IAAA,kBAAI,EACR,yBAAyB,oBAAoB,qEAAqE,CACnH,CAAA;YACH,CAAC;YACD,kCAAkC;YAClC,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACnC,MAAM,IAAA,kBAAI,EACR,yBAAyB,qBAAqB,sEAAsE,CACrH,CAAA;YACH,CAAC;YAED,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAE3B,yBAAyB;YACzB,MAAM,UAAU,GAAI,IAAY,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,IAAI,IAAI,kBAAI,IAAI,UAAU,EAAE,CAAC;gBAC/B,MAAM,iBAAiB,GAAG,OAAO,CAAA;gBACjC,OAAO,GAAG,UAAU,GAAG,IAAW;oBAChC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;oBACnB,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAA;gBAC5B,CAAC,CAAA;YACH,CAAC;YAED,6EAA6E;YAC7E,wDAAwD;YACxD,MAAM,WAAW,GAAI,OAAe,CAAC,eAAe,CAAA,CAAC,qCAAqC;YAC1F,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACzC,WAAW,CAAC,aAAa;gBACtB,OAA4B,CAAC,aAAa,IAAI,KAAK,CAAA;YACtD,WAAW,CAAC,eAAe,GAAG,WAAW,CAAA;YACzC,MAAM,aAAa,GAAG,IAAA,iCAAmB,EAAC,IAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;YACzE,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAG5B;YAAA,CAAC,CAAC,IAAA,qBAAO,GAAE,CAAC,CAAC,CAAC,gCAAkB,CAAC,CAAC,CAAC,mCAAqB,CAAC,CACxD,IAAI,EACJ,IAAI,EACJ,aAAa,CACd,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,GAAgB,IAAI,CAAC,EAAE;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,KAAK,GAAgB,UAAU,CAAC,EAAE;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA;IAED,QAAQ,CAAoB,EAAgC;QAC1D,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAA,kBAAI,EACR,iBAAiB,OAAO,EAAE,8DAA8D,CACzF,CAAA;QACH,CAAC;QACD,MAAM,gBAAgB,GAAG,CAAC,IAAoB,EAAE,EAAE;YAChD,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7C,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;IACnE,CAAC;IAEO,wBAAwB,CAC9B,IAAe,EACf,KAEC;QAED,qBAAqB;QACrB,IAAI,CAAC,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAA,kBAAI,EACR,0EAA0E,CAC3E,CAAA;QACH,CAAC;QACD,IAAA,UAAG,EAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAClB,CAAC;IAED,MAAM,CAIJ,EAAoE;QACpE,MAAM,WAAW,GAAG,CAAC,IAAoB,EAAE,EAAE;YAC3C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;YACnD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAA,kBAAI,EACR,kIAAkI,GAAG,GAAG,CACzI,CAAA;YACH,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC5C,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACpC,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACxC,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAmB,EAA+B;QACrD,MAAM,eAAe,GAAG,CAAC,IAAoB,EAAE,EAAE;YAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YACrC,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IAClE,CAAC;IAEO,gBAAgB,CAAC,IAAe,EAAE,KAAa;QACrD,qBAAqB;QACrB,IAAI,CAAC,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAA,kBAAI,EACR,iEAAiE,CAClE,CAAA;QACH,CAAC;QACD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC9C,+BAA+B;YAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAE,CAAA;YAC/D,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACxB,IAAA,qBAAc,EAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;gBACrC,IAAA,qBAAc,EAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,eAAQ,EAAS,CAAC,CAAA;YAClD,CAAC;iBAAM,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAClD,wCAAwC;gBACxC,sCAAsC;gBACtC,CAAC;gBAAA,CAAC,CAAC,IAAA,qBAAO,GAAE,CAAC,CAAC,CAAC,gCAAkB,CAAC,CAAC,CAAC,mCAAqB,CAAC,CACxD,IAAI,EACJ,GAAG,EACH,UAAU,CAAC,KAAK,CACjB,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAA,kBAAI,EACR,oEAAoE,CACrE,CAAA;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kBAAkB,GAA6B,YAAY,CAAC,EAAE;QAC5D,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAA;QAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,eAAe,CAAC;gBAC1B,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aACtE,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAA;IAED,mBAAmB,GAA8B,aAAa,CAAC,EAAE;QAC/D,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAA;QAC/C,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,eAAe,CAAC;gBAC1B,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;aACzE,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAA;IAED,WAAW,CACT,MAA4B,EAC5B,OAAe,EACf,WAAgB,EAChB,YAAmC;QAEnC,MAAM,KAAK,GAAG,IAAA,6BAAe,EAAC,YAAY,CAAC;YACzC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAA;QAChD,OAAO,IAAA,8BAAgB,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;QAClE,qHAAqH;QACrH,oEAAoE;IACtE,CAAC;IAED,oBAAoB,CAClB,OAAkB,EAClB,kBAAuB,EAAE;QAEzB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAY,CAAA;QACjC,MAAM,MAAM,GAAmB,EAAE,CAAA;QACjC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,WAAW,CAClC,OAAO,EACP,IAAI,EACJ,SAAS,EACR,eAAuB,CAAC,IAAI,CAAC,CAC/B,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,iBAAiB,CAAC,UAA0B;QAC1C,MAAM,OAAO,GAAG,EAAE,GAAG,yBAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QACnD,OAAO,iBAAU,CAAC,MAAM,CAAC,UAAU,EAAE,0BAAY,EAAE,OAAO,CAAQ,CAAA;IACpE,CAAC;IAED,mBAAmB,CAAC,IAAe,EAAE,QAAmB;QACtD,IAAA,gCAAkB,EAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAA;QAE5D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YACtB,IAAA,sBAAe,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC1D,IAAA,gBAAS,EAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QACpC,IAAA,cAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;IAEO,UAAU,CAAC,GAAsB;QACvC,wGAAwG;QACxG,MAAM,MAAM,GAAG,GAA6C,CAAA;QAE5D,MAAM,IAAI,GAAG,IAAA,8BAAgB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAc,CAAA;QACrC,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAChC,MAAM,SAAS,GAAI,IAAI,CAAC,IAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACzD,+DAA+D;QAC/D,IAAI,SAAS,EAAE,CAAC;YACd,IAAA,+BAAiB,EAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC7C,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CACnC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC1B,MAAM,CAAC,QAAQ,EACf,IAAI,EACJ,OAAO,CACR,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,SAAS,CAAC,GAAqB;QACrC,wGAAwG;QACxG,MAAM,MAAM,GAAG,GAA6D,CAAA;QAE5E,MAAM,SAAS,GAAG,IAAA,8BAAgB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,SAAS,GAAI,SAAS,CAAC,IAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAc,CAAC,CAAA;QAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,wCAAwC;YACxC,OAAM;QACR,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5E,SAAS,CAAC,SAAS,CACjB;YACE,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,IAAA,4BAAc,EAAC,MAAM,CAAC,IAAc,CAAC;YAC3C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;YAC/B,QAAQ,EAAE,aAAa;SACxB,EACD,SAAS,CACV,CAAA;IACH,CAAC;IAED,WAAW,CAAC,IAAe;QACzB,MAAM,GAAG,GAAc,EAAE,CAAA;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,YAAY,CAAC,IAAe,EAAE,GAAW;QACvC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAA,kBAAI,EAAC,wBAAwB,GAAG,GAAG,CAAC,CAAA;QAC5C,CAAC;QACD,MAAM,GAAG,GAAG,IAAA,yBAAkB,EAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QACrD,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,CAAA;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAA,kBAAI,EAAC,kCAAkC,GAAG,GAAG,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,WAAW,CAAC,IAAe,EAAE,gBAAgB,GAAG,IAAI;QAClD,MAAM,GAAG,GAAG,EAAS,CAAA;QACrB,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC/B,IAAI,CAAC;gBACH,qDAAqD;gBACrD,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAC3C;gBAAC,IAAY,CAAC,cAAc,EAAE,CAAA;YACjC,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAA,kBAAI,EAAC,GAAG,IAAI,6BAA6B,CAAC,CAAA;YAClD,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAA;QACpD,CAAC,CAAC,CAAA;QACF,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,sBAAsB,CAAC,UAA0B;QAC/C,MAAM,SAAS,GAAG,EAAS,CAAA;QAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QAChD,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;IAED,iBAAiB,CAAC,IAAe,EAAE,OAAe,EAAE,KAAiB;QACnE,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAA,kBAAI,EAAC,qCAAqC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7D,CAAC;QACD,CAAC;QAAC,IAAI,CAAC,WAAmB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAA;IACnD,CAAC;IAED,aAAa,CAAC,IAAe,EAAE,QAAmB;QAChD,IAAA,+BAAiB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACjC,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAA;QACrE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YACtB,CAAC;YAAC,IAAI,CAAC,WAAmB,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,yBAAyB,CAAC,QAAa;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAA;QACnC,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC9D,CAAC;IAED,0BAA0B,CAAC,QAAa;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,YAAY,CAAC,YAAoB;QAC/B,IAAA,4BAAc,EAAC,YAAY,EAAE,CAAC,CAAC,CAAA;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IACtC,CAAC;IAED,eAAe,CACb,KAAgB,EAChB,OAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAA;QAEtD,IAAI,CAAC,IAAA,2BAAa,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAA,8BAAgB,EAAC,OAAO,EAAE,QAAQ,EAAE,6BAA6B,CAAC,CAAA;QAC3E,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAE,CAAA;YACtC,IAAA,+BAAiB,EAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;YACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;YACxD,IAAA,wBAAU,EAAC,OAAO,CAAC,CAAA;YACnB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAA,8BAAgB,GAAE,CAAA;IAC3B,CAAC;IAEO,WAAW,CAAC,EAA0C;QAC5D,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;IAED,QAAQ;QACN,sBAAsB;QACtB,OAAO,CACL,IAAI;YACJ,IAAI,CAAC,aAAa;iBACf,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACxD,IAAI,CAAC,IAAI,CAAC;YACb,IAAI,CACL,CAAA;IACH,CAAC;IAED,kBAAkB;QAChB,OAAO,0BAAyB,CAAA;IAClC,CAAC;IAED,WAAW,CAAC,IAAe,EAAE,OAAe;QAC1C,CAAC;QAAC,IAAI,CAAC,WAAmB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACjD,CAAC;CACF;AA3cD,8BA2cC;AACD,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,IAAA,aAAM,EAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;AAS7E;;;;GAIG;AACH,SAAgB,KAAK,CAAC,GAAG,IAAW;IAClC,IAAI,IAAA,qBAAO,GAAE,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,IAAA,kBAAI,EACR,wFAAwF,CACzF,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAA;IAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;IACrC,OAAO,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;AAC5C,CAAC;AAmDD;;;;;;GAMG;AACH,SAAgB,OAAO,CAAC,GAAG,IAAW;IACpC,6DAA6D;IAC7D,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;IAC/C,MAAM,QAAQ,GAAW,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACjE,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAA,qBAAO,GAAE,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACvB,IAAA,uBAAS,EACP,IAAI,EACJ,WAAW,EACX,4BAA4B,EAC5B,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAC5B,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CACpB,IAAI,CAAC,eAAe,CAAC;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI;QAChC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,YAAY,EAAE,CAAC,QAAa,EAAE,EAAE,CAC9B,GAAG,CAAC,yBAAyB,CAC3B,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CACzC;QACH,aAAa,EAAE,CAAC,QAAa,EAAE,EAAE,CAC/B,GAAG,CAAC,0BAA0B,CAC5B,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAC1C;KACJ,CAAC,CACH;SACA,KAAK,CAAC,QAAQ,CAAC,CAAA;AACpB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,IAAc;IAEd,OAAO,IAAA,oBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,uBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,
|
|
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"}
|