@jbrowse/mobx-state-tree 5.6.2 → 5.6.3

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 (126) hide show
  1. package/package.json +2 -2
  2. package/dist/core/action.d.ts +0 -87
  3. package/dist/core/action.js +0 -228
  4. package/dist/core/action.js.map +0 -1
  5. package/dist/core/actionContext.d.ts +0 -27
  6. package/dist/core/actionContext.js +0 -42
  7. package/dist/core/actionContext.js.map +0 -1
  8. package/dist/core/flow.d.ts +0 -69
  9. package/dist/core/flow.js +0 -180
  10. package/dist/core/flow.js.map +0 -1
  11. package/dist/core/json-patch.d.ts +0 -46
  12. package/dist/core/json-patch.js +0 -133
  13. package/dist/core/json-patch.js.map +0 -1
  14. package/dist/core/mst-operations.d.ts +0 -459
  15. package/dist/core/mst-operations.js +0 -885
  16. package/dist/core/mst-operations.js.map +0 -1
  17. package/dist/core/node/BaseNode.d.ts +0 -62
  18. package/dist/core/node/BaseNode.js +0 -152
  19. package/dist/core/node/BaseNode.js.map +0 -1
  20. package/dist/core/node/Hook.d.ts +0 -17
  21. package/dist/core/node/Hook.js +0 -15
  22. package/dist/core/node/Hook.js.map +0 -1
  23. package/dist/core/node/create-node.d.ts +0 -16
  24. package/dist/core/node/create-node.js +0 -41
  25. package/dist/core/node/create-node.js.map +0 -1
  26. package/dist/core/node/identifier-cache.d.ts +0 -19
  27. package/dist/core/node/identifier-cache.js +0 -115
  28. package/dist/core/node/identifier-cache.js.map +0 -1
  29. package/dist/core/node/livelinessChecking.d.ts +0 -37
  30. package/dist/core/node/livelinessChecking.js +0 -38
  31. package/dist/core/node/livelinessChecking.js.map +0 -1
  32. package/dist/core/node/node-utils.d.ts +0 -83
  33. package/dist/core/node/node-utils.js +0 -165
  34. package/dist/core/node/node-utils.js.map +0 -1
  35. package/dist/core/node/object-node.d.ts +0 -99
  36. package/dist/core/node/object-node.js +0 -545
  37. package/dist/core/node/object-node.js.map +0 -1
  38. package/dist/core/node/scalar-node.d.ts +0 -19
  39. package/dist/core/node/scalar-node.js +0 -89
  40. package/dist/core/node/scalar-node.js.map +0 -1
  41. package/dist/core/process.d.ts +0 -50
  42. package/dist/core/process.js +0 -39
  43. package/dist/core/process.js.map +0 -1
  44. package/dist/core/type/type-checker.d.ts +0 -69
  45. package/dist/core/type/type-checker.js +0 -154
  46. package/dist/core/type/type-checker.js.map +0 -1
  47. package/dist/core/type/type.d.ts +0 -317
  48. package/dist/core/type/type.js +0 -251
  49. package/dist/core/type/type.js.map +0 -1
  50. package/dist/index.d.ts +0 -2
  51. package/dist/index.js +0 -85
  52. package/dist/index.js.map +0 -1
  53. package/dist/internal.d.ts +0 -39
  54. package/dist/internal.js +0 -60
  55. package/dist/internal.js.map +0 -1
  56. package/dist/middlewares/create-action-tracking-middleware.d.ts +0 -24
  57. package/dist/middlewares/create-action-tracking-middleware.js +0 -81
  58. package/dist/middlewares/create-action-tracking-middleware.js.map +0 -1
  59. package/dist/middlewares/createActionTrackingMiddleware2.d.ts +0 -34
  60. package/dist/middlewares/createActionTrackingMiddleware2.js +0 -133
  61. package/dist/middlewares/createActionTrackingMiddleware2.js.map +0 -1
  62. package/dist/middlewares/on-action.d.ts +0 -87
  63. package/dist/middlewares/on-action.js +0 -215
  64. package/dist/middlewares/on-action.js.map +0 -1
  65. package/dist/mobx-state-tree.js +0 -85
  66. package/dist/mobx-state-tree.module.js +0 -83
  67. package/dist/types/complex-types/array.d.ts +0 -80
  68. package/dist/types/complex-types/array.js +0 -352
  69. package/dist/types/complex-types/array.js.map +0 -1
  70. package/dist/types/complex-types/map.d.ts +0 -110
  71. package/dist/types/complex-types/map.js +0 -361
  72. package/dist/types/complex-types/map.js.map +0 -1
  73. package/dist/types/complex-types/model.d.ts +0 -192
  74. package/dist/types/complex-types/model.js +0 -477
  75. package/dist/types/complex-types/model.js.map +0 -1
  76. package/dist/types/index.d.ts +0 -33
  77. package/dist/types/index.js +0 -38
  78. package/dist/types/index.js.map +0 -1
  79. package/dist/types/primitives.d.ts +0 -124
  80. package/dist/types/primitives.js +0 -182
  81. package/dist/types/primitives.js.map +0 -1
  82. package/dist/types/utility-types/custom.d.ts +0 -74
  83. package/dist/types/utility-types/custom.js +0 -110
  84. package/dist/types/utility-types/custom.js.map +0 -1
  85. package/dist/types/utility-types/enumeration.d.ts +0 -5
  86. package/dist/types/utility-types/enumeration.js +0 -34
  87. package/dist/types/utility-types/enumeration.js.map +0 -1
  88. package/dist/types/utility-types/frozen.d.ts +0 -23
  89. package/dist/types/utility-types/frozen.js +0 -97
  90. package/dist/types/utility-types/frozen.js.map +0 -1
  91. package/dist/types/utility-types/identifier.d.ts +0 -86
  92. package/dist/types/utility-types/identifier.js +0 -129
  93. package/dist/types/utility-types/identifier.js.map +0 -1
  94. package/dist/types/utility-types/late.d.ts +0 -10
  95. package/dist/types/utility-types/late.js +0 -109
  96. package/dist/types/utility-types/late.js.map +0 -1
  97. package/dist/types/utility-types/lazy.d.ts +0 -22
  98. package/dist/types/utility-types/lazy.js +0 -76
  99. package/dist/types/utility-types/lazy.js.map +0 -1
  100. package/dist/types/utility-types/literal.d.ts +0 -37
  101. package/dist/types/utility-types/literal.js +0 -63
  102. package/dist/types/utility-types/literal.js.map +0 -1
  103. package/dist/types/utility-types/maybe.d.ts +0 -26
  104. package/dist/types/utility-types/maybe.js +0 -30
  105. package/dist/types/utility-types/maybe.js.map +0 -1
  106. package/dist/types/utility-types/optional.d.ts +0 -41
  107. package/dist/types/utility-types/optional.js +0 -140
  108. package/dist/types/utility-types/optional.js.map +0 -1
  109. package/dist/types/utility-types/reference.d.ts +0 -89
  110. package/dist/types/utility-types/reference.js +0 -392
  111. package/dist/types/utility-types/reference.js.map +0 -1
  112. package/dist/types/utility-types/refinement.d.ts +0 -10
  113. package/dist/types/utility-types/refinement.js +0 -85
  114. package/dist/types/utility-types/refinement.js.map +0 -1
  115. package/dist/types/utility-types/resilient.d.ts +0 -18
  116. package/dist/types/utility-types/resilient.js +0 -120
  117. package/dist/types/utility-types/resilient.js.map +0 -1
  118. package/dist/types/utility-types/snapshotProcessor.d.ts +0 -63
  119. package/dist/types/utility-types/snapshotProcessor.js +0 -161
  120. package/dist/types/utility-types/snapshotProcessor.js.map +0 -1
  121. package/dist/types/utility-types/union.d.ts +0 -77
  122. package/dist/types/utility-types/union.js +0 -245
  123. package/dist/types/utility-types/union.js.map +0 -1
  124. package/dist/utils.d.ts +0 -230
  125. package/dist/utils.js +0 -483
  126. package/dist/utils.js.map +0 -1
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.refinement = refinement;
4
- exports.isRefinementType = isRefinementType;
5
- const internal_ts_1 = require("../../internal.js");
6
- const utils_ts_1 = require("../../utils.js");
7
- class Refinement extends internal_ts_1.BaseType {
8
- _subtype;
9
- _predicate;
10
- _message;
11
- get flags() {
12
- return this._subtype.flags | internal_ts_1.TypeFlags.Refinement;
13
- }
14
- constructor(name, _subtype, _predicate, _message) {
15
- super(name);
16
- this._subtype = _subtype;
17
- this._predicate = _predicate;
18
- this._message = _message;
19
- }
20
- describe() {
21
- return this.name;
22
- }
23
- instantiate(parent, subpath, environment, initialValue) {
24
- // create the child type
25
- return this._subtype.instantiate(parent, subpath, environment, initialValue);
26
- }
27
- isAssignableFrom(type) {
28
- return this._subtype.isAssignableFrom(type);
29
- }
30
- isValidSnapshot(value, context) {
31
- const subtypeErrors = this._subtype.validate(value, context);
32
- if (subtypeErrors.length > 0) {
33
- return subtypeErrors;
34
- }
35
- const snapshot = (0, internal_ts_1.isStateTreeNode)(value)
36
- ? (0, internal_ts_1.getStateTreeNode)(value).snapshot
37
- : value;
38
- if (!this._predicate(snapshot)) {
39
- return (0, internal_ts_1.typeCheckFailure)(context, value, this._message(value));
40
- }
41
- return (0, internal_ts_1.typeCheckSuccess)();
42
- }
43
- reconcile(current, newValue, parent, subpath) {
44
- return this._subtype.reconcile(current, newValue, parent, subpath);
45
- }
46
- getSubTypes() {
47
- return this._subtype;
48
- }
49
- }
50
- /**
51
- * `types.refinement` - Creates a type that is more specific than the base type, e.g. `types.refinement(types.string, value => value.length > 5)` to create a type of strings that can only be longer then 5.
52
- *
53
- * @param name
54
- * @param type
55
- * @param predicate
56
- * @returns
57
- */
58
- function refinement(...args) {
59
- const name = typeof args[0] === "string"
60
- ? args.shift()
61
- : (0, internal_ts_1.isType)(args[0])
62
- ? args[0].name
63
- : null;
64
- const type = args[0];
65
- const predicate = args[1];
66
- const message = args[2]
67
- ? args[2]
68
- : (_v) => "Value does not respect the refinement predicate";
69
- // ensures all parameters are correct
70
- (0, internal_ts_1.assertIsType)(type, [1, 2]);
71
- (0, utils_ts_1.assertIsString)(name, 1);
72
- (0, utils_ts_1.assertIsFunction)(predicate, [2, 3]);
73
- (0, utils_ts_1.assertIsFunction)(message, [3, 4]);
74
- return new Refinement(name, type, predicate, message);
75
- }
76
- /**
77
- * Returns if a given value is a refinement type.
78
- *
79
- * @param type
80
- * @returns
81
- */
82
- function isRefinementType(type) {
83
- return (type.flags & internal_ts_1.TypeFlags.Refinement) > 0;
84
- }
85
- //# sourceMappingURL=refinement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"refinement.js","sourceRoot":"","sources":["../../../src/types/utility-types/refinement.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { type IAnyType, type IType } from "../../internal.ts";
2
- export interface IResilientType<IT extends IAnyType, FT extends IAnyType> extends IType<IT["CreationType"] | FT["CreationType"], IT["SnapshotType"] | FT["SnapshotType"], IT["TypeWithoutSTN"] | FT["TypeWithoutSTN"]> {
3
- }
4
- /**
5
- * `types.resilient` - Wraps a type so that instantiation errors are caught
6
- * and a fallback type is used instead. This is useful for loading data that
7
- * may contain unknown or invalid subtrees (e.g., plugin types that are not
8
- * installed) without crashing the entire state tree.
9
- *
10
- * The `createFallbackSnapshot` callback receives the caught error and the
11
- * original snapshot, and must return a valid snapshot for the fallback type.
12
- *
13
- * @param type The type to wrap.
14
- * @param fallbackType The fallback type to use when instantiation fails.
15
- * @param createFallbackSnapshot Callback that produces a fallback snapshot from the error and original snapshot.
16
- * @returns A resilient type.
17
- */
18
- export declare function resilient<IT extends IAnyType, FT extends IAnyType>(type: IT, fallbackType: FT, createFallbackSnapshot: (error: unknown, snapshot: any) => FT["CreationType"]): IResilientType<IT, FT>;
@@ -1,120 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resilient = resilient;
4
- const internal_ts_1 = require("../../internal.js");
5
- class Resilient extends internal_ts_1.BaseType {
6
- _subtype;
7
- _fallbackType;
8
- _createFallbackSnapshot;
9
- get flags() {
10
- return this._subtype.flags;
11
- }
12
- constructor(_subtype, _fallbackType, _createFallbackSnapshot) {
13
- super(`resilient(${_subtype.name})`);
14
- this._subtype = _subtype;
15
- this._fallbackType = _fallbackType;
16
- this._createFallbackSnapshot = _createFallbackSnapshot;
17
- }
18
- describe() {
19
- return `resilient(${this._subtype.describe()})`;
20
- }
21
- _instantiateFallback(parent, subpath, environment, originalSnapshot, originalError) {
22
- let fallbackSnapshot;
23
- try {
24
- fallbackSnapshot = this._createFallbackSnapshot(originalError, originalSnapshot);
25
- }
26
- catch (e) {
27
- throw (0, internal_ts_1.fail)(`resilient: createFallbackSnapshot threw while handling error for '${this._subtype.name}': ${originalError}. createFallbackSnapshot error: ${e}`);
28
- }
29
- try {
30
- return this._fallbackType.instantiate(parent, subpath, environment, fallbackSnapshot);
31
- }
32
- catch (e) {
33
- throw (0, internal_ts_1.fail)(`resilient: fallback type '${this._fallbackType.name}' failed to instantiate while handling error for '${this._subtype.name}': ${originalError}. Fallback error: ${e}`);
34
- }
35
- }
36
- instantiate(parent, subpath, environment, initialValue) {
37
- if ((0, internal_ts_1.isStateTreeNode)(initialValue)) {
38
- return this._subtype.instantiate(parent, subpath, environment, initialValue);
39
- }
40
- try {
41
- return this._subtype.instantiate(parent, subpath, environment, initialValue);
42
- }
43
- catch (e) {
44
- return this._instantiateFallback(parent, subpath, environment, initialValue, e);
45
- }
46
- }
47
- reconcile(current, newValue, parent, subpath) {
48
- if ((0, internal_ts_1.isStateTreeNode)(newValue)) {
49
- return this._subtype.reconcile(current, newValue, parent, subpath);
50
- }
51
- if (this._fallbackType.isAssignableFrom(current.type)) {
52
- try {
53
- return this._subtype.instantiate(parent, subpath, undefined, newValue);
54
- }
55
- catch (e) {
56
- return this._fallbackType.reconcile(current, this._createFallbackSnapshot(e, newValue), parent, subpath);
57
- }
58
- }
59
- try {
60
- return this._subtype.reconcile(current, newValue, parent, subpath);
61
- }
62
- catch (e) {
63
- current.die();
64
- return this._instantiateFallback(parent, subpath, undefined, newValue, e);
65
- }
66
- }
67
- isValidSnapshot(_value, _context) {
68
- return (0, internal_ts_1.typeCheckSuccess)();
69
- }
70
- is(thing) {
71
- if ((0, internal_ts_1.isType)(thing)) {
72
- return (this._subtype.isAssignableFrom(thing) ||
73
- this._fallbackType.isAssignableFrom(thing));
74
- }
75
- try {
76
- if (this._subtype.is(thing)) {
77
- return true;
78
- }
79
- }
80
- catch (_e) {
81
- // subtype.is() may throw (e.g. union dispatcher)
82
- }
83
- try {
84
- return this._fallbackType.is(thing);
85
- }
86
- catch (_e) {
87
- return false;
88
- }
89
- }
90
- isAssignableFrom(type) {
91
- return (this._subtype.isAssignableFrom(type) ||
92
- this._fallbackType.isAssignableFrom(type));
93
- }
94
- getSubTypes() {
95
- return [this._subtype, this._fallbackType];
96
- }
97
- getSnapshot(node) {
98
- return node.snapshot;
99
- }
100
- }
101
- /**
102
- * `types.resilient` - Wraps a type so that instantiation errors are caught
103
- * and a fallback type is used instead. This is useful for loading data that
104
- * may contain unknown or invalid subtrees (e.g., plugin types that are not
105
- * installed) without crashing the entire state tree.
106
- *
107
- * The `createFallbackSnapshot` callback receives the caught error and the
108
- * original snapshot, and must return a valid snapshot for the fallback type.
109
- *
110
- * @param type The type to wrap.
111
- * @param fallbackType The fallback type to use when instantiation fails.
112
- * @param createFallbackSnapshot Callback that produces a fallback snapshot from the error and original snapshot.
113
- * @returns A resilient type.
114
- */
115
- function resilient(type, fallbackType, createFallbackSnapshot) {
116
- (0, internal_ts_1.assertIsType)(type, 1);
117
- (0, internal_ts_1.assertIsType)(fallbackType, 2);
118
- return new Resilient(type, fallbackType, createFallbackSnapshot);
119
- }
120
- //# sourceMappingURL=resilient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resilient.js","sourceRoot":"","sources":["../../../src/types/utility-types/resilient.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- import { type IAnyType, type Instance, type IType } from "../../internal.ts";
2
- /** @hidden */
3
- declare const $mstNotCustomized: unique symbol;
4
- /** @hidden */
5
- export interface _NotCustomized {
6
- readonly [$mstNotCustomized]: undefined;
7
- }
8
- /** @hidden */
9
- export type _CustomOrOther<Custom, Other> = Custom extends _NotCustomized ? Other : Custom;
10
- /**
11
- * A type that has its snapshots processed.
12
- */
13
- export interface ISnapshotProcessor<IT extends IAnyType, CustomC, CustomS> extends IType<_CustomOrOther<CustomC, IT["CreationType"]>, _CustomOrOther<CustomS, IT["SnapshotType"]>, IT["TypeWithoutSTN"]> {
14
- }
15
- /**
16
- * Snapshot processors.
17
- */
18
- export interface ISnapshotProcessors<IT extends IAnyType, CustomC, CustomS> {
19
- /**
20
- * Function that transforms an input snapshot.
21
- */
22
- preProcessor?(snapshot: CustomC): IT["CreationType"];
23
- /**
24
- * Function that transforms an output snapshot.
25
- * @param snapshot
26
- */
27
- postProcessor?(snapshot: IT["SnapshotType"], node: Instance<IT>): CustomS;
28
- }
29
- /**
30
- * `types.snapshotProcessor` - Runs a pre/post snapshot processor before/after serializing a given type.
31
- *
32
- * Example:
33
- * ```ts
34
- * const Todo1 = types.model({ text: types.string })
35
- * // in the backend the text type must be null when empty
36
- * interface BackendTodo {
37
- * text: string | null
38
- * }
39
- *
40
- * const Todo2 = types.snapshotProcessor(Todo1, {
41
- * // from snapshot to instance
42
- * preProcessor(snapshot: BackendTodo) {
43
- * return {
44
- * text: sn.text || "";
45
- * }
46
- * },
47
- *
48
- * // from instance to snapshot
49
- * postProcessor(snapshot, node): BackendTodo {
50
- * return {
51
- * text: !sn.text ? null : sn.text
52
- * }
53
- * }
54
- * })
55
- * ```
56
- *
57
- * @param type Type to run the processors over.
58
- * @param processors Processors to run.
59
- * @param name Type name, or undefined to inherit the inner type one.
60
- * @returns
61
- */
62
- export declare function snapshotProcessor<IT extends IAnyType, CustomC = _NotCustomized, CustomS = _NotCustomized>(type: IT, processors: ISnapshotProcessors<IT, CustomC, CustomS>, name?: string): ISnapshotProcessor<IT, CustomC, CustomS>;
63
- export {};
@@ -1,161 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.snapshotProcessor = snapshotProcessor;
4
- const internal_ts_1 = require("../../internal.js");
5
- /** @hidden */
6
- const $preProcessorFailed = Symbol("$preProcessorFailed");
7
- class SnapshotProcessor extends internal_ts_1.BaseType {
8
- _subtype;
9
- _processors;
10
- get flags() {
11
- return this._subtype.flags | internal_ts_1.TypeFlags.SnapshotProcessor;
12
- }
13
- constructor(_subtype, _processors, name) {
14
- super(name || _subtype.name);
15
- this._subtype = _subtype;
16
- this._processors = _processors;
17
- }
18
- describe() {
19
- return `snapshotProcessor(${this._subtype.describe()})`;
20
- }
21
- preProcessSnapshot(sn) {
22
- if (this._processors.preProcessor) {
23
- return this._processors.preProcessor.call(null, sn);
24
- }
25
- return sn;
26
- }
27
- preProcessSnapshotSafe(sn) {
28
- try {
29
- return this.preProcessSnapshot(sn);
30
- }
31
- catch (_e) {
32
- return $preProcessorFailed;
33
- }
34
- }
35
- postProcessSnapshot(sn, node) {
36
- if (this._processors.postProcessor) {
37
- return this._processors.postProcessor.call(null, sn, node.storedValue);
38
- }
39
- return sn;
40
- }
41
- _fixNode(node) {
42
- // the node has to use these methods rather than the original type ones
43
- proxyNodeTypeMethods(node.type, this, "create");
44
- if (node instanceof internal_ts_1.ObjectNode) {
45
- node.hasSnapshotPostProcessor = !!this._processors.postProcessor;
46
- }
47
- const oldGetSnapshot = node.getSnapshot;
48
- node.getSnapshot = () => this.postProcessSnapshot(oldGetSnapshot.call(node), node);
49
- if (!(0, internal_ts_1.isUnionType)(this._subtype)) {
50
- node.getReconciliationType = () => {
51
- return this;
52
- };
53
- }
54
- }
55
- instantiate(parent, subpath, environment, initialValue) {
56
- const processedInitialValue = (0, internal_ts_1.isStateTreeNode)(initialValue)
57
- ? initialValue
58
- : this.preProcessSnapshot(initialValue);
59
- const node = this._subtype.instantiate(parent, subpath, environment, processedInitialValue);
60
- this._fixNode(node);
61
- return node;
62
- }
63
- reconcile(current, newValue, parent, subpath) {
64
- const node = this._subtype.reconcile(current, (0, internal_ts_1.isStateTreeNode)(newValue) ? newValue : this.preProcessSnapshot(newValue), parent, subpath);
65
- if (node !== current) {
66
- this._fixNode(node);
67
- }
68
- return node;
69
- }
70
- getSnapshot(node, applyPostProcess = true) {
71
- const sn = this._subtype.getSnapshot(node);
72
- return applyPostProcess ? this.postProcessSnapshot(sn, node) : sn;
73
- }
74
- isValidSnapshot(value, context) {
75
- const processedSn = this.preProcessSnapshotSafe(value);
76
- if (processedSn === $preProcessorFailed) {
77
- return (0, internal_ts_1.typeCheckFailure)(context, value, "Failed to preprocess value");
78
- }
79
- return this._subtype.validate(processedSn, context);
80
- }
81
- getSubTypes() {
82
- return this._subtype;
83
- }
84
- is(thing) {
85
- const value = (0, internal_ts_1.isType)(thing)
86
- ? this._subtype
87
- : (0, internal_ts_1.isStateTreeNode)(thing)
88
- ? (0, internal_ts_1.getSnapshot)(thing, false)
89
- : this.preProcessSnapshotSafe(thing);
90
- if (value === $preProcessorFailed) {
91
- return false;
92
- }
93
- return (this._subtype.validate(value, [{ path: "", type: this._subtype }])
94
- .length === 0);
95
- }
96
- isAssignableFrom(type) {
97
- return this._subtype.isAssignableFrom(type);
98
- }
99
- isMatchingSnapshotId(current, snapshot) {
100
- if (!(this._subtype instanceof internal_ts_1.ComplexType)) {
101
- return false;
102
- }
103
- const processedSn = this.preProcessSnapshot(snapshot);
104
- return this._subtype.isMatchingSnapshotId(current, processedSn);
105
- }
106
- }
107
- function proxyNodeTypeMethods(nodeType, snapshotProcessorType, ...methods) {
108
- for (const method of methods) {
109
- nodeType[method] = snapshotProcessorType[method].bind(snapshotProcessorType);
110
- }
111
- }
112
- /**
113
- * `types.snapshotProcessor` - Runs a pre/post snapshot processor before/after serializing a given type.
114
- *
115
- * Example:
116
- * ```ts
117
- * const Todo1 = types.model({ text: types.string })
118
- * // in the backend the text type must be null when empty
119
- * interface BackendTodo {
120
- * text: string | null
121
- * }
122
- *
123
- * const Todo2 = types.snapshotProcessor(Todo1, {
124
- * // from snapshot to instance
125
- * preProcessor(snapshot: BackendTodo) {
126
- * return {
127
- * text: sn.text || "";
128
- * }
129
- * },
130
- *
131
- * // from instance to snapshot
132
- * postProcessor(snapshot, node): BackendTodo {
133
- * return {
134
- * text: !sn.text ? null : sn.text
135
- * }
136
- * }
137
- * })
138
- * ```
139
- *
140
- * @param type Type to run the processors over.
141
- * @param processors Processors to run.
142
- * @param name Type name, or undefined to inherit the inner type one.
143
- * @returns
144
- */
145
- function snapshotProcessor(type, processors, name) {
146
- (0, internal_ts_1.assertIsType)(type, 1);
147
- if ((0, internal_ts_1.devMode)()) {
148
- if (processors.postProcessor &&
149
- typeof processors.postProcessor !== "function") {
150
- // istanbul ignore next
151
- throw (0, internal_ts_1.fail)("postSnapshotProcessor must be a function");
152
- }
153
- if (processors.preProcessor &&
154
- typeof processors.preProcessor !== "function") {
155
- // istanbul ignore next
156
- throw (0, internal_ts_1.fail)("preSnapshotProcessor must be a function");
157
- }
158
- }
159
- return new SnapshotProcessor(type, processors, name);
160
- }
161
- //# sourceMappingURL=snapshotProcessor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshotProcessor.js","sourceRoot":"","sources":["../../../src/types/utility-types/snapshotProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- import { type AnyObjectNode, BaseType, type IAnyType, type IModelType, type IType, type IValidationContext, type IValidationResult, type ModelCreationType2, type ModelInstanceType, type ModelProperties, type ModelSnapshotType2, TypeFlags, type _NotCustomized } from "../../internal.ts";
2
- export type ITypeDispatcher = (snapshot: any) => IAnyType;
3
- export interface UnionOptions {
4
- eager?: boolean;
5
- dispatcher?: ITypeDispatcher;
6
- }
7
- /**
8
- * @internal
9
- * @hidden
10
- */
11
- export declare class Union extends BaseType<any, any, any> {
12
- private readonly _types;
13
- private readonly _dispatcher?;
14
- private readonly _eager;
15
- get flags(): TypeFlags.Union;
16
- constructor(name: string, _types: IAnyType[], options?: UnionOptions);
17
- isAssignableFrom(type: IAnyType): boolean;
18
- describe(): string;
19
- instantiate(parent: AnyObjectNode | null, subpath: string, environment: any, initialValue: this["C"] | this["T"]): this["N"];
20
- reconcile(current: this["N"], newValue: this["C"] | this["T"], parent: AnyObjectNode, subpath: string): this["N"];
21
- private noMatchMessage;
22
- determineType(value: this["C"] | this["T"], reconcileCurrentType: IAnyType | undefined): IAnyType | undefined;
23
- private tryQuickMatch;
24
- private tryMatchPrimitive;
25
- private snapshotLooksLikeType;
26
- isValidSnapshot(value: this["C"], context: IValidationContext): IValidationResult;
27
- getSubTypes(): IAnyType[];
28
- }
29
- /**
30
- * Transform _NotCustomized | _NotCustomized... to _NotCustomized, _NotCustomized | A | B to A | B
31
- * @hidden
32
- */
33
- export type _CustomCSProcessor<T> = Exclude<T, _NotCustomized> extends never ? _NotCustomized : Exclude<T, _NotCustomized>;
34
- /** @hidden */
35
- export interface ITypeUnion<C, S, T> extends IType<_CustomCSProcessor<C>, _CustomCSProcessor<S>, T> {
36
- }
37
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB>(A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB>>;
38
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB>(options: UnionOptions, A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB>>;
39
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC>(A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC>>;
40
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC>(options: UnionOptions, A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC>>;
41
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD>(A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD>>;
42
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD>(options: UnionOptions, A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD>>;
43
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD, PE extends ModelProperties, OE, FCE, FSE>(A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>, E: IModelType<PE, OE, FCE, FSE>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD> | ModelCreationType2<PE, FCE>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD> | ModelSnapshotType2<PE, FSE>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD> | ModelInstanceType<PE, OE>>;
44
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD, PE extends ModelProperties, OE, FCE, FSE>(options: UnionOptions, A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>, E: IModelType<PE, OE, FCE, FSE>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD> | ModelCreationType2<PE, FCE>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD> | ModelSnapshotType2<PE, FSE>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD> | ModelInstanceType<PE, OE>>;
45
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD, PE extends ModelProperties, OE, FCE, FSE, PF extends ModelProperties, OF, FCF, FSF>(A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>, E: IModelType<PE, OE, FCE, FSE>, F: IModelType<PF, OF, FCF, FSF>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD> | ModelCreationType2<PE, FCE> | ModelCreationType2<PF, FCF>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD> | ModelSnapshotType2<PE, FSE> | ModelSnapshotType2<PF, FSF>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD> | ModelInstanceType<PE, OE> | ModelInstanceType<PF, OF>>;
46
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD, PE extends ModelProperties, OE, FCE, FSE, PF extends ModelProperties, OF, FCF, FSF>(options: UnionOptions, A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>, E: IModelType<PE, OE, FCE, FSE>, F: IModelType<PF, OF, FCF, FSF>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD> | ModelCreationType2<PE, FCE> | ModelCreationType2<PF, FCF>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD> | ModelSnapshotType2<PE, FSE> | ModelSnapshotType2<PF, FSF>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD> | ModelInstanceType<PE, OE> | ModelInstanceType<PF, OF>>;
47
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD, PE extends ModelProperties, OE, FCE, FSE, PF extends ModelProperties, OF, FCF, FSF, PG extends ModelProperties, OG, FCG, FSG>(A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>, E: IModelType<PE, OE, FCE, FSE>, F: IModelType<PF, OF, FCF, FSF>, G: IModelType<PG, OG, FCG, FSG>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD> | ModelCreationType2<PE, FCE> | ModelCreationType2<PF, FCF> | ModelCreationType2<PG, FCG>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD> | ModelSnapshotType2<PE, FSE> | ModelSnapshotType2<PF, FSF> | ModelSnapshotType2<PG, FSG>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD> | ModelInstanceType<PE, OE> | ModelInstanceType<PF, OF> | ModelInstanceType<PG, OG>>;
48
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD, PE extends ModelProperties, OE, FCE, FSE, PF extends ModelProperties, OF, FCF, FSF, PG extends ModelProperties, OG, FCG, FSG>(options: UnionOptions, A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>, E: IModelType<PE, OE, FCE, FSE>, F: IModelType<PF, OF, FCF, FSF>, G: IModelType<PG, OG, FCG, FSG>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD> | ModelCreationType2<PE, FCE> | ModelCreationType2<PF, FCF> | ModelCreationType2<PG, FCG>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD> | ModelSnapshotType2<PE, FSE> | ModelSnapshotType2<PF, FSF> | ModelSnapshotType2<PG, FSG>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD> | ModelInstanceType<PE, OE> | ModelInstanceType<PF, OF> | ModelInstanceType<PG, OG>>;
49
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD, PE extends ModelProperties, OE, FCE, FSE, PF extends ModelProperties, OF, FCF, FSF, PG extends ModelProperties, OG, FCG, FSG, PH extends ModelProperties, OH, FCH, FSH>(A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>, E: IModelType<PE, OE, FCE, FSE>, F: IModelType<PF, OF, FCF, FSF>, G: IModelType<PG, OG, FCG, FSG>, H: IModelType<PH, OH, FCH, FSH>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD> | ModelCreationType2<PE, FCE> | ModelCreationType2<PF, FCF> | ModelCreationType2<PG, FCG> | ModelCreationType2<PH, FCH>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD> | ModelSnapshotType2<PE, FSE> | ModelSnapshotType2<PF, FSF> | ModelSnapshotType2<PG, FSG> | ModelSnapshotType2<PH, FSH>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD> | ModelInstanceType<PE, OE> | ModelInstanceType<PF, OF> | ModelInstanceType<PG, OG> | ModelInstanceType<PH, OH>>;
50
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD, PE extends ModelProperties, OE, FCE, FSE, PF extends ModelProperties, OF, FCF, FSF, PG extends ModelProperties, OG, FCG, FSG, PH extends ModelProperties, OH, FCH, FSH>(options: UnionOptions, A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>, E: IModelType<PE, OE, FCE, FSE>, F: IModelType<PF, OF, FCF, FSF>, G: IModelType<PG, OG, FCG, FSG>, H: IModelType<PH, OH, FCH, FSH>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD> | ModelCreationType2<PE, FCE> | ModelCreationType2<PF, FCF> | ModelCreationType2<PG, FCG> | ModelCreationType2<PH, FCH>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD> | ModelSnapshotType2<PE, FSE> | ModelSnapshotType2<PF, FSF> | ModelSnapshotType2<PG, FSG> | ModelSnapshotType2<PH, FSH>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD> | ModelInstanceType<PE, OE> | ModelInstanceType<PF, OF> | ModelInstanceType<PG, OG> | ModelInstanceType<PH, OH>>;
51
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD, PE extends ModelProperties, OE, FCE, FSE, PF extends ModelProperties, OF, FCF, FSF, PG extends ModelProperties, OG, FCG, FSG, PH extends ModelProperties, OH, FCH, FSH, PI extends ModelProperties, OI, FCI, FSI>(A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>, E: IModelType<PE, OE, FCE, FSE>, F: IModelType<PF, OF, FCF, FSF>, G: IModelType<PG, OG, FCG, FSG>, H: IModelType<PH, OH, FCH, FSH>, I: IModelType<PI, OI, FCI, FSI>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD> | ModelCreationType2<PE, FCE> | ModelCreationType2<PF, FCF> | ModelCreationType2<PG, FCG> | ModelCreationType2<PH, FCH> | ModelCreationType2<PI, FCI>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD> | ModelSnapshotType2<PE, FSE> | ModelSnapshotType2<PF, FSF> | ModelSnapshotType2<PG, FSG> | ModelSnapshotType2<PH, FSH> | ModelSnapshotType2<PI, FSI>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD> | ModelInstanceType<PE, OE> | ModelInstanceType<PF, OF> | ModelInstanceType<PG, OG> | ModelInstanceType<PH, OH> | ModelInstanceType<PI, OI>>;
52
- export declare function union<PA extends ModelProperties, OA, FCA, FSA, PB extends ModelProperties, OB, FCB, FSB, PC extends ModelProperties, OC, FCC, FSC, PD extends ModelProperties, OD, FCD, FSD, PE extends ModelProperties, OE, FCE, FSE, PF extends ModelProperties, OF, FCF, FSF, PG extends ModelProperties, OG, FCG, FSG, PH extends ModelProperties, OH, FCH, FSH, PI extends ModelProperties, OI, FCI, FSI>(options: UnionOptions, A: IModelType<PA, OA, FCA, FSA>, B: IModelType<PB, OB, FCB, FSB>, C: IModelType<PC, OC, FCC, FSC>, D: IModelType<PD, OD, FCD, FSD>, E: IModelType<PE, OE, FCE, FSE>, F: IModelType<PF, OF, FCF, FSF>, G: IModelType<PG, OG, FCG, FSG>, H: IModelType<PH, OH, FCH, FSH>, I: IModelType<PI, OI, FCI, FSI>): ITypeUnion<ModelCreationType2<PA, FCA> | ModelCreationType2<PB, FCB> | ModelCreationType2<PC, FCC> | ModelCreationType2<PD, FCD> | ModelCreationType2<PE, FCE> | ModelCreationType2<PF, FCF> | ModelCreationType2<PG, FCG> | ModelCreationType2<PH, FCH> | ModelCreationType2<PI, FCI>, ModelSnapshotType2<PA, FSA> | ModelSnapshotType2<PB, FSB> | ModelSnapshotType2<PC, FSC> | ModelSnapshotType2<PD, FSD> | ModelSnapshotType2<PE, FSE> | ModelSnapshotType2<PF, FSF> | ModelSnapshotType2<PG, FSG> | ModelSnapshotType2<PH, FSH> | ModelSnapshotType2<PI, FSI>, ModelInstanceType<PA, OA> | ModelInstanceType<PB, OB> | ModelInstanceType<PC, OC> | ModelInstanceType<PD, OD> | ModelInstanceType<PE, OE> | ModelInstanceType<PF, OF> | ModelInstanceType<PG, OG> | ModelInstanceType<PH, OH> | ModelInstanceType<PI, OI>>;
53
- export declare function union<CA, SA, TA, CB, SB, TB>(A: IType<CA, SA, TA>, B: IType<CB, SB, TB>): ITypeUnion<CA | CB, SA | SB, TA | TB>;
54
- export declare function union<CA, SA, TA, CB, SB, TB>(options: UnionOptions, A: IType<CA, SA, TA>, B: IType<CB, SB, TB>): ITypeUnion<CA | CB, SA | SB, TA | TB>;
55
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC>(A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>): ITypeUnion<CA | CB | CC, SA | SB | SC, TA | TB | TC>;
56
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC>(options: UnionOptions, A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>): ITypeUnion<CA | CB | CC, SA | SB | SC, TA | TB | TC>;
57
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD>(A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>): ITypeUnion<CA | CB | CC | CD, SA | SB | SC | SD, TA | TB | TC | TD>;
58
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD>(options: UnionOptions, A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>): ITypeUnion<CA | CB | CC | CD, SA | SB | SC | SD, TA | TB | TC | TD>;
59
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD, CE, SE, TE>(A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>, E: IType<CE, SE, TE>): ITypeUnion<CA | CB | CC | CD | CE, SA | SB | SC | SD | SE, TA | TB | TC | TD | TE>;
60
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD, CE, SE, TE>(options: UnionOptions, A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>, E: IType<CE, SE, TE>): ITypeUnion<CA | CB | CC | CD | CE, SA | SB | SC | SD | SE, TA | TB | TC | TD | TE>;
61
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD, CE, SE, TE, CF, SF, TF>(A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>, E: IType<CE, SE, TE>, F: IType<CF, SF, TF>): ITypeUnion<CA | CB | CC | CD | CE | CF, SA | SB | SC | SD | SE | SF, TA | TB | TC | TD | TE | TF>;
62
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD, CE, SE, TE, CF, SF, TF>(options: UnionOptions, A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>, E: IType<CE, SE, TE>, F: IType<CF, SF, TF>): ITypeUnion<CA | CB | CC | CD | CE | CF, SA | SB | SC | SD | SE | SF, TA | TB | TC | TD | TE | TF>;
63
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD, CE, SE, TE, CF, SF, TF, CG, SG, TG>(A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>, E: IType<CE, SE, TE>, F: IType<CF, SF, TF>, G: IType<CG, SG, TG>): ITypeUnion<CA | CB | CC | CD | CE | CF | CG, SA | SB | SC | SD | SE | SF | SG, TA | TB | TC | TD | TE | TF | TG>;
64
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD, CE, SE, TE, CF, SF, TF, CG, SG, TG>(options: UnionOptions, A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>, E: IType<CE, SE, TE>, F: IType<CF, SF, TF>, G: IType<CG, SG, TG>): ITypeUnion<CA | CB | CC | CD | CE | CF | CG, SA | SB | SC | SD | SE | SF | SG, TA | TB | TC | TD | TE | TF | TG>;
65
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD, CE, SE, TE, CF, SF, TF, CG, SG, TG, CH, SH, TH>(A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>, E: IType<CE, SE, TE>, F: IType<CF, SF, TF>, G: IType<CG, SG, TG>, H: IType<CH, SH, TH>): ITypeUnion<CA | CB | CC | CD | CE | CF | CG | CH, SA | SB | SC | SD | SE | SF | SG | SH, TA | TB | TC | TD | TE | TF | TG | TH>;
66
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD, CE, SE, TE, CF, SF, TF, CG, SG, TG, CH, SH, TH>(options: UnionOptions, A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>, E: IType<CE, SE, TE>, F: IType<CF, SF, TF>, G: IType<CG, SG, TG>, H: IType<CH, SH, TH>): ITypeUnion<CA | CB | CC | CD | CE | CF | CG | CH, SA | SB | SC | SD | SE | SF | SG | SH, TA | TB | TC | TD | TE | TF | TG | TH>;
67
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD, CE, SE, TE, CF, SF, TF, CG, SG, TG, CH, SH, TH, CI, SI, TI>(A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>, E: IType<CE, SE, TE>, F: IType<CF, SF, TF>, G: IType<CG, SG, TG>, H: IType<CH, SH, TH>, I: IType<CI, SI, TI>): ITypeUnion<CA | CB | CC | CD | CE | CF | CG | CH | CI, SA | SB | SC | SD | SE | SF | SG | SH | SI, TA | TB | TC | TD | TE | TF | TG | TH | TI>;
68
- export declare function union<CA, SA, TA, CB, SB, TB, CC, SC, TC, CD, SD, TD, CE, SE, TE, CF, SF, TF, CG, SG, TG, CH, SH, TH, CI, SI, TI>(options: UnionOptions, A: IType<CA, SA, TA>, B: IType<CB, SB, TB>, C: IType<CC, SC, TC>, D: IType<CD, SD, TD>, E: IType<CE, SE, TE>, F: IType<CF, SF, TF>, G: IType<CG, SG, TG>, H: IType<CH, SH, TH>, I: IType<CI, SI, TI>): ITypeUnion<CA | CB | CC | CD | CE | CF | CG | CH | CI, SA | SB | SC | SD | SE | SF | SG | SH | SI, TA | TB | TC | TD | TE | TF | TG | TH | TI>;
69
- export declare function union(...types: IAnyType[]): IAnyType;
70
- export declare function union(dispatchOrType: UnionOptions | IAnyType, ...otherTypes: IAnyType[]): IAnyType;
71
- /**
72
- * Returns if a given value represents a union type.
73
- *
74
- * @param type
75
- * @returns
76
- */
77
- export declare function isUnionType<IT extends IAnyType>(type: IT): type is IT;