mobx-keystone 0.67.4 → 0.68.1-alpha
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/CHANGELOG.md +8 -0
- package/dist/_virtual/_tslib.mjs +12 -0
- package/dist/mobx-keystone.umd.js +5339 -5261
- package/dist/model/utils.d.ts +1 -1
- package/dist/node_modules/fast-deep-equal/es6/index.mjs +68 -0
- package/dist/node_modules/nanoid/non-secure/index.mjs +11 -0
- package/dist/snapshot/index.d.ts +0 -8
- package/dist/{dataModel/_BaseDataModel.d.ts → snapshot/registerDefaultReconcilers.d.ts} +0 -0
- package/dist/{model/_BaseModel.d.ts → snapshot/registerDefaultSnapshotters.d.ts} +0 -0
- package/dist/src/action/actionDecoratorUtils.mjs +25 -0
- package/dist/src/action/applyAction.mjs +54 -0
- package/dist/src/action/applyDelete.mjs +20 -0
- package/dist/src/action/applyMethodCall.mjs +19 -0
- package/dist/src/action/applySet.mjs +25 -0
- package/dist/src/action/builtInActions.mjs +15 -0
- package/dist/src/action/context.mjs +22 -0
- package/dist/src/action/hookActions.mjs +13 -0
- package/dist/src/action/isModelAction.mjs +6 -0
- package/dist/src/action/middleware.mjs +84 -0
- package/dist/src/action/modelAction.mjs +34 -0
- package/dist/src/action/modelFlow.mjs +251 -0
- package/dist/src/action/pendingActions.mjs +30 -0
- package/dist/src/action/protection.mjs +19 -0
- package/dist/src/action/runUnprotected.mjs +24 -0
- package/dist/src/action/wrapInAction.mjs +90 -0
- package/dist/src/actionMiddlewares/actionSerialization/actionSerialization.mjs +131 -0
- package/dist/src/actionMiddlewares/actionSerialization/applySerializedAction.mjs +110 -0
- package/dist/src/actionMiddlewares/actionSerialization/arraySerializer.mjs +15 -0
- package/dist/src/actionMiddlewares/actionSerialization/core.mjs +3 -0
- package/dist/src/actionMiddlewares/actionSerialization/dateSerializer.mjs +15 -0
- package/dist/src/actionMiddlewares/actionSerialization/mapSerializer.mjs +32 -0
- package/dist/src/actionMiddlewares/actionSerialization/objectPathSerializer.mjs +33 -0
- package/dist/src/actionMiddlewares/actionSerialization/objectSnapshotSerializer.mjs +18 -0
- package/dist/src/actionMiddlewares/actionSerialization/plainObjectSerializer.mjs +27 -0
- package/dist/src/actionMiddlewares/actionSerialization/primitiveSerializer.mjs +39 -0
- package/dist/src/actionMiddlewares/actionSerialization/setSerializer.mjs +29 -0
- package/dist/src/actionMiddlewares/actionTrackingMiddleware.mjs +239 -0
- package/dist/src/actionMiddlewares/onActionMiddleware.mjs +44 -0
- package/dist/src/actionMiddlewares/readonlyMiddleware.mjs +49 -0
- package/dist/src/actionMiddlewares/transactionMiddleware.mjs +69 -0
- package/dist/src/actionMiddlewares/undoMiddleware.mjs +472 -0
- package/dist/src/actionMiddlewares/utils.mjs +25 -0
- package/dist/src/computedTree/computedTree.mjs +63 -0
- package/dist/src/context/context.mjs +141 -0
- package/dist/src/dataModel/BaseDataModel.mjs +108 -0
- package/dist/src/dataModel/DataModel.mjs +32 -0
- package/dist/src/dataModel/actions.mjs +12 -0
- package/dist/src/dataModel/getDataModelMetadata.mjs +14 -0
- package/dist/src/dataModel/newDataModel.mjs +31 -0
- package/dist/src/dataModel/utils.mjs +29 -0
- package/dist/src/frozen/Frozen.mjs +68 -0
- package/dist/src/globalConfig/globalConfig.mjs +57 -0
- package/dist/src/index.mjs +97 -0
- package/dist/src/model/BaseModel.mjs +118 -0
- package/dist/src/model/Model.mjs +36 -0
- package/dist/src/model/getModelMetadata.mjs +19 -0
- package/dist/src/model/metadata.mjs +7 -0
- package/dist/src/model/newModel.mjs +95 -0
- package/dist/src/model/utils.mjs +33 -0
- package/dist/src/modelShared/BaseModelShared.mjs +9 -0
- package/dist/src/modelShared/Model.mjs +249 -0
- package/dist/src/modelShared/checkModelDecoratorArgs.mjs +21 -0
- package/dist/src/modelShared/modelClassInitializer.mjs +14 -0
- package/dist/src/modelShared/modelDecorator.mjs +117 -0
- package/dist/src/modelShared/modelInfo.mjs +7 -0
- package/dist/src/modelShared/modelPropsInfo.mjs +9 -0
- package/dist/src/modelShared/modelSymbols.mjs +5 -0
- package/dist/src/modelShared/newModel.mjs +13 -0
- package/dist/src/modelShared/prop.mjs +138 -0
- package/dist/src/modelShared/utils.mjs +10 -0
- package/dist/src/parent/core.mjs +34 -0
- package/dist/src/parent/coreObjectChildren.mjs +98 -0
- package/dist/src/parent/detach.mjs +32 -0
- package/dist/src/parent/findChildren.mjs +16 -0
- package/dist/src/parent/findParent.mjs +30 -0
- package/dist/src/parent/getChildrenObjects.mjs +12 -0
- package/dist/src/parent/onChildAttachedTo.mjs +101 -0
- package/dist/src/parent/path.mjs +149 -0
- package/dist/src/parent/path2.mjs +12 -0
- package/dist/src/parent/setParent.mjs +83 -0
- package/dist/src/parent/walkTree.mjs +104 -0
- package/dist/src/patch/applyPatches.mjs +118 -0
- package/dist/src/patch/emitPatch.mjs +100 -0
- package/dist/src/patch/jsonPatch.mjs +60 -0
- package/dist/src/patch/patchRecorder.mjs +75 -0
- package/dist/src/redux/connectReduxDevTools.mjs +153 -0
- package/dist/src/redux/redux.mjs +60 -0
- package/dist/src/ref/Ref.mjs +38 -0
- package/dist/src/ref/core.mjs +179 -0
- package/dist/src/ref/customRef.mjs +9 -0
- package/dist/src/ref/rootRef.mjs +34 -0
- package/dist/src/rootStore/attachDetach.mjs +53 -0
- package/dist/src/rootStore/rootStore.mjs +50 -0
- package/dist/src/snapshot/SnapshotterAndReconcilerPriority.mjs +9 -0
- package/dist/src/snapshot/applySnapshot.mjs +92 -0
- package/dist/src/snapshot/clone.mjs +29 -0
- package/dist/src/snapshot/fromArraySnapshot.mjs +23 -0
- package/dist/src/snapshot/fromFrozenSnapshot.mjs +13 -0
- package/dist/src/snapshot/fromModelSnapshot.mjs +38 -0
- package/dist/src/snapshot/fromPlainObjectSnapshot.mjs +26 -0
- package/dist/src/snapshot/fromSnapshot.mjs +91 -0
- package/dist/src/snapshot/getSnapshot.mjs +27 -0
- package/dist/src/snapshot/internal.mjs +97 -0
- package/dist/src/snapshot/onSnapshot.mjs +16 -0
- package/dist/src/snapshot/reconcileArraySnapshot.mjs +40 -0
- package/dist/src/snapshot/reconcileFrozenSnapshot.mjs +19 -0
- package/dist/src/snapshot/reconcileModelSnapshot.mjs +77 -0
- package/dist/src/snapshot/reconcilePlainObjectSnapshot.mjs +47 -0
- package/dist/src/snapshot/reconcileSnapshot.mjs +49 -0
- package/dist/src/snapshot/registerDefaultReconcilers.mjs +17 -0
- package/dist/src/snapshot/registerDefaultSnapshotters.mjs +17 -0
- package/dist/src/standardActions/actions.mjs +35 -0
- package/dist/src/standardActions/arrayActions.mjs +66 -0
- package/dist/src/standardActions/objectActions.mjs +36 -0
- package/dist/src/standardActions/standaloneActions.mjs +9 -0
- package/dist/src/transforms/ImmutableDate.mjs +51 -0
- package/dist/src/transforms/asMap.mjs +29 -0
- package/dist/src/transforms/asSet.mjs +12 -0
- package/dist/src/transforms/bigint.mjs +14 -0
- package/dist/src/transforms/date.mjs +27 -0
- package/dist/src/treeUtils/deepEquals.mjs +40 -0
- package/dist/src/treeUtils/draft.mjs +116 -0
- package/dist/src/treeUtils/sandbox.mjs +158 -0
- package/dist/src/tweaker/TweakerPriority.mjs +9 -0
- package/dist/src/tweaker/core.mjs +38 -0
- package/dist/src/tweaker/registerDefaultTweakers.mjs +17 -0
- package/dist/src/tweaker/tweak.mjs +109 -0
- package/dist/src/tweaker/tweakArray.mjs +272 -0
- package/dist/src/tweaker/tweakFrozen.mjs +28 -0
- package/dist/src/tweaker/tweakModel.mjs +26 -0
- package/dist/src/tweaker/tweakPlainObject.mjs +205 -0
- package/dist/src/tweaker/typeChecking.mjs +46 -0
- package/dist/src/tweaker/withoutTypeChecking.mjs +15 -0
- package/dist/src/types/TypeCheckError.mjs +31 -0
- package/dist/src/types/TypeChecker.mjs +165 -0
- package/dist/src/types/arrayBased/array.mjs +68 -0
- package/dist/src/types/arrayBased/tuple.mjs +71 -0
- package/dist/src/types/getTypeInfo.mjs +12 -0
- package/dist/src/types/objectBased/arraySet.mjs +83 -0
- package/dist/src/types/objectBased/dataModelData.mjs +95 -0
- package/dist/src/types/objectBased/model.mjs +133 -0
- package/dist/src/types/objectBased/object.mjs +119 -0
- package/dist/src/types/objectBased/objectMap.mjs +90 -0
- package/dist/src/types/objectBased/record.mjs +80 -0
- package/dist/src/types/objectBased/ref.mjs +62 -0
- package/dist/src/types/primitiveBased/enum.mjs +20 -0
- package/dist/src/types/primitiveBased/primitives.mjs +59 -0
- package/dist/src/types/primitiveBased/refinedPrimitives.mjs +6 -0
- package/dist/src/types/registerDefaultStandardTypeResolvers.mjs +13 -0
- package/dist/src/types/resolveTypeChecker.mjs +52 -0
- package/dist/src/types/tProp.mjs +53 -0
- package/dist/src/types/typeCheck.mjs +11 -0
- package/dist/src/types/types.mjs +69 -0
- package/dist/src/types/utility/maybe.mjs +10 -0
- package/dist/src/types/utility/or.mjs +99 -0
- package/dist/src/types/utility/refinement.mjs +52 -0
- package/dist/src/types/utility/unchecked.mjs +10 -0
- package/dist/src/utils/ModelPool.mjs +50 -0
- package/dist/src/utils/chainFns.mjs +15 -0
- package/dist/src/utils/index.mjs +228 -0
- package/dist/src/utils/mapUtils.mjs +10 -0
- package/dist/src/utils/tag.mjs +16 -0
- package/dist/src/wrappers/ArraySet.mjs +85 -0
- package/dist/src/wrappers/ObjectMap.mjs +96 -0
- package/dist/src/wrappers/asMap.mjs +181 -0
- package/dist/src/wrappers/asSet.mjs +97 -0
- package/dist/tweaker/index.d.ts +0 -4
- package/dist/tweaker/registerDefaultTweakers.d.ts +1 -0
- package/dist/types/registerDefaultStandardTypeResolvers.d.ts +1 -0
- package/package.json +12 -14
- package/src/actionMiddlewares/actionSerialization/actionSerialization.ts +24 -9
- package/src/dataModel/BaseDataModel.ts +0 -3
- package/src/dataModel/utils.ts +4 -4
- package/src/dist/action/actionDecoratorUtils.d.ts +5 -0
- package/src/dist/action/applyAction.d.ts +36 -0
- package/src/dist/action/applyDelete.d.ts +7 -0
- package/src/dist/action/applyMethodCall.d.ts +9 -0
- package/src/dist/action/applySet.d.ts +8 -0
- package/src/dist/action/builtInActions.d.ts +39 -0
- package/src/dist/action/context.d.ts +85 -0
- package/src/dist/action/hookActions.d.ts +32 -0
- package/src/dist/action/index.d.ts +12 -0
- package/src/dist/action/isModelAction.d.ts +7 -0
- package/src/dist/action/middleware.d.ts +34 -0
- package/src/dist/action/modelAction.d.ts +9 -0
- package/src/dist/action/modelFlow.d.ts +34 -0
- package/src/dist/action/pendingActions.d.ts +1 -0
- package/src/dist/action/protection.d.ts +1 -0
- package/src/dist/action/runUnprotected.d.ts +19 -0
- package/src/dist/action/wrapInAction.d.ts +1 -0
- package/src/dist/actionMiddlewares/actionSerialization/actionSerialization.d.ts +84 -0
- package/src/dist/actionMiddlewares/actionSerialization/applySerializedAction.d.ts +45 -0
- package/src/dist/actionMiddlewares/actionSerialization/arraySerializer.d.ts +3 -0
- package/src/dist/actionMiddlewares/actionSerialization/core.d.ts +28 -0
- package/src/dist/actionMiddlewares/actionSerialization/dateSerializer.d.ts +2 -0
- package/src/dist/actionMiddlewares/actionSerialization/index.d.ts +3 -0
- package/src/dist/actionMiddlewares/actionSerialization/mapSerializer.d.ts +6 -0
- package/src/dist/actionMiddlewares/actionSerialization/objectPathSerializer.d.ts +8 -0
- package/src/dist/actionMiddlewares/actionSerialization/objectSnapshotSerializer.d.ts +2 -0
- package/src/dist/actionMiddlewares/actionSerialization/plainObjectSerializer.d.ts +2 -0
- package/src/dist/actionMiddlewares/actionSerialization/primitiveSerializer.d.ts +2 -0
- package/src/dist/actionMiddlewares/actionSerialization/setSerializer.d.ts +3 -0
- package/src/dist/actionMiddlewares/actionTrackingMiddleware.d.ts +122 -0
- package/src/dist/actionMiddlewares/index.d.ts +6 -0
- package/src/dist/actionMiddlewares/onActionMiddleware.d.ts +26 -0
- package/src/dist/actionMiddlewares/readonlyMiddleware.d.ts +35 -0
- package/src/dist/actionMiddlewares/transactionMiddleware.d.ts +21 -0
- package/src/dist/actionMiddlewares/undoMiddleware.d.ts +283 -0
- package/src/dist/actionMiddlewares/utils.d.ts +1 -0
- package/src/dist/computedTree/computedTree.d.ts +16 -0
- package/src/dist/computedTree/index.d.ts +1 -0
- package/src/dist/context/context.d.ts +84 -0
- package/src/dist/context/index.d.ts +1 -0
- package/src/dist/dataModel/BaseDataModel.d.ts +52 -0
- package/src/dist/dataModel/DataModel.d.ts +47 -0
- package/src/dist/dataModel/DataModelConstructorOptions.d.ts +1 -0
- package/src/dist/dataModel/actions.d.ts +1 -0
- package/src/dist/dataModel/getDataModelMetadata.d.ts +19 -0
- package/src/dist/dataModel/index.d.ts +4 -0
- package/src/dist/dataModel/newDataModel.d.ts +1 -0
- package/src/dist/dataModel/utils.d.ts +8 -0
- package/src/dist/frozen/Frozen.d.ts +50 -0
- package/src/dist/frozen/index.d.ts +1 -0
- package/src/dist/globalConfig/globalConfig.d.ts +51 -0
- package/src/dist/globalConfig/index.d.ts +1 -0
- package/src/dist/index.d.ts +23 -0
- package/src/dist/mobx-keystone.umd.js +8201 -0
- package/src/dist/model/BaseModel.d.ts +125 -0
- package/src/dist/model/Model.d.ts +94 -0
- package/src/dist/model/ModelConstructorOptions.d.ts +1 -0
- package/src/dist/model/getModelMetadata.d.ts +27 -0
- package/src/dist/model/index.d.ts +5 -0
- package/src/dist/model/metadata.d.ts +8 -0
- package/src/dist/model/newModel.d.ts +1 -0
- package/src/dist/model/utils.d.ts +8 -0
- package/src/dist/modelShared/BaseModelShared.d.ts +76 -0
- package/src/dist/modelShared/Model.d.ts +15 -0
- package/src/dist/modelShared/checkModelDecoratorArgs.d.ts +1 -0
- package/src/dist/modelShared/index.d.ts +3 -0
- package/src/dist/modelShared/modelClassInitializer.d.ts +1 -0
- package/src/dist/modelShared/modelDecorator.d.ts +24 -0
- package/src/dist/modelShared/modelInfo.d.ts +1 -0
- package/src/dist/modelShared/modelPropsInfo.d.ts +1 -0
- package/src/dist/modelShared/modelSymbols.d.ts +3 -0
- package/src/dist/modelShared/newModel.d.ts +4 -0
- package/src/dist/modelShared/prop.d.ts +179 -0
- package/src/dist/modelShared/utils.d.ts +1 -0
- package/src/dist/parent/core.d.ts +1 -0
- package/src/dist/parent/coreObjectChildren.d.ts +1 -0
- package/src/dist/parent/detach.d.ts +9 -0
- package/src/dist/parent/findChildren.d.ts +13 -0
- package/src/dist/parent/findParent.d.ts +41 -0
- package/src/dist/parent/getChildrenObjects.d.ts +11 -0
- package/src/dist/parent/index.d.ts +9 -0
- package/src/dist/parent/onChildAttachedTo.d.ts +22 -0
- package/src/dist/parent/path.d.ts +107 -0
- package/src/dist/parent/path2.d.ts +16 -0
- package/src/dist/parent/pathTypes.d.ts +12 -0
- package/src/dist/parent/setParent.d.ts +1 -0
- package/src/dist/parent/walkTree.d.ts +25 -0
- package/src/dist/patch/Patch.d.ts +16 -0
- package/src/dist/patch/applyPatches.d.ts +9 -0
- package/src/dist/patch/emitPatch.d.ts +29 -0
- package/src/dist/patch/index.d.ts +5 -0
- package/src/dist/patch/jsonPatch.d.ts +45 -0
- package/src/dist/patch/patchRecorder.d.ts +70 -0
- package/src/dist/redux/connectReduxDevTools.d.ts +12 -0
- package/src/dist/redux/index.d.ts +2 -0
- package/src/dist/redux/redux.d.ts +47 -0
- package/src/dist/ref/Ref.d.ts +53 -0
- package/src/dist/ref/core.d.ts +46 -0
- package/src/dist/ref/customRef.d.ts +38 -0
- package/src/dist/ref/index.d.ts +4 -0
- package/src/dist/ref/rootRef.d.ts +33 -0
- package/src/dist/rootStore/attachDetach.d.ts +1 -0
- package/src/dist/rootStore/index.d.ts +1 -0
- package/src/dist/rootStore/rootStore.d.ts +33 -0
- package/src/dist/snapshot/SnapshotOf.d.ts +47 -0
- package/src/dist/snapshot/SnapshotterAndReconcilerPriority.d.ts +1 -0
- package/src/dist/snapshot/applySnapshot.d.ts +17 -0
- package/src/dist/snapshot/clone.d.ts +18 -0
- package/src/dist/snapshot/fromArraySnapshot.d.ts +1 -0
- package/src/dist/snapshot/fromFrozenSnapshot.d.ts +1 -0
- package/src/dist/snapshot/fromModelSnapshot.d.ts +1 -0
- package/src/dist/snapshot/fromPlainObjectSnapshot.d.ts +1 -0
- package/src/dist/snapshot/fromSnapshot.d.ts +36 -0
- package/src/dist/snapshot/getSnapshot.d.ts +22 -0
- package/src/dist/snapshot/index.d.ts +6 -0
- package/src/dist/snapshot/internal.d.ts +1 -0
- package/src/dist/snapshot/onSnapshot.d.ts +18 -0
- package/src/dist/snapshot/reconcileArraySnapshot.d.ts +1 -0
- package/src/dist/snapshot/reconcileFrozenSnapshot.d.ts +1 -0
- package/src/dist/snapshot/reconcileModelSnapshot.d.ts +1 -0
- package/src/dist/snapshot/reconcilePlainObjectSnapshot.d.ts +1 -0
- package/src/dist/snapshot/reconcileSnapshot.d.ts +1 -0
- package/src/dist/snapshot/registerDefaultReconcilers.d.ts +1 -0
- package/src/dist/snapshot/registerDefaultSnapshotters.d.ts +1 -0
- package/src/dist/standardActions/actions.d.ts +1 -0
- package/src/dist/standardActions/arrayActions.d.ts +18 -0
- package/src/dist/standardActions/index.d.ts +3 -0
- package/src/dist/standardActions/objectActions.d.ts +7 -0
- package/src/dist/standardActions/standaloneActions.d.ts +16 -0
- package/src/dist/transforms/ImmutableDate.d.ts +1 -0
- package/src/dist/transforms/asMap.d.ts +3 -0
- package/src/dist/transforms/asSet.d.ts +2 -0
- package/src/dist/transforms/bigint.d.ts +2 -0
- package/src/dist/transforms/date.d.ts +3 -0
- package/src/dist/transforms/index.d.ts +4 -0
- package/src/dist/treeUtils/deepEquals.d.ts +20 -0
- package/src/dist/treeUtils/draft.d.ts +70 -0
- package/src/dist/treeUtils/index.d.ts +3 -0
- package/src/dist/treeUtils/sandbox.d.ts +85 -0
- package/src/dist/tweaker/TweakerPriority.d.ts +1 -0
- package/src/dist/tweaker/core.d.ts +14 -0
- package/src/dist/tweaker/index.d.ts +2 -0
- package/src/dist/tweaker/registerDefaultTweakers.d.ts +1 -0
- package/src/dist/tweaker/tweak.d.ts +22 -0
- package/src/dist/tweaker/tweakArray.d.ts +1 -0
- package/src/dist/tweaker/tweakFrozen.d.ts +1 -0
- package/src/dist/tweaker/tweakModel.d.ts +1 -0
- package/src/dist/tweaker/tweakPlainObject.d.ts +1 -0
- package/src/dist/tweaker/typeChecking.d.ts +1 -0
- package/src/dist/tweaker/withoutTypeChecking.d.ts +2 -0
- package/src/dist/types/TypeCheckError.d.ts +22 -0
- package/src/dist/types/TypeChecker.d.ts +8 -0
- package/src/dist/types/arrayBased/array.d.ts +23 -0
- package/src/dist/types/arrayBased/tuple.d.ts +24 -0
- package/src/dist/types/getTypeInfo.d.ts +9 -0
- package/src/dist/types/index.d.ts +5 -0
- package/src/dist/types/objectBased/arraySet.d.ts +24 -0
- package/src/dist/types/objectBased/dataModelData.d.ts +44 -0
- package/src/dist/types/objectBased/model.d.ts +43 -0
- package/src/dist/types/objectBased/object.d.ts +63 -0
- package/src/dist/types/objectBased/objectMap.d.ts +24 -0
- package/src/dist/types/objectBased/record.d.ts +24 -0
- package/src/dist/types/objectBased/ref.d.ts +21 -0
- package/src/dist/types/primitiveBased/enum.d.ts +34 -0
- package/src/dist/types/primitiveBased/primitives.d.ts +81 -0
- package/src/dist/types/primitiveBased/refinedPrimitives.d.ts +18 -0
- package/src/dist/types/registerDefaultStandardTypeResolvers.d.ts +1 -0
- package/src/dist/types/resolveTypeChecker.d.ts +1 -0
- package/src/dist/types/schemas.d.ts +53 -0
- package/src/dist/types/tProp.d.ts +92 -0
- package/src/dist/types/typeCheck.d.ts +11 -0
- package/src/dist/types/types.d.ts +51 -0
- package/src/dist/types/utility/maybe.d.ts +29 -0
- package/src/dist/types/utility/or.d.ts +35 -0
- package/src/dist/types/utility/refinement.d.ts +45 -0
- package/src/dist/types/utility/unchecked.d.ts +22 -0
- package/src/dist/utils/ModelPool.d.ts +7 -0
- package/src/dist/utils/chainFns.d.ts +1 -0
- package/src/dist/utils/index.d.ts +6 -0
- package/src/dist/utils/mapUtils.d.ts +2 -0
- package/src/dist/utils/tag.d.ts +13 -0
- package/src/dist/utils/types.d.ts +39 -0
- package/src/dist/wrappers/ArraySet.d.ts +29 -0
- package/src/dist/wrappers/ObjectMap.d.ts +32 -0
- package/src/dist/wrappers/asMap.d.ts +29 -0
- package/src/dist/wrappers/asSet.d.ts +15 -0
- package/src/dist/wrappers/index.d.ts +4 -0
- package/src/model/BaseModel.ts +0 -3
- package/src/model/utils.ts +4 -5
- package/src/modelShared/checkModelDecoratorArgs.ts +6 -6
- package/src/parent/setParent.ts +2 -2
- package/src/rootStore/attachDetach.ts +2 -3
- package/src/snapshot/fromArraySnapshot.ts +11 -6
- package/src/snapshot/fromFrozenSnapshot.ts +11 -6
- package/src/snapshot/fromModelSnapshot.ts +11 -6
- package/src/snapshot/fromPlainObjectSnapshot.ts +11 -6
- package/src/snapshot/fromSnapshot.ts +3 -0
- package/src/snapshot/index.ts +0 -10
- package/src/snapshot/reconcileArraySnapshot.ts +11 -6
- package/src/snapshot/reconcileFrozenSnapshot.ts +11 -6
- package/src/snapshot/reconcileModelSnapshot.ts +11 -6
- package/src/snapshot/reconcilePlainObjectSnapshot.ts +11 -6
- package/src/snapshot/reconcileSnapshot.ts +3 -0
- package/src/snapshot/registerDefaultReconcilers.ts +21 -0
- package/src/snapshot/registerDefaultSnapshotters.ts +21 -0
- package/src/tweaker/index.ts +0 -6
- package/src/tweaker/registerDefaultTweakers.ts +21 -0
- package/src/tweaker/tweak.ts +3 -0
- package/src/tweaker/tweakArray.ts +406 -401
- package/src/tweaker/tweakFrozen.ts +11 -6
- package/src/tweaker/tweakModel.ts +11 -6
- package/src/tweaker/tweakPlainObject.ts +288 -283
- package/src/types/objectBased/model.ts +6 -1
- package/src/types/objectBased/ref.ts +1 -1
- package/src/types/primitiveBased/primitives.ts +177 -166
- package/src/types/registerDefaultStandardTypeResolvers.ts +17 -0
- package/src/types/resolveTypeChecker.ts +7 -1
- package/dist/mobx-keystone.es.js +0 -7856
- package/dist/mobx-keystone.es.mjs +0 -7856
- package/src/dataModel/_BaseDataModel.ts +0 -15
- package/src/model/_BaseModel.ts +0 -15
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import { lazy, failure } from "../../utils/index.mjs";
|
|
8
|
+
import { getTypeInfo } from "../getTypeInfo.mjs";
|
|
9
|
+
import { resolveStandardTypeNoThrow, resolveTypeChecker, resolveStandardType } from "../resolveTypeChecker.mjs";
|
|
10
|
+
import { TypeInfo, lateTypeChecker, TypeChecker, getTypeCheckerBaseTypeFromValue, TypeCheckerBaseType } from "../TypeChecker.mjs";
|
|
11
|
+
import { TypeCheckError } from "../TypeCheckError.mjs";
|
|
12
|
+
import { typesUnchecked } from "./unchecked.mjs";
|
|
13
|
+
function typesOr(dispatcherOrType, ...moreOrTypes) {
|
|
14
|
+
const orTypes = moreOrTypes.slice();
|
|
15
|
+
let finalDispatcher;
|
|
16
|
+
const firstTypeChecker = resolveStandardTypeNoThrow(dispatcherOrType);
|
|
17
|
+
if (firstTypeChecker) {
|
|
18
|
+
orTypes.unshift(firstTypeChecker);
|
|
19
|
+
} else {
|
|
20
|
+
const dispatcher = dispatcherOrType;
|
|
21
|
+
finalDispatcher = (sn) => {
|
|
22
|
+
const type = dispatcher(sn);
|
|
23
|
+
const typeChecker = resolveTypeChecker(type);
|
|
24
|
+
return typeChecker;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (orTypes.length <= 0) {
|
|
28
|
+
throw failure("or type must have at least 1 possible type");
|
|
29
|
+
}
|
|
30
|
+
const typeInfoGen = (t) => new OrTypeInfo(t, orTypes.map(resolveStandardType));
|
|
31
|
+
return lateTypeChecker(() => {
|
|
32
|
+
const checkers = orTypes.map(resolveTypeChecker);
|
|
33
|
+
if (checkers.some((tc) => tc.unchecked)) {
|
|
34
|
+
return typesUnchecked();
|
|
35
|
+
}
|
|
36
|
+
const getTypeName = (...recursiveTypeCheckers) => {
|
|
37
|
+
const typeNames = checkers.map((tc) => {
|
|
38
|
+
if (recursiveTypeCheckers.includes(tc)) {
|
|
39
|
+
return "...";
|
|
40
|
+
}
|
|
41
|
+
return tc.getTypeName(...recursiveTypeCheckers, tc);
|
|
42
|
+
});
|
|
43
|
+
return typeNames.join(" | ");
|
|
44
|
+
};
|
|
45
|
+
let thisTcBaseType;
|
|
46
|
+
if (checkers.some((c) => c.baseType !== checkers[0].baseType)) {
|
|
47
|
+
thisTcBaseType = TypeCheckerBaseType.Any;
|
|
48
|
+
} else {
|
|
49
|
+
thisTcBaseType = checkers[0].baseType;
|
|
50
|
+
}
|
|
51
|
+
const thisTc = new TypeChecker(thisTcBaseType, (value, path) => {
|
|
52
|
+
const someMatchingType = checkers.some((tc) => !tc.check(value, path));
|
|
53
|
+
if (someMatchingType) {
|
|
54
|
+
return null;
|
|
55
|
+
} else {
|
|
56
|
+
return new TypeCheckError(path, getTypeName(thisTc), value);
|
|
57
|
+
}
|
|
58
|
+
}, getTypeName, typeInfoGen, (value) => {
|
|
59
|
+
const valueBaseType = getTypeCheckerBaseTypeFromValue(value);
|
|
60
|
+
const checkerForBaseType = checkers.filter((c) => c.baseType === valueBaseType || c.baseType === TypeCheckerBaseType.Any);
|
|
61
|
+
if (checkerForBaseType.length === 1 && checkerForBaseType[0].baseType === valueBaseType) {
|
|
62
|
+
return checkerForBaseType[0];
|
|
63
|
+
}
|
|
64
|
+
for (let i = 0; i < checkerForBaseType.length; i++) {
|
|
65
|
+
const matchingType = checkerForBaseType[i].snapshotType(value);
|
|
66
|
+
if (matchingType) {
|
|
67
|
+
return matchingType;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return null;
|
|
71
|
+
}, (sn) => {
|
|
72
|
+
const type = finalDispatcher ? finalDispatcher(sn) : thisTc.snapshotType(sn);
|
|
73
|
+
if (!type) {
|
|
74
|
+
throw failure(`snapshot '${JSON.stringify(sn)}' does not match the following type: ${getTypeName(thisTc)}`);
|
|
75
|
+
}
|
|
76
|
+
return type.fromSnapshotProcessor(sn);
|
|
77
|
+
}, (sn) => {
|
|
78
|
+
const type = finalDispatcher ? finalDispatcher(sn) : thisTc.snapshotType(sn);
|
|
79
|
+
if (!type) {
|
|
80
|
+
throw failure(`snapshot '${JSON.stringify(sn)}' does not match the following type: ${getTypeName(thisTc)}`);
|
|
81
|
+
}
|
|
82
|
+
return type.toSnapshotProcessor(sn);
|
|
83
|
+
});
|
|
84
|
+
return thisTc;
|
|
85
|
+
}, typeInfoGen);
|
|
86
|
+
}
|
|
87
|
+
class OrTypeInfo extends TypeInfo {
|
|
88
|
+
constructor(thisType, orTypes) {
|
|
89
|
+
super(thisType);
|
|
90
|
+
__publicField(this, "orTypes");
|
|
91
|
+
__publicField(this, "_orTypeInfos", lazy(() => this.orTypes.map(getTypeInfo)));
|
|
92
|
+
this.orTypes = orTypes;
|
|
93
|
+
}
|
|
94
|
+
get orTypeInfos() {
|
|
95
|
+
return this._orTypeInfos();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
export { OrTypeInfo, typesOr };
|
|
99
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3IubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHlwZXMvdXRpbGl0eS9vci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYWlsdXJlLCBsYXp5IH0gZnJvbSBcIi4uLy4uL3V0aWxzXCJcbmltcG9ydCB7IGdldFR5cGVJbmZvIH0gZnJvbSBcIi4uL2dldFR5cGVJbmZvXCJcbmltcG9ydCB7XG4gIHJlc29sdmVTdGFuZGFyZFR5cGUsXG4gIHJlc29sdmVTdGFuZGFyZFR5cGVOb1Rocm93LFxuICByZXNvbHZlVHlwZUNoZWNrZXIsXG59IGZyb20gXCIuLi9yZXNvbHZlVHlwZUNoZWNrZXJcIlxuaW1wb3J0IHR5cGUgeyBBbnlTdGFuZGFyZFR5cGUsIEFueVR5cGUgfSBmcm9tIFwiLi4vc2NoZW1hc1wiXG5pbXBvcnQge1xuICBnZXRUeXBlQ2hlY2tlckJhc2VUeXBlRnJvbVZhbHVlLFxuICBsYXRlVHlwZUNoZWNrZXIsXG4gIFR5cGVDaGVja2VyLFxuICBUeXBlQ2hlY2tlckJhc2VUeXBlLFxuICBUeXBlSW5mbyxcbiAgVHlwZUluZm9HZW4sXG59IGZyb20gXCIuLi9UeXBlQ2hlY2tlclwiXG5pbXBvcnQgeyBUeXBlQ2hlY2tFcnJvciB9IGZyb20gXCIuLi9UeXBlQ2hlY2tFcnJvclwiXG5pbXBvcnQgeyB0eXBlc1VuY2hlY2tlZCB9IGZyb20gXCIuL3VuY2hlY2tlZFwiXG5cbi8qKlxuICogQSB0eXBlIHRoYXQgcmVwcmVzZW50cyB0aGUgdW5pb24gb2Ygc2V2ZXJhbCBvdGhlciB0eXBlcyAoYSB8IGIgfCBjIHwgLi4uKS5cbiAqIEFjY2VwdHMgYSBkaXNwYXRjaGVyIHRoYXQsIGdpdmVuIGEgc25hcHNob3QsIHJldHVybnMgdGhlIHR5cGVcbiAqIHRoYXQgc25hcHNob3QgaXMuXG4gKlxuICogQHR5cGVwYXJhbSBUIFR5cGUuXG4gKiBAcGFyYW0gZGlzcGF0Y2hlciBGdW5jdGlvbiB0aGF0IGdpdmVuIGEgc25hcHNob3QgcmV0dXJucyB0aGUgdHlwZS5cbiAqIEBwYXJhbSBvclR5cGVzIFBvc3NpYmxlIHR5cGVzLlxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR5cGVzT3I8VCBleHRlbmRzIEFueVR5cGVbXT4oXG4gIGRpc3BhdGNoZXI6IChzbjogYW55KSA9PiBUW251bWJlcl0sXG4gIC4uLm9yVHlwZXM6IFRcbik6IFRbbnVtYmVyXVxuXG4vKipcbiAqIEEgdHlwZSB0aGF0IHJlcHJlc2VudHMgdGhlIHVuaW9uIG9mIHNldmVyYWwgb3RoZXIgdHlwZXMgKGEgfCBiIHwgYyB8IC4uLikuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHRzXG4gKiBjb25zdCBib29sZWFuT3JOdW1iZXJUeXBlID0gdHlwZXMub3IodHlwZXMuYm9vbGVhbiwgdHlwZXMubnVtYmVyKVxuICogYGBgXG4gKlxuICogQHR5cGVwYXJhbSBUIFR5cGUuXG4gKiBAcGFyYW0gb3JUeXBlcyBQb3NzaWJsZSB0eXBlcy5cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0eXBlc09yPFQgZXh0ZW5kcyBBbnlUeXBlW10+KC4uLm9yVHlwZXM6IFQpOiBUW251bWJlcl1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVzT3IoXG4gIGRpc3BhdGNoZXJPclR5cGU6ICgoc246IGFueSkgPT4gQW55VHlwZSkgfCBBbnlUeXBlLFxuICAuLi5tb3JlT3JUeXBlczogQW55VHlwZVtdXG4pOiBBbnlUeXBlIHtcbiAgY29uc3Qgb3JUeXBlcyA9IG1vcmVPclR5cGVzLnNsaWNlKClcbiAgbGV0IGZpbmFsRGlzcGF0Y2hlcjogKChzbjogYW55KSA9PiBUeXBlQ2hlY2tlcikgfCB1bmRlZmluZWRcblxuICBjb25zdCBmaXJzdFR5cGVDaGVja2VyID0gcmVzb2x2ZVN0YW5kYXJkVHlwZU5vVGhyb3coZGlzcGF0Y2hlck9yVHlwZSBhcyBBbnlUeXBlKVxuXG4gIGlmIChmaXJzdFR5cGVDaGVja2VyKSB7XG4gICAgb3JUeXBlcy51bnNoaWZ0KGZpcnN0VHlwZUNoZWNrZXIpXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZGlzcGF0Y2hlciA9IGRpc3BhdGNoZXJPclR5cGUgYXMgKHNuOiBhbnkpID0+IEFueVR5cGVcbiAgICBmaW5hbERpc3BhdGNoZXIgPSAoc246IGFueSkgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IGRpc3BhdGNoZXIoc24pXG4gICAgICBjb25zdCB0eXBlQ2hlY2tlciA9IHJlc29sdmVUeXBlQ2hlY2tlcih0eXBlKVxuICAgICAgcmV0dXJuIHR5cGVDaGVja2VyXG4gICAgfVxuICB9XG5cbiAgaWYgKG9yVHlwZXMubGVuZ3RoIDw9IDApIHtcbiAgICB0aHJvdyBmYWlsdXJlKFwib3IgdHlwZSBtdXN0IGhhdmUgYXQgbGVhc3QgMSBwb3NzaWJsZSB0eXBlXCIpXG4gIH1cblxuICBjb25zdCB0eXBlSW5mb0dlbjogVHlwZUluZm9HZW4gPSAodCkgPT4gbmV3IE9yVHlwZUluZm8odCwgb3JUeXBlcy5tYXAocmVzb2x2ZVN0YW5kYXJkVHlwZSkpXG5cbiAgcmV0dXJuIGxhdGVUeXBlQ2hlY2tlcigoKSA9PiB7XG4gICAgY29uc3QgY2hlY2tlcnMgPSBvclR5cGVzLm1hcChyZXNvbHZlVHlwZUNoZWNrZXIpXG5cbiAgICAvLyBpZiB0aGUgb3IgaW5jbHVkZXMgdW5jaGVja2VkIHRoZW4gaXQgaXMgdW5jaGVja2VkXG4gICAgaWYgKGNoZWNrZXJzLnNvbWUoKHRjKSA9PiB0Yy51bmNoZWNrZWQpKSB7XG4gICAgICByZXR1cm4gdHlwZXNVbmNoZWNrZWQoKSBhcyBhbnlcbiAgICB9XG5cbiAgICBjb25zdCBnZXRUeXBlTmFtZSA9ICguLi5yZWN1cnNpdmVUeXBlQ2hlY2tlcnM6IFR5cGVDaGVja2VyW10pID0+IHtcbiAgICAgIGNvbnN0IHR5cGVOYW1lcyA9IGNoZWNrZXJzLm1hcCgodGMpID0+IHtcbiAgICAgICAgaWYgKHJlY3Vyc2l2ZVR5cGVDaGVja2Vycy5pbmNsdWRlcyh0YykpIHtcbiAgICAgICAgICByZXR1cm4gXCIuLi5cIlxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0Yy5nZXRUeXBlTmFtZSguLi5yZWN1cnNpdmVUeXBlQ2hlY2tlcnMsIHRjKVxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIHR5cGVOYW1lcy5qb2luKFwiIHwgXCIpXG4gICAgfVxuXG4gICAgbGV0IHRoaXNUY0Jhc2VUeXBlOiBUeXBlQ2hlY2tlckJhc2VUeXBlXG4gICAgaWYgKGNoZWNrZXJzLnNvbWUoKGMpID0+IGMuYmFzZVR5cGUgIT09IGNoZWNrZXJzWzBdLmJhc2VUeXBlKSkge1xuICAgICAgdGhpc1RjQmFzZVR5cGUgPSBUeXBlQ2hlY2tlckJhc2VUeXBlLkFueVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzVGNCYXNlVHlwZSA9IGNoZWNrZXJzWzBdLmJhc2VUeXBlXG4gICAgfVxuXG4gICAgY29uc3QgdGhpc1RjOiBUeXBlQ2hlY2tlciA9IG5ldyBUeXBlQ2hlY2tlcihcbiAgICAgIHRoaXNUY0Jhc2VUeXBlLFxuXG4gICAgICAodmFsdWUsIHBhdGgpID0+IHtcbiAgICAgICAgY29uc3Qgc29tZU1hdGNoaW5nVHlwZSA9IGNoZWNrZXJzLnNvbWUoKHRjKSA9PiAhdGMuY2hlY2sodmFsdWUsIHBhdGgpKVxuICAgICAgICBpZiAoc29tZU1hdGNoaW5nVHlwZSkge1xuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBUeXBlQ2hlY2tFcnJvcihwYXRoLCBnZXRUeXBlTmFtZSh0aGlzVGMpLCB2YWx1ZSlcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgZ2V0VHlwZU5hbWUsXG4gICAgICB0eXBlSW5mb0dlbixcblxuICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlQmFzZVR5cGUgPSBnZXRUeXBlQ2hlY2tlckJhc2VUeXBlRnJvbVZhbHVlKHZhbHVlKVxuXG4gICAgICAgIGNvbnN0IGNoZWNrZXJGb3JCYXNlVHlwZSA9IGNoZWNrZXJzLmZpbHRlcihcbiAgICAgICAgICAoYykgPT4gYy5iYXNlVHlwZSA9PT0gdmFsdWVCYXNlVHlwZSB8fCBjLmJhc2VUeXBlID09PSBUeXBlQ2hlY2tlckJhc2VUeXBlLkFueVxuICAgICAgICApXG5cbiAgICAgICAgaWYgKGNoZWNrZXJGb3JCYXNlVHlwZS5sZW5ndGggPT09IDEgJiYgY2hlY2tlckZvckJhc2VUeXBlWzBdLmJhc2VUeXBlID09PSB2YWx1ZUJhc2VUeXBlKSB7XG4gICAgICAgICAgLy8gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB2YWxpZCBvcHRpb24gYWNjZXB0IGl0IHdpdGhvdXQgYXNraW5nXG4gICAgICAgICAgLy8gdGhpcyBpcyBkb25lIGJlY2F1c2U6XG4gICAgICAgICAgLy8gMSkgcGVyZm9ybWFuY2UgKGF2b2lkIGNoZWNraW5nIHN0cnVjdHVyZSBpZiBub3QgbmVlZGVkKVxuICAgICAgICAgIC8vIDIpIHNvIHdlIGNhbiBhY2NlcHQgdW50eXBlZCBtb2RlbHMgd2hlbiBwYWlyZWQgd2l0aCB1bmRlZmluZWQgfCBudWxsXG4gICAgICAgICAgcmV0dXJuIGNoZWNrZXJGb3JCYXNlVHlwZVswXVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGVja2VyRm9yQmFzZVR5cGUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBtYXRjaGluZ1R5cGUgPSBjaGVja2VyRm9yQmFzZVR5cGVbaV0uc25hcHNob3RUeXBlKHZhbHVlKVxuICAgICAgICAgIGlmIChtYXRjaGluZ1R5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaGluZ1R5cGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfSxcblxuICAgICAgKHNuKSA9PiB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBmaW5hbERpc3BhdGNoZXIgPyBmaW5hbERpc3BhdGNoZXIoc24pIDogdGhpc1RjLnNuYXBzaG90VHlwZShzbilcbiAgICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgICAgdGhyb3cgZmFpbHVyZShcbiAgICAgICAgICAgIGBzbmFwc2hvdCAnJHtKU09OLnN0cmluZ2lmeShzbil9JyBkb2VzIG5vdCBtYXRjaCB0aGUgZm9sbG93aW5nIHR5cGU6ICR7Z2V0VHlwZU5hbWUoXG4gICAgICAgICAgICAgIHRoaXNUY1xuICAgICAgICAgICAgKX1gXG4gICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHR5cGUuZnJvbVNuYXBzaG90UHJvY2Vzc29yKHNuKVxuICAgICAgfSxcblxuICAgICAgKHNuKSA9PiB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBmaW5hbERpc3BhdGNoZXIgPyBmaW5hbERpc3BhdGNoZXIoc24pIDogdGhpc1RjLnNuYXBzaG90VHlwZShzbilcbiAgICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgICAgdGhyb3cgZmFpbHVyZShcbiAgICAgICAgICAgIGBzbmFwc2hvdCAnJHtKU09OLnN0cmluZ2lmeShzbil9JyBkb2VzIG5vdCBtYXRjaCB0aGUgZm9sbG93aW5nIHR5cGU6ICR7Z2V0VHlwZU5hbWUoXG4gICAgICAgICAgICAgIHRoaXNUY1xuICAgICAgICAgICAgKX1gXG4gICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHR5cGUudG9TbmFwc2hvdFByb2Nlc3NvcihzbilcbiAgICAgIH1cbiAgICApXG5cbiAgICByZXR1cm4gdGhpc1RjXG4gIH0sIHR5cGVJbmZvR2VuKSBhcyBhbnlcbn1cblxuLyoqXG4gKiBgdHlwZXMub3JgIHR5cGUgaW5mby5cbiAqL1xuZXhwb3J0IGNsYXNzIE9yVHlwZUluZm8gZXh0ZW5kcyBUeXBlSW5mbyB7XG4gIC8vIG1lbW9pemUgdG8gYWx3YXlzIHJldHVybiB0aGUgc2FtZSBhcnJheSBvbiB0aGUgZ2V0dGVyXG4gIHByaXZhdGUgX29yVHlwZUluZm9zID0gbGF6eSgoKSA9PiB0aGlzLm9yVHlwZXMubWFwKGdldFR5cGVJbmZvKSlcblxuICBnZXQgb3JUeXBlSW5mb3MoKTogUmVhZG9ubHlBcnJheTxUeXBlSW5mbz4ge1xuICAgIHJldHVybiB0aGlzLl9vclR5cGVJbmZvcygpXG4gIH1cblxuICBjb25zdHJ1Y3Rvcih0aGlzVHlwZTogQW55U3RhbmRhcmRUeXBlLCByZWFkb25seSBvclR5cGVzOiBSZWFkb25seUFycmF5PEFueVN0YW5kYXJkVHlwZT4pIHtcbiAgICBzdXBlcih0aGlzVHlwZSlcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztpQkFpREUscUJBQ0c7UUFFRyxVQUFVLFlBQVk7TUFDeEI7UUFFRSxtQkFBbUIsMkJBQTJCLGdCQUEyQjtNQUUzRSxrQkFBa0I7WUFDWixRQUFRLGdCQUFnQjtBQUFBLFNBQzNCO1VBQ0MsYUFBYTtzQkFDRCxDQUFDO1lBQ1gsT0FBTyxXQUFXLEVBQUU7WUFDcEIsY0FBYyxtQkFBbUIsSUFBSTthQUNwQztBQUFBOztNQUlQLFFBQVEsVUFBVSxHQUFHO1VBQ2pCLFFBQVEsNENBQTRDO0FBQUE7UUFHdEQsY0FBMkIsQ0FBQyxNQUFNLElBQUksV0FBVyxHQUFHLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQztTQUVuRixnQkFBZ0I7VUFDZixXQUFXLFFBQVEsSUFBSSxrQkFBa0I7UUFHM0MsU0FBUyxLQUFLLENBQUMsT0FBTyxHQUFHLFNBQVMsR0FBRzthQUNoQzs7VUFHSCxjQUFjLElBQUk7WUFDaEIsWUFBWSxTQUFTLElBQUksQ0FBQztZQUMxQixzQkFBc0IsU0FBUyxFQUFFLEdBQUc7aUJBQy9CO0FBQUE7ZUFFRixHQUFHLFlBQVksR0FBRyx1QkFBdUIsRUFBRTtBQUFBLE9BQ25EO2FBRU0sVUFBVSxLQUFLLEtBQUs7QUFBQTtRQUd6QjtRQUNBLFNBQVMsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLFNBQVMsR0FBRyxRQUFRLEdBQUc7dUJBQzVDLG9CQUFvQjtBQUFBLFdBQ2hDO3VCQUNZLFNBQVMsR0FBRztBQUFBO1VBR3pCLFNBQXNCLElBQUksWUFDOUIsZ0JBRUEsQ0FBQyxPQUFPO1lBQ0EsbUJBQW1CLFNBQVMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sT0FBTyxJQUFJLENBQUM7VUFDakUsa0JBQWtCO2VBQ2I7QUFBQSxhQUNGO2VBQ0UsSUFBSSxlQUFlLE1BQU0sWUFBWSxNQUFNLEdBQUcsS0FBSztBQUFBO09BSTlELGFBQ0EsYUFFQSxDQUFDO1lBQ08sZ0JBQWdCLGdDQUFnQyxLQUFLO1lBRXJELHFCQUFxQixTQUFTLE9BQ2xDLENBQUMsTUFBTSxFQUFFLGFBQWEsaUJBQWlCLEVBQUUsYUFBYSxvQkFBb0IsR0FBRztVQUczRSxtQkFBbUIsV0FBVyxLQUFLLG1CQUFtQixHQUFHLGFBQWEsZUFBZTtlQUtoRixtQkFBbUI7QUFBQTtlQUduQixJQUFJLEdBQUcsSUFBSSxtQkFBbUIsUUFBUSxLQUFLO2NBQzVDLGVBQWUsbUJBQW1CLEdBQUcsYUFBYSxLQUFLO1lBQ3pELGNBQWM7aUJBQ1Q7QUFBQTs7YUFJSjtBQUFBLE9BR1QsQ0FBQztZQUNPLE9BQU8sa0JBQWtCLGdCQUFnQixFQUFFLElBQUksT0FBTyxhQUFhLEVBQUU7VUFDdkUsQ0FBQyxNQUFNO2NBQ0gsUUFDSixhQUFhLEtBQUssVUFBVSxFQUFFLHlDQUF5QyxZQUNyRSxNQUFNLEdBQ0w7QUFBQTthQUlBLEtBQUssc0JBQXNCLEVBQUU7QUFBQSxPQUd0QyxDQUFDO1lBQ08sT0FBTyxrQkFBa0IsZ0JBQWdCLEVBQUUsSUFBSSxPQUFPLGFBQWEsRUFBRTtVQUN2RSxDQUFDLE1BQU07Y0FDSCxRQUNKLGFBQWEsS0FBSyxVQUFVLEVBQUUseUNBQXlDLFlBQ3JFLE1BQU0sR0FDTDtBQUFBO2FBSUEsS0FBSyxvQkFBb0IsRUFBRTtBQUFBLEtBQ25DO1dBR0k7QUFBQSxLQUNOLFdBQVc7QUFDaEI7TUFLYSxtQkFBbUI7RUFROUIsWUFBWSxVQUFvQztVQUN4QyxRQUFRO0FBRGdDO0FBTnhDLHdDQUFlLEtBQUssTUFBTSxLQUFLLFFBQVEsSUFBSSxXQUFXLENBQUM7bUJBTWY7QUFBQTtNQUo1QztXQUNLLEtBQUs7Ozs7In0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import { getTypeInfo } from "../getTypeInfo.mjs";
|
|
8
|
+
import { resolveTypeChecker, resolveStandardType } from "../resolveTypeChecker.mjs";
|
|
9
|
+
import { lateTypeChecker, TypeChecker, TypeInfo } from "../TypeChecker.mjs";
|
|
10
|
+
import { TypeCheckError } from "../TypeCheckError.mjs";
|
|
11
|
+
function typesRefinement(baseType, checkFn, typeName) {
|
|
12
|
+
const typeInfoGen = (t) => new RefinementTypeInfo(t, resolveStandardType(baseType), checkFn, typeName);
|
|
13
|
+
return lateTypeChecker(() => {
|
|
14
|
+
const baseChecker = resolveTypeChecker(baseType);
|
|
15
|
+
const getTypeName = (...recursiveTypeCheckers) => {
|
|
16
|
+
const baseTypeName = baseChecker.getTypeName(...recursiveTypeCheckers, baseChecker);
|
|
17
|
+
const refinementName = typeName || "refinementOf";
|
|
18
|
+
return `${refinementName}<${baseTypeName}>`;
|
|
19
|
+
};
|
|
20
|
+
const thisTc = new TypeChecker(baseChecker.baseType, (data, path) => {
|
|
21
|
+
const baseErr = baseChecker.check(data, path);
|
|
22
|
+
if (baseErr) {
|
|
23
|
+
return baseErr;
|
|
24
|
+
}
|
|
25
|
+
const refinementErr = checkFn(data);
|
|
26
|
+
if (refinementErr === true) {
|
|
27
|
+
return null;
|
|
28
|
+
} else if (refinementErr === false) {
|
|
29
|
+
return new TypeCheckError(path, getTypeName(thisTc), data);
|
|
30
|
+
} else {
|
|
31
|
+
return refinementErr != null ? refinementErr : null;
|
|
32
|
+
}
|
|
33
|
+
}, getTypeName, typeInfoGen, (sn) => baseChecker.snapshotType(sn), (sn) => baseChecker.fromSnapshotProcessor(sn), (sn) => baseChecker.toSnapshotProcessor(sn));
|
|
34
|
+
return thisTc;
|
|
35
|
+
}, typeInfoGen);
|
|
36
|
+
}
|
|
37
|
+
class RefinementTypeInfo extends TypeInfo {
|
|
38
|
+
constructor(thisType, baseType, checkFunction, typeName) {
|
|
39
|
+
super(thisType);
|
|
40
|
+
__publicField(this, "baseType");
|
|
41
|
+
__publicField(this, "checkFunction");
|
|
42
|
+
__publicField(this, "typeName");
|
|
43
|
+
this.baseType = baseType;
|
|
44
|
+
this.checkFunction = checkFunction;
|
|
45
|
+
this.typeName = typeName;
|
|
46
|
+
}
|
|
47
|
+
get baseTypeInfo() {
|
|
48
|
+
return getTypeInfo(this.baseType);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export { RefinementTypeInfo, typesRefinement };
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmaW5lbWVudC5tanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90eXBlcy91dGlsaXR5L3JlZmluZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0VHlwZUluZm8gfSBmcm9tIFwiLi4vZ2V0VHlwZUluZm9cIlxyXG5pbXBvcnQgeyByZXNvbHZlU3RhbmRhcmRUeXBlLCByZXNvbHZlVHlwZUNoZWNrZXIgfSBmcm9tIFwiLi4vcmVzb2x2ZVR5cGVDaGVja2VyXCJcclxuaW1wb3J0IHR5cGUgeyBBbnlTdGFuZGFyZFR5cGUsIEFueVR5cGUsIFR5cGVUb0RhdGEgfSBmcm9tIFwiLi4vc2NoZW1hc1wiXHJcbmltcG9ydCB7IGxhdGVUeXBlQ2hlY2tlciwgVHlwZUNoZWNrZXIsIFR5cGVJbmZvLCBUeXBlSW5mb0dlbiB9IGZyb20gXCIuLi9UeXBlQ2hlY2tlclwiXHJcbmltcG9ydCB7IFR5cGVDaGVja0Vycm9yIH0gZnJvbSBcIi4uL1R5cGVDaGVja0Vycm9yXCJcclxuXHJcbi8qKlxyXG4gKiBBIHJlZmluZW1lbnQgb3ZlciBhIGdpdmVuIHR5cGUuIFRoaXMgYWxsb3dzIHlvdSB0byBkbyBleHRyYSBjaGVja3NcclxuICogb3ZlciBtb2RlbHMsIGVuc3VyZSBudW1iZXJzIGFyZSBpbnRlZ2VycywgZXRjLlxyXG4gKlxyXG4gKiBFeGFtcGxlOlxyXG4gKiBgYGB0c1xyXG4gKiBjb25zdCBpbnRlZ2VyVHlwZSA9IHR5cGVzLnJlZmluZW1lbnQodHlwZXMubnVtYmVyLCAobikgPT4ge1xyXG4gKiAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKG4pXHJcbiAqIH0sIFwiaW50ZWdlclwiKVxyXG4gKlxyXG4gKiBjb25zdCBzdW1Nb2RlbFR5cGUgPSB0eXBlcy5yZWZpbmVtZW50KHR5cGVzLm1vZGVsKFN1bSksIChzdW0pID0+IHtcclxuICogICAvLyBpbWFnaW5lIHRoYXQgZm9yIHNvbWUgcmVhc29uIHN1bSBpbmNsdWRlcyBhIG51bWJlciAnYScsIGEgbnVtYmVyICdiJ1xyXG4gKiAgIC8vIGFuZCB0aGUgcmVzdWx0XHJcbiAqXHJcbiAqICAgY29uc3QgcmlnaHRSZXN1bHQgPSBzdW0uYSArIHN1bS5iID09PSBzdW0ucmVzdWx0XHJcbiAqXHJcbiAqICAgLy8gc2ltcGxlIG1vZGUgdGhhdCB3aWxsIGp1c3QgcmV0dXJuIHRoYXQgdGhlIHdob2xlIG1vZGVsIGlzIGluY29ycmVjdFxyXG4gKiAgIHJldHVybiByaWdodFJlc3VsdFxyXG4gKlxyXG4gKiAgIC8vIHRoaXMgd2lsbCByZXR1cm4gdGhhdCB0aGUgcmVzdWx0IGZpZWxkIGlzIHdyb25nXHJcbiAqICAgcmV0dXJuIHJpZ2h0UmVzdWx0ID8gbnVsbCA6IG5ldyBUeXBlQ2hlY2tFcnJvcihbXCJyZXN1bHRcIl0sIFwiYStiXCIsIHN1bS5yZXN1bHQpXHJcbiAqIH0pXHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAdHlwZXBhcmFtIFQgQmFzZSB0eXBlLlxyXG4gKiBAcGFyYW0gYmFzZVR5cGUgQmFzZSB0eXBlLlxyXG4gKiBAcGFyYW0gY2hlY2tGbiBGdW5jdGlvbiB0aGF0IHdpbGwgcmVjZWl2ZSB0aGUgZGF0YSAoaWYgaXQgcGFzc2VzIHRoZSBiYXNlIHR5cGVcclxuICogY2hlY2spIGFuZCByZXR1cm4gbnVsbCBvciBmYWxzZSBpZiB0aGVyZSB3ZXJlIG5vIGVycm9ycyBvciBlaXRoZXIgYSBUeXBlQ2hlY2tFcnJvciBpbnN0YW5jZSBvclxyXG4gKiB0cnVlIGlmIHRoZXJlIHdlcmUuXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdHlwZXNSZWZpbmVtZW50PFQgZXh0ZW5kcyBBbnlUeXBlPihcclxuICBiYXNlVHlwZTogVCxcclxuICBjaGVja0ZuOiAoZGF0YTogVHlwZVRvRGF0YTxUPikgPT4gVHlwZUNoZWNrRXJyb3IgfCBudWxsIHwgYm9vbGVhbixcclxuICB0eXBlTmFtZT86IHN0cmluZ1xyXG4pOiBUIHtcclxuICBjb25zdCB0eXBlSW5mb0dlbjogVHlwZUluZm9HZW4gPSAodCkgPT5cclxuICAgIG5ldyBSZWZpbmVtZW50VHlwZUluZm8odCwgcmVzb2x2ZVN0YW5kYXJkVHlwZShiYXNlVHlwZSksIGNoZWNrRm4sIHR5cGVOYW1lKVxyXG5cclxuICByZXR1cm4gbGF0ZVR5cGVDaGVja2VyKCgpID0+IHtcclxuICAgIGNvbnN0IGJhc2VDaGVja2VyID0gcmVzb2x2ZVR5cGVDaGVja2VyKGJhc2VUeXBlKVxyXG5cclxuICAgIGNvbnN0IGdldFR5cGVOYW1lID0gKC4uLnJlY3Vyc2l2ZVR5cGVDaGVja2VyczogVHlwZUNoZWNrZXJbXSkgPT4ge1xyXG4gICAgICBjb25zdCBiYXNlVHlwZU5hbWUgPSBiYXNlQ2hlY2tlci5nZXRUeXBlTmFtZSguLi5yZWN1cnNpdmVUeXBlQ2hlY2tlcnMsIGJhc2VDaGVja2VyKVxyXG4gICAgICBjb25zdCByZWZpbmVtZW50TmFtZSA9IHR5cGVOYW1lIHx8IFwicmVmaW5lbWVudE9mXCJcclxuICAgICAgcmV0dXJuIGAke3JlZmluZW1lbnROYW1lfTwke2Jhc2VUeXBlTmFtZX0+YFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRoaXNUYzogVHlwZUNoZWNrZXIgPSBuZXcgVHlwZUNoZWNrZXIoXHJcbiAgICAgIGJhc2VDaGVja2VyLmJhc2VUeXBlLFxyXG5cclxuICAgICAgKGRhdGEsIHBhdGgpID0+IHtcclxuICAgICAgICBjb25zdCBiYXNlRXJyID0gYmFzZUNoZWNrZXIuY2hlY2soZGF0YSwgcGF0aClcclxuICAgICAgICBpZiAoYmFzZUVycikge1xyXG4gICAgICAgICAgcmV0dXJuIGJhc2VFcnJcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlZmluZW1lbnRFcnIgPSBjaGVja0ZuKGRhdGEpXHJcblxyXG4gICAgICAgIGlmIChyZWZpbmVtZW50RXJyID09PSB0cnVlKSB7XHJcbiAgICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgICAgIH0gZWxzZSBpZiAocmVmaW5lbWVudEVyciA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgIHJldHVybiBuZXcgVHlwZUNoZWNrRXJyb3IocGF0aCwgZ2V0VHlwZU5hbWUodGhpc1RjKSwgZGF0YSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHJlZmluZW1lbnRFcnIgPz8gbnVsbFxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuXHJcbiAgICAgIGdldFR5cGVOYW1lLFxyXG4gICAgICB0eXBlSW5mb0dlbixcclxuXHJcbiAgICAgIC8vIHdlIGNhbm5vdCBjaGVjayByZWZpbmVtZW50IGhlcmUgc2luY2UgaXQgY2hlY2tzIGRhdGEgaW5zdGFuY2VzLCBub3Qgc25hcHNob3RzXHJcbiAgICAgIChzbikgPT4gYmFzZUNoZWNrZXIuc25hcHNob3RUeXBlKHNuKSxcclxuXHJcbiAgICAgIChzbikgPT4gYmFzZUNoZWNrZXIuZnJvbVNuYXBzaG90UHJvY2Vzc29yKHNuKSxcclxuICAgICAgKHNuKSA9PiBiYXNlQ2hlY2tlci50b1NuYXBzaG90UHJvY2Vzc29yKHNuKVxyXG4gICAgKVxyXG5cclxuICAgIHJldHVybiB0aGlzVGNcclxuICB9LCB0eXBlSW5mb0dlbikgYXMgYW55XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBgdHlwZXMucmVmaW5lbWVudGAgdHlwZSBpbmZvLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFJlZmluZW1lbnRUeXBlSW5mbyBleHRlbmRzIFR5cGVJbmZvIHtcclxuICBnZXQgYmFzZVR5cGVJbmZvKCk6IFR5cGVJbmZvIHtcclxuICAgIHJldHVybiBnZXRUeXBlSW5mbyh0aGlzLmJhc2VUeXBlKVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB0aGlzVHlwZTogQW55U3RhbmRhcmRUeXBlLFxyXG4gICAgcmVhZG9ubHkgYmFzZVR5cGU6IEFueVN0YW5kYXJkVHlwZSxcclxuICAgIHJlYWRvbmx5IGNoZWNrRnVuY3Rpb246IChkYXRhOiBhbnkpID0+IFR5cGVDaGVja0Vycm9yIHwgbnVsbCB8IGJvb2xlYW4sXHJcbiAgICByZWFkb25seSB0eXBlTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0aGlzVHlwZSlcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7eUJBc0NFLFVBQ0EsU0FDQTtRQUVNLGNBQTJCLENBQUMsTUFDaEMsSUFBSSxtQkFBbUIsR0FBRyxvQkFBb0IsUUFBUSxHQUFHLFNBQVMsUUFBUTtTQUVyRSxnQkFBZ0I7VUFDZixjQUFjLG1CQUFtQixRQUFRO1VBRXpDLGNBQWMsSUFBSTtZQUNoQixlQUFlLFlBQVksWUFBWSxHQUFHLHVCQUF1QixXQUFXO1lBQzVFLGlCQUFpQixZQUFZO2FBQzVCLEdBQUcsa0JBQWtCO0FBQUE7VUFHeEIsU0FBc0IsSUFBSSxZQUM5QixZQUFZLFVBRVosQ0FBQyxNQUFNO1lBQ0MsVUFBVSxZQUFZLE1BQU0sTUFBTSxJQUFJO1VBQ3hDLFNBQVM7ZUFDSjtBQUFBO1lBR0gsZ0JBQWdCLFFBQVEsSUFBSTtVQUU5QixrQkFBa0IsTUFBTTtlQUNuQjtBQUFBLGlCQUNFLGtCQUFrQixPQUFPO2VBQzNCLElBQUksZUFBZSxNQUFNLFlBQVksTUFBTSxHQUFHLElBQUk7QUFBQSxhQUNwRDtlQUNFLHdDQUFpQjtBQUFBO09BSTVCLGFBQ0EsYUFHQSxDQUFDLE9BQU8sWUFBWSxhQUFhLEVBQUUsR0FFbkMsQ0FBQyxPQUFPLFlBQVksc0JBQXNCLEVBQUUsR0FDNUMsQ0FBQyxPQUFPLFlBQVksb0JBQW9CLEVBQUUsQ0FBQztXQUd0QztBQUFBLEtBQ04sV0FBVztBQUNoQjtNQUthLDJCQUEyQjtFQUt0QyxZQUNFLFVBQ1MsVUFDQSxlQUNBO1VBRUgsUUFBUTtBQUpMO0FBQ0E7QUFDQTtvQkFGQTt5QkFDQTtvQkFDQTtBQUFBO01BUlA7V0FDSyxZQUFZLEtBQUssUUFBUTtBQUFBOzs7In0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { identityFn } from "../../utils/index.mjs";
|
|
2
|
+
import { TypeChecker, TypeCheckerBaseType, TypeInfo } from "../TypeChecker.mjs";
|
|
3
|
+
const unchecked = new TypeChecker(TypeCheckerBaseType.Any, null, () => "any", (t) => new UncheckedTypeInfo(t), () => unchecked, identityFn, identityFn);
|
|
4
|
+
function typesUnchecked() {
|
|
5
|
+
return unchecked;
|
|
6
|
+
}
|
|
7
|
+
class UncheckedTypeInfo extends TypeInfo {
|
|
8
|
+
}
|
|
9
|
+
export { UncheckedTypeInfo, typesUnchecked };
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5jaGVja2VkLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3R5cGVzL3V0aWxpdHkvdW5jaGVja2VkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlkZW50aXR5Rm4gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIlxyXG5pbXBvcnQgdHlwZSB7IElkZW50aXR5VHlwZSB9IGZyb20gXCIuLi9zY2hlbWFzXCJcclxuaW1wb3J0IHsgVHlwZUNoZWNrZXIsIFR5cGVDaGVja2VyQmFzZVR5cGUsIFR5cGVJbmZvIH0gZnJvbSBcIi4uL1R5cGVDaGVja2VyXCJcclxuXHJcbmNvbnN0IHVuY2hlY2tlZDogSWRlbnRpdHlUeXBlPGFueT4gPSBuZXcgVHlwZUNoZWNrZXIoXHJcbiAgVHlwZUNoZWNrZXJCYXNlVHlwZS5BbnksXHJcbiAgbnVsbCxcclxuICAoKSA9PiBcImFueVwiLFxyXG4gICh0KSA9PiBuZXcgVW5jaGVja2VkVHlwZUluZm8odCksXHJcblxyXG4gICgpID0+IHVuY2hlY2tlZCBhcyBhbnksXHJcblxyXG4gIGlkZW50aXR5Rm4sXHJcbiAgaWRlbnRpdHlGblxyXG4pIGFzIGFueVxyXG5cclxuLyoqXHJcbiAqIEEgdHlwZSB0aGF0IHJlcHJlc2VudHMgYSBnaXZlbiB2YWx1ZSB0aGF0IHdvbid0IGJlIHR5cGUgY2hlY2tlZC5cclxuICogVGhpcyBpcyBiYXNpY2FsbHkgYSB3YXkgdG8gYmFpbCBvdXQgb2YgdGhlIHJ1bnRpbWUgdHlwZSBjaGVja2luZyBzeXN0ZW0uXHJcbiAqXHJcbiAqIEV4YW1wbGU6XHJcbiAqIGBgYHRzXHJcbiAqIGNvbnN0IHVuY2hlY2tlZFNvbWVNb2RlbCA9IHR5cGVzLnVuY2hlY2tlZDxTb21lTW9kZWw+KClcclxuICogY29uc3QgYW55VHlwZSA9IHR5cGVzLnVuY2hlY2tlZDxhbnk+KClcclxuICogY29uc3QgY3VzdG9tVW5jaGVja2VkVHlwZSA9IHR5cGVzLnVuY2hlY2tlZDwoQSAmIEIpIHwgQz4oKVxyXG4gKiBgYGBcclxuICpcclxuICogQHR5cGVwYXJhbSBUIFR5cGUgb2YgdGhlIHZhbHVlLCBvciB1bmtvd24gaWYgbm90IGdpdmVuLlxyXG4gKiBAcmV0dXJuc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVzVW5jaGVja2VkPFQgPSBuZXZlcj4oKTogSWRlbnRpdHlUeXBlPFQ+IHtcclxuICByZXR1cm4gdW5jaGVja2VkXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBgdHlwZXMudW5jaGVja2VkYCB0eXBlIGluZm8uXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVW5jaGVja2VkVHlwZUluZm8gZXh0ZW5kcyBUeXBlSW5mbyB7fVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxNQUFNLFlBQStCLElBQUksWUFDdkMsb0JBQW9CLEtBQ3BCLE1BQ0EsTUFBTSxPQUNOLENBQUMsTUFBTSxJQUFJLGtCQUFrQixDQUFDLEdBRTlCLE1BQU0sV0FFTixZQUNBLFVBQVU7O1NBa0JIO0FBQ1Q7TUFLYSwwQkFBMEI7OzsifQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import { getModelIdPropertyName } from "../model/getModelMetadata.mjs";
|
|
8
|
+
import { modelIdKey, modelTypeKey } from "../model/metadata.mjs";
|
|
9
|
+
import { isModel, isModelSnapshot } from "../model/utils.mjs";
|
|
10
|
+
import { getModelInfoForName } from "../modelShared/modelInfo.mjs";
|
|
11
|
+
import { dataObjectParent } from "../parent/core.mjs";
|
|
12
|
+
import { registerDeepObjectChildrenExtension, getDeepObjectChildren } from "../parent/coreObjectChildren.mjs";
|
|
13
|
+
function byModelTypeAndIdKey(modelType, modelId) {
|
|
14
|
+
return modelType + " " + modelId;
|
|
15
|
+
}
|
|
16
|
+
class ModelPool {
|
|
17
|
+
constructor(root) {
|
|
18
|
+
__publicField(this, "pool");
|
|
19
|
+
var _a;
|
|
20
|
+
root = (_a = dataObjectParent.get(root)) != null ? _a : root;
|
|
21
|
+
this.pool = getDeepChildrenModels(getDeepObjectChildren(root));
|
|
22
|
+
}
|
|
23
|
+
findModelByTypeAndId(modelType, modelId) {
|
|
24
|
+
return modelId ? this.pool.get(byModelTypeAndIdKey(modelType, modelId)) : void 0;
|
|
25
|
+
}
|
|
26
|
+
findModelForSnapshot(sn) {
|
|
27
|
+
if (!isModelSnapshot(sn)) {
|
|
28
|
+
return void 0;
|
|
29
|
+
}
|
|
30
|
+
const modelType = sn[modelTypeKey];
|
|
31
|
+
const modelInfo = getModelInfoForName(modelType);
|
|
32
|
+
const modelIdPropertyName = getModelIdPropertyName(modelInfo.class);
|
|
33
|
+
return modelIdPropertyName ? this.findModelByTypeAndId(sn[modelTypeKey], sn[modelIdPropertyName]) : void 0;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const getDeepChildrenModels = registerDeepObjectChildrenExtension({
|
|
37
|
+
initData() {
|
|
38
|
+
return /* @__PURE__ */ new Map();
|
|
39
|
+
},
|
|
40
|
+
addNode(node, data) {
|
|
41
|
+
if (isModel(node)) {
|
|
42
|
+
const id = node[modelIdKey];
|
|
43
|
+
if (id) {
|
|
44
|
+
data.set(byModelTypeAndIdKey(node[modelTypeKey], id), node);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
export { ModelPool };
|
|
50
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxQb29sLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL01vZGVsUG9vbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFueU1vZGVsIH0gZnJvbSBcIi4uL21vZGVsL0Jhc2VNb2RlbFwiXG5pbXBvcnQgeyBnZXRNb2RlbElkUHJvcGVydHlOYW1lIH0gZnJvbSBcIi4uL21vZGVsL2dldE1vZGVsTWV0YWRhdGFcIlxuaW1wb3J0IHsgbW9kZWxJZEtleSwgbW9kZWxUeXBlS2V5IH0gZnJvbSBcIi4uL21vZGVsL21ldGFkYXRhXCJcbmltcG9ydCB7IGlzTW9kZWwsIGlzTW9kZWxTbmFwc2hvdCB9IGZyb20gXCIuLi9tb2RlbC91dGlsc1wiXG5pbXBvcnQgeyBNb2RlbENsYXNzIH0gZnJvbSBcIi4uL21vZGVsU2hhcmVkL0Jhc2VNb2RlbFNoYXJlZFwiXG5pbXBvcnQgeyBnZXRNb2RlbEluZm9Gb3JOYW1lIH0gZnJvbSBcIi4uL21vZGVsU2hhcmVkL21vZGVsSW5mb1wiXG5pbXBvcnQgeyBkYXRhT2JqZWN0UGFyZW50IH0gZnJvbSBcIi4uL3BhcmVudC9jb3JlXCJcbmltcG9ydCB7XG4gIGdldERlZXBPYmplY3RDaGlsZHJlbixcbiAgcmVnaXN0ZXJEZWVwT2JqZWN0Q2hpbGRyZW5FeHRlbnNpb24sXG59IGZyb20gXCIuLi9wYXJlbnQvY29yZU9iamVjdENoaWxkcmVuXCJcblxuZnVuY3Rpb24gYnlNb2RlbFR5cGVBbmRJZEtleShtb2RlbFR5cGU6IHN0cmluZywgbW9kZWxJZDogc3RyaW5nKSB7XG4gIHJldHVybiBtb2RlbFR5cGUgKyBcIiBcIiArIG1vZGVsSWRcbn1cblxuZXhwb3J0IGNsYXNzIE1vZGVsUG9vbCB7XG4gIHByaXZhdGUgcG9vbDogUmVhZG9ubHlNYXA8c3RyaW5nLCBBbnlNb2RlbD5cblxuICBjb25zdHJ1Y3Rvcihyb290OiBvYmplY3QpIHtcbiAgICAvLyBtYWtlIHN1cmUgd2UgZG9uJ3QgdXNlIHRoZSBzdWItZGF0YSAkIG9iamVjdFxuICAgIHJvb3QgPSBkYXRhT2JqZWN0UGFyZW50LmdldChyb290KSA/PyByb290XG5cbiAgICB0aGlzLnBvb2wgPSBnZXREZWVwQ2hpbGRyZW5Nb2RlbHMoZ2V0RGVlcE9iamVjdENoaWxkcmVuKHJvb3QpKVxuICB9XG5cbiAgZmluZE1vZGVsQnlUeXBlQW5kSWQobW9kZWxUeXBlOiBzdHJpbmcsIG1vZGVsSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IEFueU1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gbW9kZWxJZCA/IHRoaXMucG9vbC5nZXQoYnlNb2RlbFR5cGVBbmRJZEtleShtb2RlbFR5cGUsIG1vZGVsSWQpKSA6IHVuZGVmaW5lZFxuICB9XG5cbiAgZmluZE1vZGVsRm9yU25hcHNob3Qoc246IGFueSk6IEFueU1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWlzTW9kZWxTbmFwc2hvdChzbikpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBtb2RlbFR5cGUgPSBzblttb2RlbFR5cGVLZXldXG4gICAgY29uc3QgbW9kZWxJbmZvID0gZ2V0TW9kZWxJbmZvRm9yTmFtZShtb2RlbFR5cGUpIVxuICAgIGNvbnN0IG1vZGVsSWRQcm9wZXJ0eU5hbWUgPSBnZXRNb2RlbElkUHJvcGVydHlOYW1lKG1vZGVsSW5mby5jbGFzcyBhcyBNb2RlbENsYXNzPEFueU1vZGVsPilcblxuICAgIHJldHVybiBtb2RlbElkUHJvcGVydHlOYW1lXG4gICAgICA/IHRoaXMuZmluZE1vZGVsQnlUeXBlQW5kSWQoc25bbW9kZWxUeXBlS2V5XSwgKHNuIGFzIGFueSlbbW9kZWxJZFByb3BlcnR5TmFtZV0pXG4gICAgICA6IHVuZGVmaW5lZFxuICB9XG59XG5cbmNvbnN0IGdldERlZXBDaGlsZHJlbk1vZGVscyA9IHJlZ2lzdGVyRGVlcE9iamVjdENoaWxkcmVuRXh0ZW5zaW9uPE1hcDxzdHJpbmcsIEFueU1vZGVsPj4oe1xuICBpbml0RGF0YSgpIHtcbiAgICByZXR1cm4gbmV3IE1hcCgpXG4gIH0sXG5cbiAgYWRkTm9kZShub2RlLCBkYXRhKSB7XG4gICAgaWYgKGlzTW9kZWwobm9kZSkpIHtcbiAgICAgIGNvbnN0IGlkID0gbm9kZVttb2RlbElkS2V5XVxuICAgICAgaWYgKGlkKSB7XG4gICAgICAgIGRhdGEuc2V0KGJ5TW9kZWxUeXBlQW5kSWRLZXkobm9kZVttb2RlbFR5cGVLZXldLCBpZCksIG5vZGUpXG4gICAgICB9XG4gICAgfVxuICB9LFxufSlcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFZQSw2QkFBNkIsV0FBbUI7U0FDdkMsWUFBWSxNQUFNO0FBQzNCO01BRWE7RUFHWCxZQUFZO0FBRko7O1dBSUMsdUJBQWlCLElBQUksSUFBSSxNQUF6QixZQUE4QjtTQUVoQyxPQUFPLHNCQUFzQixzQkFBc0IsSUFBSSxDQUFDO0FBQUE7RUFHL0QscUJBQXFCLFdBQW1CO1dBQy9CLFVBQVUsS0FBSyxLQUFLLElBQUksb0JBQW9CLFdBQVcsT0FBTyxDQUFDLElBQUk7QUFBQTtFQUc1RSxxQkFBcUI7UUFDZixDQUFDLGdCQUFnQixFQUFFLEdBQUc7YUFDakI7QUFBQTtVQUdILFlBQVksR0FBRztVQUNmLFlBQVksb0JBQW9CLFNBQVM7VUFDekMsc0JBQXNCLHVCQUF1QixVQUFVLEtBQTZCO1dBRW5GLHNCQUNILEtBQUsscUJBQXFCLEdBQUcsZUFBZ0IsR0FBVyxvQkFBb0IsSUFDNUU7QUFBQTs7QUFJUixNQUFNLHdCQUF3QixvQ0FBMkQ7QUFBQSxFQUN2RjsrQkFDYTs7RUFHYixRQUFRLE1BQU07UUFDUixRQUFRLElBQUksR0FBRztZQUNYLEtBQUssS0FBSztVQUNaLElBQUk7YUFDRCxJQUFJLG9CQUFvQixLQUFLLGVBQWUsRUFBRSxHQUFHLElBQUk7QUFBQTs7O0NBSWpFOzsifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function chainFns(...fns) {
|
|
2
|
+
const definedFns = fns.filter((fn) => !!fn);
|
|
3
|
+
if (definedFns.length <= 0)
|
|
4
|
+
return void 0;
|
|
5
|
+
const chainedFn = (v, ...args) => {
|
|
6
|
+
let ret = v;
|
|
7
|
+
for (let i = 0; i < definedFns.length; i++) {
|
|
8
|
+
ret = definedFns[i](ret, ...args);
|
|
9
|
+
}
|
|
10
|
+
return ret;
|
|
11
|
+
};
|
|
12
|
+
return chainedFn;
|
|
13
|
+
}
|
|
14
|
+
export { chainFns };
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5GbnMubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvY2hhaW5GbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNoYWluRm5zPEYgZXh0ZW5kcyBGdW5jdGlvbj4oLi4uZm5zOiAoRiB8IHVuZGVmaW5lZClbXSk6IEYgfCB1bmRlZmluZWQge1xuICBjb25zdCBkZWZpbmVkRm5zID0gZm5zLmZpbHRlcigoZm4pID0+ICEhZm4pXG4gIGlmIChkZWZpbmVkRm5zLmxlbmd0aCA8PSAwKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgY29uc3QgY2hhaW5lZEZuID0gKHY6IGFueSwgLi4uYXJnczogYW55W10pID0+IHtcbiAgICBsZXQgcmV0ID0gdlxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWZpbmVkRm5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICByZXQgPSBkZWZpbmVkRm5zW2ldIShyZXQsIC4uLmFyZ3MpXG4gICAgfVxuXG4gICAgcmV0dXJuIHJldFxuICB9XG5cbiAgcmV0dXJuIGNoYWluZWRGbiBhcyB1bmtub3duIGFzIEZcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoicUJBQWdEO1FBQ3hDLGFBQWEsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRTtNQUN0QyxXQUFXLFVBQVU7V0FBVTtRQUU3QixZQUFZLENBQUMsTUFBVztRQUN4QixNQUFNO2FBRUQsSUFBSSxHQUFHLElBQUksV0FBVyxRQUFRLEtBQUs7WUFDcEMsV0FBVyxHQUFJLEtBQUssR0FBRyxJQUFJO0FBQUE7V0FHNUI7QUFBQTtTQUdGO0FBQ1Q7OyJ9
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import * as mobx from "mobx";
|
|
2
|
+
import { isObservableMap, isObservableSet, isObservableArray, isObservableObject } from "mobx";
|
|
3
|
+
class MobxKeystoneError extends Error {
|
|
4
|
+
constructor(msg) {
|
|
5
|
+
super(msg);
|
|
6
|
+
Object.setPrototypeOf(this, MobxKeystoneError.prototype);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function failure(msg) {
|
|
10
|
+
return new MobxKeystoneError(msg);
|
|
11
|
+
}
|
|
12
|
+
const writableHiddenPropDescriptor = {
|
|
13
|
+
enumerable: false,
|
|
14
|
+
writable: true,
|
|
15
|
+
configurable: false,
|
|
16
|
+
value: void 0
|
|
17
|
+
};
|
|
18
|
+
function addHiddenProp(object, propName, value, writable = true) {
|
|
19
|
+
if (writable) {
|
|
20
|
+
Object.defineProperty(object, propName, writableHiddenPropDescriptor);
|
|
21
|
+
object[propName] = value;
|
|
22
|
+
} else {
|
|
23
|
+
Object.defineProperty(object, propName, {
|
|
24
|
+
enumerable: false,
|
|
25
|
+
writable,
|
|
26
|
+
configurable: true,
|
|
27
|
+
value
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function makePropReadonly(object, propName, enumerable) {
|
|
32
|
+
const propDesc = Object.getOwnPropertyDescriptor(object, propName);
|
|
33
|
+
if (propDesc) {
|
|
34
|
+
propDesc.enumerable = enumerable;
|
|
35
|
+
if (propDesc.get) {
|
|
36
|
+
delete propDesc.set;
|
|
37
|
+
} else {
|
|
38
|
+
propDesc.writable = false;
|
|
39
|
+
}
|
|
40
|
+
Object.defineProperty(object, propName, propDesc);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function isPlainObject(value) {
|
|
44
|
+
if (!isObject(value))
|
|
45
|
+
return false;
|
|
46
|
+
const proto = Object.getPrototypeOf(value);
|
|
47
|
+
return proto === Object.prototype || proto === null;
|
|
48
|
+
}
|
|
49
|
+
function isObject(value) {
|
|
50
|
+
return value !== null && typeof value === "object";
|
|
51
|
+
}
|
|
52
|
+
function isPrimitive(value) {
|
|
53
|
+
switch (typeof value) {
|
|
54
|
+
case "number":
|
|
55
|
+
case "string":
|
|
56
|
+
case "boolean":
|
|
57
|
+
case "undefined":
|
|
58
|
+
case "bigint":
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
return value === null;
|
|
62
|
+
}
|
|
63
|
+
function isJSONPrimitive(value) {
|
|
64
|
+
switch (typeof value) {
|
|
65
|
+
case "number":
|
|
66
|
+
return isFinite(value);
|
|
67
|
+
case "string":
|
|
68
|
+
case "boolean":
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
return value === null;
|
|
72
|
+
}
|
|
73
|
+
function deleteFromArray(array, value) {
|
|
74
|
+
let index = array.indexOf(value);
|
|
75
|
+
if (index >= 0) {
|
|
76
|
+
array.splice(index, 1);
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
function isMap(val) {
|
|
82
|
+
return val instanceof Map || isObservableMap(val);
|
|
83
|
+
}
|
|
84
|
+
function isSet(val) {
|
|
85
|
+
return val instanceof Set || isObservableSet(val);
|
|
86
|
+
}
|
|
87
|
+
function isArray(val) {
|
|
88
|
+
return Array.isArray(val) || isObservableArray(val);
|
|
89
|
+
}
|
|
90
|
+
function inDevMode() {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
function assertIsObject(value, argName) {
|
|
94
|
+
if (!isObject(value)) {
|
|
95
|
+
throw failure(`${argName} must be an object`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function assertIsPlainObject(value, argName) {
|
|
99
|
+
if (!isPlainObject(value)) {
|
|
100
|
+
throw failure(`${argName} must be a plain object`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function assertIsObservableObject(value, argName) {
|
|
104
|
+
if (!isObservableObject(value)) {
|
|
105
|
+
throw failure(`${argName} must be an observable object`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function assertIsObservableArray(value, argName) {
|
|
109
|
+
if (!isObservableArray(value)) {
|
|
110
|
+
throw failure(`${argName} must be an observable array`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function assertIsMap(value, argName) {
|
|
114
|
+
if (!isMap(value)) {
|
|
115
|
+
throw failure(`${argName} must be a map`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function assertIsSet(value, argName) {
|
|
119
|
+
if (!isSet(value)) {
|
|
120
|
+
throw failure(`${argName} must be a set`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function assertIsFunction(value, argName) {
|
|
124
|
+
if (typeof value !== "function") {
|
|
125
|
+
throw failure(`${argName} must be a function`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function assertIsPrimitive(value, argName) {
|
|
129
|
+
if (!isPrimitive(value)) {
|
|
130
|
+
throw failure(`${argName} must be a primitive`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function assertIsString(value, argName) {
|
|
134
|
+
if (typeof value !== "string") {
|
|
135
|
+
throw failure(`${argName} must be a string`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const runAfterNewSymbol = Symbol("runAfterNew");
|
|
139
|
+
const runBeforeOnInitSymbol = Symbol("runBeforeOnInit");
|
|
140
|
+
function addLateInitializationFunction(target, symbol, fn) {
|
|
141
|
+
let array = target[symbol];
|
|
142
|
+
if (!array) {
|
|
143
|
+
array = [];
|
|
144
|
+
addHiddenProp(target, symbol, array);
|
|
145
|
+
}
|
|
146
|
+
array.push(fn);
|
|
147
|
+
}
|
|
148
|
+
function decorateWrapMethodOrField(decoratorName, data, wrap) {
|
|
149
|
+
const { target, propertyKey, baseDescriptor } = data;
|
|
150
|
+
const addFieldDecorator = () => {
|
|
151
|
+
addLateInitializationFunction(target, runAfterNewSymbol, (instance) => {
|
|
152
|
+
instance[propertyKey] = wrap(data, instance[propertyKey]);
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
if (baseDescriptor) {
|
|
156
|
+
if (baseDescriptor.get !== void 0) {
|
|
157
|
+
throw failure(`@${decoratorName} cannot be used with getters`);
|
|
158
|
+
}
|
|
159
|
+
if (baseDescriptor.value) {
|
|
160
|
+
return {
|
|
161
|
+
enumerable: false,
|
|
162
|
+
writable: true,
|
|
163
|
+
configurable: true,
|
|
164
|
+
value: wrap(data, baseDescriptor.value)
|
|
165
|
+
};
|
|
166
|
+
} else {
|
|
167
|
+
addFieldDecorator();
|
|
168
|
+
}
|
|
169
|
+
} else {
|
|
170
|
+
addFieldDecorator();
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function runLateInitializationFunctions(target, symbol) {
|
|
174
|
+
const fns = target[symbol];
|
|
175
|
+
if (fns) {
|
|
176
|
+
for (const fn of fns) {
|
|
177
|
+
fn(target);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const warningsAlreadyDisplayed = /* @__PURE__ */ new Set();
|
|
182
|
+
function logWarning(type, msg, uniqueKey) {
|
|
183
|
+
if (uniqueKey) {
|
|
184
|
+
if (warningsAlreadyDisplayed.has(uniqueKey)) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
warningsAlreadyDisplayed.add(uniqueKey);
|
|
188
|
+
}
|
|
189
|
+
msg = "[mobx-keystone] " + msg;
|
|
190
|
+
switch (type) {
|
|
191
|
+
case "warn":
|
|
192
|
+
console.warn(msg);
|
|
193
|
+
break;
|
|
194
|
+
case "error":
|
|
195
|
+
console.error(msg);
|
|
196
|
+
break;
|
|
197
|
+
default:
|
|
198
|
+
throw failure(`unknown log type - ${type}`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
function lazy(getter) {
|
|
202
|
+
let memoizedValue;
|
|
203
|
+
let memoized = false;
|
|
204
|
+
return (...args) => {
|
|
205
|
+
if (!memoized) {
|
|
206
|
+
memoizedValue = getter(...args);
|
|
207
|
+
memoized = true;
|
|
208
|
+
}
|
|
209
|
+
return memoizedValue;
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
const identityFn = (x) => x;
|
|
213
|
+
const mobx6 = {
|
|
214
|
+
makeObservable: mobx[String.fromCharCode("l".charCodeAt(0) + 1) + "akeObservable"]
|
|
215
|
+
};
|
|
216
|
+
function propNameToSetterName(propName) {
|
|
217
|
+
return `set${propName[0].toUpperCase()}${propName.slice(1)}`;
|
|
218
|
+
}
|
|
219
|
+
function getMobxVersion() {
|
|
220
|
+
if (mobx6.makeObservable) {
|
|
221
|
+
return 6;
|
|
222
|
+
} else {
|
|
223
|
+
return 5;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
const namespace = "mobx-keystone";
|
|
227
|
+
export { MobxKeystoneError, addHiddenProp, addLateInitializationFunction, assertIsFunction, assertIsMap, assertIsObject, assertIsObservableArray, assertIsObservableObject, assertIsPlainObject, assertIsPrimitive, assertIsSet, assertIsString, decorateWrapMethodOrField, deleteFromArray, failure, getMobxVersion, identityFn, inDevMode, isArray, isJSONPrimitive, isMap, isObject, isPlainObject, isPrimitive, isSet, lazy, logWarning, makePropReadonly, mobx6, namespace, propNameToSetterName, runAfterNewSymbol, runBeforeOnInitSymbol, runLateInitializationFunctions };
|
|
228
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbW9ieCBmcm9tIFwibW9ieFwiXG5pbXBvcnQge1xuICBJT2JzZXJ2YWJsZUFycmF5LFxuICBpc09ic2VydmFibGVBcnJheSxcbiAgaXNPYnNlcnZhYmxlTWFwLFxuICBpc09ic2VydmFibGVPYmplY3QsXG4gIGlzT2JzZXJ2YWJsZVNldCxcbiAgT2JzZXJ2YWJsZU1hcCxcbiAgT2JzZXJ2YWJsZVNldCxcbn0gZnJvbSBcIm1vYnhcIlxuaW1wb3J0IHsgSlNPTlByaW1pdGl2ZVZhbHVlLCBQcmltaXRpdmVWYWx1ZSB9IGZyb20gXCIuL3R5cGVzXCJcblxuLyoqXG4gKiBBIG1vYngta2V5c3RvbmUgZXJyb3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2J4S2V5c3RvbmVFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtc2cpXG5cbiAgICAvLyBTZXQgdGhlIHByb3RvdHlwZSBleHBsaWNpdGx5LlxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBNb2J4S2V5c3RvbmVFcnJvci5wcm90b3R5cGUpXG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZhaWx1cmUobXNnOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBNb2J4S2V5c3RvbmVFcnJvcihtc2cpXG59XG5cbmNvbnN0IHdyaXRhYmxlSGlkZGVuUHJvcERlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvciA9IHtcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIHdyaXRhYmxlOiB0cnVlLFxuICBjb25maWd1cmFibGU6IGZhbHNlLFxuICB2YWx1ZTogdW5kZWZpbmVkLFxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkSGlkZGVuUHJvcChvYmplY3Q6IGFueSwgcHJvcE5hbWU6IFByb3BlcnR5S2V5LCB2YWx1ZTogYW55LCB3cml0YWJsZSA9IHRydWUpIHtcbiAgaWYgKHdyaXRhYmxlKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iamVjdCwgcHJvcE5hbWUsIHdyaXRhYmxlSGlkZGVuUHJvcERlc2NyaXB0b3IpXG4gICAgb2JqZWN0W3Byb3BOYW1lXSA9IHZhbHVlXG4gIH0gZWxzZSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iamVjdCwgcHJvcE5hbWUsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB2YWx1ZSxcbiAgICB9KVxuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlUHJvcFJlYWRvbmx5PFQ+KG9iamVjdDogVCwgcHJvcE5hbWU6IGtleW9mIFQsIGVudW1lcmFibGU6IGJvb2xlYW4pIHtcbiAgY29uc3QgcHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgcHJvcE5hbWUpXG4gIGlmIChwcm9wRGVzYykge1xuICAgIHByb3BEZXNjLmVudW1lcmFibGUgPSBlbnVtZXJhYmxlXG4gICAgaWYgKHByb3BEZXNjLmdldCkge1xuICAgICAgZGVsZXRlIHByb3BEZXNjLnNldFxuICAgIH0gZWxzZSB7XG4gICAgICBwcm9wRGVzYy53cml0YWJsZSA9IGZhbHNlXG4gICAgfVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmplY3QsIHByb3BOYW1lLCBwcm9wRGVzYylcbiAgfVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlY29yZDxQcm9wZXJ0eUtleSwgdW5rbm93bj4ge1xuICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkgcmV0dXJuIGZhbHNlXG4gIGNvbnN0IHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlKVxuICByZXR1cm4gcHJvdG8gPT09IE9iamVjdC5wcm90b3R5cGUgfHwgcHJvdG8gPT09IG51bGxcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPFByb3BlcnR5S2V5LCB1bmtub3duPiB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCJcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUHJpbWl0aXZlKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUHJpbWl0aXZlVmFsdWUge1xuICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICBjYXNlIFwidW5kZWZpbmVkXCI6XG4gICAgY2FzZSBcImJpZ2ludFwiOlxuICAgICAgcmV0dXJuIHRydWVcbiAgfVxuICByZXR1cm4gdmFsdWUgPT09IG51bGxcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSlNPTlByaW1pdGl2ZSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEpTT05QcmltaXRpdmVWYWx1ZSB7XG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgcmV0dXJuIGlzRmluaXRlKHZhbHVlKVxuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgcmV0dXJuIHRydWVcbiAgfVxuICByZXR1cm4gdmFsdWUgPT09IG51bGxcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGV0ZUZyb21BcnJheTxUPihhcnJheTogVFtdLCB2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICBsZXQgaW5kZXggPSBhcnJheS5pbmRleE9mKHZhbHVlKVxuICBpZiAoaW5kZXggPj0gMCkge1xuICAgIGFycmF5LnNwbGljZShpbmRleCwgMSlcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNNYXAodmFsOiB1bmtub3duKTogdmFsIGlzIE1hcDxhbnksIGFueT4gfCBPYnNlcnZhYmxlTWFwIHtcbiAgcmV0dXJuIHZhbCBpbnN0YW5jZW9mIE1hcCB8fCBpc09ic2VydmFibGVNYXAodmFsKVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTZXQodmFsOiB1bmtub3duKTogdmFsIGlzIFNldDxhbnk+IHwgT2JzZXJ2YWJsZVNldCB7XG4gIHJldHVybiB2YWwgaW5zdGFuY2VvZiBTZXQgfHwgaXNPYnNlcnZhYmxlU2V0KHZhbClcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkodmFsOiB1bmtub3duKTogdmFsIGlzIGFueVtdIHwgSU9ic2VydmFibGVBcnJheSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KHZhbCkgfHwgaXNPYnNlcnZhYmxlQXJyYXkodmFsKVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5EZXZNb2RlKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRJc09iamVjdCh2YWx1ZTogdW5rbm93biwgYXJnTmFtZTogc3RyaW5nKTogYXNzZXJ0cyB2YWx1ZSBpcyBvYmplY3Qge1xuICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgIHRocm93IGZhaWx1cmUoYCR7YXJnTmFtZX0gbXVzdCBiZSBhbiBvYmplY3RgKVxuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRJc1BsYWluT2JqZWN0KHZhbHVlOiB1bmtub3duLCBhcmdOYW1lOiBzdHJpbmcpOiBhc3NlcnRzIHZhbHVlIGlzIG9iamVjdCB7XG4gIGlmICghaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHtcbiAgICB0aHJvdyBmYWlsdXJlKGAke2FyZ05hbWV9IG11c3QgYmUgYSBwbGFpbiBvYmplY3RgKVxuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRJc09ic2VydmFibGVPYmplY3QodmFsdWU6IHVua25vd24sIGFyZ05hbWU6IHN0cmluZyk6IGFzc2VydHMgdmFsdWUgaXMgb2JqZWN0IHtcbiAgaWYgKCFpc09ic2VydmFibGVPYmplY3QodmFsdWUpKSB7XG4gICAgdGhyb3cgZmFpbHVyZShgJHthcmdOYW1lfSBtdXN0IGJlIGFuIG9ic2VydmFibGUgb2JqZWN0YClcbiAgfVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0SXNPYnNlcnZhYmxlQXJyYXkoXG4gIHZhbHVlOiB1bmtub3duLFxuICBhcmdOYW1lOiBzdHJpbmdcbik6IGFzc2VydHMgdmFsdWUgaXMgSU9ic2VydmFibGVBcnJheSB7XG4gIGlmICghaXNPYnNlcnZhYmxlQXJyYXkodmFsdWUpKSB7XG4gICAgdGhyb3cgZmFpbHVyZShgJHthcmdOYW1lfSBtdXN0IGJlIGFuIG9ic2VydmFibGUgYXJyYXlgKVxuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRJc01hcCh2YWx1ZTogdW5rbm93biwgYXJnTmFtZTogc3RyaW5nKTogYXNzZXJ0cyB2YWx1ZSBpcyBNYXA8YW55LCBhbnk+IHtcbiAgaWYgKCFpc01hcCh2YWx1ZSkpIHtcbiAgICB0aHJvdyBmYWlsdXJlKGAke2FyZ05hbWV9IG11c3QgYmUgYSBtYXBgKVxuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRJc1NldCh2YWx1ZTogdW5rbm93biwgYXJnTmFtZTogc3RyaW5nKTogYXNzZXJ0cyB2YWx1ZSBpcyBTZXQ8YW55PiB7XG4gIGlmICghaXNTZXQodmFsdWUpKSB7XG4gICAgdGhyb3cgZmFpbHVyZShgJHthcmdOYW1lfSBtdXN0IGJlIGEgc2V0YClcbiAgfVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0SXNGdW5jdGlvbih2YWx1ZTogdW5rbm93biwgYXJnTmFtZTogc3RyaW5nKTogYXNzZXJ0cyB2YWx1ZSBpcyBGdW5jdGlvbiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09IFwiZnVuY3Rpb25cIikge1xuICAgIHRocm93IGZhaWx1cmUoYCR7YXJnTmFtZX0gbXVzdCBiZSBhIGZ1bmN0aW9uYClcbiAgfVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0SXNQcmltaXRpdmUoXG4gIHZhbHVlOiB1bmtub3duLFxuICBhcmdOYW1lOiBzdHJpbmdcbik6IGFzc2VydHMgdmFsdWUgaXMgUHJpbWl0aXZlVmFsdWUge1xuICBpZiAoIWlzUHJpbWl0aXZlKHZhbHVlKSkge1xuICAgIHRocm93IGZhaWx1cmUoYCR7YXJnTmFtZX0gbXVzdCBiZSBhIHByaW1pdGl2ZWApXG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydElzU3RyaW5nKHZhbHVlOiB1bmtub3duLCBhcmdOYW1lOiBzdHJpbmcpOiBhc3NlcnRzIHZhbHVlIGlzIHN0cmluZyB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09IFwic3RyaW5nXCIpIHtcbiAgICB0aHJvdyBmYWlsdXJlKGAke2FyZ05hbWV9IG11c3QgYmUgYSBzdHJpbmdgKVxuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb3JhdGVNZXRob2RPckZpZWxkRGF0YSB7XG4gIHRhcmdldDogYW55XG4gIHByb3BlcnR5S2V5OiBzdHJpbmdcbiAgYmFzZURlc2NyaXB0b3I/OiBQcm9wZXJ0eURlc2NyaXB0b3IgJiB7IGluaXRpYWxpemVyPzogKCkgPT4gYW55IH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJ1bkFmdGVyTmV3U3ltYm9sID0gU3ltYm9sKFwicnVuQWZ0ZXJOZXdcIilcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJ1bkJlZm9yZU9uSW5pdFN5bWJvbCA9IFN5bWJvbChcInJ1bkJlZm9yZU9uSW5pdFwiKVxuXG50eXBlIFdyYXBGdW5jdGlvbiA9IChkYXRhOiBEZWNvcmF0ZU1ldGhvZE9yRmllbGREYXRhLCBmbjogYW55KSA9PiBhbnlcbnR5cGUgTGF0ZUluaXRpYWxpemF0aW9uRnVuY3Rpb25zQXJyYXkgPSAoKGluc3RhbmNlOiBhbnkpID0+IHZvaWQpW11cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZExhdGVJbml0aWFsaXphdGlvbkZ1bmN0aW9uKFxuICB0YXJnZXQ6IGFueSxcbiAgc3ltYm9sOiBzeW1ib2wsXG4gIGZuOiAoaW5zdGFuY2U6IGFueSkgPT4gdm9pZFxuKSB7XG4gIGxldCBhcnJheTogTGF0ZUluaXRpYWxpemF0aW9uRnVuY3Rpb25zQXJyYXkgPSB0YXJnZXRbc3ltYm9sXVxuICBpZiAoIWFycmF5KSB7XG4gICAgYXJyYXkgPSBbXVxuICAgIGFkZEhpZGRlblByb3AodGFyZ2V0LCBzeW1ib2wsIGFycmF5KVxuICB9XG4gIGFycmF5LnB1c2goZm4pXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvcmF0ZVdyYXBNZXRob2RPckZpZWxkKFxuICBkZWNvcmF0b3JOYW1lOiBzdHJpbmcsXG4gIGRhdGE6IERlY29yYXRlTWV0aG9kT3JGaWVsZERhdGEsXG4gIHdyYXA6IFdyYXBGdW5jdGlvblxuKTogYW55IHtcbiAgY29uc3QgeyB0YXJnZXQsIHByb3BlcnR5S2V5LCBiYXNlRGVzY3JpcHRvciB9ID0gZGF0YVxuXG4gIGNvbnN0IGFkZEZpZWxkRGVjb3JhdG9yID0gKCkgPT4ge1xuICAgIGFkZExhdGVJbml0aWFsaXphdGlvbkZ1bmN0aW9uKHRhcmdldCwgcnVuQWZ0ZXJOZXdTeW1ib2wsIChpbnN0YW5jZSkgPT4ge1xuICAgICAgaW5zdGFuY2VbcHJvcGVydHlLZXldID0gd3JhcChkYXRhLCBpbnN0YW5jZVtwcm9wZXJ0eUtleV0pXG4gICAgfSlcbiAgfVxuXG4gIGlmIChiYXNlRGVzY3JpcHRvcikge1xuICAgIGlmIChiYXNlRGVzY3JpcHRvci5nZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgZmFpbHVyZShgQCR7ZGVjb3JhdG9yTmFtZX0gY2Fubm90IGJlIHVzZWQgd2l0aCBnZXR0ZXJzYClcbiAgICB9XG5cbiAgICBpZiAoYmFzZURlc2NyaXB0b3IudmFsdWUpIHtcbiAgICAgIC8vIGJhYmVsIC8gdHlwZXNjcmlwdCAtIG1ldGhvZCBkZWNvcmF0b3JcbiAgICAgIC8vIEBhY3Rpb24gbWV0aG9kKCkgeyB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IHdyYXAoZGF0YSwgYmFzZURlc2NyaXB0b3IudmFsdWUpLFxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBiYWJlbCAtIGZpZWxkIGRlY29yYXRvcjogQGFjdGlvbiBtZXRob2QgPSAoKSA9PiB7fVxuICAgICAgYWRkRmllbGREZWNvcmF0b3IoKVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyB0eXBlc2NyaXB0IC0gZmllbGQgZGVjb3JhdG9yXG4gICAgYWRkRmllbGREZWNvcmF0b3IoKVxuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydW5MYXRlSW5pdGlhbGl6YXRpb25GdW5jdGlvbnModGFyZ2V0OiBhbnksIHN5bWJvbDogc3ltYm9sKTogdm9pZCB7XG4gIGNvbnN0IGZuczogTGF0ZUluaXRpYWxpemF0aW9uRnVuY3Rpb25zQXJyYXkgfCB1bmRlZmluZWQgPSB0YXJnZXRbc3ltYm9sXVxuICBpZiAoZm5zKSB7XG4gICAgZm9yIChjb25zdCBmbiBvZiBmbnMpIHtcbiAgICAgIGZuKHRhcmdldClcbiAgICB9XG4gIH1cbn1cblxuY29uc3Qgd2FybmluZ3NBbHJlYWR5RGlzcGxheWVkID0gbmV3IFNldDxzdHJpbmc+KClcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvZ1dhcm5pbmcodHlwZTogXCJ3YXJuXCIgfCBcImVycm9yXCIsIG1zZzogc3RyaW5nLCB1bmlxdWVLZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKHVuaXF1ZUtleSkge1xuICAgIGlmICh3YXJuaW5nc0FscmVhZHlEaXNwbGF5ZWQuaGFzKHVuaXF1ZUtleSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB3YXJuaW5nc0FscmVhZHlEaXNwbGF5ZWQuYWRkKHVuaXF1ZUtleSlcbiAgfVxuXG4gIG1zZyA9IFwiW21vYngta2V5c3RvbmVdIFwiICsgbXNnXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgXCJ3YXJuXCI6XG4gICAgICBjb25zb2xlLndhcm4obXNnKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIFwiZXJyb3JcIjpcbiAgICAgIGNvbnNvbGUuZXJyb3IobXNnKVxuICAgICAgYnJlYWtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgZmFpbHVyZShgdW5rbm93biBsb2cgdHlwZSAtICR7dHlwZX1gKVxuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsYXp5PEEgZXh0ZW5kcyB1bmtub3duW10sIFI+KGdldHRlcjogKC4uLmFyZ3M6IEEpID0+IFIpOiB0eXBlb2YgZ2V0dGVyIHtcbiAgbGV0IG1lbW9pemVkVmFsdWU6IFJcbiAgbGV0IG1lbW9pemVkID0gZmFsc2VcblxuICByZXR1cm4gKC4uLmFyZ3M6IEEpOiBSID0+IHtcbiAgICBpZiAoIW1lbW9pemVkKSB7XG4gICAgICBtZW1vaXplZFZhbHVlID0gZ2V0dGVyKC4uLmFyZ3MpXG4gICAgICBtZW1vaXplZCA9IHRydWVcbiAgICB9XG4gICAgcmV0dXJuIG1lbW9pemVkVmFsdWVcbiAgfVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgaWRlbnRpdHlGbiA9IDxUPih4OiBUKTogVCA9PiB4XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBtb2J4NiA9IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtY29uY2F0XG4gIG1ha2VPYnNlcnZhYmxlOiAobW9ieCBhcyBhbnkpW1xuICAgIC8vIGp1c3QgdG8gZW5zdXJlIGltcG9ydCAqIGlzIGtlcHQgcHJvcGVybHlcbiAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKFwibFwiLmNoYXJDb2RlQXQoMCkgKyAxKSArIFwiYWtlT2JzZXJ2YWJsZVwiXG4gIF0sXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9wTmFtZVRvU2V0dGVyTmFtZShwcm9wTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBzZXQke3Byb3BOYW1lWzBdLnRvVXBwZXJDYXNlKCl9JHtwcm9wTmFtZS5zbGljZSgxKX1gXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2J4VmVyc2lvbigpOiBudW1iZXIge1xuICBpZiAobW9ieDYubWFrZU9ic2VydmFibGUhKSB7XG4gICAgcmV0dXJuIDZcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gNVxuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBuYW1lc3BhY2UgPSBcIm1vYngta2V5c3RvbmVcIlxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O01BZWEsMEJBQTBCO0VBQ3JDLFlBQVk7VUFDSixHQUFHO1dBR0YsZUFBZSxNQUFNLGtCQUFrQixTQUFTO0FBQUE7O2lCQU9uQztTQUNmLElBQUksa0JBQWtCLEdBQUc7QUFDbEM7QUFFQSxNQUFNLCtCQUFtRDtBQUFBLEVBQ3ZELFlBQVk7QUFBQSxFQUNaLFVBQVU7QUFBQSxFQUNWLGNBQWM7QUFBQSxFQUNkLE9BQU87O3VCQU1xQixRQUFhLFVBQXVCLE9BQVksV0FBVztNQUNuRixVQUFVO1dBQ0wsZUFBZSxRQUFRLFVBQVUsNEJBQTRCO1dBQzdELFlBQVk7QUFBQSxTQUNkO1dBQ0UsZUFBZSxRQUFRLFVBQVU7QUFBQSxNQUN0QyxZQUFZO0FBQUEsTUFDWjtBQUFBLE1BQ0EsY0FBYztBQUFBLE1BQ2Q7QUFBQSxLQUNEO0FBQUE7QUFFTDswQkFLb0MsUUFBVyxVQUFtQjtRQUMxRCxXQUFXLE9BQU8seUJBQXlCLFFBQVEsUUFBUTtNQUM3RCxVQUFVO2FBQ0gsYUFBYTtRQUNsQixTQUFTLEtBQUs7YUFDVCxTQUFTO0FBQUEsV0FDWDtlQUNJLFdBQVc7QUFBQTtXQUVmLGVBQWUsUUFBUSxVQUFVLFFBQVE7QUFBQTtBQUVwRDt1QkFLOEI7TUFDeEIsQ0FBQyxTQUFTLEtBQUs7V0FBVTtRQUN2QixRQUFRLE9BQU8sZUFBZSxLQUFLO1NBQ2xDLFVBQVUsT0FBTyxhQUFhLFVBQVU7QUFDakQ7a0JBS3lCO1NBQ2hCLFVBQVUsUUFBUSxPQUFPLFVBQVU7QUFDNUM7cUJBSzRCO1VBQ2xCLE9BQU87QUFBQSxTQUNSO0FBQUEsU0FDQTtBQUFBLFNBQ0E7QUFBQSxTQUNBO0FBQUEsU0FDQTthQUNJO0FBQUE7U0FFSixVQUFVO0FBQ25CO3lCQUtnQztVQUN0QixPQUFPO0FBQUEsU0FDUjthQUNJLFNBQVMsS0FBSztBQUFBLFNBQ2xCO0FBQUEsU0FDQTthQUNJO0FBQUE7U0FFSixVQUFVO0FBQ25CO3lCQUttQyxPQUFZO01BQ3pDLFFBQVEsTUFBTSxRQUFRLEtBQUs7TUFDM0IsU0FBUyxHQUFHO1VBQ1IsT0FBTyxPQUFPLENBQUM7V0FDZDtBQUFBO1NBRUY7QUFDVDtlQUtzQjtTQUNiLGVBQWUsT0FBTyxnQkFBZ0IsR0FBRztBQUNsRDtlQUtzQjtTQUNiLGVBQWUsT0FBTyxnQkFBZ0IsR0FBRztBQUNsRDtpQkFLd0I7U0FDZixNQUFNLFFBQVEsR0FBRyxLQUFLLGtCQUFrQixHQUFHO0FBQ3BEOztTQU1TO0FBQ1Q7d0JBSytCLE9BQWdCO01BQ3pDLENBQUMsU0FBUyxLQUFLLEdBQUc7VUFDZCxRQUFRLEdBQUcsMkJBQTJCO0FBQUE7QUFFaEQ7NkJBS29DLE9BQWdCO01BQzlDLENBQUMsY0FBYyxLQUFLLEdBQUc7VUFDbkIsUUFBUSxHQUFHLGdDQUFnQztBQUFBO0FBRXJEO2tDQUt5QyxPQUFnQjtNQUNuRCxDQUFDLG1CQUFtQixLQUFLLEdBQUc7VUFDeEIsUUFBUSxHQUFHLHNDQUFzQztBQUFBO0FBRTNEO2lDQU1FLE9BQ0E7TUFFSSxDQUFDLGtCQUFrQixLQUFLLEdBQUc7VUFDdkIsUUFBUSxHQUFHLHFDQUFxQztBQUFBO0FBRTFEO3FCQUs0QixPQUFnQjtNQUN0QyxDQUFDLE1BQU0sS0FBSyxHQUFHO1VBQ1gsUUFBUSxHQUFHLHVCQUF1QjtBQUFBO0FBRTVDO3FCQUs0QixPQUFnQjtNQUN0QyxDQUFDLE1BQU0sS0FBSyxHQUFHO1VBQ1gsUUFBUSxHQUFHLHVCQUF1QjtBQUFBO0FBRTVDOzBCQUtpQyxPQUFnQjtNQUMzQyxPQUFPLFVBQVUsWUFBWTtVQUN6QixRQUFRLEdBQUcsNEJBQTRCO0FBQUE7QUFFakQ7MkJBTUUsT0FDQTtNQUVJLENBQUMsWUFBWSxLQUFLLEdBQUc7VUFDakIsUUFBUSxHQUFHLDZCQUE2QjtBQUFBO0FBRWxEO3dCQUsrQixPQUFnQjtNQUN6QyxPQUFPLFVBQVUsVUFBVTtVQUN2QixRQUFRLEdBQUcsMEJBQTBCO0FBQUE7QUFFL0M7TUFjYSxvQkFBb0IsT0FBTyxhQUFhO01BS3hDLHdCQUF3QixPQUFPLGlCQUFpQjt1Q0FTM0QsUUFDQSxRQUNBO01BRUksUUFBMEMsT0FBTztNQUNqRCxDQUFDLE9BQU87WUFDRjtrQkFDTSxRQUFRLFFBQVEsS0FBSztBQUFBO1FBRS9CLEtBQUssRUFBRTtBQUNmO21DQU1FLGVBQ0EsTUFDQTtRQUVNLEVBQUUsUUFBUSxhQUFhLG1CQUFtQjtRQUUxQyxvQkFBb0I7a0NBQ00sUUFBUSxtQkFBbUIsQ0FBQztlQUMvQyxlQUFlLEtBQUssTUFBTSxTQUFTLFlBQVk7QUFBQSxLQUN6RDtBQUFBO01BR0MsZ0JBQWdCO1FBQ2QsZUFBZSxRQUFRLFFBQVc7WUFDOUIsUUFBUSxJQUFJLDJDQUEyQztBQUFBO1FBRzNELGVBQWUsT0FBTzthQUdqQjtBQUFBLFFBQ0wsWUFBWTtBQUFBLFFBQ1osVUFBVTtBQUFBLFFBQ1YsY0FBYztBQUFBLFFBQ2QsT0FBTyxLQUFLLE1BQU0sZUFBZSxLQUFLO0FBQUE7V0FFbkM7OztTQUlGOzs7QUFJVDt3Q0FLK0MsUUFBYTtRQUNwRCxNQUFvRCxPQUFPO01BQzdELEtBQUs7ZUFDSSxNQUFNLEtBQUs7U0FDakIsTUFBTTtBQUFBOztBQUdmO0FBRUEsTUFBTSwrQ0FBK0I7b0JBS1YsTUFBd0IsS0FBYTtNQUMxRCxXQUFXO1FBQ1QseUJBQXlCLElBQUksU0FBUyxHQUFHOzs7NkJBR3BCLElBQUksU0FBUztBQUFBO1FBR2xDLHFCQUFxQjtVQUNuQjtBQUFBLFNBQ0Q7Y0FDSyxLQUFLLEdBQUc7O1NBRWI7Y0FDSyxNQUFNLEdBQUc7OztZQUdYLFFBQVEsc0JBQXNCLE1BQU07QUFBQTtBQUVoRDtjQUs2QztNQUN2QztNQUNBLFdBQVc7U0FFUixJQUFJO1FBQ0wsQ0FBQyxVQUFVO3NCQUNHLE9BQU8sR0FBRyxJQUFJO2lCQUNuQjtBQUFBO1dBRU47QUFBQTtBQUVYO01BS2EsYUFBYSxDQUFJLE1BQVk7TUFLN0IsUUFBUTtBQUFBLEVBRW5CLGdCQUFpQixLQUVmLE9BQU8sYUFBYSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSTs7OEJBT1o7U0FDNUIsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLFNBQVMsTUFBTSxDQUFDO0FBQzNEOztNQU1NLE1BQU0sZ0JBQWlCO1dBQ2xCO0FBQUEsU0FDRjtXQUNFO0FBQUE7QUFFWDtNQUthLFlBQVk7OyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
function getOrCreate(map, key, create) {
|
|
2
|
+
let value = map.get(key);
|
|
3
|
+
if (value === void 0) {
|
|
4
|
+
value = create();
|
|
5
|
+
map.set(key, value);
|
|
6
|
+
}
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
export { getOrCreate };
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwVXRpbHMubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvbWFwVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBBbnlNYXA8ViA9IGFueT4gPSBNYXA8YW55LCBWPiB8IFdlYWtNYXA8YW55LCBWPlxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3JDcmVhdGU8SywgViwgQyA9IFY+KG1hcDogTWFwPEssIFY+LCBrZXk6IEssIGNyZWF0ZTogKCkgPT4gQyk6IFZcbmV4cG9ydCBmdW5jdGlvbiBnZXRPckNyZWF0ZTxLIGV4dGVuZHMgb2JqZWN0LCBWLCBDID0gVj4oXG4gIG1hcDogV2Vha01hcDxLLCBWPixcbiAga2V5OiBLLFxuICBjcmVhdGU6ICgpID0+IENcbik6IFZcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9yQ3JlYXRlPFY+KG1hcDogQW55TWFwPFY+LCBrZXk6IGFueSwgY3JlYXRlOiAoKSA9PiBWKSB7XG4gIGxldCB2YWx1ZSA9IG1hcC5nZXQoa2V5KVxuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHZhbHVlID0gY3JlYXRlKClcbiAgICBtYXAuc2V0KGtleSwgdmFsdWUpXG4gIH1cbiAgcmV0dXJuIHZhbHVlXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6InFCQVMrQixLQUFnQixLQUFVO01BQ25ELFFBQVEsSUFBSSxJQUFJLEdBQUc7TUFDbkIsVUFBVSxRQUFXO1lBQ2Y7UUFDSixJQUFJLEtBQUssS0FBSztBQUFBO1NBRWI7QUFDVDs7In0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function tag(tagDataConstructor) {
|
|
2
|
+
const map = /* @__PURE__ */ new WeakMap();
|
|
3
|
+
return {
|
|
4
|
+
for(target) {
|
|
5
|
+
if (!map.has(target)) {
|
|
6
|
+
const data = tagDataConstructor(target);
|
|
7
|
+
map.set(target, data);
|
|
8
|
+
return data;
|
|
9
|
+
} else {
|
|
10
|
+
return map.get(target);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export { tag };
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3RhZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENyZWF0ZXMgYSB0YWcgZGF0YSBhY2Nlc3NvciBmb3IgYSB0YXJnZXQgb2JqZWN0IG9mIGEgY2VydGFpbiB0eXBlLlxuICogVGFnIGRhdGEgd2lsbCBiZSBsYXp5IGNyZWF0ZWQgb24gYWNjZXNzIGFuZCByZXVzZWQgZm9yIHRoZSBzYW1lIHRhcmdldCBvYmplY3QuXG4gKlxuICogQHR5cGVwYXJhbSBUYXJnZXQgVGFyZ2V0IHR5cGUuXG4gKiBAdHlwZXBhcmFtIFRhZ0RhdGEgVGFnIGRhdGEgdHlwZS5cbiAqIEBwYXJhbSB0YWdEYXRhQ29uc3RydWN0b3IgRnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCB0aGUgZmlyc3QgdGltZSB0aGUgdGFnXG4gKiBmb3IgYSBnaXZlbiBvYmplY3QgaXMgcmVxdWVzdGVkLlxuICogQHJldHVybnMgVGhlIHRhZyBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFyZ2V0IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhZzxUYXJnZXQgZXh0ZW5kcyBvYmplY3QsIFRhZ0RhdGE+KFxuICB0YWdEYXRhQ29uc3RydWN0b3I6ICh0YXJnZXQ6IFRhcmdldCkgPT4gVGFnRGF0YVxuKToge1xuICBmb3IodGFyZ2V0OiBUYXJnZXQpOiBUYWdEYXRhXG59IHtcbiAgY29uc3QgbWFwID0gbmV3IFdlYWtNYXA8VGFyZ2V0LCBUYWdEYXRhPigpXG5cbiAgcmV0dXJuIHtcbiAgICBmb3IodGFyZ2V0KTogVGFnRGF0YSB7XG4gICAgICBpZiAoIW1hcC5oYXModGFyZ2V0KSkge1xuICAgICAgICBjb25zdCBkYXRhID0gdGFnRGF0YUNvbnN0cnVjdG9yKHRhcmdldClcbiAgICAgICAgbWFwLnNldCh0YXJnZXQsIGRhdGEpXG4gICAgICAgIHJldHVybiBkYXRhXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbWFwLmdldCh0YXJnZXQpIVxuICAgICAgfVxuICAgIH0sXG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiYUFXRTtRQUlNLDBCQUFVO1NBRVQ7QUFBQSxJQUNMLElBQUk7VUFDRSxDQUFDLElBQUksSUFBSSxNQUFNLEdBQUc7Y0FDZCxPQUFPLG1CQUFtQixNQUFNO1lBQ2xDLElBQUksUUFBUSxJQUFJO2VBQ2I7QUFBQSxhQUNGO2VBQ0UsSUFBSSxJQUFJLE1BQU07QUFBQTs7O0FBSTdCOzsifQ==
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { __decorate } from "../../_virtual/_tslib.mjs";
|
|
2
|
+
import { values } from "mobx";
|
|
3
|
+
import { modelAction } from "../action/modelAction.mjs";
|
|
4
|
+
import { modelIdKey } from "../model/metadata.mjs";
|
|
5
|
+
import { Model } from "../model/Model.mjs";
|
|
6
|
+
import { model } from "../modelShared/modelDecorator.mjs";
|
|
7
|
+
import { idProp } from "../modelShared/prop.mjs";
|
|
8
|
+
import { typesArray } from "../types/arrayBased/array.mjs";
|
|
9
|
+
import { tProp } from "../types/tProp.mjs";
|
|
10
|
+
import { typesUnchecked } from "../types/utility/unchecked.mjs";
|
|
11
|
+
import { namespace } from "../utils/index.mjs";
|
|
12
|
+
let ArraySet = class ArraySet2 extends Model({
|
|
13
|
+
[modelIdKey]: idProp,
|
|
14
|
+
items: tProp(typesArray(typesUnchecked()), () => [])
|
|
15
|
+
}) {
|
|
16
|
+
add(value) {
|
|
17
|
+
const items = this.items;
|
|
18
|
+
if (!items.includes(value)) {
|
|
19
|
+
items.push(value);
|
|
20
|
+
}
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
clear() {
|
|
24
|
+
this.items.length = 0;
|
|
25
|
+
}
|
|
26
|
+
delete(value) {
|
|
27
|
+
const items = this.items;
|
|
28
|
+
const index = items.findIndex((t) => t === value);
|
|
29
|
+
if (index >= 0) {
|
|
30
|
+
items.splice(index, 1);
|
|
31
|
+
return true;
|
|
32
|
+
} else {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
forEach(callbackfn, thisArg) {
|
|
37
|
+
const items = this.items;
|
|
38
|
+
const len = items.length;
|
|
39
|
+
for (let i = 0; i < len; i++) {
|
|
40
|
+
const k = items[i];
|
|
41
|
+
callbackfn.call(thisArg, k, k, this);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
has(value) {
|
|
45
|
+
return this.items.includes(value);
|
|
46
|
+
}
|
|
47
|
+
get size() {
|
|
48
|
+
return this.items.length;
|
|
49
|
+
}
|
|
50
|
+
keys() {
|
|
51
|
+
return this.values();
|
|
52
|
+
}
|
|
53
|
+
values() {
|
|
54
|
+
const items = this.items;
|
|
55
|
+
return values(items)[Symbol.iterator]();
|
|
56
|
+
}
|
|
57
|
+
entries() {
|
|
58
|
+
const items = this.items;
|
|
59
|
+
return items.map((v) => [v, v]).values();
|
|
60
|
+
}
|
|
61
|
+
[Symbol.iterator]() {
|
|
62
|
+
return this.values();
|
|
63
|
+
}
|
|
64
|
+
get [Symbol.toStringTag]() {
|
|
65
|
+
return "ArraySet";
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
__decorate([
|
|
69
|
+
modelAction
|
|
70
|
+
], ArraySet.prototype, "add", null);
|
|
71
|
+
__decorate([
|
|
72
|
+
modelAction
|
|
73
|
+
], ArraySet.prototype, "clear", null);
|
|
74
|
+
__decorate([
|
|
75
|
+
modelAction
|
|
76
|
+
], ArraySet.prototype, "delete", null);
|
|
77
|
+
ArraySet = __decorate([
|
|
78
|
+
model(`${namespace}/ArraySet`)
|
|
79
|
+
], ArraySet);
|
|
80
|
+
function arraySet(values2) {
|
|
81
|
+
const initialArr = values2 ? values2.slice() : [];
|
|
82
|
+
return new ArraySet({ items: initialArr });
|
|
83
|
+
}
|
|
84
|
+
export { ArraySet, arraySet };
|
|
85
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXlTZXQubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd3JhcHBlcnMvQXJyYXlTZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmFsdWVzIH0gZnJvbSBcIm1vYnhcIlxuaW1wb3J0IHsgbW9kZWxBY3Rpb24gfSBmcm9tIFwiLi4vYWN0aW9uL21vZGVsQWN0aW9uXCJcbmltcG9ydCB7IG1vZGVsSWRLZXkgfSBmcm9tIFwiLi4vbW9kZWwvbWV0YWRhdGFcIlxuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWwvTW9kZWxcIlxuaW1wb3J0IHsgbW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxTaGFyZWQvbW9kZWxEZWNvcmF0b3JcIlxuaW1wb3J0IHsgaWRQcm9wIH0gZnJvbSBcIi4uL21vZGVsU2hhcmVkL3Byb3BcIlxuaW1wb3J0IHsgdHlwZXNBcnJheSB9IGZyb20gXCIuLi90eXBlcy9hcnJheUJhc2VkL2FycmF5XCJcbmltcG9ydCB7IHRQcm9wIH0gZnJvbSBcIi4uL3R5cGVzL3RQcm9wXCJcbmltcG9ydCB7IHR5cGVzVW5jaGVja2VkIH0gZnJvbSBcIi4uL3R5cGVzL3V0aWxpdHkvdW5jaGVja2VkXCJcbmltcG9ydCB7IG5hbWVzcGFjZSB9IGZyb20gXCIuLi91dGlsc1wiXG5cbi8qKlxuICogQSBzZXQgdGhhdCBpcyBiYWNrZWQgYnkgYW4gYXJyYXkuXG4gKiBVc2UgYGFycmF5U2V0YCB0byBjcmVhdGUgaXQuXG4gKi9cbkBtb2RlbChgJHtuYW1lc3BhY2V9L0FycmF5U2V0YClcbmV4cG9ydCBjbGFzcyBBcnJheVNldDxWPlxuICBleHRlbmRzIE1vZGVsKHtcbiAgICBbbW9kZWxJZEtleV06IGlkUHJvcCxcbiAgICBpdGVtczogdFByb3AodHlwZXNBcnJheSh0eXBlc1VuY2hlY2tlZDxhbnk+KCkpLCAoKSA9PiBbXSksIC8vIHdpbGwgYmUgcHJvcGVybHkgY2hlY2tlZCBieSB0eXBlcy5hcnJheVNldChzdWJUeXBlKVxuICB9KVxuICBpbXBsZW1lbnRzIFNldDxWPlxue1xuICBAbW9kZWxBY3Rpb25cbiAgYWRkKHZhbHVlOiBWKTogdGhpcyB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zXG5cbiAgICBpZiAoIWl0ZW1zLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgaXRlbXMucHVzaCh2YWx1ZSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIEBtb2RlbEFjdGlvblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLmxlbmd0aCA9IDBcbiAgfVxuXG4gIEBtb2RlbEFjdGlvblxuICBkZWxldGUodmFsdWU6IFYpOiBib29sZWFuIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXNcblxuICAgIGNvbnN0IGluZGV4ID0gaXRlbXMuZmluZEluZGV4KCh0KSA9PiB0ID09PSB2YWx1ZSlcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgaXRlbXMuc3BsaWNlKGluZGV4LCAxKVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG5cbiAgZm9yRWFjaChjYWxsYmFja2ZuOiAodmFsdWU6IFYsIHZhbHVlMjogViwgc2V0OiBTZXQ8Vj4pID0+IHZvaWQsIHRoaXNBcmc/OiBhbnkpOiB2b2lkIHtcbiAgICAvLyB3ZSBjYW5ub3QgdXNlIHRoZSBzZXQgaW1wbGVtZW50YXRpb24gc2luY2Ugd2UgbmVlZCB0byBwYXNzIHRoaXMgYXMgc2V0XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zXG4gICAgY29uc3QgbGVuID0gaXRlbXMubGVuZ3RoXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgY29uc3QgayA9IGl0ZW1zW2ldXG4gICAgICBjYWxsYmFja2ZuLmNhbGwodGhpc0FyZywgaywgaywgdGhpcylcbiAgICB9XG4gIH1cblxuICBoYXModmFsdWU6IFYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5pbmNsdWRlcyh2YWx1ZSlcbiAgfVxuXG4gIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoXG4gIH1cblxuICBrZXlzKCk6IEl0ZXJhYmxlSXRlcmF0b3I8Vj4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcygpIC8vIHllcywgdmFsdWVzXG4gIH1cblxuICB2YWx1ZXMoKTogSXRlcmFibGVJdGVyYXRvcjxWPiB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zXG5cbiAgICByZXR1cm4gdmFsdWVzKGl0ZW1zKVtTeW1ib2wuaXRlcmF0b3JdKClcbiAgfVxuXG4gIGVudHJpZXMoKTogSXRlcmFibGVJdGVyYXRvcjxbViwgVl0+IHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXNcblxuICAgIC8vIFRPRE86IHNob3VsZCB1c2UgYW4gYWN0dWFsIGl0ZXJhdG9yXG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgodikgPT4gW3YsIHZdIGFzIFtWLCBWXSkudmFsdWVzKClcbiAgfVxuXG4gIFtTeW1ib2wuaXRlcmF0b3JdKCk6IEl0ZXJhYmxlSXRlcmF0b3I8Vj4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcygpXG4gIH1cblxuICBnZXQgW1N5bWJvbC50b1N0cmluZ1RhZ10oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJBcnJheVNldFwiXG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IEFycmF5U2V0IG1vZGVsIGluc3RhbmNlLlxuICpcbiAqIEB0eXBlcGFyYW0gViBWYWx1ZSB0eXBlLlxuICogQHBhcmFtIFtlbnRyaWVzXSBPcHRpb25hbCBpbml0aWFsIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFycmF5U2V0PFY+KHZhbHVlcz86IFJlYWRvbmx5QXJyYXk8Vj4gfCBudWxsKTogQXJyYXlTZXQ8Vj4ge1xuICBjb25zdCBpbml0aWFsQXJyOiBWW10gPSB2YWx1ZXMgPyB2YWx1ZXMuc2xpY2UoKSA6IFtdXG5cbiAgcmV0dXJuIG5ldyBBcnJheVNldCh7IGl0ZW1zOiBpbml0aWFsQXJyIH0pXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFnQmEsV0FBYixNQUFhLGtCQUNILE1BQU07QUFBQSxHQUNYLGFBQWE7QUFBQSxFQUNkLE9BQU8sTUFBTSxXQUFXLGdCQUFxQixHQUFHLE1BQU0sRUFBRTtDQUN6RDtFQUlELElBQUk7VUFDSSxRQUFRLEtBQUs7UUFFZixDQUFDLE1BQU0sU0FBUyxLQUFLLEdBQUc7WUFDcEIsS0FBSyxLQUFLO0FBQUE7V0FFWDtBQUFBO0VBSVQ7U0FDTyxNQUFNLFNBQVM7QUFBQTtFQUl0QixPQUFPO1VBQ0MsUUFBUSxLQUFLO1VBRWIsUUFBUSxNQUFNLFVBQVUsQ0FBQyxNQUFNLE1BQU0sS0FBSztRQUM1QyxTQUFTLEdBQUc7WUFDUixPQUFPLE9BQU8sQ0FBQzthQUNkO0FBQUEsV0FDRjthQUNFO0FBQUE7O0VBSVgsUUFBUSxZQUF3RDtVQUV4RCxRQUFRLEtBQUs7VUFDYixNQUFNLE1BQU07YUFDVCxJQUFJLEdBQUcsSUFBSSxLQUFLLEtBQUs7WUFDdEIsSUFBSSxNQUFNO2lCQUNMLEtBQUssU0FBUyxHQUFHLEdBQUcsSUFBSTtBQUFBOztFQUl2QyxJQUFJO1dBQ0ssS0FBSyxNQUFNLFNBQVMsS0FBSztBQUFBO01BRzlCO1dBQ0ssS0FBSyxNQUFNO0FBQUE7RUFHcEI7V0FDUyxLQUFLOztFQUdkO1VBQ1EsUUFBUSxLQUFLO1dBRVosT0FBTyxLQUFLLEVBQUUsT0FBTzs7RUFHOUI7VUFDUSxRQUFRLEtBQUs7V0FHWixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQVcsRUFBRTs7R0FHM0MsT0FBTztXQUNDLEtBQUs7O09BR1QsT0FBTztXQUNIO0FBQUE7O0FBbkVUO0VBREM7O0FBV0Q7RUFEQzs7QUFNRDtFQURDOztBQXRCVTtFQURaLE1BQU0sR0FBRyxvQkFBb0I7R0FDakIsUUFBUTtrQkFxRk87UUFDcEIsYUFBa0IsVUFBUyxRQUFPLFVBQVU7U0FFM0MsSUFBSSxTQUFTLEVBQUUsT0FBTyxZQUFZO0FBQzNDOzsifQ==
|