@jbrowse/mobx-state-tree 5.6.3 → 5.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/core/action.d.ts +87 -0
  2. package/dist/core/action.js +228 -0
  3. package/dist/core/action.js.map +1 -0
  4. package/dist/core/actionContext.d.ts +27 -0
  5. package/dist/core/actionContext.js +42 -0
  6. package/dist/core/actionContext.js.map +1 -0
  7. package/dist/core/flow.d.ts +69 -0
  8. package/dist/core/flow.js +180 -0
  9. package/dist/core/flow.js.map +1 -0
  10. package/dist/core/json-patch.d.ts +46 -0
  11. package/dist/core/json-patch.js +133 -0
  12. package/dist/core/json-patch.js.map +1 -0
  13. package/dist/core/mst-operations.d.ts +459 -0
  14. package/dist/core/mst-operations.js +885 -0
  15. package/dist/core/mst-operations.js.map +1 -0
  16. package/dist/core/node/BaseNode.d.ts +62 -0
  17. package/dist/core/node/BaseNode.js +152 -0
  18. package/dist/core/node/BaseNode.js.map +1 -0
  19. package/dist/core/node/Hook.d.ts +17 -0
  20. package/dist/core/node/Hook.js +15 -0
  21. package/dist/core/node/Hook.js.map +1 -0
  22. package/dist/core/node/create-node.d.ts +16 -0
  23. package/dist/core/node/create-node.js +41 -0
  24. package/dist/core/node/create-node.js.map +1 -0
  25. package/dist/core/node/identifier-cache.d.ts +19 -0
  26. package/dist/core/node/identifier-cache.js +115 -0
  27. package/dist/core/node/identifier-cache.js.map +1 -0
  28. package/dist/core/node/livelinessChecking.d.ts +37 -0
  29. package/dist/core/node/livelinessChecking.js +38 -0
  30. package/dist/core/node/livelinessChecking.js.map +1 -0
  31. package/dist/core/node/node-utils.d.ts +83 -0
  32. package/dist/core/node/node-utils.js +165 -0
  33. package/dist/core/node/node-utils.js.map +1 -0
  34. package/dist/core/node/object-node.d.ts +99 -0
  35. package/dist/core/node/object-node.js +545 -0
  36. package/dist/core/node/object-node.js.map +1 -0
  37. package/dist/core/node/scalar-node.d.ts +19 -0
  38. package/dist/core/node/scalar-node.js +89 -0
  39. package/dist/core/node/scalar-node.js.map +1 -0
  40. package/dist/core/process.d.ts +50 -0
  41. package/dist/core/process.js +39 -0
  42. package/dist/core/process.js.map +1 -0
  43. package/dist/core/type/type-checker.d.ts +69 -0
  44. package/dist/core/type/type-checker.js +154 -0
  45. package/dist/core/type/type-checker.js.map +1 -0
  46. package/dist/core/type/type.d.ts +317 -0
  47. package/dist/core/type/type.js +251 -0
  48. package/dist/core/type/type.js.map +1 -0
  49. package/dist/index.d.ts +2 -0
  50. package/dist/index.js +85 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/internal.d.ts +39 -0
  53. package/dist/internal.js +60 -0
  54. package/dist/internal.js.map +1 -0
  55. package/dist/middlewares/create-action-tracking-middleware.d.ts +24 -0
  56. package/dist/middlewares/create-action-tracking-middleware.js +81 -0
  57. package/dist/middlewares/create-action-tracking-middleware.js.map +1 -0
  58. package/dist/middlewares/createActionTrackingMiddleware2.d.ts +34 -0
  59. package/dist/middlewares/createActionTrackingMiddleware2.js +133 -0
  60. package/dist/middlewares/createActionTrackingMiddleware2.js.map +1 -0
  61. package/dist/middlewares/on-action.d.ts +87 -0
  62. package/dist/middlewares/on-action.js +215 -0
  63. package/dist/middlewares/on-action.js.map +1 -0
  64. package/dist/mobx-state-tree.js +85 -0
  65. package/dist/mobx-state-tree.module.js +83 -0
  66. package/dist/types/complex-types/array.d.ts +80 -0
  67. package/dist/types/complex-types/array.js +352 -0
  68. package/dist/types/complex-types/array.js.map +1 -0
  69. package/dist/types/complex-types/map.d.ts +110 -0
  70. package/dist/types/complex-types/map.js +361 -0
  71. package/dist/types/complex-types/map.js.map +1 -0
  72. package/dist/types/complex-types/model.d.ts +192 -0
  73. package/dist/types/complex-types/model.js +477 -0
  74. package/dist/types/complex-types/model.js.map +1 -0
  75. package/dist/types/index.d.ts +33 -0
  76. package/dist/types/index.js +38 -0
  77. package/dist/types/index.js.map +1 -0
  78. package/dist/types/primitives.d.ts +124 -0
  79. package/dist/types/primitives.js +182 -0
  80. package/dist/types/primitives.js.map +1 -0
  81. package/dist/types/utility-types/custom.d.ts +74 -0
  82. package/dist/types/utility-types/custom.js +110 -0
  83. package/dist/types/utility-types/custom.js.map +1 -0
  84. package/dist/types/utility-types/enumeration.d.ts +5 -0
  85. package/dist/types/utility-types/enumeration.js +34 -0
  86. package/dist/types/utility-types/enumeration.js.map +1 -0
  87. package/dist/types/utility-types/frozen.d.ts +23 -0
  88. package/dist/types/utility-types/frozen.js +97 -0
  89. package/dist/types/utility-types/frozen.js.map +1 -0
  90. package/dist/types/utility-types/identifier.d.ts +86 -0
  91. package/dist/types/utility-types/identifier.js +129 -0
  92. package/dist/types/utility-types/identifier.js.map +1 -0
  93. package/dist/types/utility-types/late.d.ts +10 -0
  94. package/dist/types/utility-types/late.js +109 -0
  95. package/dist/types/utility-types/late.js.map +1 -0
  96. package/dist/types/utility-types/lazy.d.ts +22 -0
  97. package/dist/types/utility-types/lazy.js +76 -0
  98. package/dist/types/utility-types/lazy.js.map +1 -0
  99. package/dist/types/utility-types/literal.d.ts +37 -0
  100. package/dist/types/utility-types/literal.js +63 -0
  101. package/dist/types/utility-types/literal.js.map +1 -0
  102. package/dist/types/utility-types/maybe.d.ts +26 -0
  103. package/dist/types/utility-types/maybe.js +30 -0
  104. package/dist/types/utility-types/maybe.js.map +1 -0
  105. package/dist/types/utility-types/optional.d.ts +41 -0
  106. package/dist/types/utility-types/optional.js +140 -0
  107. package/dist/types/utility-types/optional.js.map +1 -0
  108. package/dist/types/utility-types/reference.d.ts +89 -0
  109. package/dist/types/utility-types/reference.js +392 -0
  110. package/dist/types/utility-types/reference.js.map +1 -0
  111. package/dist/types/utility-types/refinement.d.ts +10 -0
  112. package/dist/types/utility-types/refinement.js +85 -0
  113. package/dist/types/utility-types/refinement.js.map +1 -0
  114. package/dist/types/utility-types/resilient.d.ts +18 -0
  115. package/dist/types/utility-types/resilient.js +120 -0
  116. package/dist/types/utility-types/resilient.js.map +1 -0
  117. package/dist/types/utility-types/snapshotProcessor.d.ts +63 -0
  118. package/dist/types/utility-types/snapshotProcessor.js +161 -0
  119. package/dist/types/utility-types/snapshotProcessor.js.map +1 -0
  120. package/dist/types/utility-types/union.d.ts +77 -0
  121. package/dist/types/utility-types/union.js +245 -0
  122. package/dist/types/utility-types/union.js.map +1 -0
  123. package/dist/utils.d.ts +230 -0
  124. package/dist/utils.js +483 -0
  125. package/dist/utils.js.map +1 -0
  126. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mst-operations.js","sourceRoot":"","sources":["../../src/core/mst-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { type AnyObjectNode, Hook, type IAnyType, type IDisposer, NodeLifeCycle } from "../../internal.ts";
2
+ type HookSubscribers = {
3
+ [Hook.afterAttach]: (node: AnyNode, hook: Hook) => void;
4
+ [Hook.afterCreate]: (node: AnyNode, hook: Hook) => void;
5
+ [Hook.afterCreationFinalization]: (node: AnyNode, hook: Hook) => void;
6
+ [Hook.beforeDestroy]: (node: AnyNode, hook: Hook) => void;
7
+ [Hook.beforeDetach]: (node: AnyNode, hook: Hook) => void;
8
+ };
9
+ /**
10
+ * @internal
11
+ * @hidden
12
+ */
13
+ export declare abstract class BaseNode<C, S, T> {
14
+ readonly type: IAnyType;
15
+ environment: any;
16
+ private _escapedSubpath?;
17
+ private _subpath;
18
+ get subpath(): string;
19
+ private _subpathUponDeath?;
20
+ get subpathUponDeath(): string | undefined;
21
+ private _pathUponDeath?;
22
+ protected get pathUponDeath(): string | undefined;
23
+ storedValue: any;
24
+ get value(): T;
25
+ private aliveAtom?;
26
+ private _state;
27
+ get state(): NodeLifeCycle;
28
+ set state(val: NodeLifeCycle);
29
+ private _hookSubscribers?;
30
+ protected abstract fireHook(name: Hook): void;
31
+ protected fireInternalHook(name: Hook): void;
32
+ registerHook<H extends Hook>(hook: H, hookHandler: HookSubscribers[H]): IDisposer;
33
+ private _parent;
34
+ get parent(): AnyObjectNode | null;
35
+ constructor(type: IAnyType, parent: AnyObjectNode | null, subpath: string, environment: any);
36
+ getReconciliationType(): IAnyType;
37
+ private pathAtom?;
38
+ protected baseSetParent(parent: AnyObjectNode | null, subpath: string): void;
39
+ get path(): string;
40
+ protected getEscapedPath(reportObserved: boolean): string;
41
+ get isRoot(): boolean;
42
+ abstract get root(): AnyObjectNode;
43
+ abstract setParent(newParent: AnyObjectNode | null, subpath: string | null): void;
44
+ abstract get snapshot(): S;
45
+ abstract getSnapshot(): S;
46
+ get isAlive(): boolean;
47
+ get isDetaching(): boolean;
48
+ get observableIsAlive(): boolean;
49
+ abstract die(): void;
50
+ abstract finalizeCreation(): void;
51
+ protected baseFinalizeCreation(whenFinalized?: () => void): void;
52
+ abstract finalizeDeath(): void;
53
+ protected baseFinalizeDeath(): void;
54
+ abstract aboutToDie(): void;
55
+ protected baseAboutToDie(): void;
56
+ }
57
+ /**
58
+ * @internal
59
+ * @hidden
60
+ */
61
+ export type AnyNode = BaseNode<any, any, any>;
62
+ export {};
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseNode = void 0;
4
+ const mobx_1 = require("mobx");
5
+ const internal_ts_1 = require("../../internal.js");
6
+ /**
7
+ * @internal
8
+ * @hidden
9
+ */
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ class BaseNode {
12
+ type;
13
+ environment;
14
+ _escapedSubpath;
15
+ _subpath;
16
+ get subpath() {
17
+ return this._subpath;
18
+ }
19
+ _subpathUponDeath;
20
+ get subpathUponDeath() {
21
+ return this._subpathUponDeath;
22
+ }
23
+ _pathUponDeath;
24
+ get pathUponDeath() {
25
+ return this._pathUponDeath;
26
+ }
27
+ storedValue; // usually the same type as the value, but not always (such as with references)
28
+ get value() {
29
+ return this.type.getValue(this);
30
+ }
31
+ aliveAtom;
32
+ _state = internal_ts_1.NodeLifeCycle.INITIALIZING;
33
+ get state() {
34
+ return this._state;
35
+ }
36
+ set state(val) {
37
+ const wasAlive = this.isAlive;
38
+ this._state = val;
39
+ const isAlive = this.isAlive;
40
+ if (this.aliveAtom && wasAlive !== isAlive) {
41
+ this.aliveAtom.reportChanged();
42
+ }
43
+ }
44
+ _hookSubscribers;
45
+ fireInternalHook(name) {
46
+ if (this._hookSubscribers) {
47
+ this._hookSubscribers.emit(name, this, name);
48
+ }
49
+ }
50
+ registerHook(hook, hookHandler) {
51
+ if (!this._hookSubscribers) {
52
+ this._hookSubscribers = new internal_ts_1.EventHandlers();
53
+ }
54
+ return this._hookSubscribers.register(hook, hookHandler);
55
+ }
56
+ _parent;
57
+ get parent() {
58
+ return this._parent;
59
+ }
60
+ constructor(type, parent, subpath, environment) {
61
+ this.type = type;
62
+ this.environment = environment;
63
+ this.environment = environment;
64
+ this.baseSetParent(parent, subpath);
65
+ }
66
+ getReconciliationType() {
67
+ return this.type;
68
+ }
69
+ pathAtom;
70
+ baseSetParent(parent, subpath) {
71
+ this._parent = parent;
72
+ this._subpath = subpath;
73
+ this._escapedSubpath = undefined; // regenerate when needed
74
+ if (this.pathAtom) {
75
+ this.pathAtom.reportChanged();
76
+ }
77
+ }
78
+ /*
79
+ * Returns (escaped) path representation as string
80
+ */
81
+ get path() {
82
+ return this.getEscapedPath(true);
83
+ }
84
+ getEscapedPath(reportObserved) {
85
+ if (reportObserved) {
86
+ if (!this.pathAtom) {
87
+ this.pathAtom = (0, mobx_1.createAtom)(`path`);
88
+ }
89
+ this.pathAtom.reportObserved();
90
+ }
91
+ if (!this.parent) {
92
+ return "";
93
+ }
94
+ // regenerate escaped subpath if needed
95
+ if (this._escapedSubpath === undefined) {
96
+ this._escapedSubpath = !this._subpath ? "" : (0, internal_ts_1.escapeJsonPath)(this._subpath);
97
+ }
98
+ return (this.parent.getEscapedPath(reportObserved) + "/" + this._escapedSubpath);
99
+ }
100
+ get isRoot() {
101
+ return this.parent === null;
102
+ }
103
+ get isAlive() {
104
+ return this.state !== internal_ts_1.NodeLifeCycle.DEAD;
105
+ }
106
+ get isDetaching() {
107
+ return this.state === internal_ts_1.NodeLifeCycle.DETACHING;
108
+ }
109
+ get observableIsAlive() {
110
+ if (!this.aliveAtom) {
111
+ this.aliveAtom = (0, mobx_1.createAtom)(`alive`);
112
+ }
113
+ this.aliveAtom.reportObserved();
114
+ return this.isAlive;
115
+ }
116
+ baseFinalizeCreation(whenFinalized) {
117
+ if ((0, internal_ts_1.devMode)()) {
118
+ if (!this.isAlive) {
119
+ // istanbul ignore next
120
+ throw (0, internal_ts_1.fail)("assertion failed: cannot finalize the creation of a node that is already dead");
121
+ }
122
+ }
123
+ // goal: afterCreate hooks runs depth-first. After attach runs parent first, so on afterAttach the parent has completed already
124
+ if (this.state === internal_ts_1.NodeLifeCycle.CREATED) {
125
+ if (this.parent) {
126
+ if (this.parent.state !== internal_ts_1.NodeLifeCycle.FINALIZED) {
127
+ // parent not ready yet, postpone
128
+ return;
129
+ }
130
+ this.fireHook(internal_ts_1.Hook.afterAttach);
131
+ }
132
+ this.state = internal_ts_1.NodeLifeCycle.FINALIZED;
133
+ if (whenFinalized) {
134
+ whenFinalized();
135
+ }
136
+ }
137
+ }
138
+ baseFinalizeDeath() {
139
+ if (this._hookSubscribers) {
140
+ this._hookSubscribers.clearAll();
141
+ }
142
+ this._subpathUponDeath = this._subpath;
143
+ this._pathUponDeath = this.getEscapedPath(false);
144
+ this.baseSetParent(null, "");
145
+ this.state = internal_ts_1.NodeLifeCycle.DEAD;
146
+ }
147
+ baseAboutToDie() {
148
+ this.fireHook(internal_ts_1.Hook.beforeDestroy);
149
+ }
150
+ }
151
+ exports.BaseNode = BaseNode;
152
+ //# sourceMappingURL=BaseNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseNode.js","sourceRoot":"","sources":["../../../src/core/node/BaseNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare enum Hook {
5
+ afterCreate = "afterCreate",
6
+ afterAttach = "afterAttach",
7
+ afterCreationFinalization = "afterCreationFinalization",
8
+ beforeDetach = "beforeDetach",
9
+ beforeDestroy = "beforeDestroy"
10
+ }
11
+ export interface IHooks {
12
+ [Hook.afterCreate]?: () => void;
13
+ [Hook.afterAttach]?: () => void;
14
+ [Hook.beforeDetach]?: () => void;
15
+ [Hook.beforeDestroy]?: () => void;
16
+ }
17
+ export type IHooksGetter<T> = (self: T) => IHooks;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Hook = void 0;
4
+ /**
5
+ * @hidden
6
+ */
7
+ var Hook;
8
+ (function (Hook) {
9
+ Hook["afterCreate"] = "afterCreate";
10
+ Hook["afterAttach"] = "afterAttach";
11
+ Hook["afterCreationFinalization"] = "afterCreationFinalization";
12
+ Hook["beforeDetach"] = "beforeDetach";
13
+ Hook["beforeDestroy"] = "beforeDestroy";
14
+ })(Hook || (exports.Hook = Hook = {}));
15
+ //# sourceMappingURL=Hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hook.js","sourceRoot":"","sources":["../../../src/core/node/Hook.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,IAMX;AAND,WAAY,IAAI;IACd,mCAA2B,CAAA;IAC3B,mCAA2B,CAAA;IAC3B,+DAAuD,CAAA;IACvD,qCAA6B,CAAA;IAC7B,uCAA+B,CAAA;AACjC,CAAC,EANW,IAAI,oBAAJ,IAAI,QAMf"}
@@ -0,0 +1,16 @@
1
+ import { type AnyNode, type AnyObjectNode, ComplexType, ObjectNode, ScalarNode, SimpleType } from "../../internal.ts";
2
+ /**
3
+ * @internal
4
+ * @hidden
5
+ */
6
+ export declare function createObjectNode<C, S, T>(type: ComplexType<C, S, T>, parent: AnyObjectNode | null, subpath: string, environment: any, initialValue: C | T): ObjectNode<C, S, T>;
7
+ /**
8
+ * @internal
9
+ * @hidden
10
+ */
11
+ export declare function createScalarNode<C, S, T>(type: SimpleType<C, S, T>, parent: AnyObjectNode | null, subpath: string, environment: any, initialValue: C): ScalarNode<C, S, T>;
12
+ /**
13
+ * @internal
14
+ * @hidden
15
+ */
16
+ export declare function isNode(value: any): value is AnyNode;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createObjectNode = createObjectNode;
4
+ exports.createScalarNode = createScalarNode;
5
+ exports.isNode = isNode;
6
+ const internal_ts_1 = require("../../internal.js");
7
+ /**
8
+ * @internal
9
+ * @hidden
10
+ */
11
+ function createObjectNode(type, parent, subpath, environment, initialValue) {
12
+ const existingNode = (0, internal_ts_1.getStateTreeNodeSafe)(initialValue);
13
+ if (existingNode) {
14
+ if (existingNode.parent) {
15
+ // istanbul ignore next
16
+ throw (0, internal_ts_1.fail)(`Cannot add an object to a state tree if it is already part of the same or another state tree. Tried to assign an object to '${parent ? parent.path : ""}/${subpath}', but it lives already at '${existingNode.path}'`);
17
+ }
18
+ if (parent) {
19
+ existingNode.setParent(parent, subpath);
20
+ }
21
+ // else it already has no parent since it is a pre-requisite
22
+ return existingNode;
23
+ }
24
+ // not a node, a snapshot
25
+ return new internal_ts_1.ObjectNode(type, parent, subpath, environment, initialValue);
26
+ }
27
+ /**
28
+ * @internal
29
+ * @hidden
30
+ */
31
+ function createScalarNode(type, parent, subpath, environment, initialValue) {
32
+ return new internal_ts_1.ScalarNode(type, parent, subpath, environment, initialValue);
33
+ }
34
+ /**
35
+ * @internal
36
+ * @hidden
37
+ */
38
+ function isNode(value) {
39
+ return value instanceof internal_ts_1.ScalarNode || value instanceof internal_ts_1.ObjectNode;
40
+ }
41
+ //# sourceMappingURL=create-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-node.js","sourceRoot":"","sources":["../../../src/core/node/create-node.ts"],"names":[],"mappings":";;AAeA,4CA4BC;AAMD,4CAQC;AAMD,wBAEC;AAjED,mDAS0B;AAE1B;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,IAA0B,EAC1B,MAA4B,EAC5B,OAAe,EACf,WAAgB,EAChB,YAAmB;IAEnB,MAAM,YAAY,GAAG,IAAA,kCAAoB,EAAC,YAAY,CAAC,CAAA;IACvD,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,uBAAuB;YACvB,MAAM,IAAA,kBAAI,EACR,+HACE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EACzB,IAAI,OAAO,+BAA+B,YAAY,CAAC,IAAI,GAAG,CAC/D,CAAA;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACzC,CAAC;QACD,4DAA4D;QAE5D,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,yBAAyB;IACzB,OAAO,IAAI,wBAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAiB,CAAC,CAAA;AAC9E,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,IAAyB,EACzB,MAA4B,EAC5B,OAAe,EACf,WAAgB,EAChB,YAAe;IAEf,OAAO,IAAI,wBAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AACzE,CAAC;AAED;;;GAGG;AACH,SAAgB,MAAM,CAAC,KAAU;IAC/B,OAAO,KAAK,YAAY,wBAAU,IAAI,KAAK,YAAY,wBAAU,CAAA;AACnE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type AnyObjectNode, type IAnyComplexType, ObjectNode } from "../../internal.ts";
2
+ /**
3
+ * @internal
4
+ * @hidden
5
+ */
6
+ export declare class IdentifierCache {
7
+ private cacheId;
8
+ private cache;
9
+ private lastCacheModificationPerId;
10
+ constructor();
11
+ private updateLastCacheModificationPerId;
12
+ getLastCacheModificationPerId(identifier: string): string;
13
+ addNodeToCache(node: AnyObjectNode, lastCacheUpdate?: boolean): void;
14
+ mergeCache(node: AnyObjectNode): void;
15
+ notifyDied(node: AnyObjectNode): void;
16
+ splitCache(splitNode: AnyObjectNode): IdentifierCache;
17
+ has(type: IAnyComplexType, identifier: string): boolean;
18
+ resolve<IT extends IAnyComplexType>(type: IT, identifier: string): ObjectNode<IT["CreationType"], IT["SnapshotType"], IT["TypeWithoutSTN"]> | null;
19
+ }
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdentifierCache = void 0;
4
+ const mobx_1 = require("mobx");
5
+ const internal_ts_1 = require("../../internal.js");
6
+ let identifierCacheId = 0;
7
+ /**
8
+ * @internal
9
+ * @hidden
10
+ */
11
+ class IdentifierCache {
12
+ cacheId = identifierCacheId++;
13
+ // n.b. in cache all identifiers are normalized to strings
14
+ cache = mobx_1.observable.map();
15
+ // last time the cache (array) for a given time changed
16
+ // n.b. it is not really the time, but just an integer that gets increased after each modification to the array
17
+ lastCacheModificationPerId = mobx_1.observable.map();
18
+ constructor() { }
19
+ updateLastCacheModificationPerId(identifier) {
20
+ const lcm = this.lastCacheModificationPerId.get(identifier);
21
+ // we start at 1 since 0 means no update since cache creation
22
+ this.lastCacheModificationPerId.set(identifier, lcm === undefined ? 1 : lcm + 1);
23
+ }
24
+ getLastCacheModificationPerId(identifier) {
25
+ const modificationId = this.lastCacheModificationPerId.get(identifier) || 0;
26
+ return `${this.cacheId}-${modificationId}`;
27
+ }
28
+ addNodeToCache(node, lastCacheUpdate = true) {
29
+ if (node.identifierAttribute) {
30
+ const identifier = node.identifier;
31
+ if (!this.cache.has(identifier)) {
32
+ this.cache.set(identifier, mobx_1.observable.array([], internal_ts_1.mobxShallow));
33
+ }
34
+ const set = this.cache.get(identifier);
35
+ if (set.indexOf(node) !== -1) {
36
+ throw (0, internal_ts_1.fail)(`Already registered`);
37
+ }
38
+ set.push(node);
39
+ if (lastCacheUpdate) {
40
+ this.updateLastCacheModificationPerId(identifier);
41
+ }
42
+ }
43
+ }
44
+ mergeCache(node) {
45
+ (0, mobx_1.values)(node.identifierCache.cache).forEach(nodes => nodes.forEach(child => {
46
+ this.addNodeToCache(child);
47
+ }));
48
+ }
49
+ notifyDied(node) {
50
+ if (node.identifierAttribute) {
51
+ const id = node.identifier;
52
+ const set = this.cache.get(id);
53
+ if (set) {
54
+ set.remove(node);
55
+ // remove empty sets from cache
56
+ if (!set.length) {
57
+ this.cache.delete(id);
58
+ }
59
+ this.updateLastCacheModificationPerId(node.identifier);
60
+ }
61
+ }
62
+ }
63
+ splitCache(splitNode) {
64
+ const newCache = new IdentifierCache();
65
+ // The slash is added here so we only match children of the splitNode. In version 5.1.8 and
66
+ // earlier there was no trailing slash, so non children that started with the same path string
67
+ // were being matched incorrectly.
68
+ const basePath = splitNode.path + "/";
69
+ (0, mobx_1.entries)(this.cache).forEach(([id, nodes]) => {
70
+ let modified = false;
71
+ for (let i = nodes.length - 1; i >= 0; i--) {
72
+ const node = nodes[i];
73
+ if (node === splitNode || node.path.indexOf(basePath) === 0) {
74
+ newCache.addNodeToCache(node, false); // no need to update lastUpdated since it is a whole new cache
75
+ nodes.splice(i, 1);
76
+ // remove empty sets from cache
77
+ if (!nodes.length) {
78
+ this.cache.delete(id);
79
+ }
80
+ modified = true;
81
+ }
82
+ }
83
+ if (modified) {
84
+ this.updateLastCacheModificationPerId(id);
85
+ }
86
+ });
87
+ return newCache;
88
+ }
89
+ has(type, identifier) {
90
+ const set = this.cache.get(identifier);
91
+ if (!set) {
92
+ return false;
93
+ }
94
+ return set.some(candidate => type.isAssignableFrom(candidate.type));
95
+ }
96
+ resolve(type, identifier) {
97
+ const set = this.cache.get(identifier);
98
+ if (!set) {
99
+ return null;
100
+ }
101
+ const matches = set.filter(candidate => type.isAssignableFrom(candidate.type));
102
+ switch (matches.length) {
103
+ case 0:
104
+ return null;
105
+ case 1:
106
+ return matches[0];
107
+ default:
108
+ throw (0, internal_ts_1.fail)(`Cannot resolve a reference to type '${type.name}' with id: '${identifier}' unambigously, there are multiple candidates: ${matches
109
+ .map(n => n.path)
110
+ .join(", ")}`);
111
+ }
112
+ }
113
+ }
114
+ exports.IdentifierCache = IdentifierCache;
115
+ //# sourceMappingURL=identifier-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier-cache.js","sourceRoot":"","sources":["../../../src/core/node/identifier-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Defines what MST should do when running into reads / writes to objects that have died.
3
+ * - `"warn"`: Print a warning (default).
4
+ * - `"error"`: Throw an exception.
5
+ * - "`ignore`": Do nothing.
6
+ */
7
+ export type LivelinessMode = "warn" | "error" | "ignore";
8
+ /**
9
+ * Defines what MST should do when running into reads / writes to objects that have died.
10
+ * By default it will print a warning.
11
+ * Use the `"error"` option to easy debugging to see where the error was thrown and when the offending read / write took place
12
+ *
13
+ * @param mode `"warn"`, `"error"` or `"ignore"`
14
+ */
15
+ export declare function setLivelinessChecking(mode: LivelinessMode): void;
16
+ /**
17
+ * Returns the current liveliness checking mode.
18
+ *
19
+ * @returns `"warn"`, `"error"` or `"ignore"`
20
+ */
21
+ export declare function getLivelinessChecking(): LivelinessMode;
22
+ /**
23
+ * @deprecated use LivelinessMode instead
24
+ * @hidden
25
+ */
26
+ export type LivelynessMode = LivelinessMode;
27
+ /**
28
+ * @deprecated use setLivelinessChecking instead
29
+ * @hidden
30
+ *
31
+ * Defines what MST should do when running into reads / writes to objects that have died.
32
+ * By default it will print a warning.
33
+ * Use the `"error"` option to easy debugging to see where the error was thrown and when the offending read / write took place
34
+ *
35
+ * @param mode `"warn"`, `"error"` or `"ignore"`
36
+ */
37
+ export declare function setLivelynessChecking(mode: LivelinessMode): void;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setLivelinessChecking = setLivelinessChecking;
4
+ exports.getLivelinessChecking = getLivelinessChecking;
5
+ exports.setLivelynessChecking = setLivelynessChecking;
6
+ let livelinessChecking = "warn";
7
+ /**
8
+ * Defines what MST should do when running into reads / writes to objects that have died.
9
+ * By default it will print a warning.
10
+ * Use the `"error"` option to easy debugging to see where the error was thrown and when the offending read / write took place
11
+ *
12
+ * @param mode `"warn"`, `"error"` or `"ignore"`
13
+ */
14
+ function setLivelinessChecking(mode) {
15
+ livelinessChecking = mode;
16
+ }
17
+ /**
18
+ * Returns the current liveliness checking mode.
19
+ *
20
+ * @returns `"warn"`, `"error"` or `"ignore"`
21
+ */
22
+ function getLivelinessChecking() {
23
+ return livelinessChecking;
24
+ }
25
+ /**
26
+ * @deprecated use setLivelinessChecking instead
27
+ * @hidden
28
+ *
29
+ * Defines what MST should do when running into reads / writes to objects that have died.
30
+ * By default it will print a warning.
31
+ * Use the `"error"` option to easy debugging to see where the error was thrown and when the offending read / write took place
32
+ *
33
+ * @param mode `"warn"`, `"error"` or `"ignore"`
34
+ */
35
+ function setLivelynessChecking(mode) {
36
+ setLivelinessChecking(mode);
37
+ }
38
+ //# sourceMappingURL=livelinessChecking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"livelinessChecking.js","sourceRoot":"","sources":["../../../src/core/node/livelinessChecking.ts"],"names":[],"mappings":";;AAiBA,sDAEC;AAOD,sDAEC;AAkBD,sDAEC;AAxCD,IAAI,kBAAkB,GAAmB,MAAM,CAAA;AAE/C;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,IAAoB;IACxD,kBAAkB,GAAG,IAAI,CAAA;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB;IACnC,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAQD;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAAC,IAAoB;IACxD,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC"}