mobx-keystone 0.68.0 → 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/dist/_virtual/_tslib.mjs +12 -0
- 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/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/package.json +8 -11
- 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/dist/mobx-keystone.es.js +0 -7934
- package/dist/mobx-keystone.es.mjs +0 -7934
|
@@ -0,0 +1,249 @@
|
|
|
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 prop2 in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop2))
|
|
11
|
+
__defNormalProp(a, prop2, b[prop2]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop2 of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop2))
|
|
15
|
+
__defNormalProp(a, prop2, b[prop2]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
import { applySet } from "../action/applySet.mjs";
|
|
21
|
+
import { getCurrentActionContext } from "../action/context.mjs";
|
|
22
|
+
import { modelAction } from "../action/modelAction.mjs";
|
|
23
|
+
import { baseDataModelPropNames, BaseDataModel } from "../dataModel/BaseDataModel.mjs";
|
|
24
|
+
import { getGlobalConfig } from "../globalConfig/globalConfig.mjs";
|
|
25
|
+
import { baseModelPropNames, BaseModel } from "../model/BaseModel.mjs";
|
|
26
|
+
import { modelTypeKey } from "../model/metadata.mjs";
|
|
27
|
+
import { typesObject } from "../types/objectBased/object.mjs";
|
|
28
|
+
import { typesString } from "../types/primitiveBased/primitives.mjs";
|
|
29
|
+
import { tProp } from "../types/tProp.mjs";
|
|
30
|
+
import { typesUnchecked } from "../types/utility/unchecked.mjs";
|
|
31
|
+
import { assertIsObject, failure, propNameToSetterName } from "../utils/index.mjs";
|
|
32
|
+
import { chainFns } from "../utils/chainFns.mjs";
|
|
33
|
+
import { modelInitializedSymbol } from "./BaseModelShared.mjs";
|
|
34
|
+
import { modelInitializersSymbol } from "./modelClassInitializer.mjs";
|
|
35
|
+
import { getInternalModelClassPropsInfo, setInternalModelClassPropsInfo } from "./modelPropsInfo.mjs";
|
|
36
|
+
import { modelUnwrappedClassSymbol, modelMetadataSymbol } from "./modelSymbols.mjs";
|
|
37
|
+
import { prop } from "./prop.mjs";
|
|
38
|
+
import { assertIsClassOrDataModelClass } from "./utils.mjs";
|
|
39
|
+
function __extends(subClass, superClass) {
|
|
40
|
+
Object.setPrototypeOf(subClass, superClass);
|
|
41
|
+
function __() {
|
|
42
|
+
this.constructor = subClass;
|
|
43
|
+
}
|
|
44
|
+
__.prototype = superClass.prototype;
|
|
45
|
+
subClass.prototype = new __();
|
|
46
|
+
}
|
|
47
|
+
function createModelPropDescriptor(modelPropName, modelProp, enumerable) {
|
|
48
|
+
return {
|
|
49
|
+
enumerable,
|
|
50
|
+
configurable: true,
|
|
51
|
+
get() {
|
|
52
|
+
return getModelInstanceDataField(this, modelProp, modelPropName);
|
|
53
|
+
},
|
|
54
|
+
set(v) {
|
|
55
|
+
if (!(modelInitializedSymbol in this)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
setModelInstanceDataField(this, modelProp, modelPropName, v);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function getModelInstanceDataField(model, modelProp, modelPropName) {
|
|
63
|
+
const value = model.$[modelPropName];
|
|
64
|
+
if (modelProp == null ? void 0 : modelProp._internal.transform) {
|
|
65
|
+
return modelProp._internal.transform.transform(value, model, modelPropName, (newValue) => {
|
|
66
|
+
applySet(model.$, modelPropName, newValue);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
function setModelInstanceDataField(model, modelProp, modelPropName, value) {
|
|
72
|
+
if ((modelProp == null ? void 0 : modelProp._internal.setter) === "assign" && !getCurrentActionContext()) {
|
|
73
|
+
applySet(model, modelPropName, value);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const transformedValue = (modelProp == null ? void 0 : modelProp._internal.transform) ? modelProp._internal.transform.untransform(value, model, modelPropName) : value;
|
|
77
|
+
model.$[modelPropName] = transformedValue;
|
|
78
|
+
}
|
|
79
|
+
const idGenerator = () => getGlobalConfig().modelIdGenerator();
|
|
80
|
+
const tPropForId = tProp(typesString, idGenerator);
|
|
81
|
+
tPropForId._internal.isId = true;
|
|
82
|
+
const propForId = prop(idGenerator);
|
|
83
|
+
propForId._internal.isId = true;
|
|
84
|
+
function sharedInternalModel({ modelProps, baseModel, type, valueType, fromSnapshotProcessor, toSnapshotProcessor }) {
|
|
85
|
+
assertIsObject(modelProps, "modelProps");
|
|
86
|
+
if (baseModel) {
|
|
87
|
+
assertIsClassOrDataModelClass(baseModel, "baseModel");
|
|
88
|
+
const unwrappedClass = baseModel[modelUnwrappedClassSymbol];
|
|
89
|
+
if (unwrappedClass) {
|
|
90
|
+
baseModel = unwrappedClass;
|
|
91
|
+
assertIsClassOrDataModelClass(baseModel, "baseModel");
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const extraDescriptors = {};
|
|
95
|
+
const composedModelProps = modelProps;
|
|
96
|
+
if (baseModel) {
|
|
97
|
+
const oldModelProps = getInternalModelClassPropsInfo(baseModel);
|
|
98
|
+
for (const oldModelPropKey of Object.keys(oldModelProps)) {
|
|
99
|
+
if (modelProps[oldModelPropKey]) {
|
|
100
|
+
throw failure(`extended model cannot redeclare base model property named '${oldModelPropKey}'`);
|
|
101
|
+
}
|
|
102
|
+
composedModelProps[oldModelPropKey] = oldModelProps[oldModelPropKey];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const idKeys = Object.keys(composedModelProps).filter((k) => {
|
|
106
|
+
const p = composedModelProps[k];
|
|
107
|
+
return p._internal.isId;
|
|
108
|
+
});
|
|
109
|
+
if (type === "class") {
|
|
110
|
+
if (idKeys.length > 1) {
|
|
111
|
+
throw failure(`expected at most one idProp but got many: ${JSON.stringify(idKeys)}`);
|
|
112
|
+
}
|
|
113
|
+
} else {
|
|
114
|
+
if (idKeys.length >= 1) {
|
|
115
|
+
throw failure(`expected no idProp but got some: ${JSON.stringify(idKeys)}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const needsTypeChecker = Object.values(composedModelProps).some((mp) => !!mp._internal.typeChecker);
|
|
119
|
+
let idKey;
|
|
120
|
+
if (idKeys.length >= 1) {
|
|
121
|
+
idKey = idKeys[0];
|
|
122
|
+
const idProp = composedModelProps[idKey];
|
|
123
|
+
let baseProp = needsTypeChecker ? tPropForId : propForId;
|
|
124
|
+
switch (idProp == null ? void 0 : idProp._internal.setter) {
|
|
125
|
+
case true:
|
|
126
|
+
baseProp = baseProp.withSetter();
|
|
127
|
+
break;
|
|
128
|
+
case "assign":
|
|
129
|
+
baseProp = baseProp.withSetter("assign");
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
composedModelProps[idKey] = baseProp;
|
|
133
|
+
}
|
|
134
|
+
let dataTypeChecker;
|
|
135
|
+
if (needsTypeChecker) {
|
|
136
|
+
const typeCheckerObj = {};
|
|
137
|
+
for (const [k, mp] of Object.entries(composedModelProps)) {
|
|
138
|
+
typeCheckerObj[k] = !mp._internal.typeChecker ? typesUnchecked() : mp._internal.typeChecker;
|
|
139
|
+
}
|
|
140
|
+
dataTypeChecker = typesObject(() => typeCheckerObj);
|
|
141
|
+
}
|
|
142
|
+
const basePropNames = type === "class" ? baseModelPropNames : baseDataModelPropNames;
|
|
143
|
+
for (const modelPropName of Object.keys(modelProps).filter((mp) => !basePropNames.has(mp))) {
|
|
144
|
+
extraDescriptors[modelPropName] = createModelPropDescriptor(modelPropName, modelProps[modelPropName], false);
|
|
145
|
+
}
|
|
146
|
+
const extraPropNames = Object.keys(extraDescriptors);
|
|
147
|
+
const extraPropNamesLen = extraPropNames.length;
|
|
148
|
+
const base = baseModel != null ? baseModel : type === "class" ? BaseModel : BaseDataModel;
|
|
149
|
+
const CustomBaseModel = function(_base) {
|
|
150
|
+
__extends(CustomBaseModel2, _base);
|
|
151
|
+
function CustomBaseModel2(initialData, constructorOptions) {
|
|
152
|
+
var _a;
|
|
153
|
+
const modelClass = (_a = constructorOptions == null ? void 0 : constructorOptions.modelClass) != null ? _a : this.constructor;
|
|
154
|
+
const baseModel2 = new _base(initialData, __spreadProps(__spreadValues({}, constructorOptions), {
|
|
155
|
+
modelClass
|
|
156
|
+
}));
|
|
157
|
+
for (let i = 0; i < extraPropNamesLen; i++) {
|
|
158
|
+
const extraPropName = extraPropNames[i];
|
|
159
|
+
if (Object.getOwnPropertyDescriptor(baseModel2, extraPropName)) {
|
|
160
|
+
delete baseModel2[extraPropName];
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return baseModel2;
|
|
164
|
+
}
|
|
165
|
+
return CustomBaseModel2;
|
|
166
|
+
}(base);
|
|
167
|
+
const initializers = base[modelInitializersSymbol];
|
|
168
|
+
if (initializers) {
|
|
169
|
+
CustomBaseModel[modelInitializersSymbol] = initializers.slice();
|
|
170
|
+
}
|
|
171
|
+
setInternalModelClassPropsInfo(CustomBaseModel, composedModelProps);
|
|
172
|
+
if (type === "class") {
|
|
173
|
+
const metadata = {
|
|
174
|
+
dataType: dataTypeChecker,
|
|
175
|
+
modelIdProperty: idKey,
|
|
176
|
+
valueType
|
|
177
|
+
};
|
|
178
|
+
CustomBaseModel[modelMetadataSymbol] = metadata;
|
|
179
|
+
} else {
|
|
180
|
+
const metadata = {
|
|
181
|
+
dataType: dataTypeChecker
|
|
182
|
+
};
|
|
183
|
+
CustomBaseModel[modelMetadataSymbol] = metadata;
|
|
184
|
+
}
|
|
185
|
+
Object.defineProperties(CustomBaseModel.prototype, extraDescriptors);
|
|
186
|
+
for (const [propName, propData] of Object.entries(modelProps)) {
|
|
187
|
+
if (propData._internal.setter === true) {
|
|
188
|
+
const setterName = propNameToSetterName(propName);
|
|
189
|
+
CustomBaseModel.prototype[setterName] = function(value) {
|
|
190
|
+
this[propName] = value;
|
|
191
|
+
};
|
|
192
|
+
const newPropDescriptor = modelAction(CustomBaseModel.prototype, setterName, Object.getOwnPropertyDescriptor(CustomBaseModel.prototype, setterName));
|
|
193
|
+
Object.defineProperty(CustomBaseModel.prototype, setterName, newPropDescriptor);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const modelPropsFromSnapshotProcessor = getModelPropsFromSnapshotProcessor(composedModelProps);
|
|
197
|
+
const modelPropsToSnapshotProcessor = getModelPropsToSnapshotProcessor(composedModelProps);
|
|
198
|
+
if (fromSnapshotProcessor) {
|
|
199
|
+
const fn = fromSnapshotProcessor;
|
|
200
|
+
fromSnapshotProcessor = (sn) => {
|
|
201
|
+
return __spreadProps(__spreadValues({}, fn(sn)), {
|
|
202
|
+
[modelTypeKey]: sn[modelTypeKey]
|
|
203
|
+
});
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
if (toSnapshotProcessor) {
|
|
207
|
+
const fn = toSnapshotProcessor;
|
|
208
|
+
toSnapshotProcessor = (sn, modelInstance) => {
|
|
209
|
+
return __spreadProps(__spreadValues({}, fn(sn, modelInstance)), {
|
|
210
|
+
[modelTypeKey]: sn[modelTypeKey]
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
CustomBaseModel.fromSnapshotProcessor = chainFns(fromSnapshotProcessor, modelPropsFromSnapshotProcessor);
|
|
215
|
+
CustomBaseModel.toSnapshotProcessor = chainFns(modelPropsToSnapshotProcessor, toSnapshotProcessor);
|
|
216
|
+
return CustomBaseModel;
|
|
217
|
+
}
|
|
218
|
+
function getModelPropsFromSnapshotProcessor(composedModelProps) {
|
|
219
|
+
const propsWithFromSnapshotProcessor = Object.entries(composedModelProps).filter(([_propName, propData]) => propData._internal.fromSnapshotProcessor);
|
|
220
|
+
if (propsWithFromSnapshotProcessor.length <= 0) {
|
|
221
|
+
return void 0;
|
|
222
|
+
}
|
|
223
|
+
return (sn) => {
|
|
224
|
+
const newSn = __spreadValues({}, sn);
|
|
225
|
+
for (const [propName, propData] of propsWithFromSnapshotProcessor) {
|
|
226
|
+
if (propData._internal.fromSnapshotProcessor) {
|
|
227
|
+
newSn[propName] = propData._internal.fromSnapshotProcessor(sn[propName]);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
return newSn;
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
function getModelPropsToSnapshotProcessor(composedModelProps) {
|
|
234
|
+
const propsWithToSnapshotProcessor = Object.entries(composedModelProps).filter(([_propName, propData]) => propData._internal.toSnapshotProcessor);
|
|
235
|
+
if (propsWithToSnapshotProcessor.length <= 0) {
|
|
236
|
+
return void 0;
|
|
237
|
+
}
|
|
238
|
+
return (sn) => {
|
|
239
|
+
const newSn = __spreadValues({}, sn);
|
|
240
|
+
for (const [propName, propData] of propsWithToSnapshotProcessor) {
|
|
241
|
+
if (propData._internal.toSnapshotProcessor) {
|
|
242
|
+
newSn[propName] = propData._internal.toSnapshotProcessor(sn[propName]);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return newSn;
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
export { sharedInternalModel };
|
|
249
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxTaGFyZWQvTW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHlTZXQgfSBmcm9tIFwiLi4vYWN0aW9uL2FwcGx5U2V0XCJcclxuaW1wb3J0IHsgZ2V0Q3VycmVudEFjdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vYWN0aW9uL2NvbnRleHRcIlxyXG5pbXBvcnQgeyBtb2RlbEFjdGlvbiB9IGZyb20gXCIuLi9hY3Rpb24vbW9kZWxBY3Rpb25cIlxyXG5pbXBvcnQgeyBBbnlEYXRhTW9kZWwsIEJhc2VEYXRhTW9kZWwsIGJhc2VEYXRhTW9kZWxQcm9wTmFtZXMgfSBmcm9tIFwiLi4vZGF0YU1vZGVsL0Jhc2VEYXRhTW9kZWxcIlxyXG5pbXBvcnQgdHlwZSB7IERhdGFNb2RlbENvbnN0cnVjdG9yT3B0aW9ucyB9IGZyb20gXCIuLi9kYXRhTW9kZWwvRGF0YU1vZGVsQ29uc3RydWN0b3JPcHRpb25zXCJcclxuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxNZXRhZGF0YSB9IGZyb20gXCIuLi9kYXRhTW9kZWwvZ2V0RGF0YU1vZGVsTWV0YWRhdGFcIlxyXG5pbXBvcnQgeyBnZXRHbG9iYWxDb25maWcgfSBmcm9tIFwiLi4vZ2xvYmFsQ29uZmlnL2dsb2JhbENvbmZpZ1wiXHJcbmltcG9ydCB7IEFueU1vZGVsLCBCYXNlTW9kZWwsIGJhc2VNb2RlbFByb3BOYW1lcyB9IGZyb20gXCIuLi9tb2RlbC9CYXNlTW9kZWxcIlxyXG5pbXBvcnQgdHlwZSB7IE1vZGVsTWV0YWRhdGEgfSBmcm9tIFwiLi4vbW9kZWwvZ2V0TW9kZWxNZXRhZGF0YVwiXHJcbmltcG9ydCB7IG1vZGVsVHlwZUtleSB9IGZyb20gXCIuLi9tb2RlbC9tZXRhZGF0YVwiXHJcbmltcG9ydCB0eXBlIHsgTW9kZWxDb25zdHJ1Y3Rvck9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWwvTW9kZWxDb25zdHJ1Y3Rvck9wdGlvbnNcIlxyXG5pbXBvcnQgeyB0eXBlc09iamVjdCB9IGZyb20gXCIuLi90eXBlcy9vYmplY3RCYXNlZC9vYmplY3RcIlxyXG5pbXBvcnQgeyB0eXBlc1N0cmluZyB9IGZyb20gXCIuLi90eXBlcy9wcmltaXRpdmVCYXNlZC9wcmltaXRpdmVzXCJcclxuaW1wb3J0IHR5cGUgeyBBbnlUeXBlIH0gZnJvbSBcIi4uL3R5cGVzL3NjaGVtYXNcIlxyXG5pbXBvcnQgeyB0UHJvcCB9IGZyb20gXCIuLi90eXBlcy90UHJvcFwiXHJcbmltcG9ydCB0eXBlIHsgTGF0ZVR5cGVDaGVja2VyIH0gZnJvbSBcIi4uL3R5cGVzL1R5cGVDaGVja2VyXCJcclxuaW1wb3J0IHsgdHlwZXNVbmNoZWNrZWQgfSBmcm9tIFwiLi4vdHlwZXMvdXRpbGl0eS91bmNoZWNrZWRcIlxyXG5pbXBvcnQgeyBhc3NlcnRJc09iamVjdCwgZmFpbHVyZSwgcHJvcE5hbWVUb1NldHRlck5hbWUgfSBmcm9tIFwiLi4vdXRpbHNcIlxyXG5pbXBvcnQgeyBjaGFpbkZucyB9IGZyb20gXCIuLi91dGlscy9jaGFpbkZuc1wiXHJcbmltcG9ydCB7IE1vZGVsQ2xhc3MsIG1vZGVsSW5pdGlhbGl6ZWRTeW1ib2wgfSBmcm9tIFwiLi9CYXNlTW9kZWxTaGFyZWRcIlxyXG5pbXBvcnQgeyBtb2RlbEluaXRpYWxpemVyc1N5bWJvbCB9IGZyb20gXCIuL21vZGVsQ2xhc3NJbml0aWFsaXplclwiXHJcbmltcG9ydCB7IGdldEludGVybmFsTW9kZWxDbGFzc1Byb3BzSW5mbywgc2V0SW50ZXJuYWxNb2RlbENsYXNzUHJvcHNJbmZvIH0gZnJvbSBcIi4vbW9kZWxQcm9wc0luZm9cIlxyXG5pbXBvcnQgeyBtb2RlbE1ldGFkYXRhU3ltYm9sLCBtb2RlbFVud3JhcHBlZENsYXNzU3ltYm9sIH0gZnJvbSBcIi4vbW9kZWxTeW1ib2xzXCJcclxuaW1wb3J0IHsgQW55TW9kZWxQcm9wLCBNb2RlbFByb3BzLCBwcm9wIH0gZnJvbSBcIi4vcHJvcFwiXHJcbmltcG9ydCB7IGFzc2VydElzQ2xhc3NPckRhdGFNb2RlbENsYXNzIH0gZnJvbSBcIi4vdXRpbHNcIlxyXG5cclxuZnVuY3Rpb24gX19leHRlbmRzKHN1YkNsYXNzOiBhbnksIHN1cGVyQ2xhc3M6IGFueSkge1xyXG4gIE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcylcclxuICBmdW5jdGlvbiBfXyh0aGlzOiBhbnkpIHtcclxuICAgIHRoaXMuY29uc3RydWN0b3IgPSBzdWJDbGFzc1xyXG4gIH1cclxuICBfXy5wcm90b3R5cGUgPSBzdXBlckNsYXNzLnByb3RvdHlwZVxyXG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9IG5ldyAoX18gYXMgYW55KSgpXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZU1vZGVsUHJvcERlc2NyaXB0b3IoXHJcbiAgbW9kZWxQcm9wTmFtZTogc3RyaW5nLFxyXG4gIG1vZGVsUHJvcDogQW55TW9kZWxQcm9wIHwgdW5kZWZpbmVkLFxyXG4gIGVudW1lcmFibGU6IGJvb2xlYW5cclxuKTogUHJvcGVydHlEZXNjcmlwdG9yIHtcclxuICByZXR1cm4ge1xyXG4gICAgZW51bWVyYWJsZSxcclxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcclxuICAgIGdldCh0aGlzOiBBbnlNb2RlbCB8IEFueURhdGFNb2RlbCkge1xyXG4gICAgICByZXR1cm4gZ2V0TW9kZWxJbnN0YW5jZURhdGFGaWVsZCh0aGlzLCBtb2RlbFByb3AsIG1vZGVsUHJvcE5hbWUpXHJcbiAgICB9LFxyXG4gICAgc2V0KHRoaXM6IEFueU1vZGVsIHwgQW55RGF0YU1vZGVsLCB2PzogYW55KSB7XHJcbiAgICAgIC8vIGhhY2sgdG8gb25seSBwZXJtaXQgc2V0dGluZyB0aGVzZSB2YWx1ZXMgb25jZSBmdWxseSBjb25zdHJ1Y3RlZFxyXG4gICAgICAvLyB0aGlzIGlzIHRvIGlnbm9yZSBhYnN0cmFjdCBwcm9wZXJ0aWVzIGJlaW5nIHNldCBieSBiYWJlbFxyXG4gICAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3hhdmllcmdvbnovbW9ieC1rZXlzdG9uZS9pc3N1ZXMvMThcclxuICAgICAgaWYgKCEobW9kZWxJbml0aWFsaXplZFN5bWJvbCBpbiB0aGlzKSkge1xyXG4gICAgICAgIHJldHVyblxyXG4gICAgICB9XHJcbiAgICAgIHNldE1vZGVsSW5zdGFuY2VEYXRhRmllbGQodGhpcywgbW9kZWxQcm9wLCBtb2RlbFByb3BOYW1lLCB2KVxyXG4gICAgfSxcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldE1vZGVsSW5zdGFuY2VEYXRhRmllbGQ8TSBleHRlbmRzIEFueU1vZGVsIHwgQW55RGF0YU1vZGVsPihcclxuICBtb2RlbDogTSxcclxuICBtb2RlbFByb3A6IEFueU1vZGVsUHJvcCB8IHVuZGVmaW5lZCxcclxuICBtb2RlbFByb3BOYW1lOiBzdHJpbmdcclxuKTogYW55IHtcclxuICAvLyBubyBuZWVkIHRvIHVzZSBnZXQgc2luY2UgdGhlc2UgdmFycyBhbHdheXMgZ2V0IG9uIHRoZSBpbml0aWFsICRcclxuICBjb25zdCB2YWx1ZSA9IG1vZGVsLiRbbW9kZWxQcm9wTmFtZV1cclxuXHJcbiAgaWYgKG1vZGVsUHJvcD8uX2ludGVybmFsLnRyYW5zZm9ybSkge1xyXG4gICAgcmV0dXJuIG1vZGVsUHJvcC5faW50ZXJuYWwudHJhbnNmb3JtLnRyYW5zZm9ybSh2YWx1ZSwgbW9kZWwsIG1vZGVsUHJvcE5hbWUsIChuZXdWYWx1ZSkgPT4ge1xyXG4gICAgICAvLyB1c2UgYXBwbHkgc2V0IGluc3RlYWQgdG8gd3JhcCBpdCBpbiBhbiBhY3Rpb25cclxuICAgICAgLy8gc2V0IHRoZSAkIG9iamVjdCB0byBzZXQgdGhlIG9yaWdpbmFsIHZhbHVlIGRpcmVjdGx5XHJcbiAgICAgIGFwcGx5U2V0KG1vZGVsLiQsIG1vZGVsUHJvcE5hbWUsIG5ld1ZhbHVlKVxyXG4gICAgfSkgYXMgYW55XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdmFsdWVcclxufVxyXG5cclxuZnVuY3Rpb24gc2V0TW9kZWxJbnN0YW5jZURhdGFGaWVsZDxNIGV4dGVuZHMgQW55TW9kZWwgfCBBbnlEYXRhTW9kZWw+KFxyXG4gIG1vZGVsOiBNLFxyXG4gIG1vZGVsUHJvcDogQW55TW9kZWxQcm9wIHwgdW5kZWZpbmVkLFxyXG4gIG1vZGVsUHJvcE5hbWU6IHN0cmluZyxcclxuICB2YWx1ZTogYW55XHJcbik6IHZvaWQge1xyXG4gIGlmIChtb2RlbFByb3A/Ll9pbnRlcm5hbC5zZXR0ZXIgPT09IFwiYXNzaWduXCIgJiYgIWdldEN1cnJlbnRBY3Rpb25Db250ZXh0KCkpIHtcclxuICAgIC8vIHVzZSBhcHBseSBzZXQgaW5zdGVhZCB0byB3cmFwIGl0IGluIGFuIGFjdGlvblxyXG4gICAgYXBwbHlTZXQobW9kZWwsIG1vZGVsUHJvcE5hbWUgYXMgYW55LCB2YWx1ZSlcclxuICAgIHJldHVyblxyXG4gIH1cclxuXHJcbiAgY29uc3QgdHJhbnNmb3JtZWRWYWx1ZSA9IG1vZGVsUHJvcD8uX2ludGVybmFsLnRyYW5zZm9ybVxyXG4gICAgPyBtb2RlbFByb3AuX2ludGVybmFsLnRyYW5zZm9ybS51bnRyYW5zZm9ybSh2YWx1ZSwgbW9kZWwsIG1vZGVsUHJvcE5hbWUpXHJcbiAgICA6IHZhbHVlXHJcbiAgLy8gbm8gbmVlZCB0byB1c2Ugc2V0IHNpbmNlIHRoZXNlIHZhcnMgYWx3YXlzIGdldCBvbiB0aGUgaW5pdGlhbCAkXHJcbiAgbW9kZWwuJFttb2RlbFByb3BOYW1lXSA9IHRyYW5zZm9ybWVkVmFsdWVcclxufVxyXG5cclxuY29uc3QgaWRHZW5lcmF0b3IgPSAoKSA9PiBnZXRHbG9iYWxDb25maWcoKS5tb2RlbElkR2VuZXJhdG9yKClcclxuY29uc3QgdFByb3BGb3JJZCA9IHRQcm9wKHR5cGVzU3RyaW5nLCBpZEdlbmVyYXRvcilcclxudFByb3BGb3JJZC5faW50ZXJuYWwuaXNJZCA9IHRydWVcclxuY29uc3QgcHJvcEZvcklkID0gcHJvcChpZEdlbmVyYXRvcilcclxucHJvcEZvcklkLl9pbnRlcm5hbC5pc0lkID0gdHJ1ZVxyXG5cclxudHlwZSBGcm9tU25hcHNob3RQcm9jZXNzb3JGbiA9IChzbjogYW55KSA9PiBhbnlcclxudHlwZSBUb1NuYXBzaG90UHJvY2Vzc29yRm4gPSAoc246IGFueSwgaW5zdGFuY2U6IGFueSkgPT4gYW55XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2hhcmVkSW50ZXJuYWxNb2RlbDxcclxuICBUUHJvcHMgZXh0ZW5kcyBNb2RlbFByb3BzLFxyXG4gIFRCYXNlTW9kZWwgZXh0ZW5kcyBBbnlNb2RlbCB8IEFueURhdGFNb2RlbFxyXG4+KHtcclxuICBtb2RlbFByb3BzLFxyXG4gIGJhc2VNb2RlbCxcclxuICB0eXBlLFxyXG4gIHZhbHVlVHlwZSxcclxuICBmcm9tU25hcHNob3RQcm9jZXNzb3IsXHJcbiAgdG9TbmFwc2hvdFByb2Nlc3NvcixcclxufToge1xyXG4gIG1vZGVsUHJvcHM6IFRQcm9wc1xyXG4gIGJhc2VNb2RlbDogTW9kZWxDbGFzczxUQmFzZU1vZGVsPiB8IHVuZGVmaW5lZFxyXG4gIHR5cGU6IFwiY2xhc3NcIiB8IFwiZGF0YVwiXHJcbiAgdmFsdWVUeXBlOiBib29sZWFuXHJcbiAgZnJvbVNuYXBzaG90UHJvY2Vzc29yOiBGcm9tU25hcHNob3RQcm9jZXNzb3JGbiB8IHVuZGVmaW5lZFxyXG4gIHRvU25hcHNob3RQcm9jZXNzb3I6IFRvU25hcHNob3RQcm9jZXNzb3JGbiB8IHVuZGVmaW5lZFxyXG59KTogYW55IHtcclxuICBhc3NlcnRJc09iamVjdChtb2RlbFByb3BzLCBcIm1vZGVsUHJvcHNcIilcclxuICBpZiAoYmFzZU1vZGVsKSB7XHJcbiAgICBhc3NlcnRJc0NsYXNzT3JEYXRhTW9kZWxDbGFzcyhiYXNlTW9kZWwsIFwiYmFzZU1vZGVsXCIpXHJcblxyXG4gICAgLy8gaWYgdGhlIGJhc2VNb2RlbCBpcyB3cmFwcGVkIHdpdGggdGhlIG1vZGVsIGRlY29yYXRvciBnZXQgdGhlIG9yaWdpbmFsIG9uZVxyXG4gICAgY29uc3QgdW53cmFwcGVkQ2xhc3MgPSAoYmFzZU1vZGVsIGFzIGFueSlbbW9kZWxVbndyYXBwZWRDbGFzc1N5bWJvbF1cclxuICAgIGlmICh1bndyYXBwZWRDbGFzcykge1xyXG4gICAgICBiYXNlTW9kZWwgPSB1bndyYXBwZWRDbGFzc1xyXG4gICAgICBhc3NlcnRJc0NsYXNzT3JEYXRhTW9kZWxDbGFzcyhiYXNlTW9kZWwsIFwiYmFzZU1vZGVsXCIpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBleHRyYURlc2NyaXB0b3JzOiBQcm9wZXJ0eURlc2NyaXB0b3JNYXAgPSB7fVxyXG5cclxuICBjb25zdCBjb21wb3NlZE1vZGVsUHJvcHM6IE1vZGVsUHJvcHMgPSBtb2RlbFByb3BzXHJcbiAgaWYgKGJhc2VNb2RlbCkge1xyXG4gICAgY29uc3Qgb2xkTW9kZWxQcm9wcyA9IGdldEludGVybmFsTW9kZWxDbGFzc1Byb3BzSW5mbyhiYXNlTW9kZWwpXHJcbiAgICBmb3IgKGNvbnN0IG9sZE1vZGVsUHJvcEtleSBvZiBPYmplY3Qua2V5cyhvbGRNb2RlbFByb3BzKSkge1xyXG4gICAgICBpZiAobW9kZWxQcm9wc1tvbGRNb2RlbFByb3BLZXldKSB7XHJcbiAgICAgICAgdGhyb3cgZmFpbHVyZShcclxuICAgICAgICAgIGBleHRlbmRlZCBtb2RlbCBjYW5ub3QgcmVkZWNsYXJlIGJhc2UgbW9kZWwgcHJvcGVydHkgbmFtZWQgJyR7b2xkTW9kZWxQcm9wS2V5fSdgXHJcbiAgICAgICAgKVxyXG4gICAgICB9XHJcbiAgICAgIGNvbXBvc2VkTW9kZWxQcm9wc1tvbGRNb2RlbFByb3BLZXldID0gb2xkTW9kZWxQcm9wc1tvbGRNb2RlbFByb3BLZXldXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBsb29rIGZvciBpZCBrZXlzXHJcbiAgY29uc3QgaWRLZXlzID0gT2JqZWN0LmtleXMoY29tcG9zZWRNb2RlbFByb3BzKS5maWx0ZXIoKGspID0+IHtcclxuICAgIGNvbnN0IHAgPSBjb21wb3NlZE1vZGVsUHJvcHNba11cclxuICAgIHJldHVybiBwLl9pbnRlcm5hbC5pc0lkXHJcbiAgfSlcclxuICBpZiAodHlwZSA9PT0gXCJjbGFzc1wiKSB7XHJcbiAgICBpZiAoaWRLZXlzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgdGhyb3cgZmFpbHVyZShgZXhwZWN0ZWQgYXQgbW9zdCBvbmUgaWRQcm9wIGJ1dCBnb3QgbWFueTogJHtKU09OLnN0cmluZ2lmeShpZEtleXMpfWApXHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIGlmIChpZEtleXMubGVuZ3RoID49IDEpIHtcclxuICAgICAgdGhyb3cgZmFpbHVyZShgZXhwZWN0ZWQgbm8gaWRQcm9wIGJ1dCBnb3Qgc29tZTogJHtKU09OLnN0cmluZ2lmeShpZEtleXMpfWApXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBuZWVkc1R5cGVDaGVja2VyID0gT2JqZWN0LnZhbHVlcyhjb21wb3NlZE1vZGVsUHJvcHMpLnNvbWUoXHJcbiAgICAobXApID0+ICEhbXAuX2ludGVybmFsLnR5cGVDaGVja2VyXHJcbiAgKVxyXG5cclxuICAvLyB0cmFuc2Zvcm0gaWQga2V5cyAob25seSBvbmUgcmVhbGx5KVxyXG4gIGxldCBpZEtleTogc3RyaW5nIHwgdW5kZWZpbmVkXHJcbiAgaWYgKGlkS2V5cy5sZW5ndGggPj0gMSkge1xyXG4gICAgaWRLZXkgPSBpZEtleXNbMF1cclxuICAgIGNvbnN0IGlkUHJvcCA9IGNvbXBvc2VkTW9kZWxQcm9wc1tpZEtleV1cclxuICAgIGxldCBiYXNlUHJvcDogQW55TW9kZWxQcm9wID0gbmVlZHNUeXBlQ2hlY2tlciA/IHRQcm9wRm9ySWQgOiBwcm9wRm9ySWRcclxuICAgIHN3aXRjaCAoaWRQcm9wPy5faW50ZXJuYWwuc2V0dGVyKSB7XHJcbiAgICAgIGNhc2UgdHJ1ZTpcclxuICAgICAgICBiYXNlUHJvcCA9IGJhc2VQcm9wLndpdGhTZXR0ZXIoKVxyXG4gICAgICAgIGJyZWFrXHJcbiAgICAgIGNhc2UgXCJhc3NpZ25cIjpcclxuICAgICAgICBiYXNlUHJvcCA9IGJhc2VQcm9wLndpdGhTZXR0ZXIoXCJhc3NpZ25cIilcclxuICAgICAgICBicmVha1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrXHJcbiAgICB9XHJcbiAgICBjb21wb3NlZE1vZGVsUHJvcHNbaWRLZXldID0gYmFzZVByb3BcclxuICB9XHJcblxyXG4gIC8vIGNyZWF0ZSB0eXBlIGNoZWNrZXIgaWYgbmVlZGVkXHJcbiAgbGV0IGRhdGFUeXBlQ2hlY2tlcjogTGF0ZVR5cGVDaGVja2VyIHwgdW5kZWZpbmVkXHJcbiAgaWYgKG5lZWRzVHlwZUNoZWNrZXIpIHtcclxuICAgIGNvbnN0IHR5cGVDaGVja2VyT2JqOiB7XHJcbiAgICAgIFtrOiBzdHJpbmddOiBhbnlcclxuICAgIH0gPSB7fVxyXG4gICAgZm9yIChjb25zdCBbaywgbXBdIG9mIE9iamVjdC5lbnRyaWVzKGNvbXBvc2VkTW9kZWxQcm9wcykpIHtcclxuICAgICAgdHlwZUNoZWNrZXJPYmpba10gPSAhbXAuX2ludGVybmFsLnR5cGVDaGVja2VyID8gdHlwZXNVbmNoZWNrZWQoKSA6IG1wLl9pbnRlcm5hbC50eXBlQ2hlY2tlclxyXG4gICAgfVxyXG4gICAgZGF0YVR5cGVDaGVja2VyID0gdHlwZXNPYmplY3QoKCkgPT4gdHlwZUNoZWNrZXJPYmopIGFzIGFueVxyXG4gIH1cclxuXHJcbiAgY29uc3QgYmFzZVByb3BOYW1lcyA9IHR5cGUgPT09IFwiY2xhc3NcIiA/IGJhc2VNb2RlbFByb3BOYW1lcyA6IGJhc2VEYXRhTW9kZWxQcm9wTmFtZXNcclxuXHJcbiAgLy8gc2tpcCBwcm9wcyB0aGF0IGFyZSBvbiBiYXNlIG1vZGVsLCB0aGVzZSBoYXZlIHRvIGJlIGFjY2Vzc2VkIHRocm91Z2ggJFxyXG4gIC8vIHdlIG9ubHkgbmVlZCB0byBwcm94eSBuZXcgcHJvcHMsIG5vdCBvbGQgb25lc1xyXG4gIGZvciAoY29uc3QgbW9kZWxQcm9wTmFtZSBvZiBPYmplY3Qua2V5cyhtb2RlbFByb3BzKS5maWx0ZXIoXHJcbiAgICAobXApID0+ICFiYXNlUHJvcE5hbWVzLmhhcyhtcCBhcyBhbnkpXHJcbiAgKSkge1xyXG4gICAgZXh0cmFEZXNjcmlwdG9yc1ttb2RlbFByb3BOYW1lXSA9IGNyZWF0ZU1vZGVsUHJvcERlc2NyaXB0b3IoXHJcbiAgICAgIG1vZGVsUHJvcE5hbWUsXHJcbiAgICAgIG1vZGVsUHJvcHNbbW9kZWxQcm9wTmFtZV0sXHJcbiAgICAgIGZhbHNlXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBjb25zdCBleHRyYVByb3BOYW1lcyA9IE9iamVjdC5rZXlzKGV4dHJhRGVzY3JpcHRvcnMpXHJcbiAgY29uc3QgZXh0cmFQcm9wTmFtZXNMZW4gPSBleHRyYVByb3BOYW1lcy5sZW5ndGhcclxuXHJcbiAgY29uc3QgYmFzZTogYW55ID0gYmFzZU1vZGVsID8/ICh0eXBlID09PSBcImNsYXNzXCIgPyBCYXNlTW9kZWwgOiBCYXNlRGF0YU1vZGVsKVxyXG5cclxuICAvLyB3ZSB1c2UgdGhpcyB3ZWlyZCBoYWNrIHJhdGhlciB0aGFuIGp1c3QgY2xhc3MgQ3VzdG9tQmFzZU1vZGVsIGV4dGVuZHMgYmFzZSB7fVxyXG4gIC8vIGluIG9yZGVyIHRvIHdvcmsgYXJvdW5kIHByb2JsZW1zIHdpdGggRVM1IGNsYXNzZXMgZXh0ZW5kaW5nIEVTNiBjbGFzc2VzXHJcbiAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS94YXZpZXJnb256L21vYngta2V5c3RvbmUvaXNzdWVzLzE1XHJcbiAgY29uc3QgQ3VzdG9tQmFzZU1vZGVsOiBhbnkgPSAoZnVuY3Rpb24gKF9iYXNlKSB7XHJcbiAgICBfX2V4dGVuZHMoQ3VzdG9tQmFzZU1vZGVsLCBfYmFzZSlcclxuXHJcbiAgICBmdW5jdGlvbiBDdXN0b21CYXNlTW9kZWwoXHJcbiAgICAgIHRoaXM6IGFueSxcclxuICAgICAgaW5pdGlhbERhdGE6IGFueSxcclxuICAgICAgY29uc3RydWN0b3JPcHRpb25zPzogTW9kZWxDb25zdHJ1Y3Rvck9wdGlvbnMgfCBEYXRhTW9kZWxDb25zdHJ1Y3Rvck9wdGlvbnNcclxuICAgICkge1xyXG4gICAgICBjb25zdCBtb2RlbENsYXNzID0gY29uc3RydWN0b3JPcHRpb25zPy5tb2RlbENsYXNzID8/IHRoaXMuY29uc3RydWN0b3JcclxuICAgICAgY29uc3QgYmFzZU1vZGVsID0gbmV3IF9iYXNlKGluaXRpYWxEYXRhLCB7XHJcbiAgICAgICAgLi4uY29uc3RydWN0b3JPcHRpb25zLFxyXG4gICAgICAgIG1vZGVsQ2xhc3MsXHJcbiAgICAgIH0gYXMgTW9kZWxDb25zdHJ1Y3Rvck9wdGlvbnMgJiBEYXRhTW9kZWxDb25zdHJ1Y3Rvck9wdGlvbnMpXHJcblxyXG4gICAgICAvLyBtYWtlIHN1cmUgYWJzdHJhY3QgY2xhc3NlcyBkbyBub3Qgb3ZlcnJpZGUgcHJvdG90eXBlIHByb3BzXHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZXh0cmFQcm9wTmFtZXNMZW47IGkrKykge1xyXG4gICAgICAgIGNvbnN0IGV4dHJhUHJvcE5hbWUgPSBleHRyYVByb3BOYW1lc1tpXVxyXG4gICAgICAgIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJhc2VNb2RlbCwgZXh0cmFQcm9wTmFtZSkpIHtcclxuICAgICAgICAgIGRlbGV0ZSBiYXNlTW9kZWxbZXh0cmFQcm9wTmFtZV1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBiYXNlTW9kZWxcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gQ3VzdG9tQmFzZU1vZGVsXHJcbiAgfSkoYmFzZSlcclxuXHJcbiAgY29uc3QgaW5pdGlhbGl6ZXJzID0gYmFzZVttb2RlbEluaXRpYWxpemVyc1N5bWJvbF1cclxuICBpZiAoaW5pdGlhbGl6ZXJzKSB7XHJcbiAgICBDdXN0b21CYXNlTW9kZWxbbW9kZWxJbml0aWFsaXplcnNTeW1ib2xdID0gaW5pdGlhbGl6ZXJzLnNsaWNlKClcclxuICB9XHJcblxyXG4gIHNldEludGVybmFsTW9kZWxDbGFzc1Byb3BzSW5mbyhDdXN0b21CYXNlTW9kZWwsIGNvbXBvc2VkTW9kZWxQcm9wcylcclxuXHJcbiAgaWYgKHR5cGUgPT09IFwiY2xhc3NcIikge1xyXG4gICAgY29uc3QgbWV0YWRhdGE6IE1vZGVsTWV0YWRhdGEgPSB7XHJcbiAgICAgIGRhdGFUeXBlOiBkYXRhVHlwZUNoZWNrZXIgYXMgdW5rbm93biBhcyBBbnlUeXBlIHwgdW5kZWZpbmVkLFxyXG4gICAgICBtb2RlbElkUHJvcGVydHk6IGlkS2V5LFxyXG4gICAgICB2YWx1ZVR5cGUsXHJcbiAgICB9XHJcbiAgICBDdXN0b21CYXNlTW9kZWxbbW9kZWxNZXRhZGF0YVN5bWJvbF0gPSBtZXRhZGF0YVxyXG4gIH0gZWxzZSB7XHJcbiAgICBjb25zdCBtZXRhZGF0YTogRGF0YU1vZGVsTWV0YWRhdGEgPSB7XHJcbiAgICAgIGRhdGFUeXBlOiBkYXRhVHlwZUNoZWNrZXIgYXMgdW5rbm93biBhcyBBbnlUeXBlIHwgdW5kZWZpbmVkLFxyXG4gICAgfVxyXG4gICAgQ3VzdG9tQmFzZU1vZGVsW21vZGVsTWV0YWRhdGFTeW1ib2xdID0gbWV0YWRhdGFcclxuICB9XHJcblxyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEN1c3RvbUJhc2VNb2RlbC5wcm90b3R5cGUsIGV4dHJhRGVzY3JpcHRvcnMpXHJcblxyXG4gIC8vIGFkZCBzZXR0ZXIgYWN0aW9ucyB0byBwcm90b3R5cGVcclxuICBmb3IgKGNvbnN0IFtwcm9wTmFtZSwgcHJvcERhdGFdIG9mIE9iamVjdC5lbnRyaWVzKG1vZGVsUHJvcHMpKSB7XHJcbiAgICBpZiAocHJvcERhdGEuX2ludGVybmFsLnNldHRlciA9PT0gdHJ1ZSkge1xyXG4gICAgICBjb25zdCBzZXR0ZXJOYW1lID0gcHJvcE5hbWVUb1NldHRlck5hbWUocHJvcE5hbWUpXHJcblxyXG4gICAgICBDdXN0b21CYXNlTW9kZWwucHJvdG90eXBlW3NldHRlck5hbWVdID0gZnVuY3Rpb24gKHRoaXM6IGFueSwgdmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXNbcHJvcE5hbWVdID0gdmFsdWVcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgbmV3UHJvcERlc2NyaXB0b3I6IGFueSA9IG1vZGVsQWN0aW9uKFxyXG4gICAgICAgIEN1c3RvbUJhc2VNb2RlbC5wcm90b3R5cGUsXHJcbiAgICAgICAgc2V0dGVyTmFtZSxcclxuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEN1c3RvbUJhc2VNb2RlbC5wcm90b3R5cGUsIHNldHRlck5hbWUpXHJcbiAgICAgIClcclxuXHJcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDdXN0b21CYXNlTW9kZWwucHJvdG90eXBlLCBzZXR0ZXJOYW1lLCBuZXdQcm9wRGVzY3JpcHRvcilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IG1vZGVsUHJvcHNGcm9tU25hcHNob3RQcm9jZXNzb3IgPSBnZXRNb2RlbFByb3BzRnJvbVNuYXBzaG90UHJvY2Vzc29yKGNvbXBvc2VkTW9kZWxQcm9wcylcclxuXHJcbiAgY29uc3QgbW9kZWxQcm9wc1RvU25hcHNob3RQcm9jZXNzb3IgPSBnZXRNb2RlbFByb3BzVG9TbmFwc2hvdFByb2Nlc3Nvcihjb21wb3NlZE1vZGVsUHJvcHMpXHJcblxyXG4gIGlmIChmcm9tU25hcHNob3RQcm9jZXNzb3IpIHtcclxuICAgIGNvbnN0IGZuID0gZnJvbVNuYXBzaG90UHJvY2Vzc29yXHJcbiAgICBmcm9tU25hcHNob3RQcm9jZXNzb3IgPSAoc24pID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5mbihzbiksXHJcbiAgICAgICAgW21vZGVsVHlwZUtleV06IHNuW21vZGVsVHlwZUtleV0sXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlmICh0b1NuYXBzaG90UHJvY2Vzc29yKSB7XHJcbiAgICBjb25zdCBmbiA9IHRvU25hcHNob3RQcm9jZXNzb3JcclxuICAgIHRvU25hcHNob3RQcm9jZXNzb3IgPSAoc24sIG1vZGVsSW5zdGFuY2UpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5mbihzbiwgbW9kZWxJbnN0YW5jZSksXHJcbiAgICAgICAgW21vZGVsVHlwZUtleV06IHNuW21vZGVsVHlwZUtleV0sXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEN1c3RvbUJhc2VNb2RlbC5mcm9tU25hcHNob3RQcm9jZXNzb3IgPSBjaGFpbkZucyhcclxuICAgIGZyb21TbmFwc2hvdFByb2Nlc3NvcixcclxuICAgIG1vZGVsUHJvcHNGcm9tU25hcHNob3RQcm9jZXNzb3JcclxuICApXHJcbiAgQ3VzdG9tQmFzZU1vZGVsLnRvU25hcHNob3RQcm9jZXNzb3IgPSBjaGFpbkZucyhtb2RlbFByb3BzVG9TbmFwc2hvdFByb2Nlc3NvciwgdG9TbmFwc2hvdFByb2Nlc3NvcilcclxuXHJcbiAgcmV0dXJuIEN1c3RvbUJhc2VNb2RlbFxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRNb2RlbFByb3BzRnJvbVNuYXBzaG90UHJvY2Vzc29yKFxyXG4gIGNvbXBvc2VkTW9kZWxQcm9wczogTW9kZWxQcm9wc1xyXG4pOiBGcm9tU25hcHNob3RQcm9jZXNzb3JGbiB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3QgcHJvcHNXaXRoRnJvbVNuYXBzaG90UHJvY2Vzc29yID0gT2JqZWN0LmVudHJpZXMoY29tcG9zZWRNb2RlbFByb3BzKS5maWx0ZXIoXHJcbiAgICAoW19wcm9wTmFtZSwgcHJvcERhdGFdKSA9PiBwcm9wRGF0YS5faW50ZXJuYWwuZnJvbVNuYXBzaG90UHJvY2Vzc29yXHJcbiAgKVxyXG4gIGlmIChwcm9wc1dpdGhGcm9tU25hcHNob3RQcm9jZXNzb3IubGVuZ3RoIDw9IDApIHtcclxuICAgIHJldHVybiB1bmRlZmluZWRcclxuICB9XHJcblxyXG4gIHJldHVybiAoc24pID0+IHtcclxuICAgIGNvbnN0IG5ld1NuID0geyAuLi5zbiB9XHJcbiAgICBmb3IgKGNvbnN0IFtwcm9wTmFtZSwgcHJvcERhdGFdIG9mIHByb3BzV2l0aEZyb21TbmFwc2hvdFByb2Nlc3Nvcikge1xyXG4gICAgICBpZiAocHJvcERhdGEuX2ludGVybmFsLmZyb21TbmFwc2hvdFByb2Nlc3Nvcikge1xyXG4gICAgICAgIG5ld1NuW3Byb3BOYW1lXSA9IHByb3BEYXRhLl9pbnRlcm5hbC5mcm9tU25hcHNob3RQcm9jZXNzb3Ioc25bcHJvcE5hbWVdKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3U25cclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldE1vZGVsUHJvcHNUb1NuYXBzaG90UHJvY2Vzc29yKFxyXG4gIGNvbXBvc2VkTW9kZWxQcm9wczogTW9kZWxQcm9wc1xyXG4pOiBUb1NuYXBzaG90UHJvY2Vzc29yRm4gfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHByb3BzV2l0aFRvU25hcHNob3RQcm9jZXNzb3IgPSBPYmplY3QuZW50cmllcyhjb21wb3NlZE1vZGVsUHJvcHMpLmZpbHRlcihcclxuICAgIChbX3Byb3BOYW1lLCBwcm9wRGF0YV0pID0+IHByb3BEYXRhLl9pbnRlcm5hbC50b1NuYXBzaG90UHJvY2Vzc29yXHJcbiAgKVxyXG5cclxuICBpZiAocHJvcHNXaXRoVG9TbmFwc2hvdFByb2Nlc3Nvci5sZW5ndGggPD0gMCkge1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIChzbikgPT4ge1xyXG4gICAgY29uc3QgbmV3U24gPSB7IC4uLnNuIH1cclxuICAgIGZvciAoY29uc3QgW3Byb3BOYW1lLCBwcm9wRGF0YV0gb2YgcHJvcHNXaXRoVG9TbmFwc2hvdFByb2Nlc3Nvcikge1xyXG4gICAgICBpZiAocHJvcERhdGEuX2ludGVybmFsLnRvU25hcHNob3RQcm9jZXNzb3IpIHtcclxuICAgICAgICBuZXdTbltwcm9wTmFtZV0gPSBwcm9wRGF0YS5faW50ZXJuYWwudG9TbmFwc2hvdFByb2Nlc3Nvcihzbltwcm9wTmFtZV0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBuZXdTblxy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
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseDataModel } from "../dataModel/BaseDataModel.mjs";
|
|
2
|
+
import { BaseModel } from "../model/BaseModel.mjs";
|
|
3
|
+
import { failure } from "../utils/index.mjs";
|
|
4
|
+
function checkModelDecoratorArgs(fnName, target, propertyKey) {
|
|
5
|
+
if (typeof propertyKey !== "string") {
|
|
6
|
+
throw failure(`${fnName} cannot be used over symbol properties`);
|
|
7
|
+
}
|
|
8
|
+
const errMessage = `${fnName} must be used over model classes or instances`;
|
|
9
|
+
if (!target) {
|
|
10
|
+
throw failure(errMessage);
|
|
11
|
+
}
|
|
12
|
+
const isModel = target instanceof BaseModel || target === BaseModel || target.prototype instanceof BaseModel;
|
|
13
|
+
if (isModel)
|
|
14
|
+
return;
|
|
15
|
+
const isDataModel = target instanceof BaseDataModel || target === BaseDataModel || target.prototype instanceof BaseDataModel;
|
|
16
|
+
if (isDataModel)
|
|
17
|
+
return;
|
|
18
|
+
throw failure(errMessage);
|
|
19
|
+
}
|
|
20
|
+
export { checkModelDecoratorArgs };
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tNb2RlbERlY29yYXRvckFyZ3MubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxTaGFyZWQvY2hlY2tNb2RlbERlY29yYXRvckFyZ3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZURhdGFNb2RlbCB9IGZyb20gXCIuLi9kYXRhTW9kZWwvQmFzZURhdGFNb2RlbFwiXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWwvQmFzZU1vZGVsXCJcbmltcG9ydCB7IGZhaWx1cmUgfSBmcm9tIFwiLi4vdXRpbHNcIlxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tNb2RlbERlY29yYXRvckFyZ3MoZm5OYW1lOiBzdHJpbmcsIHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XG4gIGlmICh0eXBlb2YgcHJvcGVydHlLZXkgIT09IFwic3RyaW5nXCIpIHtcbiAgICB0aHJvdyBmYWlsdXJlKGAke2ZuTmFtZX0gY2Fubm90IGJlIHVzZWQgb3ZlciBzeW1ib2wgcHJvcGVydGllc2ApXG4gIH1cblxuICBjb25zdCBlcnJNZXNzYWdlID0gYCR7Zm5OYW1lfSBtdXN0IGJlIHVzZWQgb3ZlciBtb2RlbCBjbGFzc2VzIG9yIGluc3RhbmNlc2BcblxuICBpZiAoIXRhcmdldCkge1xuICAgIHRocm93IGZhaWx1cmUoZXJyTWVzc2FnZSlcbiAgfVxuXG4gIC8vIGNoZWNrIHRhcmdldCBpcyBhIG1vZGVsIG9iamVjdCBvciBleHRlbmRlZCBjbGFzc1xuICBjb25zdCBpc01vZGVsID1cbiAgICB0YXJnZXQgaW5zdGFuY2VvZiBCYXNlTW9kZWwgfHwgdGFyZ2V0ID09PSBCYXNlTW9kZWwgfHwgdGFyZ2V0LnByb3RvdHlwZSBpbnN0YW5jZW9mIEJhc2VNb2RlbFxuICBpZiAoaXNNb2RlbCkgcmV0dXJuXG5cbiAgY29uc3QgaXNEYXRhTW9kZWwgPVxuICAgIHRhcmdldCBpbnN0YW5jZW9mIEJhc2VEYXRhTW9kZWwgfHxcbiAgICB0YXJnZXQgPT09IEJhc2VEYXRhTW9kZWwgfHxcbiAgICB0YXJnZXQucHJvdG90eXBlIGluc3RhbmNlb2YgQmFzZURhdGFNb2RlbFxuICBpZiAoaXNEYXRhTW9kZWwpIHJldHVyblxuXG4gIHRocm93IGZhaWx1cmUoZXJyTWVzc2FnZSlcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7aUNBT3dDLFFBQWdCLFFBQWE7TUFDL0QsT0FBTyxnQkFBZ0IsVUFBVTtVQUM3QixRQUFRLEdBQUcsOENBQThDO0FBQUE7UUFHM0QsYUFBYSxHQUFHO01BRWxCLENBQUMsUUFBUTtVQUNMLFFBQVEsVUFBVTtBQUFBO1FBSXBCLFVBQ0osa0JBQWtCLGFBQWEsV0FBVyxhQUFhLE9BQU8scUJBQXFCO01BQ2pGOztRQUVFLGNBQ0osa0JBQWtCLGlCQUNsQixXQUFXLGlCQUNYLE9BQU8scUJBQXFCO01BQzFCOztRQUVFLFFBQVEsVUFBVTtBQUMxQjs7In0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const modelInitializersSymbol = Symbol("modelInitializers");
|
|
2
|
+
function addModelClassInitializer(modelClass, init) {
|
|
3
|
+
let initializers = modelClass[modelInitializersSymbol];
|
|
4
|
+
if (!initializers) {
|
|
5
|
+
initializers = [];
|
|
6
|
+
modelClass[modelInitializersSymbol] = initializers;
|
|
7
|
+
}
|
|
8
|
+
initializers.push(init);
|
|
9
|
+
}
|
|
10
|
+
function getModelClassInitializers(modelClass) {
|
|
11
|
+
return modelClass[modelInitializersSymbol];
|
|
12
|
+
}
|
|
13
|
+
export { addModelClassInitializer, getModelClassInitializers, modelInitializersSymbol };
|
|
14
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxDbGFzc0luaXRpYWxpemVyLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsU2hhcmVkL21vZGVsQ2xhc3NJbml0aWFsaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFueURhdGFNb2RlbCB9IGZyb20gXCIuLi9kYXRhTW9kZWwvQmFzZURhdGFNb2RlbFwiXG5pbXBvcnQgdHlwZSB7IEFueU1vZGVsIH0gZnJvbSBcIi4uL21vZGVsL0Jhc2VNb2RlbFwiXG5pbXBvcnQgdHlwZSB7IE1vZGVsQ2xhc3MgfSBmcm9tIFwiLi9CYXNlTW9kZWxTaGFyZWRcIlxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgbW9kZWxJbml0aWFsaXplcnNTeW1ib2wgPSBTeW1ib2woXCJtb2RlbEluaXRpYWxpemVyc1wiKVxuXG50eXBlIE1vZGVsQ2xhc3NJbml0aWFsaXplciA9IChtb2RlbEluc3RhbmNlOiBBbnlNb2RlbCB8IEFueURhdGFNb2RlbCkgPT4gdm9pZFxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkTW9kZWxDbGFzc0luaXRpYWxpemVyKFxuICBtb2RlbENsYXNzOiBNb2RlbENsYXNzPEFueU1vZGVsIHwgQW55RGF0YU1vZGVsPixcbiAgaW5pdDogTW9kZWxDbGFzc0luaXRpYWxpemVyXG4pIHtcbiAgbGV0IGluaXRpYWxpemVycyA9IChtb2RlbENsYXNzIGFzIGFueSlbbW9kZWxJbml0aWFsaXplcnNTeW1ib2xdXG4gIGlmICghaW5pdGlhbGl6ZXJzKSB7XG4gICAgaW5pdGlhbGl6ZXJzID0gW11cbiAgICA7KG1vZGVsQ2xhc3MgYXMgYW55KVttb2RlbEluaXRpYWxpemVyc1N5bWJvbF0gPSBpbml0aWFsaXplcnNcbiAgfVxuICBpbml0aWFsaXplcnMucHVzaChpbml0KVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9kZWxDbGFzc0luaXRpYWxpemVycyhcbiAgbW9kZWxDbGFzczogTW9kZWxDbGFzczxBbnlNb2RlbCB8IEFueURhdGFNb2RlbD5cbik6IE1vZGVsQ2xhc3NJbml0aWFsaXplcltdIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIChtb2RlbENsYXNzIGFzIGFueSlbbW9kZWxJbml0aWFsaXplcnNTeW1ib2xdXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik1BT2EsMEJBQTBCLE9BQU8sbUJBQW1CO2tDQVEvRCxZQUNBO01BRUksZUFBZ0IsV0FBbUI7TUFDbkMsQ0FBQyxjQUFjO21CQUNGO2VBQ00sMkJBQTJCO0FBQUE7ZUFFckMsS0FBSyxJQUFJO0FBQ3hCO21DQU1FO1NBRVEsV0FBbUI7QUFDN0I7OyJ9
|
|
@@ -0,0 +1,117 @@
|
|
|
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 { HookAction } from "../action/hookActions.mjs";
|
|
21
|
+
import { wrapModelMethodInActionIfNeeded } from "../action/wrapInAction.mjs";
|
|
22
|
+
import { isDataModelClass } from "../dataModel/utils.mjs";
|
|
23
|
+
import { getGlobalConfig } from "../globalConfig/globalConfig.mjs";
|
|
24
|
+
import { modelTypeKey } from "../model/metadata.mjs";
|
|
25
|
+
import { isModelClass } from "../model/utils.mjs";
|
|
26
|
+
import { modelInitializedSymbol } from "./BaseModelShared.mjs";
|
|
27
|
+
import { modelInfoByName, modelInfoByClass } from "./modelInfo.mjs";
|
|
28
|
+
import { modelUnwrappedClassSymbol, runAfterModelDecoratorSymbol } from "./modelSymbols.mjs";
|
|
29
|
+
import { failure, logWarning, runLateInitializationFunctions, runAfterNewSymbol, getMobxVersion, mobx6, addHiddenProp, runBeforeOnInitSymbol } from "../utils/index.mjs";
|
|
30
|
+
const model = (name) => (clazz) => {
|
|
31
|
+
return internalModel(name)(clazz);
|
|
32
|
+
};
|
|
33
|
+
const internalModel = (name) => (clazz) => {
|
|
34
|
+
const type = isModelClass(clazz) ? "class" : isDataModelClass(clazz) ? "data" : void 0;
|
|
35
|
+
if (!type) {
|
|
36
|
+
throw failure(`clazz must be a class that extends from Model/DataModel`);
|
|
37
|
+
}
|
|
38
|
+
if (modelInfoByName[name]) {
|
|
39
|
+
if (getGlobalConfig().showDuplicateModelNameWarnings) {
|
|
40
|
+
logWarning("warn", `a model with name "${name}" already exists (if you are using hot-reloading you may safely ignore this warning)`, `duplicateModelName - ${name}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (modelUnwrappedClassSymbol in clazz) {
|
|
44
|
+
throw failure("a class already decorated with `@model` cannot be re-decorated");
|
|
45
|
+
}
|
|
46
|
+
let makeObservableFailed = false;
|
|
47
|
+
const newClazz = function(initialData, modelConstructorOptions) {
|
|
48
|
+
const instance = new clazz(initialData, modelConstructorOptions);
|
|
49
|
+
Object.defineProperty(instance, "constructor", {
|
|
50
|
+
configurable: true,
|
|
51
|
+
writable: true,
|
|
52
|
+
enumerable: false,
|
|
53
|
+
value: newClazz
|
|
54
|
+
});
|
|
55
|
+
runLateInitializationFunctions(instance, runAfterNewSymbol);
|
|
56
|
+
if (!makeObservableFailed && getMobxVersion() >= 6) {
|
|
57
|
+
try {
|
|
58
|
+
mobx6.makeObservable(instance);
|
|
59
|
+
} catch (e) {
|
|
60
|
+
makeObservableFailed = true;
|
|
61
|
+
const err = e;
|
|
62
|
+
if (err.message !== "[MobX] No annotations were passed to makeObservable, but no decorator members have been found either" && err.message !== "[MobX] No annotations were passed to makeObservable, but no decorated members have been found either") {
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
addHiddenProp(instance, modelInitializedSymbol, true, false);
|
|
68
|
+
runLateInitializationFunctions(instance, runBeforeOnInitSymbol);
|
|
69
|
+
if (type === "class" && instance.onInit) {
|
|
70
|
+
wrapModelMethodInActionIfNeeded(instance, "onInit", HookAction.OnInit);
|
|
71
|
+
instance.onInit();
|
|
72
|
+
}
|
|
73
|
+
if (type === "data" && instance.onLazyInit) {
|
|
74
|
+
wrapModelMethodInActionIfNeeded(instance, "onLazyInit", HookAction.OnLazyInit);
|
|
75
|
+
instance.onLazyInit();
|
|
76
|
+
}
|
|
77
|
+
return instance;
|
|
78
|
+
};
|
|
79
|
+
clazz.toString = () => `class ${clazz.name}#${name}`;
|
|
80
|
+
if (type === "class") {
|
|
81
|
+
clazz[modelTypeKey] = name;
|
|
82
|
+
}
|
|
83
|
+
Object.setPrototypeOf(newClazz, clazz);
|
|
84
|
+
newClazz.prototype = clazz.prototype;
|
|
85
|
+
Object.defineProperty(newClazz, "name", __spreadProps(__spreadValues({}, Object.getOwnPropertyDescriptor(newClazz, "name")), {
|
|
86
|
+
value: clazz.name
|
|
87
|
+
}));
|
|
88
|
+
newClazz[modelUnwrappedClassSymbol] = clazz;
|
|
89
|
+
const modelInfo = {
|
|
90
|
+
name,
|
|
91
|
+
class: newClazz
|
|
92
|
+
};
|
|
93
|
+
modelInfoByName[name] = modelInfo;
|
|
94
|
+
modelInfoByClass.set(newClazz, modelInfo);
|
|
95
|
+
modelInfoByClass.set(clazz, modelInfo);
|
|
96
|
+
runLateInitializationFunctions(clazz, runAfterModelDecoratorSymbol);
|
|
97
|
+
return newClazz;
|
|
98
|
+
};
|
|
99
|
+
function tsDecorate(decorators, target, key, desc) {
|
|
100
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
101
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
102
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
103
|
+
else
|
|
104
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
105
|
+
if (d = decorators[i])
|
|
106
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
107
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
108
|
+
}
|
|
109
|
+
function decoratedModel(name, clazz, decorators) {
|
|
110
|
+
for (const [k, decorator] of Object.entries(decorators)) {
|
|
111
|
+
const prototypeValueDesc = Object.getOwnPropertyDescriptor(clazz.prototype, k);
|
|
112
|
+
tsDecorate(Array.isArray(decorator) ? decorator : [decorator], clazz.prototype, k, prototypeValueDesc ? prototypeValueDesc : void 0);
|
|
113
|
+
}
|
|
114
|
+
return name ? model(name)(clazz) : clazz;
|
|
115
|
+
}
|
|
116
|
+
export { decoratedModel, model };
|
|
117
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxEZWNvcmF0b3IubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxTaGFyZWQvbW9kZWxEZWNvcmF0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9va0FjdGlvbiB9IGZyb20gXCIuLi9hY3Rpb24vaG9va0FjdGlvbnNcIlxuaW1wb3J0IHsgd3JhcE1vZGVsTWV0aG9kSW5BY3Rpb25JZk5lZWRlZCB9IGZyb20gXCIuLi9hY3Rpb24vd3JhcEluQWN0aW9uXCJcbmltcG9ydCB0eXBlIHsgQW55RGF0YU1vZGVsIH0gZnJvbSBcIi4uL2RhdGFNb2RlbC9CYXNlRGF0YU1vZGVsXCJcbmltcG9ydCB7IGlzRGF0YU1vZGVsQ2xhc3MgfSBmcm9tIFwiLi4vZGF0YU1vZGVsL3V0aWxzXCJcbmltcG9ydCB7IGdldEdsb2JhbENvbmZpZyB9IGZyb20gXCIuLi9nbG9iYWxDb25maWdcIlxuaW1wb3J0IHR5cGUgeyBBbnlNb2RlbCB9IGZyb20gXCIuLi9tb2RlbC9CYXNlTW9kZWxcIlxuaW1wb3J0IHsgbW9kZWxUeXBlS2V5IH0gZnJvbSBcIi4uL21vZGVsL21ldGFkYXRhXCJcbmltcG9ydCB7IGlzTW9kZWxDbGFzcyB9IGZyb20gXCIuLi9tb2RlbC91dGlsc1wiXG5pbXBvcnQgeyBNb2RlbENsYXNzLCBtb2RlbEluaXRpYWxpemVkU3ltYm9sIH0gZnJvbSBcIi4uL21vZGVsU2hhcmVkL0Jhc2VNb2RlbFNoYXJlZFwiXG5pbXBvcnQgeyBtb2RlbEluZm9CeUNsYXNzLCBtb2RlbEluZm9CeU5hbWUgfSBmcm9tIFwiLi4vbW9kZWxTaGFyZWQvbW9kZWxJbmZvXCJcbmltcG9ydCB7XG4gIG1vZGVsVW53cmFwcGVkQ2xhc3NTeW1ib2wsXG4gIHJ1bkFmdGVyTW9kZWxEZWNvcmF0b3JTeW1ib2wsXG59IGZyb20gXCIuLi9tb2RlbFNoYXJlZC9tb2RlbFN5bWJvbHNcIlxuaW1wb3J0IHtcbiAgYWRkSGlkZGVuUHJvcCxcbiAgZmFpbHVyZSxcbiAgZ2V0TW9ieFZlcnNpb24sXG4gIGxvZ1dhcm5pbmcsXG4gIG1vYng2LFxuICBydW5BZnRlck5ld1N5bWJvbCxcbiAgcnVuQmVmb3JlT25Jbml0U3ltYm9sLFxuICBydW5MYXRlSW5pdGlhbGl6YXRpb25GdW5jdGlvbnMsXG59IGZyb20gXCIuLi91dGlsc1wiXG5cbi8qKlxuICogRGVjb3JhdG9yIHRoYXQgbWFya3MgdGhpcyBjbGFzcyAod2hpY2ggTVVTVCBpbmhlcml0IGZyb20gdGhlIGBNb2RlbGAgb3IgYERhdGFNb2RlbGAgYWJzdHJhY3QgY2xhc3NlcylcbiAqIGFzIGEgbW9kZWwuXG4gKlxuICogQHBhcmFtIG5hbWUgVW5pcXVlIG5hbWUgZm9yIHRoZSBtb2RlbCB0eXBlLiBOb3RlIHRoYXQgdGhpcyBuYW1lIG11c3QgYmUgdW5pcXVlIGZvciB5b3VyIHdob2xlXG4gKiBhcHBsaWNhdGlvbiwgc28gaXQgaXMgdXN1YWxseSBhIGdvb2QgaWRlYSB0byB1c2Ugc29tZSBwcmVmaXggdW5pcXVlIHRvIHlvdXIgYXBwbGljYXRpb24gZG9tYWluLlxuICovXG5leHBvcnQgY29uc3QgbW9kZWwgPVxuICAobmFtZTogc3RyaW5nKSA9PlxuICA8TUMgZXh0ZW5kcyBNb2RlbENsYXNzPEFueU1vZGVsIHwgQW55RGF0YU1vZGVsPj4oY2xheno6IE1DKTogTUMgPT4ge1xuICAgIHJldHVybiBpbnRlcm5hbE1vZGVsKG5hbWUpKGNsYXp6KVxuICB9XG5cbmNvbnN0IGludGVybmFsTW9kZWwgPVxuICAobmFtZTogc3RyaW5nKSA9PlxuICA8TUMgZXh0ZW5kcyBNb2RlbENsYXNzPEFueU1vZGVsIHwgQW55RGF0YU1vZGVsPj4oY2xheno6IE1DKTogTUMgPT4ge1xuICAgIGNvbnN0IHR5cGUgPSBpc01vZGVsQ2xhc3MoY2xhenopID8gXCJjbGFzc1wiIDogaXNEYXRhTW9kZWxDbGFzcyhjbGF6eikgPyBcImRhdGFcIiA6IHVuZGVmaW5lZFxuICAgIGlmICghdHlwZSkge1xuICAgICAgdGhyb3cgZmFpbHVyZShgY2xhenogbXVzdCBiZSBhIGNsYXNzIHRoYXQgZXh0ZW5kcyBmcm9tIE1vZGVsL0RhdGFNb2RlbGApXG4gICAgfVxuXG4gICAgaWYgKG1vZGVsSW5mb0J5TmFtZVtuYW1lXSkge1xuICAgICAgaWYgKGdldEdsb2JhbENvbmZpZygpLnNob3dEdXBsaWNhdGVNb2RlbE5hbWVXYXJuaW5ncykge1xuICAgICAgICBsb2dXYXJuaW5nKFxuICAgICAgICAgIFwid2FyblwiLFxuICAgICAgICAgIGBhIG1vZGVsIHdpdGggbmFtZSBcIiR7bmFtZX1cIiBhbHJlYWR5IGV4aXN0cyAoaWYgeW91IGFyZSB1c2luZyBob3QtcmVsb2FkaW5nIHlvdSBtYXkgc2FmZWx5IGlnbm9yZSB0aGlzIHdhcm5pbmcpYCxcbiAgICAgICAgICBgZHVwbGljYXRlTW9kZWxOYW1lIC0gJHtuYW1lfWBcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtb2RlbFVud3JhcHBlZENsYXNzU3ltYm9sIGluIGNsYXp6KSB7XG4gICAgICB0aHJvdyBmYWlsdXJlKFwiYSBjbGFzcyBhbHJlYWR5IGRlY29yYXRlZCB3aXRoIGBAbW9kZWxgIGNhbm5vdCBiZSByZS1kZWNvcmF0ZWRcIilcbiAgICB9XG5cbiAgICAvLyB0cmFjayBpZiB3ZSBmYWlsIHNvIHdlIG9ubHkgdHJ5IGl0IG9uY2UgcGVyIGNsYXNzXG4gICAgbGV0IG1ha2VPYnNlcnZhYmxlRmFpbGVkID0gZmFsc2VcblxuICAgIC8vIHRyaWNrIHNvIHBsYWluIG5ldyB3b3Jrc1xuICAgIGNvbnN0IG5ld0NsYXp6OiBhbnkgPSBmdW5jdGlvbiAodGhpczogYW55LCBpbml0aWFsRGF0YTogYW55LCBtb2RlbENvbnN0cnVjdG9yT3B0aW9uczogYW55KSB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyAoY2xhenogYXMgYW55KShpbml0aWFsRGF0YSwgbW9kZWxDb25zdHJ1Y3Rvck9wdGlvbnMpXG5cbiAgICAgIC8vIHNldCBvciBlbHNlIGl0IHBvaW50cyB0byB0aGUgdW5kZWNvcmF0ZWQgY2xhc3NcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbnN0YW5jZSwgXCJjb25zdHJ1Y3RvclwiLCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICB2YWx1ZTogbmV3Q2xhenosXG4gICAgICB9KVxuXG4gICAgICBydW5MYXRlSW5pdGlhbGl6YXRpb25GdW5jdGlvbnMoaW5zdGFuY2UsIHJ1bkFmdGVyTmV3U3ltYm9sKVxuXG4gICAgICAvLyBjb21wYXRpYmlsaXR5IHdpdGggbW9ieCA2XG4gICAgICBpZiAoIW1ha2VPYnNlcnZhYmxlRmFpbGVkICYmIGdldE1vYnhWZXJzaW9uKCkgPj0gNikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIG1vYng2Lm1ha2VPYnNlcnZhYmxlKGluc3RhbmNlKVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgLy8gc2FkbHkgd2UgbmVlZCB0byB1c2UgdGhpcyBoYWNrIHNpbmNlIHRoZSBQUiB0byBkbyB0aGlzIHRoZSBwcm9wZXIgd2F5XG4gICAgICAgICAgLy8gd2FzIHJlamVjdGVkIG9uIHRoZSBtb2J4IHNpZGVcbiAgICAgICAgICBtYWtlT2JzZXJ2YWJsZUZhaWxlZCA9IHRydWVcblxuICAgICAgICAgIGNvbnN0IGVyciA9IGUgYXMgRXJyb3JcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlcnIubWVzc2FnZSAhPT1cbiAgICAgICAgICAgICAgXCJbTW9iWF0gTm8gYW5ub3RhdGlvbnMgd2VyZSBwYXNzZWQgdG8gbWFrZU9ic2VydmFibGUsIGJ1dCBubyBkZWNvcmF0b3IgbWVtYmVycyBoYXZlIGJlZW4gZm91bmQgZWl0aGVyXCIgJiZcbiAgICAgICAgICAgIGVyci5tZXNzYWdlICE9PVxuICAgICAgICAgICAgICBcIltNb2JYXSBObyBhbm5vdGF0aW9ucyB3ZXJlIHBhc3NlZCB0byBtYWtlT2JzZXJ2YWJsZSwgYnV0IG5vIGRlY29yYXRlZCBtZW1iZXJzIGhhdmUgYmVlbiBmb3VuZCBlaXRoZXJcIlxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhyb3cgZXJyXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHRoZSBvYmplY3QgaXMgcmVhZHlcbiAgICAgIGFkZEhpZGRlblByb3AoaW5zdGFuY2UsIG1vZGVsSW5pdGlhbGl6ZWRTeW1ib2wsIHRydWUsIGZhbHNlKVxuXG4gICAgICBydW5MYXRlSW5pdGlhbGl6YXRpb25GdW5jdGlvbnMoaW5zdGFuY2UsIHJ1bkJlZm9yZU9uSW5pdFN5bWJvbClcblxuICAgICAgaWYgKHR5cGUgPT09IFwiY2xhc3NcIiAmJiBpbnN0YW5jZS5vbkluaXQpIHtcbiAgICAgICAgd3JhcE1vZGVsTWV0aG9kSW5BY3Rpb25JZk5lZWRlZChpbnN0YW5jZSwgXCJvbkluaXRcIiwgSG9va0FjdGlvbi5PbkluaXQpXG5cbiAgICAgICAgaW5zdGFuY2Uub25Jbml0KClcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGUgPT09IFwiZGF0YVwiICYmIGluc3RhbmNlLm9uTGF6eUluaXQpIHtcbiAgICAgICAgd3JhcE1vZGVsTWV0aG9kSW5BY3Rpb25JZk5lZWRlZChpbnN0YW5jZSwgXCJvbkxhenlJbml0XCIsIEhvb2tBY3Rpb24uT25MYXp5SW5pdClcblxuICAgICAgICBpbnN0YW5jZS5vbkxhenlJbml0KClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluc3RhbmNlXG4gICAgfVxuXG4gICAgY2xhenoudG9TdHJpbmcgPSAoKSA9PiBgY2xhc3MgJHtjbGF6ei5uYW1lfSMke25hbWV9YFxuICAgIGlmICh0eXBlID09PSBcImNsYXNzXCIpIHtcbiAgICAgIDsoY2xhenogYXMgYW55KVttb2RlbFR5cGVLZXldID0gbmFtZVxuICAgIH1cblxuICAgIC8vIHRoaXMgYWxzbyBnaXZlcyBhY2Nlc3MgdG8gbW9kZWxJbml0aWFsaXplcnNTeW1ib2wsIG1vZGVsUHJvcGVydGllc1N5bWJvbCwgbW9kZWxEYXRhVHlwZUNoZWNrZXJTeW1ib2xcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YobmV3Q2xhenosIGNsYXp6KVxuICAgIG5ld0NsYXp6LnByb3RvdHlwZSA9IGNsYXp6LnByb3RvdHlwZVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld0NsYXp6LCBcIm5hbWVcIiwge1xuICAgICAgLi4uT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuZXdDbGF6eiwgXCJuYW1lXCIpLFxuICAgICAgdmFsdWU6IGNsYXp6Lm5hbWUsXG4gICAgfSlcbiAgICBuZXdDbGF6elttb2RlbFVud3JhcHBlZENsYXNzU3ltYm9sXSA9IGNsYXp6XG5cbiAgICBjb25zdCBtb2RlbEluZm8gPSB7XG4gICAgICBuYW1lLFxuICAgICAgY2xhc3M6IG5ld0NsYXp6LFxuICAgIH1cblxuICAgIG1vZGVsSW5mb0J5TmFtZVtuYW1lXSA9IG1vZGVsSW5mb1xuXG4gICAgbW9kZWxJbmZvQnlDbGFzcy5zZXQobmV3Q2xhenosIG1vZGVsSW5mbylcbiAgICBtb2RlbEluZm9CeUNsYXNzLnNldChjbGF6eiwgbW9kZWxJbmZvKVxuXG4gICAgcnVuTGF0ZUluaXRpYWxpemF0aW9uRnVuY3Rpb25zKGNsYXp6LCBydW5BZnRlck1vZGVsRGVjb3JhdG9yU3ltYm9sKVxuXG4gICAgcmV0dXJuIG5ld0NsYXp6XG4gIH1cblxuLy8gYmFzaWNhbGx5IHRha2VuIGZyb20gVFNcbmZ1bmN0aW9uIHRzRGVjb3JhdGUoZGVjb3JhdG9yczogYW55LCB0YXJnZXQ6IGFueSwga2V5OiBhbnksIGRlc2M6IGFueSkge1xuICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsXG4gICAgciA9XG4gICAgICBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyAoZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpKSA6IGRlc2MsXG4gICAgZFxuICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIChSZWZsZWN0IGFzIGFueSkuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIilcbiAgICByID0gKFJlZmxlY3QgYXMgYW55KS5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYylcbiAgZWxzZVxuICAgIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKVxuICAgICAgaWYgKChkID0gZGVjb3JhdG9yc1tpXSkpIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZXF1ZW5jZXNcbiAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgclxufVxuXG4vKipcbiAqIE1hcmtzIGEgY2xhc3MgKHdoaWNoIE1VU1QgaW5oZXJpdCBmcm9tIHRoZSBgTW9kZWxgIGFic3RyYWN0IGNsYXNzKVxuICogYXMgYSBtb2RlbCBhbmQgZGVjb3JhdGVzIHNvbWUgb2YgaXRzIG1ldGhvZHMvcHJvcGVydGllcy5cbiAqXG4gKiBAcGFyYW0gbmFtZSBVbmlxdWUgbmFtZSBmb3IgdGhlIG1vZGVsIHR5cGUuIE5vdGUgdGhhdCB0aGlzIG5hbWUgbXVzdCBiZSB1bmlxdWUgZm9yIHlvdXIgd2hvbGVcbiAqIGFwcGxpY2F0aW9uLCBzbyBpdCBpcyB1c3VhbGx5IGEgZ29vZCBpZGVhIHRvIHVzZSBzb21lIHByZWZpeCB1bmlxdWUgdG8geW91ciBhcHBsaWNhdGlvbiBkb21haW4uXG4gKiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBhc3NpZ24gYSBuYW1lIHlldCAoZS5nLiBmb3IgYSBiYXNlIG1vZGVsKSBwYXNzIGB1bmRlZmluZWRgLlxuICogQHBhcmFtIGNsYXp6IE1vZGVsIGNsYXNzLlxuICogQHBhcmFtIGRlY29yYXRvcnMgRGVjb3JhdG9ycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29yYXRlZE1vZGVsPE0sIE1DIGV4dGVuZHMgYWJzdHJhY3QgbmV3ICguLi5hZ3M6IGFueSkgPT4gTT4oXG4gIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgY2xheno6IE1DLFxuICBkZWNvcmF0b3JzOiB7XG4gICAgW2sgaW4ga2V5b2YgTV0/OiAoKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkpIHwgUmVhZG9ubHlBcnJheTwoLi4uYXJnczogYW55W10pID0+IGFueT5cbiAgfVxuKTogTUMge1xuICAvLyBkZWNvcmF0ZSBjbGFzcyBtZW1iZXJzXG4gIGZvciAoY29uc3QgW2ssIGRlY29yYXRvcl0gb2YgT2JqZWN0LmVudHJpZXMoZGVjb3JhdG9ycykpIHtcbiAgICBjb25zdCBwcm90b3R5cGVWYWx1ZURlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNsYXp6LnByb3RvdHlwZSwgaylcbiAgICAvLyBUUyBzZWVtcyB0byBzZW5kIG51bGwgZm9yIG1ldGhvZHMgaW4gdGhlIHByb3RvdHlwZVxuICAgIC8vICh3aGljaCB3ZSBzdWJzdGl0dXRlIGZvciB0aGUgZGVzY3JpcHRvciB0byBhdm9pZCBhIGRvdWJsZSBsb29rLXVwKSBhbmQgdm9pZCAwICh1bmRlZmluZWQpIGZvciBwcm9wc1xuICAgIHRzRGVjb3JhdGUoXG4gICAgICBBcnJheS5pc0FycmF5KGRlY29yYXRvcikgPyBkZWNvcmF0b3IgOiBbZGVjb3JhdG9yXSxcbiAgICAgIGNsYXp6LnByb3RvdHlwZSxcbiAgICAgIGssXG4gICAgICBwcm90b3R5cGVWYWx1ZURlc2MgPyBwcm90b3R5cGVWYWx1ZURlc2MgOiB2b2lkIDBcbiAgICApXG4gIH1cblxuICByZXR1cm4gKG5hbWUgPyBtb2RlbChuYW1lKShjbGF6eiBhcyB1bmtub3duIGFzIE1vZGVsQ2xhc3M8QW55TW9kZWw+KSA6IGNsYXp6KSBhcyBNQ1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BZ0NhLFFBQ1gsQ0FBQyxTQUNELENBQWlEO1NBQ3hDLGNBQWMsSUFBSSxFQUFFLEtBQUs7QUFDbEM7QUFFRixNQUFNLGdCQUNKLENBQUMsU0FDRCxDQUFpRDtRQUN6QyxPQUFPLGFBQWEsS0FBSyxJQUFJLFVBQVUsaUJBQWlCLEtBQUssSUFBSSxTQUFTO01BQzVFLENBQUMsTUFBTTtVQUNILFFBQVEseURBQXlEO0FBQUE7TUFHckUsZ0JBQWdCLE9BQU87UUFDckIsa0JBQWtCLGdDQUFnQztpQkFFbEQsUUFDQSxzQkFBc0IsNEZBQ3RCLHdCQUF3QixNQUFNO0FBQUE7O01BS2hDLDZCQUE2QixPQUFPO1VBQ2hDLFFBQVEsZ0VBQWdFO0FBQUE7TUFJNUUsdUJBQXVCO1FBR3JCLFdBQWdCLFNBQXFCLGFBQWtCO1VBQ3JELFdBQVcsSUFBSyxNQUFjLGFBQWEsdUJBQXVCO1dBR2pFLGVBQWUsVUFBVSxlQUFlO0FBQUEsTUFDN0MsY0FBYztBQUFBLE1BQ2QsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osT0FBTztBQUFBLEtBQ1I7bUNBRThCLFVBQVUsaUJBQWlCO1FBR3RELENBQUMsd0JBQXdCLG9CQUFvQixHQUFHO1VBQzlDO2NBQ0ksZUFBZSxRQUFRO0FBQUEsZUFDdEI7K0JBR2dCO2NBRWpCLE1BQU07WUFFVixJQUFJLFlBQ0YsMEdBQ0YsSUFBSSxZQUNGLHdHQUNGO2dCQUNNO0FBQUE7OztrQkFNRSxVQUFVLHdCQUF3QixNQUFNLEtBQUs7bUNBRTVCLFVBQVUscUJBQXFCO1FBRTFELFNBQVMsV0FBVyxTQUFTLFFBQVE7c0NBQ1AsVUFBVSxVQUFVLFdBQVcsTUFBTTtlQUU1RDs7UUFHUCxTQUFTLFVBQVUsU0FBUyxZQUFZO3NDQUNWLFVBQVUsY0FBYyxXQUFXLFVBQVU7ZUFFcEU7O1dBR0o7QUFBQTtRQUdILFdBQVcsTUFBTSxTQUFTLE1BQU0sUUFBUTtNQUMxQyxTQUFTLFNBQVM7VUFDSixnQkFBZ0I7QUFBQTtTQUkzQixlQUFlLFVBQVUsS0FBSztXQUM1QixZQUFZLE1BQU07U0FFcEIsZUFBZSxVQUFVLFFBQVEsaUNBQ25DLE9BQU8seUJBQXlCLFVBQVUsTUFBTSxJQURiO0FBQUEsSUFFdEMsT0FBTyxNQUFNO0FBQUEsSUFDZDtXQUNRLDZCQUE2QjtRQUVoQyxZQUFZO0FBQUEsSUFDaEI7QUFBQSxJQUNBLE9BQU87QUFBQTtrQkFHTyxRQUFRO21CQUVQLElBQUksVUFBVSxTQUFTO21CQUN2QixJQUFJLE9BQU8sU0FBUztpQ0FFTixPQUFPLDRCQUE0QjtTQUUzRDtBQUNUO0FBR0Ysb0JBQW9CLFlBQWlCLFFBQWEsS0FBVTtNQUN0RCxJQUFJLFVBQVUsUUFDaEIsSUFDRSxJQUFJLElBQUksU0FBUyxTQUFTLE9BQVEsT0FBTyxPQUFPLHlCQUF5QixRQUFRLEdBQUcsSUFBSyxNQUMzRjtNQUNFLE9BQU8sWUFBWSxZQUFZLE9BQVEsUUFBZ0IsYUFBYTtRQUNqRSxRQUFnQixTQUFTLFlBQVksUUFBUSxLQUFLLElBQUk7QUFBQTthQUVsRCxJQUFJLFdBQVcsU0FBUyxHQUFHLEtBQUssR0FBRztVQUNyQyxJQUFJLFdBQVc7aUJBQWMsSUFBSSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxHQUFHLE1BQU07U0FFekYsSUFBSSxLQUFLLEtBQUssT0FBTyxlQUFlLFFBQVEsS0FBSyxDQUFDLEdBQUc7QUFDOUQ7d0JBYUUsTUFDQSxPQUNBO2FBS1csQ0FBQyxHQUFHLGNBQWMsT0FBTyxRQUFRLFVBQVUsR0FBRztVQUNqRCxxQkFBcUIsT0FBTyx5QkFBeUIsTUFBTSxXQUFXLENBQUM7ZUFJM0UsTUFBTSxRQUFRLFNBQVMsSUFBSSxZQUFZLENBQUMsU0FBUyxHQUNqRCxNQUFNLFdBQ04sR0FDQSxxQkFBcUIscUJBQXFCLE1BQU07QUFBQTtTQUk1QyxPQUFPLE1BQU0sSUFBSSxFQUFFLEtBQXdDLElBQUk7QUFDekU7OyJ9
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const modelInfoByName = {};
|
|
2
|
+
const modelInfoByClass = /* @__PURE__ */ new Map();
|
|
3
|
+
function getModelInfoForName(name) {
|
|
4
|
+
return modelInfoByName[name];
|
|
5
|
+
}
|
|
6
|
+
export { getModelInfoForName, modelInfoByClass, modelInfoByName };
|
|
7
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxJbmZvLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsU2hhcmVkL21vZGVsSW5mby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFueURhdGFNb2RlbCB9IGZyb20gXCIuLi9kYXRhTW9kZWwvQmFzZURhdGFNb2RlbFwiXG5pbXBvcnQgdHlwZSB7IEFueU1vZGVsIH0gZnJvbSBcIi4uL21vZGVsL0Jhc2VNb2RlbFwiXG5pbXBvcnQgdHlwZSB7IE1vZGVsQ2xhc3MgfSBmcm9tIFwiLi9CYXNlTW9kZWxTaGFyZWRcIlxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsSW5mbyB7XG4gIG5hbWU6IHN0cmluZ1xuICBjbGFzczogTW9kZWxDbGFzczxBbnlNb2RlbCB8IEFueURhdGFNb2RlbD5cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IG1vZGVsSW5mb0J5TmFtZToge1xuICBbbmFtZTogc3RyaW5nXTogTW9kZWxJbmZvXG59ID0ge31cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IG1vZGVsSW5mb0J5Q2xhc3MgPSBuZXcgTWFwPE1vZGVsQ2xhc3M8QW55TW9kZWwgfCBBbnlEYXRhTW9kZWw+LCBNb2RlbEluZm8+KClcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE1vZGVsSW5mb0Zvck5hbWUobmFtZTogc3RyaW5nKTogTW9kZWxJbmZvIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG1vZGVsSW5mb0J5TmFtZVtuYW1lXVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJNQWVhLGtCQUVUO01BS1MsdUNBQXVCOzZCQUtBO1NBQzNCLGdCQUFnQjtBQUN6Qjs7In0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const modelPropertiesSymbol = Symbol("modelProperties");
|
|
2
|
+
function getInternalModelClassPropsInfo(modelClass) {
|
|
3
|
+
return modelClass[modelPropertiesSymbol];
|
|
4
|
+
}
|
|
5
|
+
function setInternalModelClassPropsInfo(modelClass, props) {
|
|
6
|
+
modelClass[modelPropertiesSymbol] = props;
|
|
7
|
+
}
|
|
8
|
+
export { getInternalModelClassPropsInfo, setInternalModelClassPropsInfo };
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxQcm9wc0luZm8ubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxTaGFyZWQvbW9kZWxQcm9wc0luZm8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBbnlEYXRhTW9kZWwgfSBmcm9tIFwiLi4vZGF0YU1vZGVsL0Jhc2VEYXRhTW9kZWxcIlxuaW1wb3J0IHR5cGUgeyBBbnlNb2RlbCB9IGZyb20gXCIuLi9tb2RlbC9CYXNlTW9kZWxcIlxuaW1wb3J0IHR5cGUgeyBNb2RlbENsYXNzIH0gZnJvbSBcIi4vQmFzZU1vZGVsU2hhcmVkXCJcbmltcG9ydCB0eXBlIHsgTW9kZWxQcm9wcyB9IGZyb20gXCIuL3Byb3BcIlxuXG5jb25zdCBtb2RlbFByb3BlcnRpZXNTeW1ib2wgPSBTeW1ib2woXCJtb2RlbFByb3BlcnRpZXNcIilcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBHZXRzIHRoZSBpbmZvIHJlbGF0ZWQgdG8gYSBtb2RlbCBjbGFzcyBwcm9wZXJ0aWVzLlxuICpcbiAqIEBwYXJhbSBtb2RlbENsYXNzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnRlcm5hbE1vZGVsQ2xhc3NQcm9wc0luZm8oXG4gIG1vZGVsQ2xhc3M6IE1vZGVsQ2xhc3M8QW55TW9kZWwgfCBBbnlEYXRhTW9kZWw+XG4pOiBNb2RlbFByb3BzIHtcbiAgcmV0dXJuIChtb2RlbENsYXNzIGFzIGFueSlbbW9kZWxQcm9wZXJ0aWVzU3ltYm9sXVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICpcbiAqIFNldHMgdGhlIGluZm8gcmVsYXRlZCB0byBhIG1vZGVsIGNsYXNzIHByb3BlcnRpZXMuXG4gKlxuICogQHBhcmFtIG1vZGVsQ2xhc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEludGVybmFsTW9kZWxDbGFzc1Byb3BzSW5mbyhcbiAgbW9kZWxDbGFzczogTW9kZWxDbGFzczxBbnlNb2RlbCB8IEFueURhdGFNb2RlbD4sXG4gIHByb3BzOiBNb2RlbFByb3BzXG4pOiB2b2lkIHtcbiAgOyhtb2RlbENsYXNzIGFzIGFueSlbbW9kZWxQcm9wZXJ0aWVzU3ltYm9sXSA9IHByb3BzXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSx3QkFBd0IsT0FBTyxpQkFBaUI7d0NBVXBEO1NBRVEsV0FBbUI7QUFDN0I7d0NBVUUsWUFDQTthQUVxQix5QkFBeUI7QUFDaEQ7OyJ9
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const modelMetadataSymbol = Symbol("modelMetadata");
|
|
2
|
+
const modelUnwrappedClassSymbol = Symbol("modelUnwrappedClass");
|
|
3
|
+
const runAfterModelDecoratorSymbol = Symbol("runAfterModelDecorator");
|
|
4
|
+
export { modelMetadataSymbol, modelUnwrappedClassSymbol, runAfterModelDecoratorSymbol };
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxTeW1ib2xzLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsU2hhcmVkL21vZGVsU3ltYm9scy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgbW9kZWxNZXRhZGF0YVN5bWJvbCA9IFN5bWJvbChcIm1vZGVsTWV0YWRhdGFcIilcbmV4cG9ydCBjb25zdCBtb2RlbFVud3JhcHBlZENsYXNzU3ltYm9sID0gU3ltYm9sKFwibW9kZWxVbndyYXBwZWRDbGFzc1wiKVxuZXhwb3J0IGNvbnN0IHJ1bkFmdGVyTW9kZWxEZWNvcmF0b3JTeW1ib2wgPSBTeW1ib2woXCJydW5BZnRlck1vZGVsRGVjb3JhdG9yXCIpXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik1BQWEsc0JBQXNCLE9BQU8sZUFBZTtNQUM1Qyw0QkFBNEIsT0FBTyxxQkFBcUI7TUFDeEQsK0JBQStCLE9BQU8sd0JBQXdCOzsifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getModelClassInitializers } from "./modelClassInitializer.mjs";
|
|
2
|
+
function applyModelInitializers(modelClass, modelObj) {
|
|
3
|
+
const initializers = getModelClassInitializers(modelClass);
|
|
4
|
+
if (initializers) {
|
|
5
|
+
const len = initializers.length;
|
|
6
|
+
for (let i = 0; i < len; i++) {
|
|
7
|
+
const init = initializers[i];
|
|
8
|
+
init(modelObj);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export { applyModelInitializers };
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3TW9kZWwubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxTaGFyZWQvbmV3TW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBbnlEYXRhTW9kZWwgfSBmcm9tIFwiLi4vZGF0YU1vZGVsL0Jhc2VEYXRhTW9kZWxcIlxuaW1wb3J0IHR5cGUgeyBBbnlNb2RlbCB9IGZyb20gXCIuLi9tb2RlbC9CYXNlTW9kZWxcIlxuaW1wb3J0IHR5cGUgeyBNb2RlbENsYXNzIH0gZnJvbSBcIi4uL21vZGVsU2hhcmVkL0Jhc2VNb2RlbFNoYXJlZFwiXG5pbXBvcnQgeyBnZXRNb2RlbENsYXNzSW5pdGlhbGl6ZXJzIH0gZnJvbSBcIi4uL21vZGVsU2hhcmVkL21vZGVsQ2xhc3NJbml0aWFsaXplclwiXG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseU1vZGVsSW5pdGlhbGl6ZXJzKFxuICBtb2RlbENsYXNzOiBNb2RlbENsYXNzPEFueU1vZGVsIHwgQW55RGF0YU1vZGVsPixcbiAgbW9kZWxPYmo6IGFueVxuKSB7XG4gIGNvbnN0IGluaXRpYWxpemVycyA9IGdldE1vZGVsQ2xhc3NJbml0aWFsaXplcnMobW9kZWxDbGFzcylcbiAgaWYgKGluaXRpYWxpemVycykge1xuICAgIGNvbnN0IGxlbiA9IGluaXRpYWxpemVycy5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjb25zdCBpbml0ID0gaW5pdGlhbGl6ZXJzW2ldXG4gICAgICBpbml0KG1vZGVsT2JqKVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Z0NBTUUsWUFDQTtRQUVNLGVBQWUsMEJBQTBCLFVBQVU7TUFDckQsY0FBYztVQUNWLE1BQU0sYUFBYTthQUNoQixJQUFJLEdBQUcsSUFBSSxLQUFLLEtBQUs7WUFDdEIsT0FBTyxhQUFhO1dBQ3JCLFFBQVE7QUFBQTs7QUFHbkI7OyJ9
|