@jbrowse/mobx-state-tree 5.6.9 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/action.js.map +1 -1
- package/dist/core/actionContext.js.map +1 -1
- package/dist/core/flow.js.map +1 -1
- package/dist/core/json-patch.js.map +1 -1
- package/dist/core/mst-operations.js.map +1 -1
- package/dist/core/node/BaseNode.js.map +1 -1
- package/dist/core/node/Hook.js.map +1 -1
- package/dist/core/node/create-node.js.map +1 -1
- package/dist/core/node/identifier-cache.js.map +1 -1
- package/dist/core/node/livelinessChecking.js.map +1 -1
- package/dist/core/node/node-utils.js.map +1 -1
- package/dist/core/node/object-node.d.ts +3 -1
- package/dist/core/node/object-node.js +2 -1
- package/dist/core/node/object-node.js.map +1 -1
- package/dist/core/node/scalar-node.d.ts +3 -1
- package/dist/core/node/scalar-node.js +2 -1
- package/dist/core/node/scalar-node.js.map +1 -1
- package/dist/core/process.js.map +1 -1
- package/dist/core/type/type-checker.js.map +1 -1
- package/dist/core/type/type.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/middlewares/create-action-tracking-middleware.js.map +1 -1
- package/dist/middlewares/createActionTrackingMiddleware2.js.map +1 -1
- package/dist/middlewares/on-action.js.map +1 -1
- package/dist/package.json +1 -0
- package/dist/types/complex-types/array.d.ts +2 -1
- package/dist/types/complex-types/array.js +2 -1
- package/dist/types/complex-types/array.js.map +1 -1
- package/dist/types/complex-types/map.d.ts +2 -1
- package/dist/types/complex-types/map.js +2 -1
- package/dist/types/complex-types/map.js.map +1 -1
- package/dist/types/complex-types/model.d.ts +2 -1
- package/dist/types/complex-types/model.js +2 -1
- package/dist/types/complex-types/model.js.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/primitives.d.ts +2 -1
- package/dist/types/primitives.js +2 -1
- package/dist/types/primitives.js.map +1 -1
- package/dist/types/utility-types/custom.d.ts +2 -1
- package/dist/types/utility-types/custom.js +2 -1
- package/dist/types/utility-types/custom.js.map +1 -1
- package/dist/types/utility-types/enumeration.js.map +1 -1
- package/dist/types/utility-types/frozen.d.ts +2 -1
- package/dist/types/utility-types/frozen.js +2 -1
- package/dist/types/utility-types/frozen.js.map +1 -1
- package/dist/types/utility-types/identifier.d.ts +2 -1
- package/dist/types/utility-types/identifier.js +2 -1
- package/dist/types/utility-types/identifier.js.map +1 -1
- package/dist/types/utility-types/late.js +2 -1
- package/dist/types/utility-types/late.js.map +1 -1
- package/dist/types/utility-types/lazy.d.ts +2 -1
- package/dist/types/utility-types/lazy.js +2 -1
- package/dist/types/utility-types/lazy.js.map +1 -1
- package/dist/types/utility-types/literal.d.ts +2 -1
- package/dist/types/utility-types/literal.js +2 -1
- package/dist/types/utility-types/literal.js.map +1 -1
- package/dist/types/utility-types/maybe.js.map +1 -1
- package/dist/types/utility-types/optional.d.ts +2 -1
- package/dist/types/utility-types/optional.js +2 -1
- package/dist/types/utility-types/optional.js.map +1 -1
- package/dist/types/utility-types/reference.d.ts +2 -1
- package/dist/types/utility-types/reference.js +2 -1
- package/dist/types/utility-types/reference.js.map +1 -1
- package/dist/types/utility-types/refinement.js +2 -1
- package/dist/types/utility-types/refinement.js.map +1 -1
- package/dist/types/utility-types/resilient.js +2 -1
- package/dist/types/utility-types/resilient.js.map +1 -1
- package/dist/types/utility-types/snapshotProcessor.js +3 -2
- package/dist/types/utility-types/snapshotProcessor.js.map +1 -1
- package/dist/types/utility-types/union.d.ts +2 -1
- package/dist/types/utility-types/union.js +2 -1
- package/dist/types/utility-types/union.js.map +1 -1
- package/dist/utils.js.map +1 -1
- package/esm/core/action.d.ts +87 -0
- package/esm/core/action.js +219 -0
- package/esm/core/action.js.map +1 -0
- package/esm/core/actionContext.d.ts +27 -0
- package/esm/core/actionContext.js +37 -0
- package/esm/core/actionContext.js.map +1 -0
- package/esm/core/flow.d.ts +69 -0
- package/esm/core/flow.js +173 -0
- package/esm/core/flow.js.map +1 -0
- package/esm/core/json-patch.d.ts +46 -0
- package/esm/core/json-patch.js +125 -0
- package/esm/core/json-patch.js.map +1 -0
- package/esm/core/mst-operations.d.ts +459 -0
- package/esm/core/mst-operations.js +844 -0
- package/esm/core/mst-operations.js.map +1 -0
- package/esm/core/node/BaseNode.d.ts +62 -0
- package/esm/core/node/BaseNode.js +148 -0
- package/esm/core/node/BaseNode.js.map +1 -0
- package/esm/core/node/Hook.d.ts +17 -0
- package/esm/core/node/Hook.js +12 -0
- package/esm/core/node/Hook.js.map +1 -0
- package/esm/core/node/create-node.d.ts +16 -0
- package/esm/core/node/create-node.js +36 -0
- package/esm/core/node/create-node.js.map +1 -0
- package/esm/core/node/identifier-cache.d.ts +19 -0
- package/esm/core/node/identifier-cache.js +111 -0
- package/esm/core/node/identifier-cache.js.map +1 -0
- package/esm/core/node/livelinessChecking.d.ts +37 -0
- package/esm/core/node/livelinessChecking.js +33 -0
- package/esm/core/node/livelinessChecking.js.map +1 -0
- package/esm/core/node/node-utils.d.ts +83 -0
- package/esm/core/node/node-utils.js +153 -0
- package/esm/core/node/node-utils.js.map +1 -0
- package/esm/core/node/object-node.d.ts +101 -0
- package/esm/core/node/object-node.js +542 -0
- package/esm/core/node/object-node.js.map +1 -0
- package/esm/core/node/scalar-node.d.ts +21 -0
- package/esm/core/node/scalar-node.js +86 -0
- package/esm/core/node/scalar-node.js.map +1 -0
- package/esm/core/process.d.ts +50 -0
- package/esm/core/process.js +35 -0
- package/esm/core/process.js.map +1 -0
- package/esm/core/type/type-checker.d.ts +69 -0
- package/esm/core/type/type-checker.js +144 -0
- package/esm/core/type/type-checker.js.map +1 -0
- package/esm/core/type/type.d.ts +317 -0
- package/esm/core/type/type.js +243 -0
- package/esm/core/type/type.js.map +1 -0
- package/esm/index.d.ts +2 -0
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -0
- package/esm/internal.d.ts +39 -0
- package/esm/internal.js +44 -0
- package/esm/internal.js.map +1 -0
- package/esm/middlewares/create-action-tracking-middleware.d.ts +24 -0
- package/esm/middlewares/create-action-tracking-middleware.js +78 -0
- package/esm/middlewares/create-action-tracking-middleware.js.map +1 -0
- package/esm/middlewares/createActionTrackingMiddleware2.d.ts +34 -0
- package/esm/middlewares/createActionTrackingMiddleware2.js +130 -0
- package/esm/middlewares/createActionTrackingMiddleware2.js.map +1 -0
- package/esm/middlewares/on-action.d.ts +87 -0
- package/esm/middlewares/on-action.js +210 -0
- package/esm/middlewares/on-action.js.map +1 -0
- package/esm/types/complex-types/array.d.ts +81 -0
- package/esm/types/complex-types/array.js +347 -0
- package/esm/types/complex-types/array.js.map +1 -0
- package/esm/types/complex-types/map.d.ts +111 -0
- package/esm/types/complex-types/map.js +356 -0
- package/esm/types/complex-types/map.js.map +1 -0
- package/esm/types/complex-types/model.d.ts +193 -0
- package/esm/types/complex-types/model.js +471 -0
- package/esm/types/complex-types/model.js.map +1 -0
- package/esm/types/index.d.ts +33 -0
- package/esm/types/index.js +35 -0
- package/esm/types/index.js.map +1 -0
- package/esm/types/primitives.d.ts +125 -0
- package/esm/types/primitives.js +177 -0
- package/esm/types/primitives.js.map +1 -0
- package/esm/types/utility-types/custom.d.ts +75 -0
- package/esm/types/utility-types/custom.js +106 -0
- package/esm/types/utility-types/custom.js.map +1 -0
- package/esm/types/utility-types/enumeration.d.ts +5 -0
- package/esm/types/utility-types/enumeration.js +31 -0
- package/esm/types/utility-types/enumeration.js.map +1 -0
- package/esm/types/utility-types/frozen.d.ts +24 -0
- package/esm/types/utility-types/frozen.js +92 -0
- package/esm/types/utility-types/frozen.js.map +1 -0
- package/esm/types/utility-types/identifier.d.ts +87 -0
- package/esm/types/utility-types/identifier.js +121 -0
- package/esm/types/utility-types/identifier.js.map +1 -0
- package/esm/types/utility-types/late.d.ts +10 -0
- package/esm/types/utility-types/late.js +106 -0
- package/esm/types/utility-types/late.js.map +1 -0
- package/esm/types/utility-types/lazy.d.ts +23 -0
- package/esm/types/utility-types/lazy.js +72 -0
- package/esm/types/utility-types/lazy.js.map +1 -0
- package/esm/types/utility-types/literal.d.ts +38 -0
- package/esm/types/utility-types/literal.js +58 -0
- package/esm/types/utility-types/literal.js.map +1 -0
- package/esm/types/utility-types/maybe.d.ts +26 -0
- package/esm/types/utility-types/maybe.js +26 -0
- package/esm/types/utility-types/maybe.js.map +1 -0
- package/esm/types/utility-types/optional.d.ts +42 -0
- package/esm/types/utility-types/optional.js +135 -0
- package/esm/types/utility-types/optional.js.map +1 -0
- package/esm/types/utility-types/reference.d.ts +90 -0
- package/esm/types/utility-types/reference.js +383 -0
- package/esm/types/utility-types/reference.js.map +1 -0
- package/esm/types/utility-types/refinement.d.ts +10 -0
- package/esm/types/utility-types/refinement.js +82 -0
- package/esm/types/utility-types/refinement.js.map +1 -0
- package/esm/types/utility-types/resilient.d.ts +18 -0
- package/esm/types/utility-types/resilient.js +118 -0
- package/esm/types/utility-types/resilient.js.map +1 -0
- package/esm/types/utility-types/snapshotProcessor.d.ts +63 -0
- package/esm/types/utility-types/snapshotProcessor.js +159 -0
- package/esm/types/utility-types/snapshotProcessor.js.map +1 -0
- package/esm/types/utility-types/union.d.ts +78 -0
- package/esm/types/utility-types/union.js +240 -0
- package/esm/types/utility-types/union.js.map +1 -0
- package/esm/utils.d.ts +230 -0
- package/esm/utils.js +449 -0
- package/esm/utils.js.map +1 -0
- package/package.json +23 -22
- package/dist/mobx-state-tree.js +0 -85
- package/dist/mobx-state-tree.module.js +0 -83
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ScalarNode = void 0;
|
|
4
4
|
const mobx_1 = require("mobx");
|
|
5
|
+
const BaseNode_ts_1 = require("./BaseNode.js");
|
|
5
6
|
const internal_ts_1 = require("../../internal.js");
|
|
6
7
|
/**
|
|
7
8
|
* @internal
|
|
8
9
|
* @hidden
|
|
9
10
|
*/
|
|
10
|
-
class ScalarNode extends
|
|
11
|
+
class ScalarNode extends BaseNode_ts_1.BaseNode {
|
|
11
12
|
constructor(simpleType, parent, subpath, environment, initialSnapshot) {
|
|
12
13
|
super(simpleType, parent, subpath, environment);
|
|
13
14
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalar-node.js","sourceRoot":"","sources":["../../../src/core/node/scalar-node.ts"],"names":[],"mappings":";;;AAAA,+BAA6B;AAE7B,
|
|
1
|
+
{"version":3,"file":"scalar-node.js","sourceRoot":"","sources":["../../../src/core/node/scalar-node.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from \"mobx\"\n\nimport { BaseNode } from \"./BaseNode.ts\"\nimport { SimpleType } from \"../type/type.ts\"\nimport {\n type AnyObjectNode,\n Hook,\n NodeLifeCycle,\n devMode,\n fail,\n freeze\n} from \"../../internal.ts\"\n\n/**\n * @internal\n * @hidden\n */\nexport class ScalarNode<C, S, T> extends BaseNode<C, S, T> {\n // note about hooks:\n // - afterCreate is not emmited in scalar nodes, since it would be emitted in the\n // constructor, before it can be subscribed by anybody\n // - afterCreationFinalization could be emitted, but there's no need for it right now\n // - beforeDetach is never emitted for scalar nodes, since they cannot be detached\n\n declare readonly type: SimpleType<C, S, T>\n\n constructor(\n simpleType: SimpleType<C, S, T>,\n parent: AnyObjectNode | null,\n subpath: string,\n environment: any,\n initialSnapshot: C\n ) {\n super(simpleType, parent, subpath, environment)\n try {\n this.storedValue = simpleType.createNewInstance(initialSnapshot)\n } catch (e) {\n // short-cut to die the instance, to avoid the snapshot computed starting to throw...\n this.state = NodeLifeCycle.DEAD\n throw e\n }\n\n this.state = NodeLifeCycle.CREATED\n // for scalar nodes there's no point in firing this event since it would fire on the constructor, before\n // anybody can actually register for/listen to it\n // this.fireHook(Hook.AfterCreate)\n\n this.finalizeCreation()\n }\n\n get root(): AnyObjectNode {\n // future optimization: store root ref in the node and maintain it\n if (!this.parent) {\n throw fail(`This scalar node is not part of a tree`)\n }\n return this.parent.root\n }\n\n setParent(newParent: AnyObjectNode, subpath: string): void {\n const parentChanged = this.parent !== newParent\n const subpathChanged = this.subpath !== subpath\n\n if (!parentChanged && !subpathChanged) {\n return\n }\n\n if (devMode()) {\n if (!subpath) {\n // istanbul ignore next\n throw fail(\"assertion failed: subpath expected\")\n }\n if (!newParent) {\n // istanbul ignore next\n throw fail(\"assertion failed: parent expected\")\n }\n if (parentChanged) {\n // istanbul ignore next\n throw fail(\"assertion failed: scalar nodes cannot change their parent\")\n }\n }\n\n this.environment = undefined // use parent's\n this.baseSetParent(this.parent, subpath)\n }\n\n get snapshot(): S {\n return freeze(this.getSnapshot())\n }\n\n getSnapshot(): S {\n return this.type.getSnapshot(this)\n }\n\n toString(): string {\n const path = (this.isAlive ? this.path : this.pathUponDeath) || \"<root>\"\n return `${this.type.name}@${path}${this.isAlive ? \"\" : \" [dead]\"}`\n }\n\n die(): void {\n if (!this.isAlive || this.state === NodeLifeCycle.DETACHING) {\n return\n }\n this.aboutToDie()\n this.finalizeDeath()\n }\n\n finalizeCreation(): void {\n this.baseFinalizeCreation()\n }\n\n aboutToDie(): void {\n this.baseAboutToDie()\n }\n\n finalizeDeath(): void {\n this.baseFinalizeDeath()\n }\n\n protected fireHook(name: Hook): void {\n this.fireInternalHook(name)\n }\n}\nScalarNode.prototype.die = action(ScalarNode.prototype.die)\n"]}
|
package/dist/core/process.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/core/process.ts"],"names":[],"mappings":";;AAyHA,0BAMC;AAMD,oDAOC;AA5ID,gDAAoE;AAEpE,iFAAiF;AACjF;;;;;;;EAOE;AAEF,MAAM,mBAAmB,GACvB,iFAAiF;IACjF,qFAAqF,CAAA;AAkGvF;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAAC,WAAgB;IACtC,IAAA,wBAAU,EACR,SAAS,EACT,4CAA4C,GAAG,mBAAmB,CACnE,CAAA;IACD,OAAO,IAAA,kBAAI,EAAC,WAAW,CAAC,CAAA;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,IAAY,EAAE,SAAmB;IACpE,IAAA,wBAAU,EACR,SAAS,EACT,sEAAsE;QACpE,mBAAmB,CACtB,CAAA;IACD,OAAO,IAAA,+BAAiB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AAC3C,CAAC"}
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/core/process.ts"],"names":[],"mappings":";;AAyHA,0BAMC;AAMD,oDAOC;AA5ID,gDAAoE;AAEpE,iFAAiF;AACjF;;;;;;;EAOE;AAEF,MAAM,mBAAmB,GACvB,iFAAiF;IACjF,qFAAqF,CAAA;AAkGvF;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAAC,WAAgB;IACtC,IAAA,wBAAU,EACR,SAAS,EACT,4CAA4C,GAAG,mBAAmB,CACnE,CAAA;IACD,OAAO,IAAA,kBAAI,EAAC,WAAW,CAAC,CAAA;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,IAAY,EAAE,SAAmB;IACpE,IAAA,wBAAU,EACR,SAAS,EACT,sEAAsE;QACpE,mBAAmB,CACtB,CAAA;IACD,OAAO,IAAA,+BAAiB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AAC3C,CAAC","sourcesContent":["import { createFlowSpawner, deprecated, flow } from \"../internal.ts\"\n\n// based on: https://github.com/mobxjs/mobx-utils/blob/master/src/async-action.ts\n/*\n All contents of this file are deprecated.\n\n The term `process` has been replaced with `flow` to avoid conflicts with the\n global `process` object.\n\n Refer to `flow.ts` for any further changes to this implementation.\n*/\n\nconst DEPRECATION_MESSAGE =\n \"See https://github.com/mobxjs/mobx-state-tree/issues/399 for more information. \" +\n \"Note that the middleware event types starting with `process` now start with `flow`.\"\n\n/**\n * @deprecated has been renamed to `flow()`.\n * @hidden\n */\nexport function process<R>(\n generator: () => IterableIterator<any>\n): () => Promise<R>\n/**\n * @deprecated has been renamed to `flow()`.\n * @hidden\n */\nexport function process<A1>(\n generator: (a1: A1) => IterableIterator<any>\n): (a1: A1) => Promise<any>\n/**\n * @deprecated has been renamed to `flow()`.\n * @hidden\n */\nexport function process<A1, A2>(\n generator: (a1: A1, a2: A2) => IterableIterator<any>\n): (a1: A1, a2: A2) => Promise<any>\n/**\n * @deprecated has been renamed to `flow()`.\n * @hidden\n */\nexport function process<A1, A2, A3>(\n generator: (a1: A1, a2: A2, a3: A3) => IterableIterator<any>\n): (a1: A1, a2: A2, a3: A3) => Promise<any>\n/**\n * @deprecated has been renamed to `flow()`.\n * @hidden\n */\nexport function process<A1, A2, A3, A4>(\n generator: (a1: A1, a2: A2, a3: A3, a4: A4) => IterableIterator<any>\n): (a1: A1, a2: A2, a3: A3, a4: A4) => Promise<any>\n/**\n * @deprecated has been renamed to `flow()`.\n * @hidden\n */\nexport function process<A1, A2, A3, A4, A5>(\n generator: (a1: A1, a2: A2, a3: A3, a4: A4, a5: A5) => IterableIterator<any>\n): (a1: A1, a2: A2, a3: A3, a4: A4, a5: A5) => Promise<any>\n/**\n * @deprecated has been renamed to `flow()`.\n * @hidden\n */\nexport function process<A1, A2, A3, A4, A5, A6>(\n generator: (\n a1: A1,\n a2: A2,\n a3: A3,\n a4: A4,\n a5: A5,\n a6: A6\n ) => IterableIterator<any>\n): (a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6) => Promise<any>\n/**\n * @deprecated has been renamed to `flow()`.\n * @hidden\n */\nexport function process<A1, A2, A3, A4, A5, A6, A7>(\n generator: (\n a1: A1,\n a2: A2,\n a3: A3,\n a4: A4,\n a5: A5,\n a6: A6,\n a7: A7\n ) => IterableIterator<any>\n): (a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7) => Promise<any>\n/**\n * @deprecated has been renamed to `flow()`.\n * @hidden\n */\nexport function process<A1, A2, A3, A4, A5, A6, A7, A8>(\n generator: (\n a1: A1,\n a2: A2,\n a3: A3,\n a4: A4,\n a5: A5,\n a6: A6,\n a7: A7,\n a8: A8\n ) => IterableIterator<any>\n): (\n a1: A1,\n a2: A2,\n a3: A3,\n a4: A4,\n a5: A5,\n a6: A6,\n a7: A7,\n a8: A8\n) => Promise<any>\n/**\n * @hidden\n *\n * @deprecated has been renamed to `flow()`.\n * See https://github.com/mobxjs/mobx-state-tree/issues/399 for more information.\n * Note that the middleware event types starting with `process` now start with `flow`.\n *\n * @returns {Promise}\n */\nexport function process(asyncAction: any): any {\n deprecated(\n \"process\",\n \"`process()` has been renamed to `flow()`. \" + DEPRECATION_MESSAGE\n )\n return flow(asyncAction)\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function createProcessSpawner(name: string, generator: Function) {\n deprecated(\n \"process\",\n \"`createProcessSpawner()` has been renamed to `createFlowSpawner()`. \" +\n DEPRECATION_MESSAGE\n )\n return createFlowSpawner(name, generator)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-checker.js","sourceRoot":"","sources":["../../../src/core/type/type-checker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type-checker.js","sourceRoot":"","sources":["../../../src/core/type/type-checker.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n EMPTY_ARRAY,\n type ExtractCSTWithSTN,\n type IAnyType,\n fail,\n getStateTreeNode,\n isPrimitive,\n isPrimitiveType,\n isStateTreeNode,\n isTypeCheckingEnabled\n} from \"../../internal.ts\"\n\n/** Validation context entry, this is, where the validation should run against which type */\nexport interface IValidationContextEntry {\n /** Subpath where the validation should be run, or an empty string to validate it all */\n path: string\n /** Type to validate the subpath against */\n type: IAnyType\n}\n\n/** Array of validation context entries */\nexport type IValidationContext = IValidationContextEntry[]\n\n/** Type validation error */\nexport interface IValidationError {\n /** Validation context */\n context: IValidationContext\n /** Value that was being validated, either a snapshot or an instance */\n value: any\n /** Error message */\n message?: string\n}\n\n/** Type validation result, which is an array of type validation errors */\nexport type IValidationResult = IValidationError[]\n\nconst MAX_STRINGIFY_DEPTH = 3\n\nfunction safeStringify(value: any) {\n try {\n const ancestors: any[] = []\n return JSON.stringify(value, function (_key, val) {\n if (val !== null && typeof val === \"object\") {\n while (\n ancestors.length > 0 &&\n ancestors[ancestors.length - 1] !== this\n ) {\n ancestors.pop()\n }\n if (ancestors.length >= MAX_STRINGIFY_DEPTH) {\n return Array.isArray(val) ? \"[…]\" : \"{…}\"\n }\n ancestors.push(val)\n }\n return val\n })\n } catch (e) {\n // istanbul ignore next\n return `<Unserializable: ${e}>`\n }\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function prettyPrintValue(value: any) {\n return typeof value === \"function\"\n ? `<function${value.name ? \" \" + value.name : \"\"}>`\n : isStateTreeNode(value)\n ? `<${value}>`\n : `\\`${safeStringify(value)}\\``\n}\n\nfunction shortenPrintValue(valueInString: string) {\n return valueInString.length < 280\n ? valueInString\n : `${valueInString.substring(0, 272)}......${valueInString.substring(valueInString.length - 8)}`\n}\n\nfunction toErrorString(error: IValidationError): string {\n const { value } = error\n const type = error.context[error.context.length - 1].type!\n const fullPath = error.context\n .map(({ path }) => path)\n .filter(path => path.length > 0)\n .join(\"/\")\n\n const pathPrefix = fullPath.length > 0 ? `at path \"/${fullPath}\" ` : ``\n\n const currentTypename = isStateTreeNode(value)\n ? `value of type ${getStateTreeNode(value).type.name}:`\n : isPrimitive(value)\n ? \"value\"\n : \"snapshot\"\n const isSnapshotCompatible =\n type && isStateTreeNode(value) && type.is(getStateTreeNode(value).snapshot)\n\n return (\n `${pathPrefix}${currentTypename} ${shortenPrintValue(prettyPrintValue(value))} is not assignable ${\n type ? `to type: \\`${type.name}\\`` : ``\n }` +\n (error.message ? ` (${error.message})` : \"\") +\n (type\n ? isPrimitiveType(type) || isPrimitive(value)\n ? `.`\n : `, expected an instance of \\`${(type as IAnyType).name}\\` or a snapshot like \\`${shortenPrintValue(\n (type as IAnyType).describe()\n )}\\` instead.` +\n (isSnapshotCompatible\n ? \" (Note that a snapshot of the provided value is compatible with the targeted type)\"\n : \"\")\n : `.`)\n )\n}\n\n/**\n * @internal\n * @hidden\n * Pushes a new entry onto the context array (mutates in place for performance).\n * Returns the same context array for chaining.\n */\nexport function getContextForPath(\n context: IValidationContext,\n path: string,\n type: IAnyType\n): IValidationContext {\n context.push({ path, type })\n return context\n}\n\n/**\n * @internal\n * @hidden\n * Pops the last entry from the context array (mutates in place).\n * Must be called after validation to restore context state.\n */\nexport function popContext(context: IValidationContext): void {\n context.pop()\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function typeCheckSuccess(): IValidationResult {\n return EMPTY_ARRAY as any\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function typeCheckFailure(\n context: IValidationContext,\n value: any,\n message?: string\n): IValidationResult {\n // Clone context since it may be mutated after this error is created\n return [{ context: context.slice(), value, message }]\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function flattenTypeErrors(\n errors: IValidationResult[]\n): IValidationResult {\n return errors.flat()\n}\n\n// TODO; doublecheck: typecheck should only needed to be invoked from: type.create and array / map / value.property will change\n/**\n * @internal\n * @hidden\n */\nexport function typecheckInternal<IT extends IAnyType>(\n type: IAnyType,\n value: ExtractCSTWithSTN<IT>\n): void {\n // runs typeChecking if it is in dev-mode or through a process.env.ENABLE_TYPE_CHECK flag\n if (isTypeCheckingEnabled()) {\n typecheck(type, value)\n }\n}\n\n/**\n * Run's the typechecker for the given type on the given value, which can be a snapshot or an instance.\n * Throws if the given value is not according the provided type specification.\n * Use this if you need typechecks even in a production build (by default all automatic runtime type checks will be skipped in production builds)\n *\n * @param type Type to check against.\n * @param value Value to be checked, either a snapshot or an instance.\n */\nexport function typecheck<IT extends IAnyType>(\n type: IT,\n value: ExtractCSTWithSTN<IT>\n): void {\n const errors = type.validate(value, [{ path: \"\", type }])\n\n if (errors.length > 0) {\n throw fail(validationErrorsToString(type, value, errors))\n }\n}\n\nconst MAX_ERRORS_REPORTED = 10\n\nfunction validationErrorsToString<IT extends IAnyType>(\n type: IT,\n value: ExtractCSTWithSTN<IT>,\n errors: IValidationError[]\n): string | undefined {\n if (errors.length === 0) {\n return undefined\n }\n\n const shown = errors.slice(0, MAX_ERRORS_REPORTED).map(toErrorString)\n const overflow = errors.length - shown.length\n if (overflow > 0) {\n shown.push(`(… and ${overflow} more error${overflow === 1 ? \"\" : \"s\"})`)\n }\n\n return (\n `Error while converting ${shortenPrintValue(prettyPrintValue(value))} to \\`${\n type.name\n }\\`:\\n\\n ` + shown.join(\"\\n \")\n )\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/core/type/type.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/core/type/type.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from \"mobx\"\n\nimport {\n BaseNode,\n assertArg,\n fail,\n getStateTreeNode,\n getStateTreeNodeSafe,\n getType,\n isMutable,\n isStateTreeNode,\n normalizeIdentifier,\n typeCheckFailure,\n typeCheckSuccess,\n typecheckInternal\n} from \"../../internal.ts\"\n\n// Cache for validation results to avoid re-validating the same object against the same type\n// Uses WeakMap so cached objects can be garbage collected\nconst validationCache = new WeakMap<\n object,\n WeakMap<BaseType<any, any, any, any>, IValidationResult>\n>()\n\nimport type {\n AnyNode,\n AnyObjectNode,\n IChildNodesMap,\n IJsonPatch,\n IStateTreeNode,\n IValidationContext,\n IValidationResult,\n ModelPrimitive,\n ObjectNode,\n ScalarNode\n} from \"../../internal.ts\"\n\n/**\n * @internal\n * @hidden\n */\nexport enum TypeFlags {\n String = 1,\n Number = 1 << 1,\n Boolean = 1 << 2,\n Date = 1 << 3,\n Literal = 1 << 4,\n Array = 1 << 5,\n Map = 1 << 6,\n Object = 1 << 7,\n Frozen = 1 << 8,\n Optional = 1 << 9,\n Reference = 1 << 10,\n Identifier = 1 << 11,\n Late = 1 << 12,\n Refinement = 1 << 13,\n Union = 1 << 14,\n Null = 1 << 15,\n Undefined = 1 << 16,\n Integer = 1 << 17,\n Custom = 1 << 18,\n SnapshotProcessor = 1 << 19,\n Lazy = 1 << 20,\n Finite = 1 << 21,\n Float = 1 << 22\n}\n\n/**\n * @internal\n * @hidden\n */\nexport const cannotDetermineSubtype = \"cannotDetermine\"\n\n/**\n * A state tree node value.\n * @hidden\n */\nexport type STNValue<T, IT extends IAnyType> = T extends object\n ? T & IStateTreeNode<IT>\n : T\n\n/** @hidden */\nconst $type: unique symbol = Symbol(\"$type\")\n\n/**\n * A type, either complex or simple.\n */\nexport interface IType<C, S, T> {\n // fake, will never be present, just for typing\n /** @hidden */\n readonly [$type]: undefined\n\n /**\n * Friendly type name.\n */\n name: string\n\n /**\n * Name of the identifier attribute or null if none.\n */\n readonly identifierAttribute?: string\n\n /**\n * Creates an instance for the type given an snapshot input.\n *\n * @returns An instance of that type.\n */\n create(snapshot?: C, env?: any): this[\"Type\"]\n\n /**\n * Checks if a given snapshot / instance is of the given type.\n *\n * @param thing Snapshot or instance to be checked.\n * @returns true if the value is of the current type, false otherwise.\n */\n is(thing: any): thing is C | this[\"Type\"]\n\n /**\n * Run's the type's typechecker on the given value with the given validation context.\n *\n * @param thing Value to be checked, either a snapshot or an instance.\n * @param context Validation context, an array of { subpaths, subtypes } that should be validated\n * @returns The validation result, an array with the list of validation errors.\n */\n validate(thing: C, context: IValidationContext): IValidationResult\n\n /**\n * Gets the textual representation of the type as a string.\n */\n describe(): string\n\n /**\n * @deprecated use `Instance<typeof MyType>` instead.\n * @hidden\n */\n readonly Type: STNValue<T, this>\n\n /**\n * @deprecated do not use.\n * @hidden\n */\n readonly TypeWithoutSTN: T\n\n /**\n * @deprecated use `SnapshotOut<typeof MyType>` instead.\n * @hidden\n */\n readonly SnapshotType: S\n\n /**\n * @deprecated use `SnapshotIn<typeof MyType>` instead.\n * @hidden\n */\n readonly CreationType: C\n\n // Internal api's\n\n /**\n * @internal\n * @hidden\n */\n flags: TypeFlags\n /**\n * @internal\n * @hidden\n */\n isType: true\n /**\n * @internal\n * @hidden\n */\n instantiate(\n parent: AnyObjectNode | null,\n subpath: string,\n environment: any,\n initialValue: C | T\n ): BaseNode<C, S, T>\n /**\n * @internal\n * @hidden\n */\n reconcile(\n current: BaseNode<C, S, T>,\n newValue: C | T,\n parent: AnyObjectNode,\n subpath: string\n ): BaseNode<C, S, T>\n /**\n * @internal\n * @hidden\n */\n getSnapshot(node: BaseNode<C, S, T>, applyPostProcess?: boolean): S\n /**\n * @internal\n * @hidden\n */\n isAssignableFrom(type: IAnyType): boolean\n /**\n * @internal\n * @hidden\n */\n getSubTypes(): IAnyType[] | IAnyType | null | typeof cannotDetermineSubtype\n}\n\n/**\n * Any kind of type.\n */\nexport interface IAnyType extends IType<any, any, any> {}\n\n/**\n * A simple type, this is, a type where the instance and the snapshot representation are the same.\n */\nexport interface ISimpleType<T> extends IType<T, T, T> {}\n\n/** @hidden */\nexport type Primitives = ModelPrimitive | null | undefined\n\n/**\n * A complex type.\n * @deprecated just for compatibility with old versions, could be deprecated on the next major version\n * @hidden\n */\nexport interface IComplexType<C, S, T> extends IType<C, S, T & object> {}\n\n/**\n * Any kind of complex type.\n */\nexport interface IAnyComplexType extends IType<any, any, object> {}\n\n/** @hidden */\nexport type ExtractCSTWithoutSTN<\n IT extends {\n [$type]: undefined\n CreationType: any\n SnapshotType: any\n TypeWithoutSTN: any\n }\n> = IT[\"CreationType\"] | IT[\"SnapshotType\"] | IT[\"TypeWithoutSTN\"]\n/** @hidden */\nexport type ExtractCSTWithSTN<\n IT extends {\n [$type]: undefined\n CreationType: any\n SnapshotType: any\n Type: any\n }\n> = IT[\"CreationType\"] | IT[\"SnapshotType\"] | IT[\"Type\"]\n\n/**\n * The instance representation of a given type.\n */\nexport type Instance<T> = T extends { [$type]: undefined; Type: any }\n ? T[\"Type\"]\n : T\n\n/**\n * The input (creation) snapshot representation of a given type.\n */\nexport type SnapshotIn<T> = T extends { [$type]: undefined; CreationType: any }\n ? T[\"CreationType\"]\n : T extends IStateTreeNode<infer IT>\n ? IT[\"CreationType\"]\n : T\n\n/**\n * The output snapshot representation of a given type.\n */\nexport type SnapshotOut<T> = T extends { [$type]: undefined; SnapshotType: any }\n ? T[\"SnapshotType\"]\n : T extends IStateTreeNode<infer IT>\n ? IT[\"SnapshotType\"]\n : T\n\n/**\n * A type which is equivalent to the union of SnapshotIn and Instance types of a given typeof TYPE or typeof VARIABLE.\n * For primitives it defaults to the primitive itself.\n *\n * For example:\n * - `SnapshotOrInstance<typeof ModelA> = SnapshotIn<typeof ModelA> | Instance<typeof ModelA>`\n * - `SnapshotOrInstance<typeof self.a (where self.a is a ModelA)> = SnapshotIn<typeof ModelA> | Instance<typeof ModelA>`\n *\n * Usually you might want to use this when your model has a setter action that sets a property.\n *\n * Example:\n * ```ts\n * const ModelA = types.model({\n * n: types.number\n * })\n *\n * const ModelB = types.model({\n * innerModel: ModelA\n * }).actions(self => ({\n * // this will accept as property both the snapshot and the instance, whichever is preferred\n * setInnerModel(m: SnapshotOrInstance<typeof self.innerModel>) {\n * self.innerModel = cast(m)\n * }\n * }))\n * ```\n */\nexport type SnapshotOrInstance<T> = SnapshotIn<T> | Instance<T>\n\n/**\n * A base type produces a MST node (Node in the state tree)\n *\n * @internal\n * @hidden\n */\nexport abstract class BaseType<\n C,\n S,\n T,\n N extends BaseNode<any, any, any> = BaseNode<C, S, T>\n> implements IType<C, S, T> {\n [$type]!: undefined\n\n // these are just to make inner types avaialable to inherited classes\n readonly C!: C\n readonly S!: S\n readonly T!: T\n readonly N!: N\n\n readonly isType = true\n readonly name: string\n\n constructor(name: string) {\n this.name = name\n }\n\n create(snapshot?: C, environment?: any) {\n typecheckInternal(this, snapshot)\n return this.instantiate(null, \"\", environment, snapshot!).value\n }\n\n getSnapshot(_node: N, _applyPostProcess?: boolean): S {\n // istanbul ignore next\n throw fail(\"unimplemented method\")\n }\n\n abstract reconcile(\n current: N,\n newValue: C | T,\n parent: AnyObjectNode,\n subpath: string\n ): N\n\n abstract instantiate(\n parent: AnyObjectNode | null,\n subpath: string,\n environment: any,\n initialValue: C | T\n ): N\n\n declare abstract flags: TypeFlags\n abstract describe(): string\n\n abstract isValidSnapshot(\n value: C,\n context: IValidationContext\n ): IValidationResult\n\n isAssignableFrom(type: IAnyType): boolean {\n return type === this\n }\n\n validate(value: C | T, context: IValidationContext): IValidationResult {\n const node = getStateTreeNodeSafe(value)\n if (node) {\n const valueType = getType(value)\n return this.isAssignableFrom(valueType)\n ? typeCheckSuccess()\n : typeCheckFailure(context, value)\n // it is tempting to compare snapshots, but in that case we should always clone on assignments...\n }\n\n // check cache for object values (only at root level to avoid context mismatches)\n if (typeof value === \"object\" && value !== null && context.length === 1) {\n const typeCache = validationCache.get(value)\n if (typeCache) {\n const cached = typeCache.get(this)\n if (cached !== undefined) {\n return cached\n }\n }\n }\n\n const result = this.isValidSnapshot(value as C, context)\n\n // cache result for object values (only at root level)\n if (typeof value === \"object\" && value !== null && context.length === 1) {\n let typeCache = validationCache.get(value)\n if (!typeCache) {\n typeCache = new WeakMap()\n validationCache.set(value, typeCache)\n }\n typeCache.set(this, result)\n }\n\n return result\n }\n\n is(thing: any): thing is any {\n return this.validate(thing, [{ path: \"\", type: this }]).length === 0\n }\n\n get Type(): any {\n // istanbul ignore next\n throw fail(\n \"Factory.Type should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.Type`\"\n )\n }\n get TypeWithoutSTN(): any {\n // istanbul ignore next\n throw fail(\n \"Factory.TypeWithoutSTN should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.TypeWithoutSTN`\"\n )\n }\n get SnapshotType(): any {\n // istanbul ignore next\n throw fail(\n \"Factory.SnapshotType should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.SnapshotType`\"\n )\n }\n get CreationType(): any {\n // istanbul ignore next\n throw fail(\n \"Factory.CreationType should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.CreationType`\"\n )\n }\n\n abstract getSubTypes():\n | IAnyType[]\n | IAnyType\n | null\n | typeof cannotDetermineSubtype\n}\nBaseType.prototype.create = action(BaseType.prototype.create)\n\n/**\n * @internal\n * @hidden\n */\nexport type AnyBaseType = BaseType<any, any, any, any>\n\n/**\n * @internal\n * @hidden\n */\nexport type ExtractNodeType<IT extends IAnyType> =\n IT extends BaseType<any, any, any, infer N> ? N : never\n\n/**\n * A complex type produces a MST node (Node in the state tree)\n *\n * @internal\n * @hidden\n */\nexport abstract class ComplexType<C, S, T> extends BaseType<\n C,\n S,\n T,\n ObjectNode<C, S, T>\n> {\n identifierAttribute?: string\n\n constructor(name: string) {\n super(name)\n }\n\n create(snapshot: C = this.getDefaultSnapshot(), environment?: any) {\n return super.create(snapshot, environment)\n }\n\n getValue(node: this[\"N\"]): T {\n node.createObservableInstanceIfNeeded()\n return node.storedValue\n }\n\n abstract getDefaultSnapshot(): C\n\n abstract createNewInstance(childNodes: IChildNodesMap): T\n abstract finalizeNewInstance(node: this[\"N\"], instance: any): void\n\n abstract applySnapshot(node: this[\"N\"], snapshot: C): void\n abstract applyPatchLocally(\n node: this[\"N\"],\n subpath: string,\n patch: IJsonPatch\n ): void\n abstract processInitialSnapshot(childNodes: IChildNodesMap, snapshot: C): S\n\n abstract getChildren(node: this[\"N\"]): ReadonlyArray<AnyNode>\n abstract getChildNode(node: this[\"N\"], key: string): AnyNode\n abstract getChildType(propertyName?: string): IAnyType\n abstract initializeChildNodes(node: this[\"N\"], snapshot: any): IChildNodesMap\n abstract removeChild(node: this[\"N\"], subpath: string): void\n\n isMatchingSnapshotId(current: this[\"N\"], snapshot: C): boolean {\n return (\n !current.identifierAttribute ||\n current.identifier ===\n normalizeIdentifier((snapshot as any)[current.identifierAttribute])\n )\n }\n\n private tryToReconcileNode(current: this[\"N\"], newValue: C | T) {\n if (current.isDetaching) {\n return false\n }\n if ((current.snapshot as any) === newValue) {\n // newValue is the current snapshot of the node, noop\n return true\n }\n if (isStateTreeNode(newValue) && getStateTreeNode(newValue) === current) {\n // the current node is the same as the new one\n return true\n }\n if (\n current.type === this &&\n isMutable(newValue) &&\n !isStateTreeNode(newValue) &&\n this.isMatchingSnapshotId(current, newValue as any)\n ) {\n // the newValue has no node, so can be treated like a snapshot\n // we can reconcile\n current.applySnapshot(newValue as C)\n return true\n }\n return false\n }\n\n reconcile(\n current: this[\"N\"],\n newValue: C | T,\n parent: AnyObjectNode,\n subpath: string\n ): this[\"N\"] {\n const nodeReconciled = this.tryToReconcileNode(current, newValue)\n if (nodeReconciled) {\n current.setParent(parent, subpath)\n return current\n }\n\n // current node cannot be recycled in any way\n current.die() // noop if detaching\n // attempt to reuse the new one\n if (isStateTreeNode(newValue) && this.isAssignableFrom(getType(newValue))) {\n // newValue is a Node as well, move it here..\n const newNode = getStateTreeNode(newValue)\n newNode.setParent(parent, subpath)\n return newNode\n }\n // nothing to do, we have to create a new node\n return this.instantiate(parent, subpath, undefined, newValue)\n }\n\n getSubTypes() {\n return null\n }\n}\nComplexType.prototype.create = action(ComplexType.prototype.create)\n\n/**\n * @internal\n * @hidden\n */\nexport abstract class SimpleType<C, S, T> extends BaseType<\n C,\n S,\n T,\n ScalarNode<C, S, T>\n> {\n abstract instantiate(\n parent: AnyObjectNode | null,\n subpath: string,\n environment: any,\n initialValue: C\n ): this[\"N\"]\n\n createNewInstance(snapshot: C): T {\n return snapshot as any\n }\n\n getValue(node: this[\"N\"]): T {\n // if we ever find a case where scalar nodes can be accessed without iterating through its parent\n // uncomment this to make sure the parent chain is created when this is accessed\n // if (node.parent) {\n // node.parent.createObservableInstanceIfNeeded()\n // }\n return node.storedValue\n }\n\n getSnapshot(node: this[\"N\"]): S {\n return node.storedValue\n }\n\n reconcile(\n current: this[\"N\"],\n newValue: C,\n parent: AnyObjectNode,\n subpath: string\n ): this[\"N\"] {\n // reconcile only if type and value are still the same, and only if the node is not detaching\n if (\n !current.isDetaching &&\n current.type === this &&\n current.storedValue === newValue\n ) {\n return current\n }\n const res = this.instantiate(parent, subpath, undefined, newValue)\n current.die() // noop if detaching\n return res\n }\n\n getSubTypes() {\n return null\n }\n}\n\n/**\n * Returns if a given value represents a type.\n *\n * @param value Value to check.\n * @returns `true` if the value is a type.\n */\nexport function isType(value: any): value is IAnyType {\n return typeof value === \"object\" && value && value.isType === true\n}\n\n/**\n * @internal\n * @hidden\n */\nexport function assertIsType(type: IAnyType, argNumber: number | number[]) {\n assertArg(type, isType, \"mobx-state-tree type\", argNumber)\n}\n"]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AA6EA,6CAgFsB;AA/EpB,0GAAA,WAAW,OAAA;AACX,4GAAA,aAAa,OAAA;AACb,0GAAA,WAAW,OAAA;AACX,yGAAA,UAAU,OAAA;AACV,4GAAA,aAAa,OAAA;AACb,mGAAA,IAAI,OAAA;AACJ,6GAAA,cAAc,OAAA;AACd,sHAAA,uBAAuB,OAAA;AACvB,6GAAA,cAAc,OAAA;AACd,oGAAA,KAAK,OAAA;AACL,8HAAA,+BAA+B,OAAA;AAC/B,6HAAA,8BAA8B,OAAA;AAC9B,uGAAA,QAAQ,OAAA;AACR,sGAAA,OAAO,OAAA;AACP,qGAAA,MAAM,OAAA;AACN,6GAAA,cAAc,OAAA;AACd,mGAAA,IAAI,OAAA;AACJ,2GAAA,YAAY,OAAA;AACZ,qGAAA,MAAM,OAAA;AACN,4GAAA,aAAa,OAAA;AACb,oHAAA,qBAAqB,OAAA;AACrB,yGAAA,UAAU,OAAA;AACV,wGAAA,SAAS,OAAA;AACT,wGAAA,SAAS,OAAA;AACT,8GAAA,eAAe,OAAA;AACf,sGAAA,OAAO,OAAA;AACP,2GAAA,YAAY,OAAA;AACZ,iHAAA,kBAAkB,OAAA;AAClB,8GAAA,eAAe,OAAA;AACf,sGAAA,OAAO,OAAA;AACP,sHAAA,uBAAuB,OAAA;AACvB,0GAAA,WAAW,OAAA;AACX,sGAAA,OAAO,OAAA;AACP,wGAAA,SAAS,OAAA;AACT,8GAAA,eAAe,OAAA;AACf,qHAAA,sBAAsB,OAAA;AACtB,2HAAA,4BAA4B,OAAA;AAC5B,sGAAA,OAAO,OAAA;AACP,0GAAA,WAAW,OAAA;AACX,2GAAA,YAAY,OAAA;AACZ,+GAAA,gBAAgB,OAAA;AAChB,yGAAA,UAAU,OAAA;AACV,4GAAA,aAAa,OAAA;AACb,wGAAA,SAAS,OAAA;AACT,0GAAA,WAAW,OAAA;AACX,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,0GAAA,WAAW,OAAA;AACX,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAChB,qGAAA,MAAM,OAAA;AACN,8GAAA,eAAe,OAAA;AACf,qGAAA,MAAM,OAAA;AACN,0GAAA,WAAW,OAAA;AACX,+GAAA,gBAAgB,OAAA;AAChB,2GAAA,YAAY,OAAA;AACZ,uGAAA,QAAQ,OAAA;AACR,sGAAA,OAAO,OAAA;AACP,yGAAA,UAAU,OAAA;AACV,sGAAA,OAAO,OAAA;AACP,sGAAA,OAAO,OAAA;AACP,4GAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAA;AACb,gHAAA,iBAAiB,OAAA;AACjB,0GAAA,WAAW,OAAA;AACX,oHAAA,qBAAqB,OAAA;AACrB,oHAAA,qBAAqB,OAAA;AACrB,4GAAA,aAAa,OAAA;AACb,0GAAA,WAAW,OAAA;AACX,kHAAA,mBAAmB,OAAA;AACnB,2GAAA,YAAY,OAAA;AACZ,yGAAA,UAAU,OAAA;AACV,wGAAA,SAAS,OAAA;AACT,oGAAA,KAAK,OAAA;AACL,gGAAA,KAAK,OAAK;AACV,+GAAA,gBAAgB,OAAA;AAChB,wGAAA,SAAS,OAAA;AACT,mGAAA,IAAI,OAAA;AACJ,yGAAA,UAAU,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AA6EA,6CAgFsB;AA/EpB,0GAAA,WAAW,OAAA;AACX,4GAAA,aAAa,OAAA;AACb,0GAAA,WAAW,OAAA;AACX,yGAAA,UAAU,OAAA;AACV,4GAAA,aAAa,OAAA;AACb,mGAAA,IAAI,OAAA;AACJ,6GAAA,cAAc,OAAA;AACd,sHAAA,uBAAuB,OAAA;AACvB,6GAAA,cAAc,OAAA;AACd,oGAAA,KAAK,OAAA;AACL,8HAAA,+BAA+B,OAAA;AAC/B,6HAAA,8BAA8B,OAAA;AAC9B,uGAAA,QAAQ,OAAA;AACR,sGAAA,OAAO,OAAA;AACP,qGAAA,MAAM,OAAA;AACN,6GAAA,cAAc,OAAA;AACd,mGAAA,IAAI,OAAA;AACJ,2GAAA,YAAY,OAAA;AACZ,qGAAA,MAAM,OAAA;AACN,4GAAA,aAAa,OAAA;AACb,oHAAA,qBAAqB,OAAA;AACrB,yGAAA,UAAU,OAAA;AACV,wGAAA,SAAS,OAAA;AACT,wGAAA,SAAS,OAAA;AACT,8GAAA,eAAe,OAAA;AACf,sGAAA,OAAO,OAAA;AACP,2GAAA,YAAY,OAAA;AACZ,iHAAA,kBAAkB,OAAA;AAClB,8GAAA,eAAe,OAAA;AACf,sGAAA,OAAO,OAAA;AACP,sHAAA,uBAAuB,OAAA;AACvB,0GAAA,WAAW,OAAA;AACX,sGAAA,OAAO,OAAA;AACP,wGAAA,SAAS,OAAA;AACT,8GAAA,eAAe,OAAA;AACf,qHAAA,sBAAsB,OAAA;AACtB,2HAAA,4BAA4B,OAAA;AAC5B,sGAAA,OAAO,OAAA;AACP,0GAAA,WAAW,OAAA;AACX,2GAAA,YAAY,OAAA;AACZ,+GAAA,gBAAgB,OAAA;AAChB,yGAAA,UAAU,OAAA;AACV,4GAAA,aAAa,OAAA;AACb,wGAAA,SAAS,OAAA;AACT,0GAAA,WAAW,OAAA;AACX,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,0GAAA,WAAW,OAAA;AACX,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAChB,qGAAA,MAAM,OAAA;AACN,8GAAA,eAAe,OAAA;AACf,qGAAA,MAAM,OAAA;AACN,0GAAA,WAAW,OAAA;AACX,+GAAA,gBAAgB,OAAA;AAChB,2GAAA,YAAY,OAAA;AACZ,uGAAA,QAAQ,OAAA;AACR,sGAAA,OAAO,OAAA;AACP,yGAAA,UAAU,OAAA;AACV,sGAAA,OAAO,OAAA;AACP,sGAAA,OAAO,OAAA;AACP,4GAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAA;AACb,gHAAA,iBAAiB,OAAA;AACjB,0GAAA,WAAW,OAAA;AACX,oHAAA,qBAAqB,OAAA;AACrB,oHAAA,qBAAqB,OAAA;AACrB,4GAAA,aAAa,OAAA;AACb,0GAAA,WAAW,OAAA;AACX,kHAAA,mBAAmB,OAAA;AACnB,2GAAA,YAAY,OAAA;AACZ,yGAAA,UAAU,OAAA;AACV,wGAAA,SAAS,OAAA;AACT,oGAAA,KAAK,OAAA;AACL,gGAAA,KAAK,OAAK;AACV,+GAAA,gBAAgB,OAAA;AAChB,wGAAA,SAAS,OAAA;AACT,mGAAA,IAAI,OAAA;AACJ,yGAAA,UAAU,OAAA","sourcesContent":["/* all code is initially loaded through internal, to avoid circular dep issues */\nexport type {\n CustomTypeOptions,\n IActionContext,\n IActionRecorder,\n IActionTrackingMiddleware2Call,\n IActionTrackingMiddleware2Hooks,\n IActionTrackingMiddlewareHooks,\n IAnyComplexType,\n IAnyModelType,\n IAnyStateTreeNode,\n IAnyType,\n IArrayType,\n IComplexType,\n IDisposer,\n IJsonPatch,\n IMSTArray,\n IMSTMap,\n IMapType,\n IMaybe,\n IMaybeIType,\n IMaybeNull,\n IMiddlewareEvent,\n IMiddlewareEventType,\n IMiddlewareHandler,\n IModelReflectionData,\n IModelReflectionPropertiesData,\n IModelType,\n IOptionalIType,\n IPatchRecorder,\n IReferenceType,\n IReversibleJsonPatch,\n ISerializedActionCall,\n ISimpleType,\n ISnapshotProcessor,\n ISnapshotProcessors,\n IStateTreeNode,\n IType,\n ITypeUnion,\n Instance,\n LivelinessMode,\n LivelynessMode,\n ModelActions,\n ModelCreationType2,\n ModelCreationType,\n ModelInstanceType,\n ModelInstanceTypeProps,\n ModelPrimitive,\n ModelProperties,\n ModelPropertiesDeclaration,\n ModelPropertiesDeclarationToProperties,\n ModelSnapshotType2,\n ModelSnapshotType,\n OnReferenceInvalidated,\n OnReferenceInvalidatedEvent,\n OptionalDefaultValueOrFunction,\n ReferenceIdentifier,\n ReferenceOptions,\n ReferenceOptionsGetSet,\n ReferenceOptionsOnInvalidated,\n SnapshotIn,\n SnapshotOrInstance,\n SnapshotOut,\n TypeOfValue,\n TypeOrStateTreeNodeToStateTreeNode,\n UnionOptions,\n UnionStringArray,\n ValidOptionalValue,\n ValidOptionalValues,\n _CustomCSProcessor,\n _CustomJoin,\n _CustomOrOther,\n _NotCustomized,\n NonEmptyObject,\n ExtractCFromProps\n} from \"./internal.ts\"\n\nexport {\n addDisposer,\n addMiddleware,\n applyAction,\n applyPatch,\n applySnapshot,\n cast,\n castFlowReturn,\n castToReferenceSnapshot,\n castToSnapshot,\n clone,\n createActionTrackingMiddleware2,\n createActionTrackingMiddleware,\n decorate,\n destroy,\n detach,\n escapeJsonPath,\n flow,\n getChildType,\n getEnv,\n getIdentifier,\n getLivelinessChecking,\n getMembers,\n getNodeId,\n getParent,\n getParentOfType,\n getPath,\n getPathParts,\n getPropertyMembers,\n getRelativePath,\n getRoot,\n getRunningActionContext,\n getSnapshot,\n getType,\n hasParent,\n hasParentOfType,\n isActionContextChildOf,\n isActionContextThisOrChildOf,\n isAlive,\n isArrayType,\n isFrozenType,\n isIdentifierType,\n isLateType,\n isLiteralType,\n isMapType,\n isModelType,\n isOptionalType,\n isPrimitiveType,\n isProtected,\n isReferenceType,\n isRefinementType,\n isRoot,\n isStateTreeNode,\n isType,\n isUnionType,\n isValidReference,\n joinJsonPath,\n onAction,\n onPatch,\n onSnapshot,\n process,\n protect,\n recordActions,\n recordPatches,\n resolveIdentifier,\n resolvePath,\n setLivelinessChecking,\n setLivelynessChecking,\n splitJsonPath,\n toGenerator,\n toGeneratorFunction,\n tryReference,\n tryResolve,\n typecheck,\n types,\n types as t,\n unescapeJsonPath,\n unprotect,\n walk,\n setDevMode\n} from \"./internal.ts\"\n"]}
|
package/dist/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,oEAAiD;AACjD,sDAAmC;AACnC,2DAAwC;AACxC,0DAAuC;AACvC,6DAA0C;AAC1C,6DAA0C;AAC1C,sDAAmC;AACnC,qFAAkE;AAClE,mFAAgE;AAChE,6DAA0C;AAC1C,mDAAgC;AAChC,0DAAuC;AACvC,8DAA2C;AAC3C,kEAA+C;AAC/C,6DAA0C;AAC1C,4DAAyC;AACzC,oDAAiC;AACjC,iDAA8B;AAC9B,uDAAoC;AACpC,6CAA0B;AAC1B,6EAA0D;AAC1D,+DAA4C;AAC5C,iEAA8C;AAC9C,iEAA8C;AAC9C,wDAAqC;AACrC,mEAAgD;AAChD,sEAAmD;AACnD,uEAAoD;AACpD,iEAA8C;AAC9C,oEAAiD;AACjD,iEAA8C;AAC9C,gEAA6C;AAC7C,gEAA6C;AAC7C,kEAA+C;AAC/C,qEAAkD;AAClD,sEAAmD;AACnD,kEAA+C;AAC/C,qEAAkD;AAClD,mDAAgC"}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,oEAAiD;AACjD,sDAAmC;AACnC,2DAAwC;AACxC,0DAAuC;AACvC,6DAA0C;AAC1C,6DAA0C;AAC1C,sDAAmC;AACnC,qFAAkE;AAClE,mFAAgE;AAChE,6DAA0C;AAC1C,mDAAgC;AAChC,0DAAuC;AACvC,8DAA2C;AAC3C,kEAA+C;AAC/C,6DAA0C;AAC1C,4DAAyC;AACzC,oDAAiC;AACjC,iDAA8B;AAC9B,uDAAoC;AACpC,6CAA0B;AAC1B,6EAA0D;AAC1D,+DAA4C;AAC5C,iEAA8C;AAC9C,iEAA8C;AAC9C,wDAAqC;AACrC,mEAAgD;AAChD,sEAAmD;AACnD,uEAAoD;AACpD,iEAA8C;AAC9C,oEAAiD;AACjD,iEAA8C;AAC9C,gEAA6C;AAC7C,gEAA6C;AAC7C,kEAA+C;AAC/C,qEAAkD;AAClD,sEAAmD;AACnD,kEAA+C;AAC/C,qEAAkD;AAClD,mDAAgC","sourcesContent":["/*\n * All imports / exports should be proxied through this file.\n * Why? It gives us full control over the module load order, preventing circular dependency isses\n */\n\nexport * from \"./core/node/livelinessChecking.ts\"\nexport * from \"./core/node/Hook.ts\"\nexport * from \"./core/mst-operations.ts\"\nexport * from \"./core/node/BaseNode.ts\"\nexport * from \"./core/node/scalar-node.ts\"\nexport * from \"./core/node/object-node.ts\"\nexport * from \"./core/type/type.ts\"\nexport * from \"./middlewares/create-action-tracking-middleware.ts\"\nexport * from \"./middlewares/createActionTrackingMiddleware2.ts\"\nexport * from \"./middlewares/on-action.ts\"\nexport * from \"./core/action.ts\"\nexport * from \"./core/actionContext.ts\"\nexport * from \"./core/type/type-checker.ts\"\nexport * from \"./core/node/identifier-cache.ts\"\nexport * from \"./core/node/create-node.ts\"\nexport * from \"./core/node/node-utils.ts\"\nexport * from \"./core/process.ts\"\nexport * from \"./core/flow.ts\"\nexport * from \"./core/json-patch.ts\"\nexport * from \"./utils.ts\"\nexport * from \"./types/utility-types/snapshotProcessor.ts\"\nexport * from \"./types/complex-types/map.ts\"\nexport * from \"./types/complex-types/array.ts\"\nexport * from \"./types/complex-types/model.ts\"\nexport * from \"./types/primitives.ts\"\nexport * from \"./types/utility-types/literal.ts\"\nexport * from \"./types/utility-types/refinement.ts\"\nexport * from \"./types/utility-types/enumeration.ts\"\nexport * from \"./types/utility-types/union.ts\"\nexport * from \"./types/utility-types/optional.ts\"\nexport * from \"./types/utility-types/maybe.ts\"\nexport * from \"./types/utility-types/late.ts\"\nexport * from \"./types/utility-types/lazy.ts\"\nexport * from \"./types/utility-types/frozen.ts\"\nexport * from \"./types/utility-types/reference.ts\"\nexport * from \"./types/utility-types/identifier.ts\"\nexport * from \"./types/utility-types/custom.ts\"\nexport * from \"./types/utility-types/resilient.ts\"\nexport * from \"./types/index.ts\"\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-action-tracking-middleware.js","sourceRoot":"","sources":["../../src/middlewares/create-action-tracking-middleware.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-action-tracking-middleware.js","sourceRoot":"","sources":["../../src/middlewares/create-action-tracking-middleware.ts"],"names":[],"mappings":"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","sourcesContent":["import { type IMiddlewareEvent, type IMiddlewareHandler } from \"../internal.ts\"\n\nconst runningActions = new Map<\n number,\n { async: boolean; call: IMiddlewareEvent; context: any }\n>()\n\nexport interface IActionTrackingMiddlewareHooks<T> {\n filter?: (call: IMiddlewareEvent) => boolean\n onStart: (call: IMiddlewareEvent) => T\n onResume: (call: IMiddlewareEvent, context: T) => void\n onSuspend: (call: IMiddlewareEvent, context: T) => void\n onSuccess: (call: IMiddlewareEvent, context: T, result: any) => void\n onFail: (call: IMiddlewareEvent, context: T, error: any) => void\n}\n\n/**\n * Note: Consider migrating to `createActionTrackingMiddleware2`, it is easier to use.\n *\n * Convenience utility to create action based middleware that supports async processes more easily.\n * All hooks are called for both synchronous and asynchronous actions. Except that either `onSuccess` or `onFail` is called\n *\n * The create middleware tracks the process of an action (assuming it passes the `filter`).\n * `onResume` can return any value, which will be passed as second argument to any other hook. This makes it possible to keep state during a process.\n *\n * See the `atomic` middleware for an example\n *\n * @param hooks\n * @returns\n */\nexport function createActionTrackingMiddleware<T = any>(\n hooks: IActionTrackingMiddlewareHooks<T>\n): IMiddlewareHandler {\n return function actionTrackingMiddleware(\n call: IMiddlewareEvent,\n next: (actionCall: IMiddlewareEvent) => any,\n _abort: (value: any) => any\n ) {\n switch (call.type) {\n case \"action\": {\n if (!hooks.filter || hooks.filter(call) === true) {\n const context = hooks.onStart(call)\n hooks.onResume(call, context)\n runningActions.set(call.id, {\n call,\n context,\n async: false\n })\n try {\n const res = next(call)\n hooks.onSuspend(call, context)\n if (runningActions.get(call.id)!.async === false) {\n runningActions.delete(call.id)\n hooks.onSuccess(call, context, res)\n }\n return res\n } catch (e) {\n runningActions.delete(call.id)\n hooks.onFail(call, context, e)\n throw e\n }\n } else {\n return next(call)\n }\n }\n case \"flow_spawn\": {\n const root = runningActions.get(call.rootId)!\n root.async = true\n return next(call)\n }\n case \"flow_resume\":\n case \"flow_resume_error\": {\n const root = runningActions.get(call.rootId)!\n hooks.onResume(call, root.context)\n try {\n return next(call)\n } finally {\n hooks.onSuspend(call, root.context)\n }\n }\n case \"flow_throw\": {\n const root = runningActions.get(call.rootId)!\n runningActions.delete(call.rootId)\n hooks.onFail(call, root.context, call.args[0])\n return next(call)\n }\n case \"flow_return\": {\n const root = runningActions.get(call.rootId)!\n runningActions.delete(call.rootId)\n hooks.onSuccess(call, root.context, call.args[0])\n return next(call)\n }\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createActionTrackingMiddleware2.js","sourceRoot":"","sources":["../../src/middlewares/createActionTrackingMiddleware2.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createActionTrackingMiddleware2.js","sourceRoot":"","sources":["../../src/middlewares/createActionTrackingMiddleware2.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type IActionContext,\n type IMiddlewareEvent,\n type IMiddlewareHandler\n} from \"../internal.ts\"\n\nexport interface IActionTrackingMiddleware2Call<\n TEnv\n> extends Readonly<IActionContext> {\n env: TEnv | undefined\n readonly parentCall?: IActionTrackingMiddleware2Call<TEnv>\n}\n\nexport interface IActionTrackingMiddleware2Hooks<TEnv> {\n filter?: (call: IActionTrackingMiddleware2Call<TEnv>) => boolean\n onStart: (call: IActionTrackingMiddleware2Call<TEnv>) => void\n onFinish: (call: IActionTrackingMiddleware2Call<TEnv>, error?: any) => void\n}\n\nclass RunningAction {\n private flowsPending = 0\n private running = true\n\n constructor(\n public readonly hooks: IActionTrackingMiddleware2Hooks<any> | undefined,\n readonly call: IActionTrackingMiddleware2Call<any>\n ) {\n if (hooks) {\n hooks.onStart(call)\n }\n }\n\n finish(error?: any) {\n if (this.running) {\n this.running = false\n if (this.hooks) {\n this.hooks.onFinish(this.call, error)\n }\n }\n }\n\n incFlowsPending() {\n this.flowsPending++\n }\n\n decFlowsPending() {\n this.flowsPending--\n }\n\n get hasFlowsPending() {\n return this.flowsPending > 0\n }\n}\n\n/**\n * Convenience utility to create action based middleware that supports async processes more easily.\n * The flow is like this:\n * - for each action: if filter passes -> `onStart` -> (inner actions recursively) -> `onFinish`\n *\n * Example: if we had an action `a` that called inside an action `b1`, then `b2` the flow would be:\n * - `filter(a)`\n * - `onStart(a)`\n * - `filter(b1)`\n * - `onStart(b1)`\n * - `onFinish(b1)`\n * - `filter(b2)`\n * - `onStart(b2)`\n * - `onFinish(b2)`\n * - `onFinish(a)`\n *\n * The flow is the same no matter if the actions are sync or async.\n *\n * See the `atomic` middleware for an example\n *\n * @param hooks\n * @returns\n */\nexport function createActionTrackingMiddleware2<TEnv = any>(\n middlewareHooks: IActionTrackingMiddleware2Hooks<TEnv>\n): IMiddlewareHandler {\n const runningActions = new Map<number, RunningAction>()\n\n return function actionTrackingMiddleware(\n call: IMiddlewareEvent,\n next: (actionCall: IMiddlewareEvent) => any\n ) {\n // find parentRunningAction\n const parentRunningAction = call.parentActionEvent\n ? runningActions.get(call.parentActionEvent.id)\n : undefined\n\n if (call.type === \"action\") {\n const newCall: IActionTrackingMiddleware2Call<TEnv> = {\n ...call,\n // make a shallow copy of the parent action env\n env: parentRunningAction && parentRunningAction.call.env,\n parentCall: parentRunningAction && parentRunningAction.call\n }\n\n const passesFilter =\n !middlewareHooks.filter || middlewareHooks.filter(newCall)\n const hooks = passesFilter ? middlewareHooks : undefined\n\n const runningAction = new RunningAction(hooks, newCall)\n runningActions.set(call.id, runningAction)\n\n let res\n try {\n res = next(call)\n } catch (e) {\n runningActions.delete(call.id)\n runningAction.finish(e)\n throw e\n }\n // sync action finished\n if (!runningAction.hasFlowsPending) {\n runningActions.delete(call.id)\n runningAction.finish()\n }\n return res\n } else {\n if (!parentRunningAction) {\n return next(call)\n }\n\n switch (call.type) {\n case \"flow_spawn\": {\n parentRunningAction.incFlowsPending()\n return next(call)\n }\n case \"flow_resume\":\n case \"flow_resume_error\": {\n return next(call)\n }\n case \"flow_throw\": {\n const error = call.args[0]\n try {\n return next(call)\n } finally {\n parentRunningAction.decFlowsPending()\n if (!parentRunningAction.hasFlowsPending) {\n runningActions.delete(call.parentActionEvent!.id)\n parentRunningAction.finish(error)\n }\n }\n }\n case \"flow_return\": {\n try {\n return next(call)\n } finally {\n parentRunningAction.decFlowsPending()\n if (!parentRunningAction.hasFlowsPending) {\n runningActions.delete(call.parentActionEvent!.id)\n parentRunningAction.finish()\n }\n }\n }\n }\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-action.js","sourceRoot":"","sources":["../../src/middlewares/on-action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"on-action.js","sourceRoot":"","sources":["../../src/middlewares/on-action.ts"],"names":[],"mappings":"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","sourcesContent":["import { runInAction } from \"mobx\"\n\nimport {\n type AnyNode,\n type IActionContext,\n type IAnyStateTreeNode,\n type IDisposer,\n addMiddleware,\n applyPatch,\n applySnapshot,\n asArray,\n assertArg,\n assertIsStateTreeNode,\n devMode,\n fail,\n getRelativePathBetweenNodes,\n getRunningActionContext,\n getStateTreeNode,\n getType,\n isArray,\n isPlainObject,\n isPrimitive,\n isProtected,\n isRoot,\n isStateTreeNode,\n tryResolve,\n warnError\n} from \"../internal.ts\"\n\nexport interface ISerializedActionCall {\n name: string\n path?: string\n args?: any[]\n}\n\nexport interface IActionRecorder {\n actions: ReadonlyArray<ISerializedActionCall>\n readonly recording: boolean\n stop(): void\n resume(): void\n replay(target: IAnyStateTreeNode): void\n}\n\nfunction serializeArgument(\n node: AnyNode,\n actionName: string,\n index: number,\n arg: any\n): any {\n if (arg instanceof Date) {\n return { $MST_DATE: arg.getTime() }\n }\n if (isPrimitive(arg)) {\n return arg\n }\n // We should not serialize MST nodes, even if we can, because we don't know if the receiving party can handle a raw snapshot instead of an\n // MST type instance. So if one wants to serialize a MST node that was pass in, either explitly pass: 1: an id, 2: a (relative) path, 3: a snapshot\n if (isStateTreeNode(arg)) {\n return serializeTheUnserializable(`[MSTNode: ${getType(arg).name}]`)\n }\n if (typeof arg === \"function\") {\n return serializeTheUnserializable(`[function]`)\n }\n if (typeof arg === \"object\" && !isPlainObject(arg) && !isArray(arg)) {\n return serializeTheUnserializable(\n `[object ${\n (arg && (arg as any).constructor && (arg as any).constructor.name) ||\n \"Complex Object\"\n }]`\n )\n }\n try {\n // Check if serializable, cycle free etc...\n // MWE: there must be a better way....\n JSON.stringify(arg) // or throws\n return arg\n } catch (e) {\n return serializeTheUnserializable(\"\" + e)\n }\n}\n\nfunction deserializeArgument(adm: AnyNode, value: any): any {\n if (value && typeof value === \"object\" && \"$MST_DATE\" in value) {\n return new Date(value[\"$MST_DATE\"])\n }\n return value\n}\n\nfunction serializeTheUnserializable(baseType: string) {\n return {\n $MST_UNSERIALIZABLE: true,\n type: baseType\n }\n}\n\n/**\n * Applies an action or a series of actions in a single MobX transaction.\n * Does not return any value\n * Takes an action description as produced by the `onAction` middleware.\n *\n * @param target\n * @param actions\n */\nexport function applyAction(\n target: IAnyStateTreeNode,\n actions: ISerializedActionCall | ISerializedActionCall[]\n): void {\n // check all arguments\n assertIsStateTreeNode(target, 1)\n assertArg(actions, a => typeof a === \"object\", \"object or array\", 2)\n\n runInAction(() => {\n asArray(actions).forEach(action => baseApplyAction(target, action))\n })\n}\n\nfunction baseApplyAction(\n target: IAnyStateTreeNode,\n action: ISerializedActionCall\n): any {\n const resolvedTarget = tryResolve(target, action.path || \"\")\n if (!resolvedTarget) {\n throw fail(`Invalid action path: ${action.path || \"\"}`)\n }\n const node = getStateTreeNode(resolvedTarget)\n\n // Reserved functions\n if (action.name === \"@APPLY_PATCHES\") {\n return applyPatch.call(null, resolvedTarget, action.args![0])\n }\n if (action.name === \"@APPLY_SNAPSHOT\") {\n return applySnapshot.call(null, resolvedTarget, action.args![0])\n }\n\n if (!(typeof resolvedTarget[action.name] === \"function\")) {\n throw fail(`Action '${action.name}' does not exist in '${node.path}'`)\n }\n return resolvedTarget[action.name](\n ...(action.args ? action.args.map(v => deserializeArgument(node, v)) : [])\n )\n}\n\n/**\n * Small abstraction around `onAction` and `applyAction`, attaches an action listener to a tree and records all the actions emitted.\n * Returns an recorder object with the following signature:\n *\n * Example:\n * ```ts\n * export interface IActionRecorder {\n * // the recorded actions\n * actions: ISerializedActionCall[]\n * // true if currently recording\n * recording: boolean\n * // stop recording actions\n * stop(): void\n * // resume recording actions\n * resume(): void\n * // apply all the recorded actions on the given object\n * replay(target: IAnyStateTreeNode): void\n * }\n * ```\n *\n * The optional filter function allows to skip recording certain actions.\n *\n * @param subject\n * @returns\n */\nexport function recordActions(\n subject: IAnyStateTreeNode,\n filter?: (\n action: ISerializedActionCall,\n actionContext: IActionContext | undefined\n ) => boolean\n): IActionRecorder {\n // check all arguments\n assertIsStateTreeNode(subject, 1)\n\n const actions: ISerializedActionCall[] = []\n const listener = (call: ISerializedActionCall) => {\n const recordThis = filter ? filter(call, getRunningActionContext()) : true\n if (recordThis) {\n actions.push(call)\n }\n }\n\n let disposer: IDisposer | undefined\n const recorder: IActionRecorder = {\n actions,\n get recording() {\n return !!disposer\n },\n stop() {\n if (disposer) {\n disposer()\n disposer = undefined\n }\n },\n resume() {\n if (disposer) {\n return\n }\n disposer = onAction(subject, listener)\n },\n replay(target) {\n applyAction(target, actions)\n }\n }\n\n recorder.resume()\n return recorder\n}\n\n/**\n * Registers a function that will be invoked for each action that is called on the provided model instance, or to any of its children.\n * See [actions](https://github.com/mobxjs/mobx-state-tree#actions) for more details. onAction events are emitted only for the outermost called action in the stack.\n * Action can also be intercepted by middleware using addMiddleware to change the function call before it will be run.\n *\n * Not all action arguments might be serializable. For unserializable arguments, a struct like `{ $MST_UNSERIALIZABLE: true, type: \"someType\" }` will be generated.\n * MST Nodes are considered non-serializable as well (they could be serialized as there snapshot, but it is uncertain whether an replaying party will be able to handle such a non-instantiated snapshot).\n * Rather, when using `onAction` middleware, one should consider in passing arguments which are 1: an id, 2: a (relative) path, or 3: a snapshot. Instead of a real MST node.\n *\n * Example:\n * ```ts\n * const Todo = types.model({\n * task: types.string\n * })\n *\n * const TodoStore = types.model({\n * todos: types.array(Todo)\n * }).actions(self => ({\n * add(todo) {\n * self.todos.push(todo);\n * }\n * }))\n *\n * const s = TodoStore.create({ todos: [] })\n *\n * let disposer = onAction(s, (call) => {\n * console.log(call);\n * })\n *\n * s.add({ task: \"Grab a coffee\" })\n * // Logs: { name: \"add\", path: \"\", args: [{ task: \"Grab a coffee\" }] }\n * ```\n *\n * @param target\n * @param listener\n * @param attachAfter (default false) fires the listener *after* the action has executed instead of before.\n * @returns\n */\nexport function onAction(\n target: IAnyStateTreeNode,\n listener: (call: ISerializedActionCall) => void,\n attachAfter = false\n): IDisposer {\n // check all arguments\n assertIsStateTreeNode(target, 1)\n if (devMode()) {\n if (!isRoot(target)) {\n warnError(\n \"Warning: Attaching onAction listeners to non root nodes is dangerous: No events will be emitted for actions initiated higher up in the tree.\"\n )\n }\n if (!isProtected(target)) {\n warnError(\n \"Warning: Attaching onAction listeners to non protected nodes is dangerous: No events will be emitted for direct modifications without action.\"\n )\n }\n }\n\n return addMiddleware(target, function handler(rawCall, next) {\n if (rawCall.type === \"action\" && rawCall.id === rawCall.rootId) {\n const sourceNode = getStateTreeNode(rawCall.context)\n const info = {\n name: rawCall.name,\n path: getRelativePathBetweenNodes(getStateTreeNode(target), sourceNode),\n args: rawCall.args.map((arg: any, index: number) =>\n serializeArgument(sourceNode, rawCall.name, index, arg)\n )\n }\n if (attachAfter) {\n const res = next(rawCall)\n listener(info)\n return res\n } else {\n listener(info)\n return next(rawCall)\n }\n } else {\n return next(rawCall)\n }\n })\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "commonjs"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type IArrayDidChange, type IArraySplice, type IArrayWillChange, type IArrayWillSplice, type IObservableArray } from "mobx";
|
|
2
|
-
import {
|
|
2
|
+
import { ComplexType } from "../../core/type/type.ts";
|
|
3
|
+
import { type AnyNode, type AnyObjectNode, type ExtractCSTWithSTN, type IAnyType, type IChildNodesMap, type IHooksGetter, type IJsonPatch, type IType, type IValidationContext, type IValidationResult, TypeFlags } from "../../internal.ts";
|
|
3
4
|
/** @hidden */
|
|
4
5
|
export interface IMSTArray<IT extends IAnyType> extends IObservableArray<IT["Type"]> {
|
|
5
6
|
push(...items: IT["Type"][]): number;
|
|
@@ -4,12 +4,13 @@ exports.ArrayType = void 0;
|
|
|
4
4
|
exports.array = array;
|
|
5
5
|
exports.isArrayType = isArrayType;
|
|
6
6
|
const mobx_1 = require("mobx");
|
|
7
|
+
const type_ts_1 = require("../../core/type/type.js");
|
|
7
8
|
const internal_ts_1 = require("../../internal.js");
|
|
8
9
|
/**
|
|
9
10
|
* @internal
|
|
10
11
|
* @hidden
|
|
11
12
|
*/
|
|
12
|
-
class ArrayType extends
|
|
13
|
+
class ArrayType extends type_ts_1.ComplexType {
|
|
13
14
|
_subType;
|
|
14
15
|
flags = internal_ts_1.TypeFlags.Array;
|
|
15
16
|
hookInitializers = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../src/types/complex-types/array.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../src/types/complex-types/array.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type IArrayDidChange,\n type IArraySplice,\n type IArrayWillChange,\n type IArrayWillSplice,\n type IObservableArray,\n _getAdministration,\n action,\n intercept,\n observable,\n observe\n} from \"mobx\"\n\nimport { ComplexType } from \"../../core/type/type.ts\"\nimport {\n type AnyNode,\n type AnyObjectNode,\n EMPTY_ARRAY,\n EMPTY_OBJECT,\n type ExtractCSTWithSTN,\n type IAnyStateTreeNode,\n type IAnyType,\n type IChildNodesMap,\n type IHooksGetter,\n type IJsonPatch,\n type IStateTreeNode,\n type IType,\n type IValidationContext,\n type IValidationResult,\n ObjectNode,\n TypeFlags,\n addHiddenFinalProp,\n addHiddenWritableProp,\n assertIsType,\n convertChildNodesToArray,\n createActionInvoker,\n createObjectNode,\n devMode,\n fail,\n getContextForPath,\n getStateTreeNode,\n isArray,\n isNode,\n isPlainObject,\n isStateTreeNode,\n isType,\n mobxShallow,\n popContext,\n typeCheckFailure,\n typeCheckSuccess,\n typecheckInternal\n} from \"../../internal.ts\"\n\n/** @hidden */\nexport interface IMSTArray<IT extends IAnyType> extends IObservableArray<\n IT[\"Type\"]\n> {\n // needs to be split or else it will complain about not being compatible with the array interface\n push(...items: IT[\"Type\"][]): number\n push(...items: ExtractCSTWithSTN<IT>[]): number\n\n concat(...items: ConcatArray<IT[\"Type\"]>[]): IT[\"Type\"][]\n concat(...items: ConcatArray<ExtractCSTWithSTN<IT>>[]): IT[\"Type\"][]\n\n concat(...items: (IT[\"Type\"] | ConcatArray<IT[\"Type\"]>)[]): IT[\"Type\"][]\n concat(\n ...items: (ExtractCSTWithSTN<IT> | ConcatArray<ExtractCSTWithSTN<IT>>)[]\n ): IT[\"Type\"][]\n\n splice(start: number, deleteCount?: number): IT[\"Type\"][]\n splice(\n start: number,\n deleteCount: number,\n ...items: IT[\"Type\"][]\n ): IT[\"Type\"][]\n splice(\n start: number,\n deleteCount: number,\n ...items: ExtractCSTWithSTN<IT>[]\n ): IT[\"Type\"][]\n\n unshift(...items: IT[\"Type\"][]): number\n unshift(...items: ExtractCSTWithSTN<IT>[]): number\n}\n\n/** @hidden */\nexport interface IArrayType<IT extends IAnyType> extends IType<\n readonly IT[\"CreationType\"][] | undefined,\n IT[\"SnapshotType\"][],\n IMSTArray<IT>\n> {\n hooks(hooks: IHooksGetter<IMSTArray<IAnyType>>): IArrayType<IT>\n}\n\n/**\n * @internal\n * @hidden\n */\nexport class ArrayType<IT extends IAnyType> extends ComplexType<\n readonly IT[\"CreationType\"][] | undefined,\n IT[\"SnapshotType\"][],\n IMSTArray<IT>\n> {\n readonly flags = TypeFlags.Array\n private readonly hookInitializers: Array<IHooksGetter<IMSTArray<IT>>> = []\n constructor(\n name: string,\n private readonly _subType: IT,\n hookInitializers: Array<IHooksGetter<IMSTArray<IT>>> = []\n ) {\n super(name)\n this.hookInitializers = hookInitializers\n }\n\n hooks(hooks: IHooksGetter<IMSTArray<IT>>) {\n const hookInitializers =\n this.hookInitializers.length > 0\n ? this.hookInitializers.concat(hooks)\n : [hooks]\n return new ArrayType(this.name, this._subType, hookInitializers)\n }\n\n instantiate(\n parent: AnyObjectNode | null,\n subpath: string,\n environment: any,\n initialValue: this[\"C\"] | this[\"T\"]\n ): this[\"N\"] {\n return createObjectNode(this, parent, subpath, environment, initialValue)\n }\n\n initializeChildNodes(\n objNode: this[\"N\"],\n snapshot: this[\"C\"] = []\n ): IChildNodesMap {\n const subType = (objNode.type as this)._subType\n const result: IChildNodesMap = {}\n snapshot.forEach((item, index) => {\n const subpath = \"\" + index\n result[subpath] = subType.instantiate(objNode, subpath, undefined, item)\n })\n return result\n }\n\n createNewInstance(childNodes: IChildNodesMap): this[\"T\"] {\n const options = { ...mobxShallow, name: this.name }\n return observable.array(\n convertChildNodesToArray(childNodes),\n options\n ) as this[\"T\"]\n }\n\n finalizeNewInstance(node: this[\"N\"], instance: this[\"T\"]): void {\n _getAdministration(instance).dehancer = node.unbox\n\n const type = node.type as this\n type.hookInitializers.forEach(initializer => {\n const hooks = initializer(instance)\n Object.keys(hooks).forEach(name => {\n const hook = hooks[name as keyof typeof hooks]!\n const actionInvoker = createActionInvoker(\n instance as IAnyStateTreeNode,\n name,\n hook\n )\n ;(!devMode() ? addHiddenFinalProp : addHiddenWritableProp)(\n instance,\n name,\n actionInvoker\n )\n })\n })\n\n intercept(instance as IObservableArray<AnyNode>, this.willChange)\n observe(instance as IObservableArray<AnyNode>, this.didChange)\n }\n\n describe() {\n return this.name\n }\n\n getChildren(node: this[\"N\"]): AnyNode[] {\n return node.storedValue.slice()\n }\n\n getChildNode(node: this[\"N\"], key: string): AnyNode {\n const index = Number(key)\n if (index < node.storedValue.length) {\n return node.storedValue[index]\n }\n throw fail(\"Not a child: \" + key)\n }\n\n willChange(\n change: IArrayWillChange<AnyNode> | IArrayWillSplice<AnyNode>\n ): IArrayWillChange<AnyNode> | IArrayWillSplice<AnyNode> | null {\n const node = getStateTreeNode(change.object as IStateTreeNode<this>)\n node.assertWritable({ subpath: \"\" + change.index })\n const subType = (node.type as this)._subType\n const childNodes = node.getChildren()\n\n switch (change.type) {\n case \"update\":\n {\n if (change.newValue === change.object[change.index]) {\n return null\n }\n\n const updatedNodes = reconcileArrayChildren(\n node,\n subType,\n [childNodes[change.index]],\n [change.newValue],\n [change.index]\n )\n if (!updatedNodes) {\n return null\n }\n change.newValue = updatedNodes[0]\n }\n break\n case \"splice\":\n {\n const { index, removedCount, added } = change\n\n const addedNodes = reconcileArrayChildren(\n node,\n subType,\n childNodes.slice(index, index + removedCount),\n added,\n added.map((_, i) => index + i)\n )\n if (!addedNodes) {\n return null\n }\n change.added = addedNodes\n\n // update paths of remaining items\n for (let i = index + removedCount; i < childNodes.length; i++) {\n childNodes[i].setParent(\n node,\n \"\" + (i + added.length - removedCount)\n )\n }\n }\n break\n }\n return change\n }\n\n getSnapshot(node: this[\"N\"]): this[\"S\"] {\n return node.getChildren().map(childNode => childNode.snapshot)\n }\n\n processInitialSnapshot(childNodes: IChildNodesMap): this[\"S\"] {\n const processed: this[\"S\"] = []\n Object.keys(childNodes).forEach(key => {\n processed.push(childNodes[key].getSnapshot())\n })\n return processed\n }\n\n didChange(change: IArrayDidChange<AnyNode> | IArraySplice<AnyNode>): void {\n const node = getStateTreeNode(change.object as IAnyStateTreeNode)\n switch (change.type) {\n case \"update\":\n return void node.emitPatch(\n {\n op: \"replace\",\n path: \"\" + change.index,\n value: change.newValue.snapshot,\n oldValue: change.oldValue ? change.oldValue.snapshot : undefined\n },\n node\n )\n case \"splice\":\n for (let i = change.removedCount - 1; i >= 0; i--) {\n node.emitPatch(\n {\n op: \"remove\",\n path: \"\" + (change.index + i),\n oldValue: change.removed[i].snapshot\n },\n node\n )\n }\n for (let i = 0; i < change.addedCount; i++) {\n node.emitPatch(\n {\n op: \"add\",\n path: \"\" + (change.index + i),\n value: node.getChildNode(\"\" + (change.index + i)).snapshot,\n oldValue: undefined\n },\n node\n )\n }\n return\n }\n }\n\n applyPatchLocally(node: this[\"N\"], subpath: string, patch: IJsonPatch): void {\n const target = node.storedValue\n const index = subpath === \"-\" ? target.length : Number(subpath)\n switch (patch.op) {\n case \"replace\":\n target[index] = patch.value\n break\n case \"add\":\n target.splice(index, 0, patch.value)\n break\n case \"remove\":\n target.splice(index, 1)\n break\n }\n }\n\n applySnapshot(node: this[\"N\"], snapshot: this[\"C\"]): void {\n typecheckInternal(this, snapshot)\n const target = node.storedValue\n target.replace(snapshot as any)\n }\n\n getChildType(): IAnyType {\n return this._subType\n }\n\n isValidSnapshot(\n value: this[\"C\"],\n context: IValidationContext\n ): IValidationResult {\n if (!isArray(value)) {\n return typeCheckFailure(context, value, \"Value is not an array\")\n }\n\n for (let i = 0; i < value.length; i++) {\n getContextForPath(context, \"\" + i, this._subType)\n const errors = this._subType.validate(value[i], context)\n popContext(context)\n if (errors.length > 0) {\n return errors\n }\n }\n return typeCheckSuccess()\n }\n\n getDefaultSnapshot(): this[\"C\"] {\n return EMPTY_ARRAY as this[\"C\"]\n }\n\n removeChild(node: this[\"N\"], subpath: string) {\n node.storedValue.splice(Number(subpath), 1)\n }\n}\nArrayType.prototype.applySnapshot = action(ArrayType.prototype.applySnapshot)\n\n/**\n * `types.array` - Creates an index based collection type who's children are all of a uniform declared type.\n *\n * This type will always produce [observable arrays](https://mobx.js.org/api.html#observablearray)\n *\n * Example:\n * ```ts\n * const Todo = types.model({\n * task: types.string\n * })\n *\n * const TodoStore = types.model({\n * todos: types.array(Todo)\n * })\n *\n * const s = TodoStore.create({ todos: [] })\n * unprotect(s) // needed to allow modifying outside of an action\n * s.todos.push({ task: \"Grab coffee\" })\n * console.log(s.todos[0]) // prints: \"Grab coffee\"\n * ```\n *\n * @param subtype\n * @returns\n */\nexport function array<IT extends IAnyType>(subtype: IT): IArrayType<IT> {\n assertIsType(subtype, 1)\n return new ArrayType<IT>(`${subtype.name}[]`, subtype)\n}\n\nfunction reconcileArrayChildren<TT>(\n parent: AnyObjectNode,\n childType: IType<any, any, TT>,\n oldNodes: AnyNode[],\n newValues: TT[],\n newPaths: (string | number)[]\n): AnyNode[] | null {\n let nothingChanged = true\n\n for (let i = 0; ; i++) {\n const hasNewNode = i <= newValues.length - 1\n const oldNode = oldNodes[i]\n let newValue = hasNewNode ? newValues[i] : undefined\n const newPath = \"\" + newPaths[i]\n\n // for some reason, instead of newValue we got a node, fallback to the storedValue\n // TODO: https://github.com/mobxjs/mobx-state-tree/issues/340#issuecomment-325581681\n if (isNode(newValue)) {\n newValue = newValue.storedValue\n }\n\n if (!oldNode && !hasNewNode) {\n // both are empty, end\n break\n } else if (!hasNewNode) {\n // new one does not exists\n nothingChanged = false\n oldNodes.splice(i, 1)\n if (oldNode instanceof ObjectNode) {\n // since it is going to be returned by pop/splice/shift better create it before killing it\n // so it doesn't end up in an undead state\n oldNode.createObservableInstanceIfNeeded()\n }\n oldNode.die()\n i--\n } else if (!oldNode) {\n // there is no old node, create it\n // check if already belongs to the same parent. if so, avoid pushing item in. only swapping can occur.\n if (\n isStateTreeNode(newValue) &&\n getStateTreeNode(newValue).parent === parent\n ) {\n // this node is owned by this parent, but not in the reconcilable set, so it must be double\n throw fail(\n `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 '${\n parent.path\n }/${newPath}', but it lives already at '${getStateTreeNode(newValue).path}'`\n )\n }\n nothingChanged = false\n const newNode = valueAsNode(childType, parent, newPath, newValue)\n oldNodes.splice(i, 0, newNode)\n } else if (areSame(oldNode, newValue)) {\n // both are the same, reconcile\n oldNodes[i] = valueAsNode(childType, parent, newPath, newValue, oldNode)\n } else {\n // nothing to do, try to reorder\n let oldMatch = undefined\n\n // find a possible candidate to reuse\n for (let j = i; j < oldNodes.length; j++) {\n if (areSame(oldNodes[j], newValue)) {\n oldMatch = oldNodes.splice(j, 1)[0]\n break\n }\n }\n\n nothingChanged = false\n const newNode = valueAsNode(\n childType,\n parent,\n newPath,\n newValue,\n oldMatch\n )\n oldNodes.splice(i, 0, newNode)\n }\n }\n\n return nothingChanged ? null : oldNodes\n}\n\n/**\n * Convert a value to a node at given parent and subpath. Attempts to reuse old node if possible and given.\n */\nfunction valueAsNode(\n childType: IAnyType,\n parent: AnyObjectNode,\n subpath: string,\n newValue: any,\n oldNode?: AnyNode\n) {\n // ensure the value is valid-ish\n typecheckInternal(childType, newValue)\n\n function getNewNode() {\n // the new value has a MST node\n if (isStateTreeNode(newValue)) {\n const childNode = getStateTreeNode(newValue)\n childNode.assertAlive(EMPTY_OBJECT)\n\n // the node lives here\n if (childNode.parent !== null && childNode.parent === parent) {\n childNode.setParent(parent, subpath)\n return childNode\n }\n }\n // there is old node and new one is a value/snapshot\n if (oldNode) {\n return childType.reconcile(oldNode, newValue, parent, subpath)\n }\n\n // nothing to do, create from scratch\n return childType.instantiate(parent, subpath, undefined, newValue)\n }\n\n const newNode = getNewNode()\n if (oldNode && oldNode !== newNode) {\n if (oldNode instanceof ObjectNode) {\n // since it is going to be returned by pop/splice/shift better create it before killing it\n // so it doesn't end up in an undead state\n oldNode.createObservableInstanceIfNeeded()\n }\n oldNode.die()\n }\n return newNode\n}\n\n/**\n * Check if a node holds a value.\n */\nfunction areSame(oldNode: AnyNode, newValue: any) {\n // never consider dead old nodes for reconciliation\n if (!oldNode.isAlive) {\n return false\n }\n\n // the new value has the same node\n if (isStateTreeNode(newValue)) {\n const newNode = getStateTreeNode(newValue)\n return newNode.isAlive && newNode === oldNode\n }\n\n // the provided value is the snapshot of the old node\n if (oldNode.snapshot === newValue) {\n return true\n }\n\n // Non object nodes don't get reconciled\n if (!(oldNode instanceof ObjectNode)) {\n return false\n }\n\n const oldNodeType = oldNode.getReconciliationType()\n // new value is a snapshot with the correct identifier\n return (\n oldNode.identifier !== null &&\n oldNode.identifierAttribute &&\n isPlainObject(newValue) &&\n oldNodeType.is(newValue) &&\n (oldNodeType as any).isMatchingSnapshotId(oldNode, newValue)\n )\n}\n\n/**\n * Returns if a given value represents an array type.\n *\n * @param type\n * @returns `true` if the type is an array type.\n */\nexport function isArrayType<Items extends IAnyType = IAnyType>(\n type: IAnyType\n): type is IArrayType<Items> {\n return isType(type) && (type.flags & TypeFlags.Array) > 0\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type IInterceptor, type IKeyValueMap, type IMapDidChange, type IMapWillChange, type Lambda, ObservableMap } from "mobx";
|
|
2
|
-
import {
|
|
2
|
+
import { ComplexType } from "../../core/type/type.ts";
|
|
3
|
+
import { type AnyNode, type AnyObjectNode, type ExtractCSTWithSTN, type IAnyType, type IChildNodesMap, type IHooksGetter, type IJsonPatch, type IType, type IValidationContext, type IValidationResult, TypeFlags } from "../../internal.ts";
|
|
3
4
|
/** @hidden */
|
|
4
5
|
export interface IMapType<IT extends IAnyType> extends IType<IKeyValueMap<IT["CreationType"]> | undefined, IKeyValueMap<IT["SnapshotType"]>, IMSTMap<IT>> {
|
|
5
6
|
hooks(hooks: IHooksGetter<IMSTMap<IT>>): IMapType<IT>;
|
|
@@ -4,6 +4,7 @@ exports.MapType = exports.MapIdentifierMode = void 0;
|
|
|
4
4
|
exports.map = map;
|
|
5
5
|
exports.isMapType = isMapType;
|
|
6
6
|
const mobx_1 = require("mobx");
|
|
7
|
+
const type_ts_1 = require("../../core/type/type.js");
|
|
7
8
|
const internal_ts_1 = require("../../internal.js");
|
|
8
9
|
const needsIdentifierError = `Map.put can only be used to store complex values that have an identifier type attribute`;
|
|
9
10
|
function tryCollectModelTypes(type, modelTypes) {
|
|
@@ -95,7 +96,7 @@ class MSTMap extends mobx_1.ObservableMap {
|
|
|
95
96
|
* @internal
|
|
96
97
|
* @hidden
|
|
97
98
|
*/
|
|
98
|
-
class MapType extends
|
|
99
|
+
class MapType extends type_ts_1.ComplexType {
|
|
99
100
|
_subType;
|
|
100
101
|
identifierMode = MapIdentifierMode.UNKNOWN;
|
|
101
102
|
mapIdentifierAttribute = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/types/complex-types/map.ts"],"names":[],"mappings":";;;AAsjBA,kBAEC;AAQD,8BAIC;AApkBD,+BAca;AAEb,mDAwC0B;AA6D1B,MAAM,oBAAoB,GAAG,yFAAyF,CAAA;AAEtH,SAAS,oBAAoB,CAC3B,IAAc,EACd,UAAgC;IAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IACnC,IAAI,QAAQ,KAAK,oCAAsB,EAAE,CAAC;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,aAAa,GAAG,IAAA,qBAAO,EAAC,QAAQ,CAAC,CAAA;QACvC,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,IAAI,YAAY,uBAAS,EAAE,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,+DAAO,CAAA;IACP,uDAAG,CAAA;IACH,qDAAE,CAAA;AACJ,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAED,MAAM,MAA4B,SAAQ,oBAA0B;IAClE,YACE,WAAkE,EAClE,IAAa;QAEb,KAAK,CAAC,WAAW,EAAG,iBAAU,CAAC,GAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,GAAG,CAAC,GAAW;QACb,sEAAsE;QACtE,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAA4B;QAC3C,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,CAAC,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,KAA4B;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAA,kBAAI,EAAC,4CAA4C,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,IAAA,6BAAe,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAA,8BAAgB,EAAC,KAAK,CAAC,CAAA;YACpC,IAAI,IAAA,qBAAO,GAAE,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC9B,MAAM,IAAA,kBAAI,EAAC,oBAAoB,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,IAAA,kBAAI,EAAC,oBAAoB,CAAC,CAAA;YAClC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YAChC,OAAO,KAAY,CAAA;QACrB,CAAC;aAAM,IAAI,CAAC,IAAA,uBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAA,kBAAI,EAAC,kDAAkD,CAAC,CAAA;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAA,8BAAgB,EAAC,IAAyB,CAAC,CAAA;YAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAoB,CAAA;YAE5C,IAAI,OAAO,CAAC,cAAc,KAAK,iBAAiB,CAAC,GAAG,EAAE,CAAC;gBACrD,MAAM,IAAA,kBAAI,EAAC,oBAAoB,CAAC,CAAA;YAClC,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,sBAAuB,CAAA;YAC9C,MAAM,EAAE,GAAI,KAAa,CAAC,MAAM,CAAC,CAAA;YACjC,IAAI,CAAC,IAAA,+BAAiB,EAAC,EAAE,CAAC,EAAE,CAAC;gBAC3B,8DAA8D;gBAC9D,2CAA2C;gBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAC1D,CAAA;gBACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC,CAAA;YACvC,CAAC;YACD,MAAM,GAAG,GAAG,IAAA,iCAAmB,EAAC,EAAE,CAAC,CAAA;YACnC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACpB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAQ,CAAA;QAC7B,CAAC;IACH,CAAC;CACF;AAED;;;GAGG;AACH,MAAa,OAA6B,SAAQ,yBAIjD;IASoB;IARnB,cAAc,GAAsB,iBAAiB,CAAC,OAAO,CAAA;IAC7D,sBAAsB,GAAuB,SAAS,CAAA;IAC7C,KAAK,GAAG,uBAAS,CAAC,GAAG,CAAA;IAEb,gBAAgB,GAAqC,EAAE,CAAA;IAExE,YACE,IAAY,EACK,QAAkB,EACnC,mBAAqD,EAAE;QAEvD,KAAK,CAAC,IAAI,CAAC,CAAA;QAHM,aAAQ,GAAR,QAAQ,CAAU;QAInC,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAC/B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,KAAgC;QACpC,MAAM,gBAAgB,GACpB,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;YACrC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IAChE,CAAC;IAED,WAAW,CACT,MAA4B,EAC5B,OAAe,EACf,WAAgB,EAChB,YAAmC;QAEnC,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAC/B,OAAO,IAAA,8BAAgB,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;IAC3E,CAAC;IAEO,wBAAwB;QAC9B,IAAI,IAAI,CAAC,cAAc,KAAK,iBAAiB,CAAC,OAAO,EAAE,CAAC;YACtD,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAoB,EAAE,CAAA;QACtC,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YACpD,MAAM,mBAAmB,GAAuB,UAAU,CAAC,MAAM,CAC/D,CAAC,OAA6C,EAAE,IAAI,EAAE,EAAE;gBACtD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC9B,OAAO,OAAO,CAAA;gBAChB,CAAC;gBACD,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACpD,MAAM,IAAA,kBAAI,EACR,iFAAiF,OAAO,yBAAyB,IAAI,CAAC,IAAI,yBAAyB,IAAI,CAAC,mBAAmB,iBAAiB,CAC7L,CAAA;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC,mBAAmB,CAAA;YACjC,CAAC,EACD,SAAiD,CAClD,CAAA;YAED,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAA;gBAC3C,IAAI,CAAC,sBAAsB,GAAG,mBAAmB,CAAA;YACnD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,EAAE,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB,CAClB,OAAkB,EAClB,kBAA6B,EAAE;QAE/B,MAAM,OAAO,GAAI,OAAO,CAAC,IAAa,CAAC,QAAQ,CAAA;QAC/C,MAAM,MAAM,GAAmB,EAAE,CAAA;QACjC,MAAM,CAAC,IAAI,CAAC,eAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAChC,OAAO,EACP,IAAI,EACJ,SAAS,EACT,eAAe,CAAC,IAAI,CAAC,CACtB,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,iBAAiB,CAAC,UAA0B;QAC1C,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAQ,CAAA;IACjD,CAAC;IAED,mBAAmB,CACjB,IAAe,EACf,QAAoC;QAEpC,IAAA,sBAAe,EAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAY,CAAA;QAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,QAAkC,CAAC,CAAA;YAC7D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAA0B,CAAE,CAAA;gBAC/C,MAAM,aAAa,GAAG,IAAA,iCAAmB,EACvC,QAA6B,EAC7B,IAAI,EACJ,IAAI,CACL,CACA;gBAAA,CAAC,CAAC,IAAA,qBAAO,GAAE,CAAC,CAAC,CAAC,gCAAkB,CAAC,CAAC,CAAC,mCAAqB,CAAC,CACxD,QAAQ,EACR,IAAI,EACJ,aAAa,CACd,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,IAAA,gBAAS,EAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QACpC,IAAA,cAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,WAAW,CAAC,IAAe;QACzB,2DAA2D;QAC3D,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACjC,CAAC;IAED,YAAY,CAAC,IAAe,EAAE,GAAW;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAA,kBAAI,EAAC,cAAc,GAAG,GAAG,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,UAAU,CACR,MAAuC;QAEvC,MAAM,IAAI,GAAG,IAAA,8BAAgB,EAAC,MAAM,CAAC,MAA2B,CAAC,CAAA;QACjE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAY,CAAA;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAA;QAEhC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,CAAC;oBACC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;oBAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBACvC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBAC1B,OAAO,IAAI,CAAA;oBACb,CAAC;oBACD,IAAA,+BAAiB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACpC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EACtB,MAAM,CAAC,QAAQ,EACf,IAAI,EACJ,GAAG,CACJ,CAAA;oBACD,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACjD,CAAC;gBACD,MAAK;YACP,KAAK,KAAK;gBACR,CAAC;oBACC,IAAA,+BAAiB,EAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;oBAC3C,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CACnC,IAAI,EACJ,GAAG,EACH,SAAS,EACT,MAAM,CAAC,QAAQ,CAChB,CAAA;oBACD,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACjD,CAAC;gBACD,MAAK;QACT,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,iBAAiB,CAAC,QAAgB,EAAE,IAAa;QACvD,IACE,IAAI,CAAC,cAAc,KAAK,iBAAiB,CAAC,GAAG;YAC7C,IAAI,YAAY,wBAAU,EAC1B,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAW,CAAA;YACnC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAA,kBAAI,EACR,6HAA6H,UAAU,qBAAqB,QAAQ,GAAG,CACxK,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW,CAAC,IAAe;QACzB,MAAM,GAAG,GAAQ,EAAE,CAAA;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACrC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAA;QAC7C,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,sBAAsB,CAAC,UAA0B;QAC/C,MAAM,SAAS,GAAQ,EAAE,CAAA;QACzB,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,SAAS,CAAA;IAClB,CAAC;IAED,SAAS,CAAC,MAAsC;QAC9C,MAAM,IAAI,GAAG,IAAA,8BAAgB,EAAC,MAAM,CAAC,MAA2B,CAAC,CAAA;QACjE,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,KAAK,IAAI,CAAC,SAAS,CACxB;oBACE,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,IAAA,4BAAc,EAAC,MAAM,CAAC,IAAI,CAAC;oBACjC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;oBAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;iBACjE,EACD,IAAI,CACL,CAAA;YACH,KAAK,KAAK;gBACR,OAAO,KAAK,IAAI,CAAC,SAAS,CACxB;oBACE,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,IAAA,4BAAc,EAAC,MAAM,CAAC,IAAI,CAAC;oBACjC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;oBAC/B,QAAQ,EAAE,SAAS;iBACpB,EACD,IAAI,CACL,CAAA;YACH,KAAK,QAAQ;gBACX,iEAAiE;gBACjE,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;gBAC5C,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;gBACrB,iBAAiB;gBACjB,OAAO,KAAK,IAAI,CAAC,SAAS,CACxB;oBACE,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,IAAA,4BAAc,EAAC,MAAM,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,WAAW;iBACtB,EACD,IAAI,CACL,CAAA;QACL,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,IAAe,EAAE,OAAe,EAAE,KAAiB;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAA;QAC/B,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC;YACjB,KAAK,KAAK,CAAC;YACX,KAAK,SAAS;gBACZ,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;gBAChC,MAAK;YACP,KAAK,QAAQ;gBACX,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACtB,MAAK;QACT,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAe,EAAE,QAAmB;QAChD,IAAA,+BAAiB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAA;QAC/B,MAAM,WAAW,GAA+B,EAAE,CAAA;QAClD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,2EAA2E;YAC3E,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC9B,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,CAAA;YAC9B,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACrC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,eAAe,CACb,KAAgB,EAChB,OAA2B;QAE3B,IAAI,CAAC,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAA,8BAAgB,EAAC,OAAO,EAAE,KAAK,EAAE,6BAA6B,CAAC,CAAA;QACxE,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAA,+BAAiB,EAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;YAC1D,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;IAED,kBAAkB;QAChB,OAAO,0BAAyB,CAAA;IAClC,CAAC;IAED,WAAW,CAAC,IAAe,EAAE,OAAe;QAC1C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;CACF;AAzTD,0BAyTC;AACD,OAAO,CAAC,SAAS,CAAC,aAAa,GAAG,IAAA,aAAM,EAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,GAAG,CAAsB,OAAW;IAClD,OAAO,IAAI,OAAO,CAAK,eAAe,OAAO,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAA;AACjE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CACvB,IAAc;IAEd,OAAO,IAAA,oBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,uBAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACzD,CAAC"}
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/types/complex-types/map.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type IInterceptor,\n type IKeyValueMap,\n type IMapDidChange,\n type IMapWillChange,\n type IObservableMapInitialValues,\n type Lambda,\n ObservableMap,\n _interceptReads,\n action,\n intercept,\n observable,\n observe,\n values\n} from \"mobx\"\n\nimport { ComplexType } from \"../../core/type/type.ts\"\nimport {\n type AnyNode,\n type AnyObjectNode,\n EMPTY_OBJECT,\n type ExtractCSTWithSTN,\n type IAnyModelType,\n type IAnyStateTreeNode,\n type IAnyType,\n type IChildNodesMap,\n type IHooksGetter,\n type IJsonPatch,\n type IType,\n type IValidationContext,\n type IValidationResult,\n ModelType,\n ObjectNode,\n TypeFlags,\n addHiddenFinalProp,\n addHiddenWritableProp,\n asArray,\n cannotDetermineSubtype,\n createActionInvoker,\n createObjectNode,\n devMode,\n escapeJsonPath,\n fail,\n getContextForPath,\n getSnapshot,\n getStateTreeNode,\n isMutable,\n isPlainObject,\n isStateTreeNode,\n isType,\n isValidIdentifier,\n normalizeIdentifier,\n popContext,\n typeCheckFailure,\n typeCheckSuccess,\n typecheckInternal\n} from \"../../internal.ts\"\n\n/** @hidden */\nexport interface IMapType<IT extends IAnyType> extends IType<\n IKeyValueMap<IT[\"CreationType\"]> | undefined,\n IKeyValueMap<IT[\"SnapshotType\"]>,\n IMSTMap<IT>\n> {\n hooks(hooks: IHooksGetter<IMSTMap<IT>>): IMapType<IT>\n}\n\n/** @hidden */\nexport interface IMSTMap<IT extends IAnyType> {\n // bases on ObservableMap, but fine tuned to the auto snapshot conversion of MST\n\n clear(): void\n delete(key: string): boolean\n forEach(\n callbackfn: (value: IT[\"Type\"], key: string | number, map: this) => void,\n thisArg?: any\n ): void\n get(key: string | number): IT[\"Type\"] | undefined\n has(key: string | number): boolean\n set(key: string | number, value: ExtractCSTWithSTN<IT>): this\n readonly size: number\n put(value: ExtractCSTWithSTN<IT>): IT[\"Type\"]\n keys(): IterableIterator<string>\n values(): IterableIterator<IT[\"Type\"]>\n entries(): IterableIterator<[string, IT[\"Type\"]]>\n [Symbol.iterator](): IterableIterator<[string, IT[\"Type\"]]>\n /** Merge another object into this map, returns self. */\n merge(\n other:\n | IMSTMap<IType<any, any, IT[\"TypeWithoutSTN\"]>>\n | IKeyValueMap<ExtractCSTWithSTN<IT>>\n | any\n ): this\n replace(\n values:\n | IMSTMap<IType<any, any, IT[\"TypeWithoutSTN\"]>>\n | IKeyValueMap<ExtractCSTWithSTN<IT>>\n | any\n ): this\n\n toJSON(): IKeyValueMap<IT[\"SnapshotType\"]>\n\n toString(): string\n [Symbol.toStringTag]: \"Map\"\n\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n observe(\n listener: (changes: IMapDidChange<string, IT[\"Type\"]>) => void,\n fireImmediately?: boolean\n ): Lambda\n intercept(handler: IInterceptor<IMapWillChange<string, IT[\"Type\"]>>): Lambda\n}\n\nconst needsIdentifierError = `Map.put can only be used to store complex values that have an identifier type attribute`\n\nfunction tryCollectModelTypes(\n type: IAnyType,\n modelTypes: Array<IAnyModelType>\n): boolean {\n const subtypes = type.getSubTypes()\n if (subtypes === cannotDetermineSubtype) {\n return false\n }\n if (subtypes) {\n const subtypesArray = asArray(subtypes)\n for (const subtype of subtypesArray) {\n if (!tryCollectModelTypes(subtype, modelTypes)) {\n return false\n }\n }\n }\n if (type instanceof ModelType) {\n modelTypes.push(type)\n }\n return true\n}\n\n/**\n * @internal\n * @hidden\n */\nexport enum MapIdentifierMode {\n UNKNOWN,\n YES,\n NO\n}\n\nclass MSTMap<IT extends IAnyType> extends ObservableMap<string, any> {\n constructor(\n initialData?: IObservableMapInitialValues<string, any> | undefined,\n name?: string\n ) {\n super(initialData, (observable.ref as any).enhancer, name)\n }\n\n get(key: string): IT[\"Type\"] | undefined {\n // maybe this is over-enthousiastic? normalize numeric keys to strings\n return super.get(\"\" + key)\n }\n\n has(key: string) {\n return super.has(\"\" + key)\n }\n\n delete(key: string) {\n return super.delete(\"\" + key)\n }\n\n set(key: string, value: ExtractCSTWithSTN<IT>): this {\n return super.set(\"\" + key, value)\n }\n\n put(value: ExtractCSTWithSTN<IT>): IT[\"Type\"] {\n if (!value) {\n throw fail(`Map.put cannot be used to set empty values`)\n }\n if (isStateTreeNode(value)) {\n const node = getStateTreeNode(value)\n if (devMode()) {\n if (!node.identifierAttribute) {\n throw fail(needsIdentifierError)\n }\n }\n if (node.identifier === null) {\n throw fail(needsIdentifierError)\n }\n this.set(node.identifier, value)\n return value as any\n } else if (!isMutable(value)) {\n throw fail(`Map.put can only be used to store complex values`)\n } else {\n const mapNode = getStateTreeNode(this as IAnyStateTreeNode)\n const mapType = mapNode.type as MapType<any>\n\n if (mapType.identifierMode !== MapIdentifierMode.YES) {\n throw fail(needsIdentifierError)\n }\n\n const idAttr = mapType.mapIdentifierAttribute!\n const id = (value as any)[idAttr]\n if (!isValidIdentifier(id)) {\n // try again but this time after creating a node for the value\n // since it might be an optional identifier\n const newNode = this.put(\n mapType.getChildType().create(value, mapNode.environment)\n )\n return this.put(getSnapshot(newNode))\n }\n const key = normalizeIdentifier(id)\n this.set(key, value)\n return this.get(key) as any\n }\n }\n}\n\n/**\n * @internal\n * @hidden\n */\nexport class MapType<IT extends IAnyType> extends ComplexType<\n IKeyValueMap<IT[\"CreationType\"]> | undefined,\n IKeyValueMap<IT[\"SnapshotType\"]>,\n IMSTMap<IT>\n> {\n identifierMode: MapIdentifierMode = MapIdentifierMode.UNKNOWN\n mapIdentifierAttribute: string | undefined = undefined\n readonly flags = TypeFlags.Map\n\n private readonly hookInitializers: Array<IHooksGetter<IMSTMap<IT>>> = []\n\n constructor(\n name: string,\n private readonly _subType: IAnyType,\n hookInitializers: Array<IHooksGetter<IMSTMap<IT>>> = []\n ) {\n super(name)\n this._determineIdentifierMode()\n this.hookInitializers = hookInitializers\n }\n\n hooks(hooks: IHooksGetter<IMSTMap<IT>>) {\n const hookInitializers =\n this.hookInitializers.length > 0\n ? this.hookInitializers.concat(hooks)\n : [hooks]\n return new MapType(this.name, this._subType, hookInitializers)\n }\n\n instantiate(\n parent: AnyObjectNode | null,\n subpath: string,\n environment: any,\n initialValue: this[\"C\"] | this[\"T\"]\n ): this[\"N\"] {\n this._determineIdentifierMode()\n return createObjectNode(this, parent, subpath, environment, initialValue)\n }\n\n private _determineIdentifierMode() {\n if (this.identifierMode !== MapIdentifierMode.UNKNOWN) {\n return\n }\n\n const modelTypes: IAnyModelType[] = []\n if (tryCollectModelTypes(this._subType, modelTypes)) {\n const identifierAttribute: string | undefined = modelTypes.reduce(\n (current: IAnyModelType[\"identifierAttribute\"], type) => {\n if (!type.identifierAttribute) {\n return current\n }\n if (current && current !== type.identifierAttribute) {\n throw fail(\n `The objects in a map should all have the same identifier attribute, expected '${current}', but child of type '${type.name}' declared attribute '${type.identifierAttribute}' as identifier`\n )\n }\n return type.identifierAttribute\n },\n undefined as IAnyModelType[\"identifierAttribute\"]\n )\n\n if (identifierAttribute) {\n this.identifierMode = MapIdentifierMode.YES\n this.mapIdentifierAttribute = identifierAttribute\n } else {\n this.identifierMode = MapIdentifierMode.NO\n }\n }\n }\n\n initializeChildNodes(\n objNode: this[\"N\"],\n initialSnapshot: this[\"C\"] = {}\n ): IChildNodesMap {\n const subType = (objNode.type as this)._subType\n const result: IChildNodesMap = {}\n Object.keys(initialSnapshot!).forEach(name => {\n result[name] = subType.instantiate(\n objNode,\n name,\n undefined,\n initialSnapshot[name]\n )\n })\n\n return result\n }\n\n createNewInstance(childNodes: IChildNodesMap): this[\"T\"] {\n return new MSTMap(childNodes, this.name) as any\n }\n\n finalizeNewInstance(\n node: this[\"N\"],\n instance: ObservableMap<string, any>\n ): void {\n _interceptReads(instance, node.unbox)\n\n const type = node.type as this\n type.hookInitializers.forEach(initializer => {\n const hooks = initializer(instance as unknown as IMSTMap<IT>)\n Object.keys(hooks).forEach(name => {\n const hook = hooks[name as keyof typeof hooks]!\n const actionInvoker = createActionInvoker(\n instance as IAnyStateTreeNode,\n name,\n hook\n )\n ;(!devMode() ? addHiddenFinalProp : addHiddenWritableProp)(\n instance,\n name,\n actionInvoker\n )\n })\n })\n\n intercept(instance, this.willChange)\n observe(instance, this.didChange)\n }\n\n describe() {\n return this.name\n }\n\n getChildren(node: this[\"N\"]): ReadonlyArray<AnyNode> {\n // return (node.storedValue as ObservableMap<any>).values()\n return values(node.storedValue)\n }\n\n getChildNode(node: this[\"N\"], key: string): AnyNode {\n const childNode = node.storedValue.get(\"\" + key)\n if (!childNode) {\n throw fail(\"Not a child \" + key)\n }\n return childNode\n }\n\n willChange(\n change: IMapWillChange<string, AnyNode>\n ): IMapWillChange<string, AnyNode> | null {\n const node = getStateTreeNode(change.object as IAnyStateTreeNode)\n const key = change.name\n node.assertWritable({ subpath: key })\n const mapType = node.type as this\n const subType = mapType._subType\n\n switch (change.type) {\n case \"update\":\n {\n const { newValue } = change\n const oldValue = change.object.get(key)\n if (newValue === oldValue) {\n return null\n }\n typecheckInternal(subType, newValue)\n change.newValue = subType.reconcile(\n node.getChildNode(key),\n change.newValue,\n node,\n key\n )\n mapType.processIdentifier(key, change.newValue)\n }\n break\n case \"add\":\n {\n typecheckInternal(subType, change.newValue)\n change.newValue = subType.instantiate(\n node,\n key,\n undefined,\n change.newValue\n )\n mapType.processIdentifier(key, change.newValue)\n }\n break\n }\n return change\n }\n\n private processIdentifier(expected: string, node: AnyNode): void {\n if (\n this.identifierMode === MapIdentifierMode.YES &&\n node instanceof ObjectNode\n ) {\n const identifier = node.identifier!\n if (identifier !== expected) {\n throw fail(\n `A map of objects containing an identifier should always store the object under their own identifier. Trying to store key '${identifier}', but expected: '${expected}'`\n )\n }\n }\n }\n\n getSnapshot(node: this[\"N\"]): this[\"S\"] {\n const res: any = {}\n node.getChildren().forEach(childNode => {\n res[childNode.subpath] = childNode.snapshot\n })\n return res\n }\n\n processInitialSnapshot(childNodes: IChildNodesMap): this[\"S\"] {\n const processed: any = {}\n Object.keys(childNodes).forEach(key => {\n processed[key] = childNodes[key].getSnapshot()\n })\n return processed\n }\n\n didChange(change: IMapDidChange<string, AnyNode>): void {\n const node = getStateTreeNode(change.object as IAnyStateTreeNode)\n switch (change.type) {\n case \"update\":\n return void node.emitPatch(\n {\n op: \"replace\",\n path: escapeJsonPath(change.name),\n value: change.newValue.snapshot,\n oldValue: change.oldValue ? change.oldValue.snapshot : undefined\n },\n node\n )\n case \"add\":\n return void node.emitPatch(\n {\n op: \"add\",\n path: escapeJsonPath(change.name),\n value: change.newValue.snapshot,\n oldValue: undefined\n },\n node\n )\n case \"delete\":\n // a node got deleted, get the old snapshot and make the node die\n const oldSnapshot = change.oldValue.snapshot\n change.oldValue.die()\n // emit the patch\n return void node.emitPatch(\n {\n op: \"remove\",\n path: escapeJsonPath(change.name),\n oldValue: oldSnapshot\n },\n node\n )\n }\n }\n\n applyPatchLocally(node: this[\"N\"], subpath: string, patch: IJsonPatch): void {\n const target = node.storedValue\n switch (patch.op) {\n case \"add\":\n case \"replace\":\n target.set(subpath, patch.value)\n break\n case \"remove\":\n target.delete(subpath)\n break\n }\n }\n\n applySnapshot(node: this[\"N\"], snapshot: this[\"C\"]): void {\n typecheckInternal(this, snapshot)\n const target = node.storedValue\n const currentKeys: { [key: string]: boolean } = {}\n Array.from(target.keys()).forEach(key => {\n currentKeys[key] = false\n })\n if (snapshot) {\n // Don't use target.replace, as it will throw away all existing items first\n for (const key in snapshot) {\n target.set(key, snapshot[key])\n currentKeys[\"\" + key] = true\n }\n }\n Object.keys(currentKeys).forEach(key => {\n if (currentKeys[key] === false) {\n target.delete(key)\n }\n })\n }\n\n getChildType(): IAnyType {\n return this._subType\n }\n\n isValidSnapshot(\n value: this[\"C\"],\n context: IValidationContext\n ): IValidationResult {\n if (!isPlainObject(value)) {\n return typeCheckFailure(context, value, \"Value is not a plain object\")\n }\n\n for (const key of Object.keys(value)) {\n getContextForPath(context, key, this._subType)\n const errors = this._subType.validate(value[key], context)\n popContext(context)\n if (errors.length > 0) {\n return errors\n }\n }\n return typeCheckSuccess()\n }\n\n getDefaultSnapshot(): this[\"C\"] {\n return EMPTY_OBJECT as this[\"C\"]\n }\n\n removeChild(node: this[\"N\"], subpath: string) {\n node.storedValue.delete(subpath)\n }\n}\nMapType.prototype.applySnapshot = action(MapType.prototype.applySnapshot)\n\n/**\n * `types.map` - Creates a key based collection type who's children are all of a uniform declared type.\n * If the type stored in a map has an identifier, it is mandatory to store the child under that identifier in the map.\n *\n * This type will always produce [observable maps](https://mobx.js.org/api.html#observablemap)\n *\n * Example:\n * ```ts\n * const Todo = types.model({\n * id: types.identifier,\n * task: types.string\n * })\n *\n * const TodoStore = types.model({\n * todos: types.map(Todo)\n * })\n *\n * const s = TodoStore.create({ todos: {} })\n * unprotect(s)\n * s.todos.set(17, { task: \"Grab coffee\", id: 17 })\n * s.todos.put({ task: \"Grab cookie\", id: 18 }) // put will infer key from the identifier\n * console.log(s.todos.get(17).task) // prints: \"Grab coffee\"\n * ```\n *\n * @param subtype\n * @returns\n */\nexport function map<IT extends IAnyType>(subtype: IT): IMapType<IT> {\n return new MapType<IT>(`Map<string, ${subtype.name}>`, subtype)\n}\n\n/**\n * Returns if a given value represents a map type.\n *\n * @param type\n * @returns `true` if it is a map type.\n */\nexport function isMapType<Items extends IAnyType = IAnyType>(\n type: IAnyType\n): type is IMapType<Items> {\n return isType(type) && (type.flags & TypeFlags.Map) > 0\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComplexType } from "../../core/type/type.ts";
|
|
2
|
+
import { type AnyNode, type AnyObjectNode, type FunctionWithFlag, type IAnyType, type IChildNodesMap, type IJsonPatch, type IStateTreeNode, type IType, type IValidationContext, type IValidationResult, type Instance, TypeFlags, type _CustomOrOther, type _NotCustomized } from "../../internal.ts";
|
|
2
3
|
/** @hidden */
|
|
3
4
|
export interface ModelProperties {
|
|
4
5
|
[key: string]: IAnyType;
|
|
@@ -5,6 +5,7 @@ exports.model = model;
|
|
|
5
5
|
exports.compose = compose;
|
|
6
6
|
exports.isModelType = isModelType;
|
|
7
7
|
const mobx_1 = require("mobx");
|
|
8
|
+
const type_ts_1 = require("../../core/type/type.js");
|
|
8
9
|
const internal_ts_1 = require("../../internal.js");
|
|
9
10
|
const PRE_PROCESS_SNAPSHOT = "preProcessSnapshot";
|
|
10
11
|
const POST_PROCESS_SNAPSHOT = "postProcessSnapshot";
|
|
@@ -74,7 +75,7 @@ function toPropertiesObject(declaredProps) {
|
|
|
74
75
|
* @internal
|
|
75
76
|
* @hidden
|
|
76
77
|
*/
|
|
77
|
-
class ModelType extends
|
|
78
|
+
class ModelType extends type_ts_1.ComplexType {
|
|
78
79
|
flags = internal_ts_1.TypeFlags.Object;
|
|
79
80
|
/*
|
|
80
81
|
* The original object definition
|