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,110 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
import { runInAction } from "mobx";
|
|
21
|
+
import { applyAction } from "../../action/applyAction.mjs";
|
|
22
|
+
import { frozenKey } from "../../frozen/Frozen.mjs";
|
|
23
|
+
import { getModelIdPropertyName } from "../../model/getModelMetadata.mjs";
|
|
24
|
+
import { isModel } from "../../model/utils.mjs";
|
|
25
|
+
import { resolvePath } from "../../parent/path.mjs";
|
|
26
|
+
import { applyPatches } from "../../patch/applyPatches.mjs";
|
|
27
|
+
import { onPatches } from "../../patch/emitPatch.mjs";
|
|
28
|
+
import { assertTweakedObject } from "../../tweaker/core.mjs";
|
|
29
|
+
import { failure, isObject } from "../../utils/index.mjs";
|
|
30
|
+
import { deserializeActionCall } from "./actionSerialization.mjs";
|
|
31
|
+
function applySerializedActionAndTrackNewModelIds(subtreeRoot, call) {
|
|
32
|
+
if (!call.serialized) {
|
|
33
|
+
throw failure("cannot apply a non-serialized action call, use 'applyAction' instead");
|
|
34
|
+
}
|
|
35
|
+
assertTweakedObject(subtreeRoot, "subtreeRoot");
|
|
36
|
+
const deserializedCall = deserializeActionCall(call, subtreeRoot);
|
|
37
|
+
const modelIdOverrides = [];
|
|
38
|
+
const patchDisposer = onPatches(subtreeRoot, (patches) => {
|
|
39
|
+
scanPatchesForModelIdChanges(subtreeRoot, modelIdOverrides, patches);
|
|
40
|
+
});
|
|
41
|
+
try {
|
|
42
|
+
const returnValue = applyAction(subtreeRoot, deserializedCall);
|
|
43
|
+
return {
|
|
44
|
+
returnValue,
|
|
45
|
+
serializedActionCall: __spreadProps(__spreadValues({}, call), {
|
|
46
|
+
modelIdOverrides
|
|
47
|
+
})
|
|
48
|
+
};
|
|
49
|
+
} finally {
|
|
50
|
+
patchDisposer();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function scanPatchesForModelIdChanges(root, modelIdOverrides, patches) {
|
|
54
|
+
const len = patches.length;
|
|
55
|
+
for (let i = 0; i < len; i++) {
|
|
56
|
+
const patch = patches[i];
|
|
57
|
+
if (patch.op === "replace" || patch.op === "add") {
|
|
58
|
+
deepScanValueForModelIdChanges(root, modelIdOverrides, patch.value, patch.path);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function deepScanValueForModelIdChanges(root, modelIdOverrides, value, path) {
|
|
63
|
+
if (path.length >= 1 && typeof value === "string") {
|
|
64
|
+
const parent = resolvePath(root, path.slice(0, path.length - 1)).value;
|
|
65
|
+
if (isModel(parent)) {
|
|
66
|
+
const propertyName = path[path.length - 1];
|
|
67
|
+
if (propertyName === getModelIdPropertyName(parent.constructor)) {
|
|
68
|
+
modelIdOverrides.push({
|
|
69
|
+
op: "replace",
|
|
70
|
+
path: path.slice(),
|
|
71
|
+
value
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
} else if (Array.isArray(value)) {
|
|
76
|
+
const len = value.length;
|
|
77
|
+
for (let i = 0; i < len; i++) {
|
|
78
|
+
path.push(i);
|
|
79
|
+
deepScanValueForModelIdChanges(root, modelIdOverrides, value[i], path);
|
|
80
|
+
path.pop();
|
|
81
|
+
}
|
|
82
|
+
} else if (isObject(value)) {
|
|
83
|
+
if (!value[frozenKey]) {
|
|
84
|
+
const keys = Object.keys(value);
|
|
85
|
+
const len = keys.length;
|
|
86
|
+
for (let i = 0; i < len; i++) {
|
|
87
|
+
const propName = keys[i];
|
|
88
|
+
const propValue = value[propName];
|
|
89
|
+
path.push(propName);
|
|
90
|
+
deepScanValueForModelIdChanges(root, modelIdOverrides, propValue, path);
|
|
91
|
+
path.pop();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function applySerializedActionAndSyncNewModelIds(subtreeRoot, call) {
|
|
97
|
+
if (!call.serialized) {
|
|
98
|
+
throw failure("cannot apply a non-serialized action call, use 'applyAction' instead");
|
|
99
|
+
}
|
|
100
|
+
assertTweakedObject(subtreeRoot, "subtreeRoot");
|
|
101
|
+
const deserializedCall = deserializeActionCall(call, subtreeRoot);
|
|
102
|
+
let returnValue;
|
|
103
|
+
runInAction(() => {
|
|
104
|
+
returnValue = applyAction(subtreeRoot, deserializedCall);
|
|
105
|
+
applyPatches(subtreeRoot, call.modelIdOverrides);
|
|
106
|
+
});
|
|
107
|
+
return returnValue;
|
|
108
|
+
}
|
|
109
|
+
export { applySerializedActionAndSyncNewModelIds, applySerializedActionAndTrackNewModelIds };
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlTZXJpYWxpemVkQWN0aW9uLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjdGlvbk1pZGRsZXdhcmVzL2FjdGlvblNlcmlhbGl6YXRpb24vYXBwbHlTZXJpYWxpemVkQWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJ1bkluQWN0aW9uIH0gZnJvbSBcIm1vYnhcIlxuaW1wb3J0IHsgYXBwbHlBY3Rpb24gfSBmcm9tIFwiLi4vLi4vYWN0aW9uL2FwcGx5QWN0aW9uXCJcbmltcG9ydCB7IGZyb3plbktleSB9IGZyb20gXCIuLi8uLi9mcm96ZW4vRnJvemVuXCJcbmltcG9ydCB7IGdldE1vZGVsSWRQcm9wZXJ0eU5hbWUgfSBmcm9tIFwiLi4vLi4vbW9kZWwvZ2V0TW9kZWxNZXRhZGF0YVwiXG5pbXBvcnQgeyBpc01vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVsL3V0aWxzXCJcbmltcG9ydCB7IHJlc29sdmVQYXRoIH0gZnJvbSBcIi4uLy4uL3BhcmVudC9wYXRoXCJcbmltcG9ydCB0eXBlIHsgV3JpdGFibGVQYXRoIH0gZnJvbSBcIi4uLy4uL3BhcmVudC9wYXRoVHlwZXNcIlxuaW1wb3J0IHsgYXBwbHlQYXRjaGVzIH0gZnJvbSBcIi4uLy4uL3BhdGNoL2FwcGx5UGF0Y2hlc1wiXG5pbXBvcnQgeyBvblBhdGNoZXMgfSBmcm9tIFwiLi4vLi4vcGF0Y2gvZW1pdFBhdGNoXCJcbmltcG9ydCB0eXBlIHsgUGF0Y2ggfSBmcm9tIFwiLi4vLi4vcGF0Y2gvUGF0Y2hcIlxuaW1wb3J0IHsgYXNzZXJ0VHdlYWtlZE9iamVjdCB9IGZyb20gXCIuLi8uLi90d2Vha2VyL2NvcmVcIlxuaW1wb3J0IHsgZmFpbHVyZSwgaXNPYmplY3QgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIlxuaW1wb3J0IHsgZGVzZXJpYWxpemVBY3Rpb25DYWxsLCBTZXJpYWxpemVkQWN0aW9uQ2FsbCB9IGZyb20gXCIuL2FjdGlvblNlcmlhbGl6YXRpb25cIlxuXG4vKipcbiAqIFNlcmlhbGl6ZWQgYWN0aW9uIGNhbGwgd2l0aCBtb2RlbCBJRCBvdmVycmlkZXMuXG4gKiBDYW4gYmUgZ2VuZXJhdGVkIHdpdGggYGFwcGx5U2VyaWFsaXplZEFjdGlvbkFuZFRyYWNrTmV3TW9kZWxJZHNgLlxuICogVG8gYmUgYXBwbGllZCB3aXRoIGBhcHBseVNlcmlhbGl6ZWRBY3Rpb25BbmRTeW5jTmV3TW9kZWxJZHNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcmlhbGl6ZWRBY3Rpb25DYWxsV2l0aE1vZGVsSWRPdmVycmlkZXMgZXh0ZW5kcyBTZXJpYWxpemVkQWN0aW9uQ2FsbCB7XG4gIC8qKlxuICAgKiBNb2RlbCBJZCBvdmVycmlkZXMgdG8gYmUgYXBwbGllZCBhdCB0aGUgZW5kIG9mIGFwcGx5aW5nIHRoZSBhY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBtb2RlbElkT3ZlcnJpZGVzOiBSZWFkb25seUFycmF5PFBhdGNoPlxufVxuXG4vKipcbiAqIEFwcGxpZXMgKHJ1bnMpIGEgc2VyaWFsaXplZCBhY3Rpb24gb3ZlciBhIHRhcmdldCBvYmplY3QuXG4gKiBJbiB0aGlzIG1vZGUgbmV3bHkgZ2VuZXJhdGVkIC8gbW9kaWZpZWQgbW9kZWwgSURzIHdpbGwgYmUgdHJhY2tlZFxuICogc28gdGhleSBjYW4gYmUgbGF0ZXIgc3luY2hyb25pemVkIHdoZW4gYXBwbHlpbmcgaXQgb24gYW5vdGhlciBtYWNoaW5lXG4gKiB2aWEgYGFwcGx5U2VyaWFsaXplZEFjdGlvbkFuZFN5bmNOZXdNb2RlbElkc2AuXG4gKiBUaGlzIG1lYW5zIHRoaXMgbWV0aG9kIGlzIHVzdWFsbHkgdXNlZCBvbiB0aGUgc2VydmVyIHNpZGUuXG4gKlxuICogSWYgeW91IGludGVuZCB0byBhcHBseSBub24tc2VyaWFsaXplZCBhY3Rpb25zIGNoZWNrIGBhcHBseUFjdGlvbmAgaW5zdGVhZC5cbiAqXG4gKiBAcGFyYW0gc3VidHJlZVJvb3QgU3VidHJlZSByb290IHRhcmdldCBvYmplY3QgdG8gcnVuIHRoZSBhY3Rpb24gb3Zlci5cbiAqIEBwYXJhbSBjYWxsIFRoZSBzZXJpYWxpemVkIGFjdGlvbiwgdXN1YWxseSBhcyBjb21pbmcgZnJvbSB0aGUgc2VydmVyL2NsaWVudC5cbiAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGFjdGlvbiwgaWYgYW55LCBwbHVzIGEgbmV3IHNlcmlhbGl6ZWQgYWN0aW9uXG4gKiB3aXRoIG1vZGVsIG92ZXJyaWRlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5U2VyaWFsaXplZEFjdGlvbkFuZFRyYWNrTmV3TW9kZWxJZHM8VFJldCA9IGFueT4oXG4gIHN1YnRyZWVSb290OiBvYmplY3QsXG4gIGNhbGw6IFNlcmlhbGl6ZWRBY3Rpb25DYWxsXG4pOiB7XG4gIHJldHVyblZhbHVlOiBUUmV0XG4gIHNlcmlhbGl6ZWRBY3Rpb25DYWxsOiBTZXJpYWxpemVkQWN0aW9uQ2FsbFdpdGhNb2RlbElkT3ZlcnJpZGVzXG59IHtcbiAgaWYgKCFjYWxsLnNlcmlhbGl6ZWQpIHtcbiAgICB0aHJvdyBmYWlsdXJlKFwiY2Fubm90IGFwcGx5IGEgbm9uLXNlcmlhbGl6ZWQgYWN0aW9uIGNhbGwsIHVzZSAnYXBwbHlBY3Rpb24nIGluc3RlYWRcIilcbiAgfVxuXG4gIGFzc2VydFR3ZWFrZWRPYmplY3Qoc3VidHJlZVJvb3QsIFwic3VidHJlZVJvb3RcIilcblxuICBjb25zdCBkZXNlcmlhbGl6ZWRDYWxsID0gZGVzZXJpYWxpemVBY3Rpb25DYWxsKGNhbGwsIHN1YnRyZWVSb290KVxuXG4gIGNvbnN0IG1vZGVsSWRPdmVycmlkZXM6IFBhdGNoW10gPSBbXVxuXG4gIC8vIHNldCBhIHBhdGNoIGxpc3RlbmVyIHRvIHRyYWNrIGNoYW5nZXMgdG8gbW9kZWwgaWRzXG4gIGNvbnN0IHBhdGNoRGlzcG9zZXIgPSBvblBhdGNoZXMoc3VidHJlZVJvb3QsIChwYXRjaGVzKSA9PiB7XG4gICAgc2NhblBhdGNoZXNGb3JNb2RlbElkQ2hhbmdlcyhzdWJ0cmVlUm9vdCwgbW9kZWxJZE92ZXJyaWRlcywgcGF0Y2hlcylcbiAgfSlcblxuICB0cnkge1xuICAgIGNvbnN0IHJldHVyblZhbHVlID0gYXBwbHlBY3Rpb24oc3VidHJlZVJvb3QsIGRlc2VyaWFsaXplZENhbGwpXG5cbiAgICByZXR1cm4ge1xuICAgICAgcmV0dXJuVmFsdWUsXG4gICAgICBzZXJpYWxpemVkQWN0aW9uQ2FsbDoge1xuICAgICAgICAuLi5jYWxsLFxuICAgICAgICBtb2RlbElkT3ZlcnJpZGVzLFxuICAgICAgfSxcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcGF0Y2hEaXNwb3NlcigpXG4gIH1cbn1cblxuZnVuY3Rpb24gc2NhblBhdGNoZXNGb3JNb2RlbElkQ2hhbmdlcyhyb290OiBvYmplY3QsIG1vZGVsSWRPdmVycmlkZXM6IFBhdGNoW10sIHBhdGNoZXM6IFBhdGNoW10pIHtcbiAgY29uc3QgbGVuID0gcGF0Y2hlcy5sZW5ndGhcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgIGNvbnN0IHBhdGNoID0gcGF0Y2hlc1tpXVxuICAgIGlmIChwYXRjaC5vcCA9PT0gXCJyZXBsYWNlXCIgfHwgcGF0Y2gub3AgPT09IFwiYWRkXCIpIHtcbiAgICAgIGRlZXBTY2FuVmFsdWVGb3JNb2RlbElkQ2hhbmdlcyhcbiAgICAgICAgcm9vdCxcbiAgICAgICAgbW9kZWxJZE92ZXJyaWRlcyxcbiAgICAgICAgcGF0Y2gudmFsdWUsXG4gICAgICAgIHBhdGNoLnBhdGggYXMgV3JpdGFibGVQYXRoXG4gICAgICApXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZXBTY2FuVmFsdWVGb3JNb2RlbElkQ2hhbmdlcyhcbiAgcm9vdDogb2JqZWN0LFxuICBtb2RlbElkT3ZlcnJpZGVzOiBQYXRjaFtdLFxuICB2YWx1ZTogYW55LFxuICBwYXRoOiBXcml0YWJsZVBhdGhcbikge1xuICBpZiAocGF0aC5sZW5ndGggPj0gMSAmJiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAvLyBlbnN1cmUgdGhlIHBhcmVudCBpcyBhbiBhY3R1YWwgbW9kZWxcbiAgICBjb25zdCBwYXJlbnQgPSByZXNvbHZlUGF0aChyb290LCBwYXRoLnNsaWNlKDAsIHBhdGgubGVuZ3RoIC0gMSkpLnZhbHVlXG5cbiAgICBpZiAoaXNNb2RlbChwYXJlbnQpKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eU5hbWUgPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV1cbiAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPT09IGdldE1vZGVsSWRQcm9wZXJ0eU5hbWUocGFyZW50LmNvbnN0cnVjdG9yIGFzIGFueSkpIHtcbiAgICAgICAgLy8gZm91bmQgb25lXG4gICAgICAgIG1vZGVsSWRPdmVycmlkZXMucHVzaCh7XG4gICAgICAgICAgb3A6IFwicmVwbGFjZVwiLFxuICAgICAgICAgIHBhdGg6IHBhdGguc2xpY2UoKSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgY29uc3QgbGVuID0gdmFsdWUubGVuZ3RoXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgcGF0aC5wdXNoKGkpXG4gICAgICBkZWVwU2NhblZhbHVlRm9yTW9kZWxJZENoYW5nZXMocm9vdCwgbW9kZWxJZE92ZXJyaWRlcywgdmFsdWVbaV0sIHBhdGgpXG4gICAgICBwYXRoLnBvcCgpXG4gICAgfVxuICB9IGVsc2UgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgIC8vIHNraXAgZnJvemVuIHZhbHVlc1xuICAgIGlmICghdmFsdWVbZnJvemVuS2V5XSkge1xuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHZhbHVlKVxuICAgICAgY29uc3QgbGVuID0ga2V5cy5sZW5ndGhcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgY29uc3QgcHJvcE5hbWUgPSBrZXlzW2ldXG4gICAgICAgIGNvbnN0IHByb3BWYWx1ZSA9IHZhbHVlW3Byb3BOYW1lXVxuXG4gICAgICAgIHBhdGgucHVzaChwcm9wTmFtZSlcbiAgICAgICAgZGVlcFNjYW5WYWx1ZUZvck1vZGVsSWRDaGFuZ2VzKHJvb3QsIG1vZGVsSWRPdmVycmlkZXMsIHByb3BWYWx1ZSwgcGF0aClcbiAgICAgICAgcGF0aC5wb3AoKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEFwcGxpZXMgKHJ1bnMpIGEgc2VyaWFsaXplZCBhY3Rpb24gb3ZlciBhIHRhcmdldCBvYmplY3QuXG4gKiBJbiB0aGlzIG1vZGUgbmV3bHkgZ2VuZXJhdGVkIC8gbW9kaWZpZWQgbW9kZWwgSURzIHByZXZpb3VzbHkgdHJhY2tlZFxuICogYnkgYGFwcGx5U2VyaWFsaXplZEFjdGlvbkFuZFRyYWNrTmV3TW9kZWxJZHNgIHdpbGwgYmUgc3luY2hyb25pemVkIGFmdGVyXG4gKiB0aGUgYWN0aW9uIGlzIGFwcGxpZWQuXG4gKiBUaGlzIG1lYW5zIHRoaXMgbWV0aG9kIGlzIHVzdWFsbHkgdXNlZCBvbiB0aGUgY2xpZW50IHNpZGUuXG4gKlxuICogSWYgeW91IGludGVuZCB0byBhcHBseSBub24tc2VyaWFsaXplZCBhY3Rpb25zIGNoZWNrIGBhcHBseUFjdGlvbmAgaW5zdGVhZC5cbiAqXG4gKiBAcGFyYW0gc3VidHJlZVJvb3QgU3VidHJlZSByb290IHRhcmdldCBvYmplY3QgdG8gcnVuIHRoZSBhY3Rpb24gb3Zlci5cbiAqIEBwYXJhbSBjYWxsIFRoZSBzZXJpYWxpemVkIGFjdGlvbiwgdXN1YWxseSBhcyBjb21pbmcgZnJvbSB0aGUgc2VydmVyL2NsaWVudC5cbiAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGFjdGlvbiwgaWYgYW55LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlTZXJpYWxpemVkQWN0aW9uQW5kU3luY05ld01vZGVsSWRzPFRSZXQgPSBhbnk+KFxuICBzdWJ0cmVlUm9vdDogb2JqZWN0LFxuICBjYWxsOiBTZXJpYWxpemVkQWN0aW9uQ2FsbFdpdGhNb2RlbElkT3ZlcnJpZGVzXG4pOiBUUmV0IHtcbiAgaWYgKCFjYWxsLnNlcmlhbGl6ZWQpIHtcbiAgICB0aHJvdyBmYWlsdXJlKFwiY2Fubm90IGFwcGx5IGEgbm9uLXNlcmlhbGl6ZWQgYWN0aW9uIGNhbGwsIHVzZSAnYXBwbHlBY3Rpb24nIGluc3RlYWRcIilcbiAgfVxuXG4gIGFzc2VydFR3ZWFrZWRPYmplY3Qoc3VidHJlZVJvb3QsIFwic3VidHJlZVJvb3RcIilcblxuICBjb25zdCBkZXNlcmlhbGl6ZWRDYWxsID0gZGVzZXJpYWxpemVBY3Rpb25DYWxsKGNhbGwsIHN1YnRyZWVSb290KVxuXG4gIGxldCByZXR1cm5WYWx1ZTogYW55XG4gIHJ1bkluQWN0aW9uKCgpID0+IHtcbiAgICByZXR1cm5WYWx1ZSA9IGFwcGx5QWN0aW9uKHN1YnRyZWVSb290LCBkZXNlcmlhbGl6ZWRDYWxsKVxuXG4gICAgLy8gYXBwbHkgbW9kZWwgaWQgb3ZlcnJpZGVzXG4gICAgYXBwbHlQYXRjaGVzKHN1YnRyZWVSb290LCBjYWxsLm1vZGVsSWRPdmVycmlkZXMpXG4gIH0pXG5cbiAgcmV0dXJuIHJldHVyblZhbHVlXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tEQXlDRSxhQUNBO01BS0ksQ0FBQyxLQUFLLFlBQVk7VUFDZCxRQUFRLHNFQUFzRTtBQUFBO3NCQUdsRSxhQUFhLGFBQWE7UUFFeEMsbUJBQW1CLHNCQUFzQixNQUFNLFdBQVc7UUFFMUQsbUJBQTRCO1FBRzVCLGdCQUFnQixVQUFVLGFBQWEsQ0FBQztpQ0FDZixhQUFhLGtCQUFrQixPQUFPO0FBQUEsR0FDcEU7TUFFRztVQUNJLGNBQWMsWUFBWSxhQUFhLGdCQUFnQjtXQUV0RDtBQUFBLE1BQ0w7QUFBQSxNQUNBLHNCQUFzQixpQ0FDakIsT0FEaUI7QUFBQSxRQUVwQjtBQUFBOzs7OztBQU1SO0FBRUEsc0NBQXNDLE1BQWMsa0JBQTJCO1FBQ3ZFLE1BQU0sUUFBUTtXQUNYLElBQUksR0FBRyxJQUFJLEtBQUssS0FBSztVQUN0QixRQUFRLFFBQVE7UUFDbEIsTUFBTSxPQUFPLGFBQWEsTUFBTSxPQUFPLE9BQU87cUNBRTlDLE1BQ0Esa0JBQ0EsTUFBTSxPQUNOLE1BQU0sSUFBb0I7QUFBQTs7QUFJbEM7QUFFQSx3Q0FDRSxNQUNBLGtCQUNBLE9BQ0E7TUFFSSxLQUFLLFVBQVUsS0FBSyxPQUFPLFVBQVUsVUFBVTtVQUUzQyxTQUFTLFlBQVksTUFBTSxLQUFLLE1BQU0sR0FBRyxLQUFLLFNBQVMsQ0FBQyxDQUFDLEVBQUU7UUFFN0QsUUFBUSxNQUFNLEdBQUc7WUFDYixlQUFlLEtBQUssS0FBSyxTQUFTO1VBQ3BDLGlCQUFpQix1QkFBdUIsT0FBTyxXQUFrQixHQUFHO3lCQUVyRCxLQUFLO0FBQUEsVUFDcEIsSUFBSTtBQUFBLFVBQ0osTUFBTSxLQUFLO1VBQ1g7QUFBQSxTQUNEO0FBQUE7O2FBR0ksTUFBTSxRQUFRLEtBQUssR0FBRztVQUN6QixNQUFNLE1BQU07YUFDVCxJQUFJLEdBQUcsSUFBSSxLQUFLLEtBQUs7V0FDdkIsS0FBSyxDQUFDO3FDQUNvQixNQUFNLGtCQUFrQixNQUFNLElBQUksSUFBSTtXQUNoRTs7YUFFRSxTQUFTLEtBQUssR0FBRztRQUV0QixDQUFDLE1BQU0sWUFBWTtZQUNmLE9BQU8sT0FBTyxLQUFLLEtBQUs7WUFDeEIsTUFBTSxLQUFLO2VBQ1IsSUFBSSxHQUFHLElBQUksS0FBSyxLQUFLO2NBQ3RCLFdBQVcsS0FBSztjQUNoQixZQUFZLE1BQU07YUFFbkIsS0FBSyxRQUFRO3VDQUNhLE1BQU0sa0JBQWtCLFdBQVcsSUFBSTthQUNqRTs7OztBQUliO2lEQWdCRSxhQUNBO01BRUksQ0FBQyxLQUFLLFlBQVk7VUFDZCxRQUFRLHNFQUFzRTtBQUFBO3NCQUdsRSxhQUFhLGFBQWE7UUFFeEMsbUJBQW1CLHNCQUFzQixNQUFNLFdBQVc7TUFFNUQ7Y0FDUTtrQkFDSSxZQUFZLGFBQWEsZ0JBQWdCO2lCQUcxQyxhQUFhLEtBQUssZ0JBQWdCO0FBQUEsR0FDaEQ7U0FFTTtBQUNUOzsifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { namespace, isArray } from "../../utils/index.mjs";
|
|
2
|
+
import { cannotSerialize } from "./core.mjs";
|
|
3
|
+
const arraySerializer = {
|
|
4
|
+
id: `${namespace}/array`,
|
|
5
|
+
serialize(value, serialize) {
|
|
6
|
+
if (!isArray(value))
|
|
7
|
+
return cannotSerialize;
|
|
8
|
+
return value.map(serialize);
|
|
9
|
+
},
|
|
10
|
+
deserialize(arr, deserialize) {
|
|
11
|
+
return arr.map(deserialize);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
export { arraySerializer };
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlTZXJpYWxpemVyLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjdGlvbk1pZGRsZXdhcmVzL2FjdGlvblNlcmlhbGl6YXRpb24vYXJyYXlTZXJpYWxpemVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSU9ic2VydmFibGVBcnJheSB9IGZyb20gXCJtb2J4XCJcbmltcG9ydCB7IGlzQXJyYXksIG5hbWVzcGFjZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiXG5pbXBvcnQgeyBBY3Rpb25DYWxsQXJndW1lbnRTZXJpYWxpemVyLCBjYW5ub3RTZXJpYWxpemUgfSBmcm9tIFwiLi9jb3JlXCJcblxuZXhwb3J0IGNvbnN0IGFycmF5U2VyaWFsaXplcjogQWN0aW9uQ2FsbEFyZ3VtZW50U2VyaWFsaXplcjxhbnlbXSB8IElPYnNlcnZhYmxlQXJyYXk8YW55PiwgYW55W10+ID0ge1xuICBpZDogYCR7bmFtZXNwYWNlfS9hcnJheWAsXG5cbiAgc2VyaWFsaXplKHZhbHVlLCBzZXJpYWxpemUpIHtcbiAgICBpZiAoIWlzQXJyYXkodmFsdWUpKSByZXR1cm4gY2Fubm90U2VyaWFsaXplXG5cbiAgICAvLyB0aGlzIHdpbGwgYWxzbyB0cmFuc2Zvcm0gb2JzZXJ2YWJsZSBhcnJheXMgaW50byBub24tb2JzZXJ2YWJsZSBvbmVzXG4gICAgcmV0dXJuIHZhbHVlLm1hcChzZXJpYWxpemUpXG4gIH0sXG5cbiAgZGVzZXJpYWxpemUoYXJyLCBkZXNlcmlhbGl6ZSkge1xuICAgIHJldHVybiBhcnIubWFwKGRlc2VyaWFsaXplKVxuICB9LFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O01BSWEsa0JBQXNGO0FBQUEsRUFDakcsSUFBSSxHQUFHO0FBQUEsRUFFUCxVQUFVLE9BQU87UUFDWCxDQUFDLFFBQVEsS0FBSzthQUFVO1dBR3JCLE1BQU0sSUFBSSxTQUFTO0FBQUE7RUFHNUIsWUFBWSxLQUFLO1dBQ1IsSUFBSSxJQUFJLFdBQVc7QUFBQTs7OyJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const cannotSerialize = Symbol("cannotSerialize");
|
|
2
|
+
export { cannotSerialize };
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb25NaWRkbGV3YXJlcy9hY3Rpb25TZXJpYWxpemF0aW9uL2NvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNhbm5vdFNlcmlhbGl6ZSA9IFN5bWJvbChcImNhbm5vdFNlcmlhbGl6ZVwiKVxuXG4vKipcbiAqIFNlcmlhbGl6ZXIgb2YgYWN0aW9uIGNhbGwgYXJndW1lbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNhbGxBcmd1bWVudFNlcmlhbGl6ZXI8VE9yaWdpbmFsLCBUU2VyaWFsaXplZD4ge1xuICAvKipcbiAgICogU2VyaWFsaXplciBJRCwgbXVzdCBiZSB1bmlxdWUuXG4gICAqL1xuICBpZDogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZXMgYW4gYWN0aW9uIGNhbGwgYXJndW1lbnQsIHJldHVybmluZyBgY2Fubm90U2VyaWFsaXplYCBpZiBub3QgcG9zc2libGUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBzZXJpYWxpemUuXG4gICAqIEBwYXJhbSB0YXJnZXRSb290IFRhcmdldCByb290LCBpZiBwcm92aWRlZC5cbiAgICogQHBhcmFtIHNlcmlhbGl6ZUNoaWxkIFNlcmlhbGl6ZSBhIGNoaWxkLlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgc2VyaWFsaXplKFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIHNlcmlhbGl6ZUNoaWxkOiAodjogdW5rbm93bikgPT4gdW5rbm93bixcbiAgICB0YXJnZXRSb290OiBvYmplY3QgfCB1bmRlZmluZWRcbiAgKTogVFNlcmlhbGl6ZWQgfCB0eXBlb2YgY2Fubm90U2VyaWFsaXplXG5cbiAgLyoqXG4gICAqIERlc2VyaWFsaXplcyBhbiBhY3Rpb24gY2FsbCBhcmd1bWVudC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGRlc2VyaWFsaXplLlxuICAgKiBAcGFyYW0gdGFyZ2V0Um9vdCBUYXJnZXQgcm9vdCwgaWYgcHJvdmlkZWQuXG4gICAqIEBwYXJhbSBkZXNlcmlhbGl6ZUNoaWxkIERlc2VyaWFsaXplIGEgY2hpbGQuXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBkZXNlcmlhbGl6ZShcbiAgICB2YWx1ZTogVFNlcmlhbGl6ZWQsXG4gICAgZGVzZXJpYWxpemVDaGlsZDogKHY6IHVua25vd24pID0+IHVua25vd24sXG4gICAgdGFyZ2V0Um9vdDogb2JqZWN0IHwgdW5kZWZpbmVkXG4gICk6IFRPcmlnaW5hbFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJNQUFhLGtCQUFrQixPQUFPLGlCQUFpQjs7In0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { namespace } from "../../utils/index.mjs";
|
|
2
|
+
import { cannotSerialize } from "./core.mjs";
|
|
3
|
+
const dateSerializer = {
|
|
4
|
+
id: `${namespace}/dateAsTimestamp`,
|
|
5
|
+
serialize(date) {
|
|
6
|
+
if (!(date instanceof Date))
|
|
7
|
+
return cannotSerialize;
|
|
8
|
+
return +date;
|
|
9
|
+
},
|
|
10
|
+
deserialize(timestamp) {
|
|
11
|
+
return new Date(timestamp);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
export { dateSerializer };
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZVNlcmlhbGl6ZXIubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWN0aW9uTWlkZGxld2FyZXMvYWN0aW9uU2VyaWFsaXphdGlvbi9kYXRlU2VyaWFsaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBuYW1lc3BhY2UgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIlxuaW1wb3J0IHsgQWN0aW9uQ2FsbEFyZ3VtZW50U2VyaWFsaXplciwgY2Fubm90U2VyaWFsaXplIH0gZnJvbSBcIi4vY29yZVwiXG5cbmV4cG9ydCBjb25zdCBkYXRlU2VyaWFsaXplcjogQWN0aW9uQ2FsbEFyZ3VtZW50U2VyaWFsaXplcjxEYXRlLCBudW1iZXI+ID0ge1xuICBpZDogYCR7bmFtZXNwYWNlfS9kYXRlQXNUaW1lc3RhbXBgLFxuXG4gIHNlcmlhbGl6ZShkYXRlKSB7XG4gICAgaWYgKCEoZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSByZXR1cm4gY2Fubm90U2VyaWFsaXplXG4gICAgcmV0dXJuICtkYXRlXG4gIH0sXG5cbiAgZGVzZXJpYWxpemUodGltZXN0YW1wKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRpbWVzdGFtcClcbiAgfSxcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztNQUdhLGlCQUE2RDtBQUFBLEVBQ3hFLElBQUksR0FBRztBQUFBLEVBRVAsVUFBVTtRQUNKLGtCQUFrQjthQUFjO1dBQzdCLENBQUM7QUFBQTtFQUdWLFlBQVk7V0FDSCxJQUFJLEtBQUssU0FBUztBQUFBOzs7In0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { isObservableMap } from "mobx";
|
|
2
|
+
import { namespace } from "../../utils/index.mjs";
|
|
3
|
+
import { cannotSerialize } from "./core.mjs";
|
|
4
|
+
const mapSerializer = {
|
|
5
|
+
id: `${namespace}/mapAsArray`,
|
|
6
|
+
serialize(map, serialize) {
|
|
7
|
+
if (!(map instanceof Map) && !isObservableMap(map))
|
|
8
|
+
return cannotSerialize;
|
|
9
|
+
const arr = [];
|
|
10
|
+
const iter = map.keys();
|
|
11
|
+
let cur = iter.next();
|
|
12
|
+
while (!cur.done) {
|
|
13
|
+
const k = cur.value;
|
|
14
|
+
const v = map.get(k);
|
|
15
|
+
arr.push([serialize(k), serialize(v)]);
|
|
16
|
+
cur = iter.next();
|
|
17
|
+
}
|
|
18
|
+
return arr;
|
|
19
|
+
},
|
|
20
|
+
deserialize(arr, deserialize) {
|
|
21
|
+
const map = /* @__PURE__ */ new Map();
|
|
22
|
+
const len = arr.length;
|
|
23
|
+
for (let i = 0; i < len; i++) {
|
|
24
|
+
const k = arr[i][0];
|
|
25
|
+
const v = arr[i][1];
|
|
26
|
+
map.set(deserialize(k), deserialize(v));
|
|
27
|
+
}
|
|
28
|
+
return map;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
export { mapSerializer };
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwU2VyaWFsaXplci5tanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb25NaWRkbGV3YXJlcy9hY3Rpb25TZXJpYWxpemF0aW9uL21hcFNlcmlhbGl6ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNPYnNlcnZhYmxlTWFwLCBPYnNlcnZhYmxlTWFwIH0gZnJvbSBcIm1vYnhcIlxuaW1wb3J0IHsgbmFtZXNwYWNlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCJcbmltcG9ydCB7IEFjdGlvbkNhbGxBcmd1bWVudFNlcmlhbGl6ZXIsIGNhbm5vdFNlcmlhbGl6ZSB9IGZyb20gXCIuL2NvcmVcIlxuXG5leHBvcnQgY29uc3QgbWFwU2VyaWFsaXplcjogQWN0aW9uQ2FsbEFyZ3VtZW50U2VyaWFsaXplcjxcbiAgTWFwPGFueSwgYW55PiB8IE9ic2VydmFibGVNYXA8YW55LCBhbnk+LFxuICBbYW55LCBhbnldW11cbj4gPSB7XG4gIGlkOiBgJHtuYW1lc3BhY2V9L21hcEFzQXJyYXlgLFxuXG4gIHNlcmlhbGl6ZShtYXAsIHNlcmlhbGl6ZSkge1xuICAgIGlmICghKG1hcCBpbnN0YW5jZW9mIE1hcCkgJiYgIWlzT2JzZXJ2YWJsZU1hcChtYXApKSByZXR1cm4gY2Fubm90U2VyaWFsaXplXG5cbiAgICBjb25zdCBhcnI6IFthbnksIGFueV1bXSA9IFtdXG5cbiAgICBjb25zdCBpdGVyID0gbWFwLmtleXMoKVxuICAgIGxldCBjdXIgPSBpdGVyLm5leHQoKVxuICAgIHdoaWxlICghY3VyLmRvbmUpIHtcbiAgICAgIGNvbnN0IGsgPSBjdXIudmFsdWVcbiAgICAgIGNvbnN0IHYgPSBtYXAuZ2V0KGspXG4gICAgICBhcnIucHVzaChbc2VyaWFsaXplKGspLCBzZXJpYWxpemUodildKVxuICAgICAgY3VyID0gaXRlci5uZXh0KClcbiAgICB9XG5cbiAgICByZXR1cm4gYXJyXG4gIH0sXG5cbiAgZGVzZXJpYWxpemUoYXJyLCBkZXNlcmlhbGl6ZSkge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKVxuXG4gICAgY29uc3QgbGVuID0gYXJyLmxlbmd0aFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGNvbnN0IGsgPSBhcnJbaV1bMF1cbiAgICAgIGNvbnN0IHYgPSBhcnJbaV1bMV1cbiAgICAgIG1hcC5zZXQoZGVzZXJpYWxpemUoayksIGRlc2VyaWFsaXplKHYpKVxuICAgIH1cblxuICAgIHJldHVybiBtYXBcbiAgfSxcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFJYSxnQkFHVDtBQUFBLEVBQ0YsSUFBSSxHQUFHO0FBQUEsRUFFUCxVQUFVLEtBQUs7UUFDVCxpQkFBaUIsUUFBUSxDQUFDLGdCQUFnQixHQUFHO2FBQVU7VUFFckQsTUFBb0I7VUFFcEIsT0FBTyxJQUFJO1FBQ2IsTUFBTSxLQUFLO1dBQ1IsQ0FBQyxJQUFJLE1BQU07WUFDVixJQUFJLElBQUk7WUFDUixJQUFJLElBQUksSUFBSSxDQUFDO1VBQ2YsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDL0IsS0FBSzs7V0FHTjtBQUFBO0VBR1QsWUFBWSxLQUFLO1VBQ1QsMEJBQVU7VUFFVixNQUFNLElBQUk7YUFDUCxJQUFJLEdBQUcsSUFBSSxLQUFLLEtBQUs7WUFDdEIsSUFBSSxJQUFJLEdBQUc7WUFDWCxJQUFJLElBQUksR0FBRztVQUNiLElBQUksWUFBWSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7QUFBQTtXQUdqQztBQUFBOzs7In0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { fastGetRootPath, resolvePathCheckingIds } from "../../parent/path.mjs";
|
|
2
|
+
import { isTweakedObject } from "../../tweaker/core.mjs";
|
|
3
|
+
import { namespace, failure } from "../../utils/index.mjs";
|
|
4
|
+
import { rootPathToTargetPathIds } from "../utils.mjs";
|
|
5
|
+
import { cannotSerialize } from "./core.mjs";
|
|
6
|
+
const objectPathSerializer = {
|
|
7
|
+
id: `${namespace}/objectPath`,
|
|
8
|
+
serialize(value, _, targetRoot) {
|
|
9
|
+
if (typeof value !== "object" || value === null || !isTweakedObject(value, false))
|
|
10
|
+
return cannotSerialize;
|
|
11
|
+
if (targetRoot) {
|
|
12
|
+
const rootPath = fastGetRootPath(value);
|
|
13
|
+
if (rootPath.root === targetRoot) {
|
|
14
|
+
return {
|
|
15
|
+
targetPath: rootPath.path,
|
|
16
|
+
targetPathIds: rootPathToTargetPathIds(rootPath)
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return cannotSerialize;
|
|
21
|
+
},
|
|
22
|
+
deserialize(ref, _, targetRoot) {
|
|
23
|
+
if (targetRoot) {
|
|
24
|
+
const result = resolvePathCheckingIds(targetRoot, ref.targetPath, ref.targetPathIds);
|
|
25
|
+
if (result.resolved) {
|
|
26
|
+
return result.value;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
throw failure(`object at path ${JSON.stringify(ref.targetPath)} with ids ${JSON.stringify(ref.targetPathIds)} could not be resolved`);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
export { objectPathSerializer };
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0UGF0aFNlcmlhbGl6ZXIubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWN0aW9uTWlkZGxld2FyZXMvYWN0aW9uU2VyaWFsaXphdGlvbi9vYmplY3RQYXRoU2VyaWFsaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYXN0R2V0Um9vdFBhdGgsIHJlc29sdmVQYXRoQ2hlY2tpbmdJZHMgfSBmcm9tIFwiLi4vLi4vcGFyZW50L3BhdGhcIlxuaW1wb3J0IHsgUGF0aCB9IGZyb20gXCIuLi8uLi9wYXJlbnQvcGF0aFR5cGVzXCJcbmltcG9ydCB7IGlzVHdlYWtlZE9iamVjdCB9IGZyb20gXCIuLi8uLi90d2Vha2VyL2NvcmVcIlxuaW1wb3J0IHsgZmFpbHVyZSwgbmFtZXNwYWNlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCJcbmltcG9ydCB7IHJvb3RQYXRoVG9UYXJnZXRQYXRoSWRzIH0gZnJvbSBcIi4uL3V0aWxzXCJcbmltcG9ydCB7IEFjdGlvbkNhbGxBcmd1bWVudFNlcmlhbGl6ZXIsIGNhbm5vdFNlcmlhbGl6ZSB9IGZyb20gXCIuL2NvcmVcIlxuXG5pbnRlcmZhY2UgT2JqZWN0UGF0aCB7XG4gIHRhcmdldFBhdGg6IFBhdGhcbiAgdGFyZ2V0UGF0aElkczogKHN0cmluZyB8IG51bGwpW11cbn1cblxuZXhwb3J0IGNvbnN0IG9iamVjdFBhdGhTZXJpYWxpemVyOiBBY3Rpb25DYWxsQXJndW1lbnRTZXJpYWxpemVyPG9iamVjdCwgT2JqZWN0UGF0aD4gPSB7XG4gIGlkOiBgJHtuYW1lc3BhY2V9L29iamVjdFBhdGhgLFxuXG4gIHNlcmlhbGl6ZSh2YWx1ZSwgXywgdGFyZ2V0Um9vdCkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgfHwgdmFsdWUgPT09IG51bGwgfHwgIWlzVHdlYWtlZE9iamVjdCh2YWx1ZSwgZmFsc2UpKVxuICAgICAgcmV0dXJuIGNhbm5vdFNlcmlhbGl6ZVxuXG4gICAgLy8gdHJ5IHRvIHNlcmlhbGl6ZSBhIHJlZiB0byBpdHMgcGF0aCBpZiBwb3NzaWJsZSBpbnN0ZWFkXG4gICAgaWYgKHRhcmdldFJvb3QpIHtcbiAgICAgIGNvbnN0IHJvb3RQYXRoID0gZmFzdEdldFJvb3RQYXRoKHZhbHVlKVxuICAgICAgaWYgKHJvb3RQYXRoLnJvb3QgPT09IHRhcmdldFJvb3QpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0YXJnZXRQYXRoOiByb290UGF0aC5wYXRoLFxuICAgICAgICAgIHRhcmdldFBhdGhJZHM6IHJvb3RQYXRoVG9UYXJnZXRQYXRoSWRzKHJvb3RQYXRoKSxcbiAgICAgICAgfSBhcyBPYmplY3RQYXRoXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNhbm5vdFNlcmlhbGl6ZVxuICB9LFxuXG4gIGRlc2VyaWFsaXplKHJlZiwgXywgdGFyZ2V0Um9vdCkge1xuICAgIC8vIHRyeSB0byByZXNvbHZlIHRoZSBub2RlIGJhY2tcbiAgICBpZiAodGFyZ2V0Um9vdCkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gcmVzb2x2ZVBhdGhDaGVja2luZ0lkcyh0YXJnZXRSb290LCByZWYudGFyZ2V0UGF0aCwgcmVmLnRhcmdldFBhdGhJZHMpXG4gICAgICBpZiAocmVzdWx0LnJlc29sdmVkKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQudmFsdWVcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aHJvdyBmYWlsdXJlKFxuICAgICAgYG9iamVjdCBhdCBwYXRoICR7SlNPTi5zdHJpbmdpZnkocmVmLnRhcmdldFBhdGgpfSB3aXRoIGlkcyAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICByZWYudGFyZ2V0UGF0aElkc1xuICAgICAgKX0gY291bGQgbm90IGJlIHJlc29sdmVkYFxuICAgIClcbiAgfSxcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztNQVlhLHVCQUF5RTtBQUFBLEVBQ3BGLElBQUksR0FBRztBQUFBLEVBRVAsVUFBVSxPQUFPLEdBQUc7UUFDZCxPQUFPLFVBQVUsWUFBWSxVQUFVLFFBQVEsQ0FBQyxnQkFBZ0IsT0FBTyxLQUFLO2FBQ3ZFO1FBR0wsWUFBWTtZQUNSLFdBQVcsZ0JBQWdCLEtBQUs7VUFDbEMsU0FBUyxTQUFTLFlBQVk7ZUFDekI7QUFBQSxVQUNMLFlBQVksU0FBUztBQUFBLFVBQ3JCLGVBQWUsd0JBQXdCLFFBQVE7QUFBQTs7O1dBSzlDO0FBQUE7RUFHVCxZQUFZLEtBQUssR0FBRztRQUVkLFlBQVk7WUFDUixTQUFTLHVCQUF1QixZQUFZLElBQUksWUFBWSxJQUFJLGFBQWE7VUFDL0UsT0FBTyxVQUFVO2VBQ1osT0FBTztBQUFBOztVQUlaLFFBQ0osa0JBQWtCLEtBQUssVUFBVSxJQUFJLFVBQVUsY0FBYyxLQUFLLFVBQ2hFLElBQUksYUFBYSx5QkFDTTtBQUFBOzs7In0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { fromSnapshot } from "../../snapshot/fromSnapshot.mjs";
|
|
2
|
+
import { getSnapshot } from "../../snapshot/getSnapshot.mjs";
|
|
3
|
+
import { isTweakedObject } from "../../tweaker/core.mjs";
|
|
4
|
+
import { namespace } from "../../utils/index.mjs";
|
|
5
|
+
import { cannotSerialize } from "./core.mjs";
|
|
6
|
+
const objectSnapshotSerializer = {
|
|
7
|
+
id: `${namespace}/objectSnapshot`,
|
|
8
|
+
serialize(value) {
|
|
9
|
+
if (typeof value !== "object" || value === null || !isTweakedObject(value, false))
|
|
10
|
+
return cannotSerialize;
|
|
11
|
+
return getSnapshot(value);
|
|
12
|
+
},
|
|
13
|
+
deserialize(snapshot) {
|
|
14
|
+
return fromSnapshot(snapshot);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
export { objectSnapshotSerializer };
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0U25hcHNob3RTZXJpYWxpemVyLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjdGlvbk1pZGRsZXdhcmVzL2FjdGlvblNlcmlhbGl6YXRpb24vb2JqZWN0U25hcHNob3RTZXJpYWxpemVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21TbmFwc2hvdCB9IGZyb20gXCIuLi8uLi9zbmFwc2hvdC9mcm9tU25hcHNob3RcIlxuaW1wb3J0IHsgZ2V0U25hcHNob3QgfSBmcm9tIFwiLi4vLi4vc25hcHNob3QvZ2V0U25hcHNob3RcIlxuaW1wb3J0IHsgaXNUd2Vha2VkT2JqZWN0IH0gZnJvbSBcIi4uLy4uL3R3ZWFrZXIvY29yZVwiXG5pbXBvcnQgeyBuYW1lc3BhY2UgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIlxuaW1wb3J0IHsgQWN0aW9uQ2FsbEFyZ3VtZW50U2VyaWFsaXplciwgY2Fubm90U2VyaWFsaXplIH0gZnJvbSBcIi4vY29yZVwiXG5cbmV4cG9ydCBjb25zdCBvYmplY3RTbmFwc2hvdFNlcmlhbGl6ZXI6IEFjdGlvbkNhbGxBcmd1bWVudFNlcmlhbGl6ZXI8b2JqZWN0LCBvYmplY3Q+ID0ge1xuICBpZDogYCR7bmFtZXNwYWNlfS9vYmplY3RTbmFwc2hvdGAsXG5cbiAgc2VyaWFsaXplKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIiB8fCB2YWx1ZSA9PT0gbnVsbCB8fCAhaXNUd2Vha2VkT2JqZWN0KHZhbHVlLCBmYWxzZSkpXG4gICAgICByZXR1cm4gY2Fubm90U2VyaWFsaXplXG5cbiAgICByZXR1cm4gZ2V0U25hcHNob3QodmFsdWUpXG4gIH0sXG5cbiAgZGVzZXJpYWxpemUoc25hcHNob3QpIHtcbiAgICByZXR1cm4gZnJvbVNuYXBzaG90KHNuYXBzaG90KVxuICB9LFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O01BTWEsMkJBQXlFO0FBQUEsRUFDcEYsSUFBSSxHQUFHO0FBQUEsRUFFUCxVQUFVO1FBQ0osT0FBTyxVQUFVLFlBQVksVUFBVSxRQUFRLENBQUMsZ0JBQWdCLE9BQU8sS0FBSzthQUN2RTtXQUVGLFlBQVksS0FBSztBQUFBO0VBRzFCLFlBQVk7V0FDSCxhQUFhLFFBQVE7QUFBQTs7OyJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { isObservableObject } from "mobx";
|
|
2
|
+
import { namespace, isPlainObject } from "../../utils/index.mjs";
|
|
3
|
+
import { cannotSerialize } from "./core.mjs";
|
|
4
|
+
const plainObjectSerializer = {
|
|
5
|
+
id: `${namespace}/plainObject`,
|
|
6
|
+
serialize(value, serialize) {
|
|
7
|
+
if (!isPlainObject(value) && !isObservableObject(value))
|
|
8
|
+
return cannotSerialize;
|
|
9
|
+
return mapObjectFields(value, serialize);
|
|
10
|
+
},
|
|
11
|
+
deserialize(obj, serialize) {
|
|
12
|
+
return mapObjectFields(obj, serialize);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
function mapObjectFields(originalObj, mapFn) {
|
|
16
|
+
const obj = {};
|
|
17
|
+
const keys = Object.keys(originalObj);
|
|
18
|
+
const len = keys.length;
|
|
19
|
+
for (let i = 0; i < len; i++) {
|
|
20
|
+
const k = keys[i];
|
|
21
|
+
const v = originalObj[k];
|
|
22
|
+
obj[k] = mapFn(v);
|
|
23
|
+
}
|
|
24
|
+
return obj;
|
|
25
|
+
}
|
|
26
|
+
export { plainObjectSerializer };
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaW5PYmplY3RTZXJpYWxpemVyLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjdGlvbk1pZGRsZXdhcmVzL2FjdGlvblNlcmlhbGl6YXRpb24vcGxhaW5PYmplY3RTZXJpYWxpemVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzT2JzZXJ2YWJsZU9iamVjdCB9IGZyb20gXCJtb2J4XCJcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QsIG5hbWVzcGFjZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiXG5pbXBvcnQgeyBBY3Rpb25DYWxsQXJndW1lbnRTZXJpYWxpemVyLCBjYW5ub3RTZXJpYWxpemUgfSBmcm9tIFwiLi9jb3JlXCJcblxuZXhwb3J0IGNvbnN0IHBsYWluT2JqZWN0U2VyaWFsaXplcjogQWN0aW9uQ2FsbEFyZ3VtZW50U2VyaWFsaXplcjxvYmplY3QsIG9iamVjdD4gPSB7XG4gIGlkOiBgJHtuYW1lc3BhY2V9L3BsYWluT2JqZWN0YCxcblxuICBzZXJpYWxpemUodmFsdWUsIHNlcmlhbGl6ZSkge1xuICAgIGlmICghaXNQbGFpbk9iamVjdCh2YWx1ZSkgJiYgIWlzT2JzZXJ2YWJsZU9iamVjdCh2YWx1ZSkpIHJldHVybiBjYW5ub3RTZXJpYWxpemVcblxuICAgIC8vIHRoaXMgd2lsbCBtYWtlIG9ic2VydmFibGUgb2JqZWN0cyBub24tb2JzZXJ2YWJsZSBvbmVzXG4gICAgcmV0dXJuIG1hcE9iamVjdEZpZWxkcyh2YWx1ZSwgc2VyaWFsaXplKVxuICB9LFxuXG4gIGRlc2VyaWFsaXplKG9iaiwgc2VyaWFsaXplKSB7XG4gICAgcmV0dXJuIG1hcE9iamVjdEZpZWxkcyhvYmosIHNlcmlhbGl6ZSlcbiAgfSxcbn1cblxuZnVuY3Rpb24gbWFwT2JqZWN0RmllbGRzKG9yaWdpbmFsT2JqOiBhbnksIG1hcEZuOiAoeDogYW55KSA9PiBhbnkpOiBhbnkge1xuICBjb25zdCBvYmo6IGFueSA9IHt9XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvcmlnaW5hbE9iailcbiAgY29uc3QgbGVuID0ga2V5cy5sZW5ndGhcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgIGNvbnN0IGsgPSBrZXlzW2ldXG4gICAgY29uc3QgdiA9IG9yaWdpbmFsT2JqW2tdXG4gICAgb2JqW2tdID0gbWFwRm4odilcbiAgfVxuICByZXR1cm4gb2JqXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O01BSWEsd0JBQXNFO0FBQUEsRUFDakYsSUFBSSxHQUFHO0FBQUEsRUFFUCxVQUFVLE9BQU87UUFDWCxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsbUJBQW1CLEtBQUs7YUFBVTtXQUd6RCxnQkFBZ0IsT0FBTyxTQUFTO0FBQUE7RUFHekMsWUFBWSxLQUFLO1dBQ1IsZ0JBQWdCLEtBQUssU0FBUztBQUFBOztBQUl6Qyx5QkFBeUIsYUFBa0I7UUFDbkMsTUFBVztRQUNYLE9BQU8sT0FBTyxLQUFLLFdBQVc7UUFDOUIsTUFBTSxLQUFLO1dBQ1IsSUFBSSxHQUFHLElBQUksS0FBSyxLQUFLO1VBQ3RCLElBQUksS0FBSztVQUNULElBQUksWUFBWTtRQUNsQixLQUFLLE1BQU0sQ0FBQztBQUFBO1NBRVg7QUFDVDs7In0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { namespace } from "../../utils/index.mjs";
|
|
2
|
+
import { cannotSerialize } from "./core.mjs";
|
|
3
|
+
const primitiveSerializer = {
|
|
4
|
+
id: `${namespace}/primitiveAsString`,
|
|
5
|
+
serialize(value) {
|
|
6
|
+
if (Number.isNaN(value)) {
|
|
7
|
+
return "nan";
|
|
8
|
+
}
|
|
9
|
+
switch (value) {
|
|
10
|
+
case Infinity:
|
|
11
|
+
return "+inf";
|
|
12
|
+
case -Infinity:
|
|
13
|
+
return "-inf";
|
|
14
|
+
}
|
|
15
|
+
if (typeof value === "bigint") {
|
|
16
|
+
return value.toString();
|
|
17
|
+
}
|
|
18
|
+
if (value === void 0) {
|
|
19
|
+
return "undefined";
|
|
20
|
+
}
|
|
21
|
+
return cannotSerialize;
|
|
22
|
+
},
|
|
23
|
+
deserialize(str) {
|
|
24
|
+
switch (str) {
|
|
25
|
+
case "nan":
|
|
26
|
+
return NaN;
|
|
27
|
+
case "+inf":
|
|
28
|
+
return Infinity;
|
|
29
|
+
case "-inf":
|
|
30
|
+
return -Infinity;
|
|
31
|
+
case "undefined":
|
|
32
|
+
return void 0;
|
|
33
|
+
default:
|
|
34
|
+
return BigInt(str);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
export { primitiveSerializer };
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlU2VyaWFsaXplci5tanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb25NaWRkbGV3YXJlcy9hY3Rpb25TZXJpYWxpemF0aW9uL3ByaW1pdGl2ZVNlcmlhbGl6ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbmFtZXNwYWNlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCJcbmltcG9ydCB7IEFjdGlvbkNhbGxBcmd1bWVudFNlcmlhbGl6ZXIsIGNhbm5vdFNlcmlhbGl6ZSB9IGZyb20gXCIuL2NvcmVcIlxuXG5leHBvcnQgY29uc3QgcHJpbWl0aXZlU2VyaWFsaXplcjogQWN0aW9uQ2FsbEFyZ3VtZW50U2VyaWFsaXplcjxcbiAgbnVtYmVyIHwgYmlnaW50IHwgdW5kZWZpbmVkLFxuICBzdHJpbmdcbj4gPSB7XG4gIGlkOiBgJHtuYW1lc3BhY2V9L3ByaW1pdGl2ZUFzU3RyaW5nYCxcblxuICBzZXJpYWxpemUodmFsdWUpIHtcbiAgICAvLyBudW1iZXJcbiAgICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIFwibmFuXCJcbiAgICB9XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSArSW5maW5pdHk6XG4gICAgICAgIHJldHVybiBcIitpbmZcIlxuICAgICAgY2FzZSAtSW5maW5pdHk6XG4gICAgICAgIHJldHVybiBcIi1pbmZcIlxuICAgIH1cblxuICAgIC8vIGJpZ2ludFxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYmlnaW50XCIpIHtcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpXG4gICAgfVxuXG4gICAgLy8gdW5kZWZpbmVkXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBcInVuZGVmaW5lZFwiXG4gICAgfVxuXG4gICAgcmV0dXJuIGNhbm5vdFNlcmlhbGl6ZVxuICB9LFxuXG4gIGRlc2VyaWFsaXplKHN0cikge1xuICAgIHN3aXRjaCAoc3RyKSB7XG4gICAgICBjYXNlIFwibmFuXCI6XG4gICAgICAgIHJldHVybiBOYU5cbiAgICAgIGNhc2UgXCIraW5mXCI6XG4gICAgICAgIHJldHVybiArSW5maW5pdHlcbiAgICAgIGNhc2UgXCItaW5mXCI6XG4gICAgICAgIHJldHVybiAtSW5maW5pdHlcbiAgICAgIGNhc2UgXCJ1bmRlZmluZWRcIjpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIEJpZ0ludChzdHIpXG4gICAgfVxuICB9LFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O01BR2Esc0JBR1Q7QUFBQSxFQUNGLElBQUksR0FBRztBQUFBLEVBRVAsVUFBVTtRQUVKLE9BQU8sTUFBTSxLQUFLLEdBQUc7YUFDaEI7QUFBQTtZQUVEO0FBQUEsV0FDRDtlQUNJO0FBQUEsV0FDSjtlQUNJO0FBQUE7UUFJUCxPQUFPLFVBQVUsVUFBVTthQUN0QixNQUFNOztRQUlYLFVBQVUsUUFBVzthQUNoQjtBQUFBO1dBR0Y7QUFBQTtFQUdULFlBQVk7WUFDRjtBQUFBLFdBQ0Q7ZUFDSTtBQUFBLFdBQ0o7ZUFDSTtBQUFBLFdBQ0o7ZUFDSTtBQUFBLFdBQ0o7ZUFDSTtBQUFBO2VBRUEsT0FBTyxHQUFHO0FBQUE7QUFBQTs7OyJ9
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { namespace } from "../../utils/index.mjs";
|
|
2
|
+
import { cannotSerialize } from "./core.mjs";
|
|
3
|
+
const setSerializer = {
|
|
4
|
+
id: `${namespace}/setAsArray`,
|
|
5
|
+
serialize(set, serialize) {
|
|
6
|
+
if (!(set instanceof Set))
|
|
7
|
+
return cannotSerialize;
|
|
8
|
+
const arr = [];
|
|
9
|
+
const iter = set.keys();
|
|
10
|
+
let cur = iter.next();
|
|
11
|
+
while (!cur.done) {
|
|
12
|
+
const k = cur.value;
|
|
13
|
+
arr.push(serialize(k));
|
|
14
|
+
cur = iter.next();
|
|
15
|
+
}
|
|
16
|
+
return arr;
|
|
17
|
+
},
|
|
18
|
+
deserialize(arr, deserialize) {
|
|
19
|
+
const set = /* @__PURE__ */ new Set();
|
|
20
|
+
const len = arr.length;
|
|
21
|
+
for (let i = 0; i < len; i++) {
|
|
22
|
+
const k = arr[i];
|
|
23
|
+
set.add(deserialize(k));
|
|
24
|
+
}
|
|
25
|
+
return set;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
export { setSerializer };
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0U2VyaWFsaXplci5tanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb25NaWRkbGV3YXJlcy9hY3Rpb25TZXJpYWxpemF0aW9uL3NldFNlcmlhbGl6ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlU2V0IH0gZnJvbSBcIm1vYnhcIlxuaW1wb3J0IHsgbmFtZXNwYWNlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCJcbmltcG9ydCB7IEFjdGlvbkNhbGxBcmd1bWVudFNlcmlhbGl6ZXIsIGNhbm5vdFNlcmlhbGl6ZSB9IGZyb20gXCIuL2NvcmVcIlxuXG5leHBvcnQgY29uc3Qgc2V0U2VyaWFsaXplcjogQWN0aW9uQ2FsbEFyZ3VtZW50U2VyaWFsaXplcjxTZXQ8YW55PiB8IE9ic2VydmFibGVTZXQ8YW55PiwgYW55W10+ID0ge1xuICBpZDogYCR7bmFtZXNwYWNlfS9zZXRBc0FycmF5YCxcblxuICBzZXJpYWxpemUoc2V0LCBzZXJpYWxpemUpIHtcbiAgICBpZiAoIShzZXQgaW5zdGFuY2VvZiBTZXQpKSByZXR1cm4gY2Fubm90U2VyaWFsaXplXG5cbiAgICBjb25zdCBhcnI6IGFueVtdID0gW11cblxuICAgIGNvbnN0IGl0ZXIgPSBzZXQua2V5cygpXG4gICAgbGV0IGN1ciA9IGl0ZXIubmV4dCgpXG4gICAgd2hpbGUgKCFjdXIuZG9uZSkge1xuICAgICAgY29uc3QgayA9IGN1ci52YWx1ZVxuICAgICAgYXJyLnB1c2goc2VyaWFsaXplKGspKVxuICAgICAgY3VyID0gaXRlci5uZXh0KClcbiAgICB9XG5cbiAgICByZXR1cm4gYXJyXG4gIH0sXG5cbiAgZGVzZXJpYWxpemUoYXJyLCBkZXNlcmlhbGl6ZSkge1xuICAgIGNvbnN0IHNldCA9IG5ldyBTZXQoKVxuXG4gICAgY29uc3QgbGVuID0gYXJyLmxlbmd0aFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGNvbnN0IGsgPSBhcnJbaV1cbiAgICAgIHNldC5hZGQoZGVzZXJpYWxpemUoaykpXG4gICAgfVxuXG4gICAgcmV0dXJuIHNldFxuICB9LFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O01BSWEsZ0JBQW9GO0FBQUEsRUFDL0YsSUFBSSxHQUFHO0FBQUEsRUFFUCxVQUFVLEtBQUs7UUFDVCxpQkFBaUI7YUFBYTtVQUU1QixNQUFhO1VBRWIsT0FBTyxJQUFJO1FBQ2IsTUFBTSxLQUFLO1dBQ1IsQ0FBQyxJQUFJLE1BQU07WUFDVixJQUFJLElBQUk7VUFDVixLQUFLLFVBQVUsQ0FBQyxDQUFDO1lBQ2YsS0FBSzs7V0FHTjtBQUFBO0VBR1QsWUFBWSxLQUFLO1VBQ1QsMEJBQVU7VUFFVixNQUFNLElBQUk7YUFDUCxJQUFJLEdBQUcsSUFBSSxLQUFLLEtBQUs7WUFDdEIsSUFBSSxJQUFJO1VBQ1YsSUFBSSxZQUFZLENBQUMsQ0FBQztBQUFBO1dBR2pCO0FBQUE7OzsifQ==
|