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.
Files changed (394) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/_virtual/_tslib.mjs +12 -0
  3. package/dist/mobx-keystone.umd.js +5339 -5261
  4. package/dist/model/utils.d.ts +1 -1
  5. package/dist/node_modules/fast-deep-equal/es6/index.mjs +68 -0
  6. package/dist/node_modules/nanoid/non-secure/index.mjs +11 -0
  7. package/dist/snapshot/index.d.ts +0 -8
  8. package/dist/{dataModel/_BaseDataModel.d.ts → snapshot/registerDefaultReconcilers.d.ts} +0 -0
  9. package/dist/{model/_BaseModel.d.ts → snapshot/registerDefaultSnapshotters.d.ts} +0 -0
  10. package/dist/src/action/actionDecoratorUtils.mjs +25 -0
  11. package/dist/src/action/applyAction.mjs +54 -0
  12. package/dist/src/action/applyDelete.mjs +20 -0
  13. package/dist/src/action/applyMethodCall.mjs +19 -0
  14. package/dist/src/action/applySet.mjs +25 -0
  15. package/dist/src/action/builtInActions.mjs +15 -0
  16. package/dist/src/action/context.mjs +22 -0
  17. package/dist/src/action/hookActions.mjs +13 -0
  18. package/dist/src/action/isModelAction.mjs +6 -0
  19. package/dist/src/action/middleware.mjs +84 -0
  20. package/dist/src/action/modelAction.mjs +34 -0
  21. package/dist/src/action/modelFlow.mjs +251 -0
  22. package/dist/src/action/pendingActions.mjs +30 -0
  23. package/dist/src/action/protection.mjs +19 -0
  24. package/dist/src/action/runUnprotected.mjs +24 -0
  25. package/dist/src/action/wrapInAction.mjs +90 -0
  26. package/dist/src/actionMiddlewares/actionSerialization/actionSerialization.mjs +131 -0
  27. package/dist/src/actionMiddlewares/actionSerialization/applySerializedAction.mjs +110 -0
  28. package/dist/src/actionMiddlewares/actionSerialization/arraySerializer.mjs +15 -0
  29. package/dist/src/actionMiddlewares/actionSerialization/core.mjs +3 -0
  30. package/dist/src/actionMiddlewares/actionSerialization/dateSerializer.mjs +15 -0
  31. package/dist/src/actionMiddlewares/actionSerialization/mapSerializer.mjs +32 -0
  32. package/dist/src/actionMiddlewares/actionSerialization/objectPathSerializer.mjs +33 -0
  33. package/dist/src/actionMiddlewares/actionSerialization/objectSnapshotSerializer.mjs +18 -0
  34. package/dist/src/actionMiddlewares/actionSerialization/plainObjectSerializer.mjs +27 -0
  35. package/dist/src/actionMiddlewares/actionSerialization/primitiveSerializer.mjs +39 -0
  36. package/dist/src/actionMiddlewares/actionSerialization/setSerializer.mjs +29 -0
  37. package/dist/src/actionMiddlewares/actionTrackingMiddleware.mjs +239 -0
  38. package/dist/src/actionMiddlewares/onActionMiddleware.mjs +44 -0
  39. package/dist/src/actionMiddlewares/readonlyMiddleware.mjs +49 -0
  40. package/dist/src/actionMiddlewares/transactionMiddleware.mjs +69 -0
  41. package/dist/src/actionMiddlewares/undoMiddleware.mjs +472 -0
  42. package/dist/src/actionMiddlewares/utils.mjs +25 -0
  43. package/dist/src/computedTree/computedTree.mjs +63 -0
  44. package/dist/src/context/context.mjs +141 -0
  45. package/dist/src/dataModel/BaseDataModel.mjs +108 -0
  46. package/dist/src/dataModel/DataModel.mjs +32 -0
  47. package/dist/src/dataModel/actions.mjs +12 -0
  48. package/dist/src/dataModel/getDataModelMetadata.mjs +14 -0
  49. package/dist/src/dataModel/newDataModel.mjs +31 -0
  50. package/dist/src/dataModel/utils.mjs +29 -0
  51. package/dist/src/frozen/Frozen.mjs +68 -0
  52. package/dist/src/globalConfig/globalConfig.mjs +57 -0
  53. package/dist/src/index.mjs +97 -0
  54. package/dist/src/model/BaseModel.mjs +118 -0
  55. package/dist/src/model/Model.mjs +36 -0
  56. package/dist/src/model/getModelMetadata.mjs +19 -0
  57. package/dist/src/model/metadata.mjs +7 -0
  58. package/dist/src/model/newModel.mjs +95 -0
  59. package/dist/src/model/utils.mjs +33 -0
  60. package/dist/src/modelShared/BaseModelShared.mjs +9 -0
  61. package/dist/src/modelShared/Model.mjs +249 -0
  62. package/dist/src/modelShared/checkModelDecoratorArgs.mjs +21 -0
  63. package/dist/src/modelShared/modelClassInitializer.mjs +14 -0
  64. package/dist/src/modelShared/modelDecorator.mjs +117 -0
  65. package/dist/src/modelShared/modelInfo.mjs +7 -0
  66. package/dist/src/modelShared/modelPropsInfo.mjs +9 -0
  67. package/dist/src/modelShared/modelSymbols.mjs +5 -0
  68. package/dist/src/modelShared/newModel.mjs +13 -0
  69. package/dist/src/modelShared/prop.mjs +138 -0
  70. package/dist/src/modelShared/utils.mjs +10 -0
  71. package/dist/src/parent/core.mjs +34 -0
  72. package/dist/src/parent/coreObjectChildren.mjs +98 -0
  73. package/dist/src/parent/detach.mjs +32 -0
  74. package/dist/src/parent/findChildren.mjs +16 -0
  75. package/dist/src/parent/findParent.mjs +30 -0
  76. package/dist/src/parent/getChildrenObjects.mjs +12 -0
  77. package/dist/src/parent/onChildAttachedTo.mjs +101 -0
  78. package/dist/src/parent/path.mjs +149 -0
  79. package/dist/src/parent/path2.mjs +12 -0
  80. package/dist/src/parent/setParent.mjs +83 -0
  81. package/dist/src/parent/walkTree.mjs +104 -0
  82. package/dist/src/patch/applyPatches.mjs +118 -0
  83. package/dist/src/patch/emitPatch.mjs +100 -0
  84. package/dist/src/patch/jsonPatch.mjs +60 -0
  85. package/dist/src/patch/patchRecorder.mjs +75 -0
  86. package/dist/src/redux/connectReduxDevTools.mjs +153 -0
  87. package/dist/src/redux/redux.mjs +60 -0
  88. package/dist/src/ref/Ref.mjs +38 -0
  89. package/dist/src/ref/core.mjs +179 -0
  90. package/dist/src/ref/customRef.mjs +9 -0
  91. package/dist/src/ref/rootRef.mjs +34 -0
  92. package/dist/src/rootStore/attachDetach.mjs +53 -0
  93. package/dist/src/rootStore/rootStore.mjs +50 -0
  94. package/dist/src/snapshot/SnapshotterAndReconcilerPriority.mjs +9 -0
  95. package/dist/src/snapshot/applySnapshot.mjs +92 -0
  96. package/dist/src/snapshot/clone.mjs +29 -0
  97. package/dist/src/snapshot/fromArraySnapshot.mjs +23 -0
  98. package/dist/src/snapshot/fromFrozenSnapshot.mjs +13 -0
  99. package/dist/src/snapshot/fromModelSnapshot.mjs +38 -0
  100. package/dist/src/snapshot/fromPlainObjectSnapshot.mjs +26 -0
  101. package/dist/src/snapshot/fromSnapshot.mjs +91 -0
  102. package/dist/src/snapshot/getSnapshot.mjs +27 -0
  103. package/dist/src/snapshot/internal.mjs +97 -0
  104. package/dist/src/snapshot/onSnapshot.mjs +16 -0
  105. package/dist/src/snapshot/reconcileArraySnapshot.mjs +40 -0
  106. package/dist/src/snapshot/reconcileFrozenSnapshot.mjs +19 -0
  107. package/dist/src/snapshot/reconcileModelSnapshot.mjs +77 -0
  108. package/dist/src/snapshot/reconcilePlainObjectSnapshot.mjs +47 -0
  109. package/dist/src/snapshot/reconcileSnapshot.mjs +49 -0
  110. package/dist/src/snapshot/registerDefaultReconcilers.mjs +17 -0
  111. package/dist/src/snapshot/registerDefaultSnapshotters.mjs +17 -0
  112. package/dist/src/standardActions/actions.mjs +35 -0
  113. package/dist/src/standardActions/arrayActions.mjs +66 -0
  114. package/dist/src/standardActions/objectActions.mjs +36 -0
  115. package/dist/src/standardActions/standaloneActions.mjs +9 -0
  116. package/dist/src/transforms/ImmutableDate.mjs +51 -0
  117. package/dist/src/transforms/asMap.mjs +29 -0
  118. package/dist/src/transforms/asSet.mjs +12 -0
  119. package/dist/src/transforms/bigint.mjs +14 -0
  120. package/dist/src/transforms/date.mjs +27 -0
  121. package/dist/src/treeUtils/deepEquals.mjs +40 -0
  122. package/dist/src/treeUtils/draft.mjs +116 -0
  123. package/dist/src/treeUtils/sandbox.mjs +158 -0
  124. package/dist/src/tweaker/TweakerPriority.mjs +9 -0
  125. package/dist/src/tweaker/core.mjs +38 -0
  126. package/dist/src/tweaker/registerDefaultTweakers.mjs +17 -0
  127. package/dist/src/tweaker/tweak.mjs +109 -0
  128. package/dist/src/tweaker/tweakArray.mjs +272 -0
  129. package/dist/src/tweaker/tweakFrozen.mjs +28 -0
  130. package/dist/src/tweaker/tweakModel.mjs +26 -0
  131. package/dist/src/tweaker/tweakPlainObject.mjs +205 -0
  132. package/dist/src/tweaker/typeChecking.mjs +46 -0
  133. package/dist/src/tweaker/withoutTypeChecking.mjs +15 -0
  134. package/dist/src/types/TypeCheckError.mjs +31 -0
  135. package/dist/src/types/TypeChecker.mjs +165 -0
  136. package/dist/src/types/arrayBased/array.mjs +68 -0
  137. package/dist/src/types/arrayBased/tuple.mjs +71 -0
  138. package/dist/src/types/getTypeInfo.mjs +12 -0
  139. package/dist/src/types/objectBased/arraySet.mjs +83 -0
  140. package/dist/src/types/objectBased/dataModelData.mjs +95 -0
  141. package/dist/src/types/objectBased/model.mjs +133 -0
  142. package/dist/src/types/objectBased/object.mjs +119 -0
  143. package/dist/src/types/objectBased/objectMap.mjs +90 -0
  144. package/dist/src/types/objectBased/record.mjs +80 -0
  145. package/dist/src/types/objectBased/ref.mjs +62 -0
  146. package/dist/src/types/primitiveBased/enum.mjs +20 -0
  147. package/dist/src/types/primitiveBased/primitives.mjs +59 -0
  148. package/dist/src/types/primitiveBased/refinedPrimitives.mjs +6 -0
  149. package/dist/src/types/registerDefaultStandardTypeResolvers.mjs +13 -0
  150. package/dist/src/types/resolveTypeChecker.mjs +52 -0
  151. package/dist/src/types/tProp.mjs +53 -0
  152. package/dist/src/types/typeCheck.mjs +11 -0
  153. package/dist/src/types/types.mjs +69 -0
  154. package/dist/src/types/utility/maybe.mjs +10 -0
  155. package/dist/src/types/utility/or.mjs +99 -0
  156. package/dist/src/types/utility/refinement.mjs +52 -0
  157. package/dist/src/types/utility/unchecked.mjs +10 -0
  158. package/dist/src/utils/ModelPool.mjs +50 -0
  159. package/dist/src/utils/chainFns.mjs +15 -0
  160. package/dist/src/utils/index.mjs +228 -0
  161. package/dist/src/utils/mapUtils.mjs +10 -0
  162. package/dist/src/utils/tag.mjs +16 -0
  163. package/dist/src/wrappers/ArraySet.mjs +85 -0
  164. package/dist/src/wrappers/ObjectMap.mjs +96 -0
  165. package/dist/src/wrappers/asMap.mjs +181 -0
  166. package/dist/src/wrappers/asSet.mjs +97 -0
  167. package/dist/tweaker/index.d.ts +0 -4
  168. package/dist/tweaker/registerDefaultTweakers.d.ts +1 -0
  169. package/dist/types/registerDefaultStandardTypeResolvers.d.ts +1 -0
  170. package/package.json +12 -14
  171. package/src/actionMiddlewares/actionSerialization/actionSerialization.ts +24 -9
  172. package/src/dataModel/BaseDataModel.ts +0 -3
  173. package/src/dataModel/utils.ts +4 -4
  174. package/src/dist/action/actionDecoratorUtils.d.ts +5 -0
  175. package/src/dist/action/applyAction.d.ts +36 -0
  176. package/src/dist/action/applyDelete.d.ts +7 -0
  177. package/src/dist/action/applyMethodCall.d.ts +9 -0
  178. package/src/dist/action/applySet.d.ts +8 -0
  179. package/src/dist/action/builtInActions.d.ts +39 -0
  180. package/src/dist/action/context.d.ts +85 -0
  181. package/src/dist/action/hookActions.d.ts +32 -0
  182. package/src/dist/action/index.d.ts +12 -0
  183. package/src/dist/action/isModelAction.d.ts +7 -0
  184. package/src/dist/action/middleware.d.ts +34 -0
  185. package/src/dist/action/modelAction.d.ts +9 -0
  186. package/src/dist/action/modelFlow.d.ts +34 -0
  187. package/src/dist/action/pendingActions.d.ts +1 -0
  188. package/src/dist/action/protection.d.ts +1 -0
  189. package/src/dist/action/runUnprotected.d.ts +19 -0
  190. package/src/dist/action/wrapInAction.d.ts +1 -0
  191. package/src/dist/actionMiddlewares/actionSerialization/actionSerialization.d.ts +84 -0
  192. package/src/dist/actionMiddlewares/actionSerialization/applySerializedAction.d.ts +45 -0
  193. package/src/dist/actionMiddlewares/actionSerialization/arraySerializer.d.ts +3 -0
  194. package/src/dist/actionMiddlewares/actionSerialization/core.d.ts +28 -0
  195. package/src/dist/actionMiddlewares/actionSerialization/dateSerializer.d.ts +2 -0
  196. package/src/dist/actionMiddlewares/actionSerialization/index.d.ts +3 -0
  197. package/src/dist/actionMiddlewares/actionSerialization/mapSerializer.d.ts +6 -0
  198. package/src/dist/actionMiddlewares/actionSerialization/objectPathSerializer.d.ts +8 -0
  199. package/src/dist/actionMiddlewares/actionSerialization/objectSnapshotSerializer.d.ts +2 -0
  200. package/src/dist/actionMiddlewares/actionSerialization/plainObjectSerializer.d.ts +2 -0
  201. package/src/dist/actionMiddlewares/actionSerialization/primitiveSerializer.d.ts +2 -0
  202. package/src/dist/actionMiddlewares/actionSerialization/setSerializer.d.ts +3 -0
  203. package/src/dist/actionMiddlewares/actionTrackingMiddleware.d.ts +122 -0
  204. package/src/dist/actionMiddlewares/index.d.ts +6 -0
  205. package/src/dist/actionMiddlewares/onActionMiddleware.d.ts +26 -0
  206. package/src/dist/actionMiddlewares/readonlyMiddleware.d.ts +35 -0
  207. package/src/dist/actionMiddlewares/transactionMiddleware.d.ts +21 -0
  208. package/src/dist/actionMiddlewares/undoMiddleware.d.ts +283 -0
  209. package/src/dist/actionMiddlewares/utils.d.ts +1 -0
  210. package/src/dist/computedTree/computedTree.d.ts +16 -0
  211. package/src/dist/computedTree/index.d.ts +1 -0
  212. package/src/dist/context/context.d.ts +84 -0
  213. package/src/dist/context/index.d.ts +1 -0
  214. package/src/dist/dataModel/BaseDataModel.d.ts +52 -0
  215. package/src/dist/dataModel/DataModel.d.ts +47 -0
  216. package/src/dist/dataModel/DataModelConstructorOptions.d.ts +1 -0
  217. package/src/dist/dataModel/actions.d.ts +1 -0
  218. package/src/dist/dataModel/getDataModelMetadata.d.ts +19 -0
  219. package/src/dist/dataModel/index.d.ts +4 -0
  220. package/src/dist/dataModel/newDataModel.d.ts +1 -0
  221. package/src/dist/dataModel/utils.d.ts +8 -0
  222. package/src/dist/frozen/Frozen.d.ts +50 -0
  223. package/src/dist/frozen/index.d.ts +1 -0
  224. package/src/dist/globalConfig/globalConfig.d.ts +51 -0
  225. package/src/dist/globalConfig/index.d.ts +1 -0
  226. package/src/dist/index.d.ts +23 -0
  227. package/src/dist/mobx-keystone.umd.js +8201 -0
  228. package/src/dist/model/BaseModel.d.ts +125 -0
  229. package/src/dist/model/Model.d.ts +94 -0
  230. package/src/dist/model/ModelConstructorOptions.d.ts +1 -0
  231. package/src/dist/model/getModelMetadata.d.ts +27 -0
  232. package/src/dist/model/index.d.ts +5 -0
  233. package/src/dist/model/metadata.d.ts +8 -0
  234. package/src/dist/model/newModel.d.ts +1 -0
  235. package/src/dist/model/utils.d.ts +8 -0
  236. package/src/dist/modelShared/BaseModelShared.d.ts +76 -0
  237. package/src/dist/modelShared/Model.d.ts +15 -0
  238. package/src/dist/modelShared/checkModelDecoratorArgs.d.ts +1 -0
  239. package/src/dist/modelShared/index.d.ts +3 -0
  240. package/src/dist/modelShared/modelClassInitializer.d.ts +1 -0
  241. package/src/dist/modelShared/modelDecorator.d.ts +24 -0
  242. package/src/dist/modelShared/modelInfo.d.ts +1 -0
  243. package/src/dist/modelShared/modelPropsInfo.d.ts +1 -0
  244. package/src/dist/modelShared/modelSymbols.d.ts +3 -0
  245. package/src/dist/modelShared/newModel.d.ts +4 -0
  246. package/src/dist/modelShared/prop.d.ts +179 -0
  247. package/src/dist/modelShared/utils.d.ts +1 -0
  248. package/src/dist/parent/core.d.ts +1 -0
  249. package/src/dist/parent/coreObjectChildren.d.ts +1 -0
  250. package/src/dist/parent/detach.d.ts +9 -0
  251. package/src/dist/parent/findChildren.d.ts +13 -0
  252. package/src/dist/parent/findParent.d.ts +41 -0
  253. package/src/dist/parent/getChildrenObjects.d.ts +11 -0
  254. package/src/dist/parent/index.d.ts +9 -0
  255. package/src/dist/parent/onChildAttachedTo.d.ts +22 -0
  256. package/src/dist/parent/path.d.ts +107 -0
  257. package/src/dist/parent/path2.d.ts +16 -0
  258. package/src/dist/parent/pathTypes.d.ts +12 -0
  259. package/src/dist/parent/setParent.d.ts +1 -0
  260. package/src/dist/parent/walkTree.d.ts +25 -0
  261. package/src/dist/patch/Patch.d.ts +16 -0
  262. package/src/dist/patch/applyPatches.d.ts +9 -0
  263. package/src/dist/patch/emitPatch.d.ts +29 -0
  264. package/src/dist/patch/index.d.ts +5 -0
  265. package/src/dist/patch/jsonPatch.d.ts +45 -0
  266. package/src/dist/patch/patchRecorder.d.ts +70 -0
  267. package/src/dist/redux/connectReduxDevTools.d.ts +12 -0
  268. package/src/dist/redux/index.d.ts +2 -0
  269. package/src/dist/redux/redux.d.ts +47 -0
  270. package/src/dist/ref/Ref.d.ts +53 -0
  271. package/src/dist/ref/core.d.ts +46 -0
  272. package/src/dist/ref/customRef.d.ts +38 -0
  273. package/src/dist/ref/index.d.ts +4 -0
  274. package/src/dist/ref/rootRef.d.ts +33 -0
  275. package/src/dist/rootStore/attachDetach.d.ts +1 -0
  276. package/src/dist/rootStore/index.d.ts +1 -0
  277. package/src/dist/rootStore/rootStore.d.ts +33 -0
  278. package/src/dist/snapshot/SnapshotOf.d.ts +47 -0
  279. package/src/dist/snapshot/SnapshotterAndReconcilerPriority.d.ts +1 -0
  280. package/src/dist/snapshot/applySnapshot.d.ts +17 -0
  281. package/src/dist/snapshot/clone.d.ts +18 -0
  282. package/src/dist/snapshot/fromArraySnapshot.d.ts +1 -0
  283. package/src/dist/snapshot/fromFrozenSnapshot.d.ts +1 -0
  284. package/src/dist/snapshot/fromModelSnapshot.d.ts +1 -0
  285. package/src/dist/snapshot/fromPlainObjectSnapshot.d.ts +1 -0
  286. package/src/dist/snapshot/fromSnapshot.d.ts +36 -0
  287. package/src/dist/snapshot/getSnapshot.d.ts +22 -0
  288. package/src/dist/snapshot/index.d.ts +6 -0
  289. package/src/dist/snapshot/internal.d.ts +1 -0
  290. package/src/dist/snapshot/onSnapshot.d.ts +18 -0
  291. package/src/dist/snapshot/reconcileArraySnapshot.d.ts +1 -0
  292. package/src/dist/snapshot/reconcileFrozenSnapshot.d.ts +1 -0
  293. package/src/dist/snapshot/reconcileModelSnapshot.d.ts +1 -0
  294. package/src/dist/snapshot/reconcilePlainObjectSnapshot.d.ts +1 -0
  295. package/src/dist/snapshot/reconcileSnapshot.d.ts +1 -0
  296. package/src/dist/snapshot/registerDefaultReconcilers.d.ts +1 -0
  297. package/src/dist/snapshot/registerDefaultSnapshotters.d.ts +1 -0
  298. package/src/dist/standardActions/actions.d.ts +1 -0
  299. package/src/dist/standardActions/arrayActions.d.ts +18 -0
  300. package/src/dist/standardActions/index.d.ts +3 -0
  301. package/src/dist/standardActions/objectActions.d.ts +7 -0
  302. package/src/dist/standardActions/standaloneActions.d.ts +16 -0
  303. package/src/dist/transforms/ImmutableDate.d.ts +1 -0
  304. package/src/dist/transforms/asMap.d.ts +3 -0
  305. package/src/dist/transforms/asSet.d.ts +2 -0
  306. package/src/dist/transforms/bigint.d.ts +2 -0
  307. package/src/dist/transforms/date.d.ts +3 -0
  308. package/src/dist/transforms/index.d.ts +4 -0
  309. package/src/dist/treeUtils/deepEquals.d.ts +20 -0
  310. package/src/dist/treeUtils/draft.d.ts +70 -0
  311. package/src/dist/treeUtils/index.d.ts +3 -0
  312. package/src/dist/treeUtils/sandbox.d.ts +85 -0
  313. package/src/dist/tweaker/TweakerPriority.d.ts +1 -0
  314. package/src/dist/tweaker/core.d.ts +14 -0
  315. package/src/dist/tweaker/index.d.ts +2 -0
  316. package/src/dist/tweaker/registerDefaultTweakers.d.ts +1 -0
  317. package/src/dist/tweaker/tweak.d.ts +22 -0
  318. package/src/dist/tweaker/tweakArray.d.ts +1 -0
  319. package/src/dist/tweaker/tweakFrozen.d.ts +1 -0
  320. package/src/dist/tweaker/tweakModel.d.ts +1 -0
  321. package/src/dist/tweaker/tweakPlainObject.d.ts +1 -0
  322. package/src/dist/tweaker/typeChecking.d.ts +1 -0
  323. package/src/dist/tweaker/withoutTypeChecking.d.ts +2 -0
  324. package/src/dist/types/TypeCheckError.d.ts +22 -0
  325. package/src/dist/types/TypeChecker.d.ts +8 -0
  326. package/src/dist/types/arrayBased/array.d.ts +23 -0
  327. package/src/dist/types/arrayBased/tuple.d.ts +24 -0
  328. package/src/dist/types/getTypeInfo.d.ts +9 -0
  329. package/src/dist/types/index.d.ts +5 -0
  330. package/src/dist/types/objectBased/arraySet.d.ts +24 -0
  331. package/src/dist/types/objectBased/dataModelData.d.ts +44 -0
  332. package/src/dist/types/objectBased/model.d.ts +43 -0
  333. package/src/dist/types/objectBased/object.d.ts +63 -0
  334. package/src/dist/types/objectBased/objectMap.d.ts +24 -0
  335. package/src/dist/types/objectBased/record.d.ts +24 -0
  336. package/src/dist/types/objectBased/ref.d.ts +21 -0
  337. package/src/dist/types/primitiveBased/enum.d.ts +34 -0
  338. package/src/dist/types/primitiveBased/primitives.d.ts +81 -0
  339. package/src/dist/types/primitiveBased/refinedPrimitives.d.ts +18 -0
  340. package/src/dist/types/registerDefaultStandardTypeResolvers.d.ts +1 -0
  341. package/src/dist/types/resolveTypeChecker.d.ts +1 -0
  342. package/src/dist/types/schemas.d.ts +53 -0
  343. package/src/dist/types/tProp.d.ts +92 -0
  344. package/src/dist/types/typeCheck.d.ts +11 -0
  345. package/src/dist/types/types.d.ts +51 -0
  346. package/src/dist/types/utility/maybe.d.ts +29 -0
  347. package/src/dist/types/utility/or.d.ts +35 -0
  348. package/src/dist/types/utility/refinement.d.ts +45 -0
  349. package/src/dist/types/utility/unchecked.d.ts +22 -0
  350. package/src/dist/utils/ModelPool.d.ts +7 -0
  351. package/src/dist/utils/chainFns.d.ts +1 -0
  352. package/src/dist/utils/index.d.ts +6 -0
  353. package/src/dist/utils/mapUtils.d.ts +2 -0
  354. package/src/dist/utils/tag.d.ts +13 -0
  355. package/src/dist/utils/types.d.ts +39 -0
  356. package/src/dist/wrappers/ArraySet.d.ts +29 -0
  357. package/src/dist/wrappers/ObjectMap.d.ts +32 -0
  358. package/src/dist/wrappers/asMap.d.ts +29 -0
  359. package/src/dist/wrappers/asSet.d.ts +15 -0
  360. package/src/dist/wrappers/index.d.ts +4 -0
  361. package/src/model/BaseModel.ts +0 -3
  362. package/src/model/utils.ts +4 -5
  363. package/src/modelShared/checkModelDecoratorArgs.ts +6 -6
  364. package/src/parent/setParent.ts +2 -2
  365. package/src/rootStore/attachDetach.ts +2 -3
  366. package/src/snapshot/fromArraySnapshot.ts +11 -6
  367. package/src/snapshot/fromFrozenSnapshot.ts +11 -6
  368. package/src/snapshot/fromModelSnapshot.ts +11 -6
  369. package/src/snapshot/fromPlainObjectSnapshot.ts +11 -6
  370. package/src/snapshot/fromSnapshot.ts +3 -0
  371. package/src/snapshot/index.ts +0 -10
  372. package/src/snapshot/reconcileArraySnapshot.ts +11 -6
  373. package/src/snapshot/reconcileFrozenSnapshot.ts +11 -6
  374. package/src/snapshot/reconcileModelSnapshot.ts +11 -6
  375. package/src/snapshot/reconcilePlainObjectSnapshot.ts +11 -6
  376. package/src/snapshot/reconcileSnapshot.ts +3 -0
  377. package/src/snapshot/registerDefaultReconcilers.ts +21 -0
  378. package/src/snapshot/registerDefaultSnapshotters.ts +21 -0
  379. package/src/tweaker/index.ts +0 -6
  380. package/src/tweaker/registerDefaultTweakers.ts +21 -0
  381. package/src/tweaker/tweak.ts +3 -0
  382. package/src/tweaker/tweakArray.ts +406 -401
  383. package/src/tweaker/tweakFrozen.ts +11 -6
  384. package/src/tweaker/tweakModel.ts +11 -6
  385. package/src/tweaker/tweakPlainObject.ts +288 -283
  386. package/src/types/objectBased/model.ts +6 -1
  387. package/src/types/objectBased/ref.ts +1 -1
  388. package/src/types/primitiveBased/primitives.ts +177 -166
  389. package/src/types/registerDefaultStandardTypeResolvers.ts +17 -0
  390. package/src/types/resolveTypeChecker.ts +7 -1
  391. package/dist/mobx-keystone.es.js +0 -7856
  392. package/dist/mobx-keystone.es.mjs +0 -7856
  393. package/src/dataModel/_BaseDataModel.ts +0 -15
  394. package/src/model/_BaseModel.ts +0 -15
@@ -1,4 +1,4 @@
1
- import type { AnyModel } from "./BaseModel";
1
+ import { AnyModel } from "./BaseModel";
2
2
  /**
3
3
  * Checks if an object is a model instance.
4
4
  *
@@ -0,0 +1,68 @@
1
+ var es6 = function equal(a, b) {
2
+ if (a === b)
3
+ return true;
4
+ if (a && b && typeof a == "object" && typeof b == "object") {
5
+ if (a.constructor !== b.constructor)
6
+ return false;
7
+ var length, i, keys;
8
+ if (Array.isArray(a)) {
9
+ length = a.length;
10
+ if (length != b.length)
11
+ return false;
12
+ for (i = length; i-- !== 0; )
13
+ if (!equal(a[i], b[i]))
14
+ return false;
15
+ return true;
16
+ }
17
+ if (a instanceof Map && b instanceof Map) {
18
+ if (a.size !== b.size)
19
+ return false;
20
+ for (i of a.entries())
21
+ if (!b.has(i[0]))
22
+ return false;
23
+ for (i of a.entries())
24
+ if (!equal(i[1], b.get(i[0])))
25
+ return false;
26
+ return true;
27
+ }
28
+ if (a instanceof Set && b instanceof Set) {
29
+ if (a.size !== b.size)
30
+ return false;
31
+ for (i of a.entries())
32
+ if (!b.has(i[0]))
33
+ return false;
34
+ return true;
35
+ }
36
+ if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
37
+ length = a.length;
38
+ if (length != b.length)
39
+ return false;
40
+ for (i = length; i-- !== 0; )
41
+ if (a[i] !== b[i])
42
+ return false;
43
+ return true;
44
+ }
45
+ if (a.constructor === RegExp)
46
+ return a.source === b.source && a.flags === b.flags;
47
+ if (a.valueOf !== Object.prototype.valueOf)
48
+ return a.valueOf() === b.valueOf();
49
+ if (a.toString !== Object.prototype.toString)
50
+ return a.toString() === b.toString();
51
+ keys = Object.keys(a);
52
+ length = keys.length;
53
+ if (length !== Object.keys(b).length)
54
+ return false;
55
+ for (i = length; i-- !== 0; )
56
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
57
+ return false;
58
+ for (i = length; i-- !== 0; ) {
59
+ var key = keys[i];
60
+ if (!equal(a[key], b[key]))
61
+ return false;
62
+ }
63
+ return true;
64
+ }
65
+ return a !== a && b !== b;
66
+ };
67
+ export { es6 as default };
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZmFzdC1kZWVwLWVxdWFsL2VzNi9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8vIGRvIG5vdCBlZGl0IC5qcyBmaWxlcyBkaXJlY3RseSAtIGVkaXQgc3JjL2luZGV4LmpzdFxuXG5cbiAgdmFyIGVudkhhc0JpZ0ludDY0QXJyYXkgPSB0eXBlb2YgQmlnSW50NjRBcnJheSAhPT0gJ3VuZGVmaW5lZCc7XG5cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBlcXVhbChhLCBiKSB7XG4gIGlmIChhID09PSBiKSByZXR1cm4gdHJ1ZTtcblxuICBpZiAoYSAmJiBiICYmIHR5cGVvZiBhID09ICdvYmplY3QnICYmIHR5cGVvZiBiID09ICdvYmplY3QnKSB7XG4gICAgaWYgKGEuY29uc3RydWN0b3IgIT09IGIuY29uc3RydWN0b3IpIHJldHVybiBmYWxzZTtcblxuICAgIHZhciBsZW5ndGgsIGksIGtleXM7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYSkpIHtcbiAgICAgIGxlbmd0aCA9IGEubGVuZ3RoO1xuICAgICAgaWYgKGxlbmd0aCAhPSBiLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuICAgICAgZm9yIChpID0gbGVuZ3RoOyBpLS0gIT09IDA7KVxuICAgICAgICBpZiAoIWVxdWFsKGFbaV0sIGJbaV0pKSByZXR1cm4gZmFsc2U7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cblxuICAgIGlmICgoYSBpbnN0YW5jZW9mIE1hcCkgJiYgKGIgaW5zdGFuY2VvZiBNYXApKSB7XG4gICAgICBpZiAoYS5zaXplICE9PSBiLnNpemUpIHJldHVybiBmYWxzZTtcbiAgICAgIGZvciAoaSBvZiBhLmVudHJpZXMoKSlcbiAgICAgICAgaWYgKCFiLmhhcyhpWzBdKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgZm9yIChpIG9mIGEuZW50cmllcygpKVxuICAgICAgICBpZiAoIWVxdWFsKGlbMV0sIGIuZ2V0KGlbMF0pKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKChhIGluc3RhbmNlb2YgU2V0KSAmJiAoYiBpbnN0YW5jZW9mIFNldCkpIHtcbiAgICAgIGlmIChhLnNpemUgIT09IGIuc2l6ZSkgcmV0dXJuIGZhbHNlO1xuICAgICAgZm9yIChpIG9mIGEuZW50cmllcygpKVxuICAgICAgICBpZiAoIWIuaGFzKGlbMF0pKSByZXR1cm4gZmFsc2U7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KGEpICYmIEFycmF5QnVmZmVyLmlzVmlldyhiKSkge1xuICAgICAgbGVuZ3RoID0gYS5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoICE9IGIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspXG4gICAgICAgIGlmIChhW2ldICE9PSBiW2ldKSByZXR1cm4gZmFsc2U7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cblxuICAgIGlmIChhLmNvbnN0cnVjdG9yID09PSBSZWdFeHApIHJldHVybiBhLnNvdXJjZSA9PT0gYi5zb3VyY2UgJiYgYS5mbGFncyA9PT0gYi5mbGFncztcbiAgICBpZiAoYS52YWx1ZU9mICE9PSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YpIHJldHVybiBhLnZhbHVlT2YoKSA9PT0gYi52YWx1ZU9mKCk7XG4gICAgaWYgKGEudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpIHJldHVybiBhLnRvU3RyaW5nKCkgPT09IGIudG9TdHJpbmcoKTtcblxuICAgIGtleXMgPSBPYmplY3Qua2V5cyhhKTtcbiAgICBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoICE9PSBPYmplY3Qua2V5cyhiKS5sZW5ndGgpIHJldHVybiBmYWxzZTtcblxuICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOylcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIGtleXNbaV0pKSByZXR1cm4gZmFsc2U7XG5cbiAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspIHtcbiAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuXG4gICAgICBpZiAoIWVxdWFsKGFba2V5XSwgYltrZXldKSkgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gdHJ1ZSBpZiBib3RoIE5hTiwgZmFsc2Ugb3RoZXJ3aXNlXG4gIHJldHVybiBhIT09YSAmJiBiIT09Yjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IklBUUEsTUFBaUIsZUFBZSxHQUFHLEdBQUc7QUFDcEMsTUFBSSxNQUFNO0FBQUcsV0FBTztBQUVwQixNQUFJLEtBQUssS0FBSyxPQUFPLEtBQUssWUFBWSxPQUFPLEtBQUssVUFBVTtBQUMxRCxRQUFJLEVBQUUsZ0JBQWdCLEVBQUU7QUFBYSxhQUFPO0FBRTVDLFFBQUksUUFBUSxHQUFHO0FBQ2YsUUFBSSxNQUFNLFFBQVEsQ0FBQyxHQUFHO0FBQ3BCLGVBQVMsRUFBRTtBQUNYLFVBQUksVUFBVSxFQUFFO0FBQVEsZUFBTztBQUMvQixXQUFLLElBQUksUUFBUSxRQUFRO0FBQ3ZCLFlBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUU7QUFBRyxpQkFBTztBQUNqQyxhQUFPO0FBQUE7QUFJVCxRQUFLLGFBQWEsT0FBUyxhQUFhLEtBQU07QUFDNUMsVUFBSSxFQUFFLFNBQVMsRUFBRTtBQUFNLGVBQU87QUFDOUIsV0FBSyxLQUFLLEVBQUU7QUFDVixZQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRTtBQUFHLGlCQUFPO0FBQzNCLFdBQUssS0FBSyxFQUFFO0FBQ1YsWUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUFHLGlCQUFPO0FBQ3hDLGFBQU87QUFBQTtBQUdULFFBQUssYUFBYSxPQUFTLGFBQWEsS0FBTTtBQUM1QyxVQUFJLEVBQUUsU0FBUyxFQUFFO0FBQU0sZUFBTztBQUM5QixXQUFLLEtBQUssRUFBRTtBQUNWLFlBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFO0FBQUcsaUJBQU87QUFDM0IsYUFBTztBQUFBO0FBR1QsUUFBSSxZQUFZLE9BQU8sQ0FBQyxLQUFLLFlBQVksT0FBTyxDQUFDLEdBQUc7QUFDbEQsZUFBUyxFQUFFO0FBQ1gsVUFBSSxVQUFVLEVBQUU7QUFBUSxlQUFPO0FBQy9CLFdBQUssSUFBSSxRQUFRLFFBQVE7QUFDdkIsWUFBSSxFQUFFLE9BQU8sRUFBRTtBQUFJLGlCQUFPO0FBQzVCLGFBQU87QUFBQTtBQUlULFFBQUksRUFBRSxnQkFBZ0I7QUFBUSxhQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7QUFDNUUsUUFBSSxFQUFFLFlBQVksT0FBTyxVQUFVO0FBQVMsYUFBTyxFQUFFLGNBQWMsRUFBRTtBQUNyRSxRQUFJLEVBQUUsYUFBYSxPQUFPLFVBQVU7QUFBVSxhQUFPLEVBQUUsZUFBZSxFQUFFO0FBRXhFLFdBQU8sT0FBTyxLQUFLLENBQUM7QUFDcEIsYUFBUyxLQUFLO0FBQ2QsUUFBSSxXQUFXLE9BQU8sS0FBSyxDQUFDLEVBQUU7QUFBUSxhQUFPO0FBRTdDLFNBQUssSUFBSSxRQUFRLFFBQVE7QUFDdkIsVUFBSSxDQUFDLE9BQU8sVUFBVSxlQUFlLEtBQUssR0FBRyxLQUFLLEVBQUU7QUFBRyxlQUFPO0FBRWhFLFNBQUssSUFBSSxRQUFRLFFBQVEsS0FBSTtBQUMzQixVQUFJLE1BQU0sS0FBSztBQUVmLFVBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUk7QUFBRyxlQUFPO0FBQUE7QUFHckMsV0FBTztBQUFBO0FBSVQsU0FBTyxNQUFJLEtBQUssTUFBSTtBQUN0Qjs7In0=
@@ -0,0 +1,11 @@
1
+ let urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
2
+ let nanoid = (size = 21) => {
3
+ let id = "";
4
+ let i = size;
5
+ while (i--) {
6
+ id += urlAlphabet[Math.random() * 64 | 0];
7
+ }
8
+ return id;
9
+ };
10
+ export { nanoid };
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbmFub2lkL25vbi1zZWN1cmUvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsibGV0IHVybEFscGhhYmV0ID1cbiAgJ3VzZWFuZG9tLTI2VDE5ODM0MFBYNzVweEpBQ0tWRVJZTUlOREJVU0hXT0xGX0dRWmJmZ2hqa2xxdnd5enJpY3QnXG5sZXQgY3VzdG9tQWxwaGFiZXQgPSAoYWxwaGFiZXQsIGRlZmF1bHRTaXplID0gMjEpID0+IHtcbiAgcmV0dXJuIChzaXplID0gZGVmYXVsdFNpemUpID0+IHtcbiAgICBsZXQgaWQgPSAnJ1xuICAgIGxldCBpID0gc2l6ZVxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIGlkICs9IGFscGhhYmV0WyhNYXRoLnJhbmRvbSgpICogYWxwaGFiZXQubGVuZ3RoKSB8IDBdXG4gICAgfVxuICAgIHJldHVybiBpZFxuICB9XG59XG5sZXQgbmFub2lkID0gKHNpemUgPSAyMSkgPT4ge1xuICBsZXQgaWQgPSAnJ1xuICBsZXQgaSA9IHNpemVcbiAgd2hpbGUgKGktLSkge1xuICAgIGlkICs9IHVybEFscGhhYmV0WyhNYXRoLnJhbmRvbSgpICogNjQpIHwgMF1cbiAgfVxuICByZXR1cm4gaWRcbn1cbmV4cG9ydCB7IG5hbm9pZCwgY3VzdG9tQWxwaGFiZXQgfVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUksY0FDRjtBQVdDLElBQUMsU0FBUyxDQUFDLE9BQU8sT0FBTztBQUMxQixNQUFJLEtBQUs7QUFDVCxNQUFJLElBQUk7QUFDUixTQUFPLEtBQUs7QUFDVixVQUFNLFlBQWEsS0FBSyxXQUFXLEtBQU07QUFBQTtBQUUzQyxTQUFPO0FBQ1Q7OyJ9
@@ -1,11 +1,3 @@
1
- import "./fromArraySnapshot";
2
- import "./fromFrozenSnapshot";
3
- import "./fromModelSnapshot";
4
- import "./fromPlainObjectSnapshot";
5
- import "./reconcileArraySnapshot";
6
- import "./reconcileFrozenSnapshot";
7
- import "./reconcileModelSnapshot";
8
- import "./reconcilePlainObjectSnapshot";
9
1
  export * from "./applySnapshot";
10
2
  export * from "./clone";
11
3
  export * from "./fromSnapshot";
@@ -0,0 +1,25 @@
1
+ import { setDataModelAction } from "../dataModel/actions.mjs";
2
+ import { isDataModelClass, isDataModel } from "../dataModel/utils.mjs";
3
+ import { modelInfoByClass } from "../modelShared/modelInfo.mjs";
4
+ import { runAfterModelDecoratorSymbol } from "../modelShared/modelSymbols.mjs";
5
+ import { addLateInitializationFunction } from "../utils/index.mjs";
6
+ function getActionNameAndContextOverride(target, propertyKey) {
7
+ let actionName = propertyKey;
8
+ let overrideContext;
9
+ if (isDataModelClass(target) || isDataModel(target)) {
10
+ overrideContext = (ctx, self) => {
11
+ ctx.target = self.$;
12
+ };
13
+ let fullActionName;
14
+ actionName = () => fullActionName;
15
+ const modelClass = isDataModelClass(target) ? target : target.constructor;
16
+ addLateInitializationFunction(modelClass, runAfterModelDecoratorSymbol, (finalClass) => {
17
+ const modelInfo = modelInfoByClass.get(finalClass);
18
+ fullActionName = `fn::${modelInfo.name}::${propertyKey}`;
19
+ setDataModelAction(fullActionName, modelInfo.class, propertyKey);
20
+ });
21
+ }
22
+ return { actionName, overrideContext };
23
+ }
24
+ export { getActionNameAndContextOverride };
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uRGVjb3JhdG9yVXRpbHMubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWN0aW9uL2FjdGlvbkRlY29yYXRvclV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNldERhdGFNb2RlbEFjdGlvbiB9IGZyb20gXCIuLi9kYXRhTW9kZWwvYWN0aW9uc1wiXG5pbXBvcnQgeyBpc0RhdGFNb2RlbCwgaXNEYXRhTW9kZWxDbGFzcyB9IGZyb20gXCIuLi9kYXRhTW9kZWwvdXRpbHNcIlxuaW1wb3J0IHsgbW9kZWxJbmZvQnlDbGFzcyB9IGZyb20gXCIuLi9tb2RlbFNoYXJlZC9tb2RlbEluZm9cIlxuaW1wb3J0IHsgcnVuQWZ0ZXJNb2RlbERlY29yYXRvclN5bWJvbCB9IGZyb20gXCIuLi9tb2RlbFNoYXJlZC9tb2RlbFN5bWJvbHNcIlxuaW1wb3J0IHsgYWRkTGF0ZUluaXRpYWxpemF0aW9uRnVuY3Rpb24gfSBmcm9tIFwiLi4vdXRpbHNcIlxuaW1wb3J0IHsgV3JhcEluQWN0aW9uT3ZlcnJpZGVDb250ZXh0Rm4gfSBmcm9tIFwiLi93cmFwSW5BY3Rpb25cIlxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWN0aW9uTmFtZUFuZENvbnRleHRPdmVycmlkZShcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBzdHJpbmdcbik6IHtcbiAgYWN0aW9uTmFtZTogc3RyaW5nIHwgKCgpID0+IHN0cmluZylcbiAgb3ZlcnJpZGVDb250ZXh0OiBXcmFwSW5BY3Rpb25PdmVycmlkZUNvbnRleHRGbiB8IHVuZGVmaW5lZFxufSB7XG4gIGxldCBhY3Rpb25OYW1lOiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKSA9IHByb3BlcnR5S2V5XG4gIGxldCBvdmVycmlkZUNvbnRleHQ6IFdyYXBJbkFjdGlvbk92ZXJyaWRlQ29udGV4dEZuIHwgdW5kZWZpbmVkXG5cbiAgaWYgKGlzRGF0YU1vZGVsQ2xhc3ModGFyZ2V0KSB8fCBpc0RhdGFNb2RlbCh0YXJnZXQpKSB7XG4gICAgb3ZlcnJpZGVDb250ZXh0ID0gKGN0eCwgc2VsZikgPT4ge1xuICAgICAgY3R4LnRhcmdldCA9IHNlbGYuJFxuICAgIH1cblxuICAgIGxldCBmdWxsQWN0aW9uTmFtZTogc3RyaW5nXG4gICAgYWN0aW9uTmFtZSA9ICgpID0+IGZ1bGxBY3Rpb25OYW1lXG5cbiAgICBjb25zdCBtb2RlbENsYXNzOiBhbnkgPSBpc0RhdGFNb2RlbENsYXNzKHRhcmdldCkgPyB0YXJnZXQgOiB0YXJnZXQuY29uc3RydWN0b3JcblxuICAgIGFkZExhdGVJbml0aWFsaXphdGlvbkZ1bmN0aW9uKG1vZGVsQ2xhc3MsIHJ1bkFmdGVyTW9kZWxEZWNvcmF0b3JTeW1ib2wsIChmaW5hbENsYXNzKSA9PiB7XG4gICAgICBjb25zdCBtb2RlbEluZm8gPSBtb2RlbEluZm9CeUNsYXNzLmdldChmaW5hbENsYXNzKSFcbiAgICAgIGZ1bGxBY3Rpb25OYW1lID0gYGZuOjoke21vZGVsSW5mby5uYW1lfTo6JHtwcm9wZXJ0eUtleX1gXG4gICAgICBzZXREYXRhTW9kZWxBY3Rpb24oZnVsbEFjdGlvbk5hbWUsIG1vZGVsSW5mby5jbGFzcywgcHJvcGVydHlLZXkpXG4gICAgfSlcbiAgfVxuICByZXR1cm4geyBhY3Rpb25OYW1lLCBvdmVycmlkZUNvbnRleHQgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3lDQVFFLFFBQ0E7TUFLSSxhQUFzQztNQUN0QztNQUVBLGlCQUFpQixNQUFNLEtBQUssWUFBWSxNQUFNLEdBQUc7c0JBQ2pDLENBQUMsS0FBSztVQUNsQixTQUFTLEtBQUs7QUFBQTtRQUdoQjtpQkFDUyxNQUFNO1VBRWIsYUFBa0IsaUJBQWlCLE1BQU0sSUFBSSxTQUFTLE9BQU87a0NBRXJDLFlBQVksOEJBQThCLENBQUM7WUFDakUsWUFBWSxpQkFBaUIsSUFBSSxVQUFVO3VCQUNoQyxPQUFPLFVBQVUsU0FBUzt5QkFDeEIsZ0JBQWdCLFVBQVUsT0FBTyxXQUFXO0FBQUEsS0FDaEU7QUFBQTtTQUVJLEVBQUUsWUFBWTtBQUN2Qjs7In0=
@@ -0,0 +1,54 @@
1
+ import { getDataModelAction } from "../dataModel/actions.mjs";
2
+ import { detach } from "../parent/detach.mjs";
3
+ import { resolvePathCheckingIds } from "../parent/path.mjs";
4
+ import { applyPatches } from "../patch/applyPatches.mjs";
5
+ import { applySnapshot } from "../snapshot/applySnapshot.mjs";
6
+ import { getStandaloneAction } from "../standardActions/actions.mjs";
7
+ import { assertTweakedObject } from "../tweaker/core.mjs";
8
+ import { failure } from "../utils/index.mjs";
9
+ import { applyDelete } from "./applyDelete.mjs";
10
+ import { applyMethodCall } from "./applyMethodCall.mjs";
11
+ import { applySet } from "./applySet.mjs";
12
+ import { BuiltInAction, isBuiltInAction } from "./builtInActions.mjs";
13
+ import { isHookAction } from "./hookActions.mjs";
14
+ const builtInActionToFunction = {
15
+ [BuiltInAction.ApplySnapshot]: applySnapshot,
16
+ [BuiltInAction.ApplyPatches]: applyPatches,
17
+ [BuiltInAction.Detach]: detach,
18
+ [BuiltInAction.ApplySet]: applySet,
19
+ [BuiltInAction.ApplyDelete]: applyDelete,
20
+ [BuiltInAction.ApplyMethodCall]: applyMethodCall
21
+ };
22
+ function applyAction(subtreeRoot, call) {
23
+ if (call.serialized) {
24
+ throw failure("cannot apply a serialized action call, use one of the 'applySerializedAction' methods instead");
25
+ }
26
+ assertTweakedObject(subtreeRoot, "subtreeRoot");
27
+ const { value: current, resolved } = resolvePathCheckingIds(subtreeRoot, call.targetPath, call.targetPathIds);
28
+ if (!resolved) {
29
+ throw failure(`object at path ${JSON.stringify(call.targetPath)} with ids ${JSON.stringify(call.targetPathIds)} could not be resolved`);
30
+ }
31
+ assertTweakedObject(current, `resolved ${current}`, true);
32
+ if (isBuiltInAction(call.actionName)) {
33
+ const fnToCall = builtInActionToFunction[call.actionName];
34
+ if (!fnToCall) {
35
+ throw failure(`assertion failed: unknown built-in action - ${call.actionName}`);
36
+ }
37
+ return fnToCall.apply(current, [current, ...call.args]);
38
+ }
39
+ if (isHookAction(call.actionName)) {
40
+ throw failure(`calls to hooks (${call.actionName}) cannot be applied`);
41
+ }
42
+ const dataModelAction = getDataModelAction(call.actionName);
43
+ if (dataModelAction) {
44
+ const instance = new dataModelAction.modelClass(current);
45
+ return instance[dataModelAction.fnName].apply(instance, call.args);
46
+ }
47
+ const standaloneAction = getStandaloneAction(call.actionName);
48
+ if (standaloneAction) {
49
+ return standaloneAction.apply(current, call.args);
50
+ }
51
+ return current[call.actionName].apply(current, call.args);
52
+ }
53
+ export { applyAction };
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlBY3Rpb24ubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWN0aW9uL2FwcGx5QWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldERhdGFNb2RlbEFjdGlvbiB9IGZyb20gXCIuLi9kYXRhTW9kZWwvYWN0aW9uc1wiXG5pbXBvcnQgeyBkZXRhY2ggfSBmcm9tIFwiLi4vcGFyZW50L2RldGFjaFwiXG5pbXBvcnQgeyByZXNvbHZlUGF0aENoZWNraW5nSWRzIH0gZnJvbSBcIi4uL3BhcmVudC9wYXRoXCJcbmltcG9ydCB7IFBhdGggfSBmcm9tIFwiLi4vcGFyZW50L3BhdGhUeXBlc1wiXG5pbXBvcnQgeyBhcHBseVBhdGNoZXMgfSBmcm9tIFwiLi4vcGF0Y2gvYXBwbHlQYXRjaGVzXCJcbmltcG9ydCB7IGFwcGx5U25hcHNob3QgfSBmcm9tIFwiLi4vc25hcHNob3QvYXBwbHlTbmFwc2hvdFwiXG5pbXBvcnQgeyBnZXRTdGFuZGFsb25lQWN0aW9uIH0gZnJvbSBcIi4uL3N0YW5kYXJkQWN0aW9ucy9hY3Rpb25zXCJcbmltcG9ydCB7IGFzc2VydFR3ZWFrZWRPYmplY3QgfSBmcm9tIFwiLi4vdHdlYWtlci9jb3JlXCJcbmltcG9ydCB7IGZhaWx1cmUgfSBmcm9tIFwiLi4vdXRpbHNcIlxuaW1wb3J0IHsgYXBwbHlEZWxldGUgfSBmcm9tIFwiLi9hcHBseURlbGV0ZVwiXG5pbXBvcnQgeyBhcHBseU1ldGhvZENhbGwgfSBmcm9tIFwiLi9hcHBseU1ldGhvZENhbGxcIlxuaW1wb3J0IHsgYXBwbHlTZXQgfSBmcm9tIFwiLi9hcHBseVNldFwiXG5pbXBvcnQgeyBCdWlsdEluQWN0aW9uLCBpc0J1aWx0SW5BY3Rpb24gfSBmcm9tIFwiLi9idWlsdEluQWN0aW9uc1wiXG5pbXBvcnQgeyBpc0hvb2tBY3Rpb24gfSBmcm9tIFwiLi9ob29rQWN0aW9uc1wiXG5cbi8qKlxuICogQW4gYWN0aW9uIGNhbGwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ2FsbCB7XG4gIC8qKlxuICAgKiBBY3Rpb24gbmFtZSAobmFtZSBvZiB0aGUgZnVuY3Rpb24pLlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uTmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEFjdGlvbiBhcmd1bWVudHMuXG4gICAqL1xuICByZWFkb25seSBhcmdzOiBSZWFkb25seUFycmF5PGFueT5cblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgbW9kZWwgd2hlcmUgdGhlIGFjdGlvbiB3aWxsIGJlIHJ1biwgYXMgYW4gYXJyYXkgb2Ygc3RyaW5nIHwgbnVtYmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0UGF0aDogUGF0aFxuXG4gIC8qKlxuICAgKiBJZHMgb2YgbW9kZWxzIGFsb25nIHRoZSBwYXRoIHRvIHRoZSB0YXJnZXQsIG51bGwgaWYgaXQgaXMgbm90IGEgbW9kZWwuXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRQYXRoSWRzOiBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bGw+XG5cbiAgLyoqXG4gICAqIE1hcmtzIHRoaXMgYWN0aW9uIGNhbGwgYXMgbm9uLXNlcmlhbGl6ZWQuXG4gICAqL1xuICByZWFkb25seSBzZXJpYWxpemVkPzogdW5kZWZpbmVkXG59XG5cbmNvbnN0IGJ1aWx0SW5BY3Rpb25Ub0Z1bmN0aW9uID0ge1xuICBbQnVpbHRJbkFjdGlvbi5BcHBseVNuYXBzaG90XTogYXBwbHlTbmFwc2hvdCxcbiAgW0J1aWx0SW5BY3Rpb24uQXBwbHlQYXRjaGVzXTogYXBwbHlQYXRjaGVzLFxuICBbQnVpbHRJbkFjdGlvbi5EZXRhY2hdOiBkZXRhY2gsXG4gIFtCdWlsdEluQWN0aW9uLkFwcGx5U2V0XTogYXBwbHlTZXQsXG4gIFtCdWlsdEluQWN0aW9uLkFwcGx5RGVsZXRlXTogYXBwbHlEZWxldGUsXG4gIFtCdWlsdEluQWN0aW9uLkFwcGx5TWV0aG9kQ2FsbF06IGFwcGx5TWV0aG9kQ2FsbCxcbn1cblxuLyoqXG4gKiBBcHBsaWVzIChydW5zKSBhbiBhY3Rpb24gb3ZlciBhIHRhcmdldCBvYmplY3QuXG4gKlxuICogSWYgeW91IGludGVuZCB0byBhcHBseSBzZXJpYWxpemVkIGFjdGlvbnMgY2hlY2sgb25lIG9mIHRoZSBgYXBwbHlTZXJpYWxpemVkQWN0aW9uYCBtZXRob2RzIGluc3RlYWQuXG4gKlxuICogQHBhcmFtIHN1YnRyZWVSb290IFN1YnRyZWUgcm9vdCB0YXJnZXQgb2JqZWN0IHRvIHJ1biB0aGUgYWN0aW9uIG92ZXIuXG4gKiBAcGFyYW0gY2FsbCBUaGUgYWN0aW9uLCB1c3VhbGx5IGFzIGNvbWluZyBmcm9tIGBvbkFjdGlvbk1pZGRsZXdhcmVgLlxuICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgYWN0aW9uLCBpZiBhbnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseUFjdGlvbjxUUmV0ID0gYW55PihzdWJ0cmVlUm9vdDogb2JqZWN0LCBjYWxsOiBBY3Rpb25DYWxsKTogVFJldCB7XG4gIGlmIChjYWxsLnNlcmlhbGl6ZWQpIHtcbiAgICB0aHJvdyBmYWlsdXJlKFxuICAgICAgXCJjYW5ub3QgYXBwbHkgYSBzZXJpYWxpemVkIGFjdGlvbiBjYWxsLCB1c2Ugb25lIG9mIHRoZSAnYXBwbHlTZXJpYWxpemVkQWN0aW9uJyBtZXRob2RzIGluc3RlYWRcIlxuICAgIClcbiAgfVxuXG4gIGFzc2VydFR3ZWFrZWRPYmplY3Qoc3VidHJlZVJvb3QsIFwic3VidHJlZVJvb3RcIilcblxuICAvLyByZXNvbHZlIHBhdGggd2hpbGUgY2hlY2tpbmcgaWRzXG4gIGNvbnN0IHsgdmFsdWU6IGN1cnJlbnQsIHJlc29sdmVkIH0gPSByZXNvbHZlUGF0aENoZWNraW5nSWRzKFxuICAgIHN1YnRyZWVSb290LFxuICAgIGNhbGwudGFyZ2V0UGF0aCxcbiAgICBjYWxsLnRhcmdldFBhdGhJZHNcbiAgKVxuICBpZiAoIXJlc29sdmVkKSB7XG4gICAgdGhyb3cgZmFpbHVyZShcbiAgICAgIGBvYmplY3QgYXQgcGF0aCAke0pTT04uc3RyaW5naWZ5KGNhbGwudGFyZ2V0UGF0aCl9IHdpdGggaWRzICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIGNhbGwudGFyZ2V0UGF0aElkc1xuICAgICAgKX0gY291bGQgbm90IGJlIHJlc29sdmVkYFxuICAgIClcbiAgfVxuICBhc3NlcnRUd2Vha2VkT2JqZWN0KGN1cnJlbnQsIGByZXNvbHZlZCAke2N1cnJlbnR9YCwgdHJ1ZSlcblxuICBpZiAoaXNCdWlsdEluQWN0aW9uKGNhbGwuYWN0aW9uTmFtZSkpIHtcbiAgICBjb25zdCBmblRvQ2FsbDogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkgPSBidWlsdEluQWN0aW9uVG9GdW5jdGlvbltjYWxsLmFjdGlvbk5hbWVdXG4gICAgaWYgKCFmblRvQ2FsbCkge1xuICAgICAgdGhyb3cgZmFpbHVyZShgYXNzZXJ0aW9uIGZhaWxlZDogdW5rbm93biBidWlsdC1pbiBhY3Rpb24gLSAke2NhbGwuYWN0aW9uTmFtZX1gKVxuICAgIH1cblxuICAgIHJldHVybiBmblRvQ2FsbC5hcHBseShjdXJyZW50LCBbY3VycmVudCwgLi4uY2FsbC5hcmdzXSlcbiAgfVxuXG4gIGlmIChpc0hvb2tBY3Rpb24oY2FsbC5hY3Rpb25OYW1lKSkge1xuICAgIHRocm93IGZhaWx1cmUoYGNhbGxzIHRvIGhvb2tzICgke2NhbGwuYWN0aW9uTmFtZX0pIGNhbm5vdCBiZSBhcHBsaWVkYClcbiAgfVxuXG4gIGNvbnN0IGRhdGFNb2RlbEFjdGlvbiA9IGdldERhdGFNb2RlbEFjdGlvbihjYWxsLmFjdGlvbk5hbWUpXG4gIGlmIChkYXRhTW9kZWxBY3Rpb24pIHtcbiAgICBjb25zdCBpbnN0YW5jZTogYW55ID0gbmV3IGRhdGFNb2RlbEFjdGlvbi5tb2RlbENsYXNzKGN1cnJlbnQpXG4gICAgcmV0dXJuIGluc3RhbmNlW2RhdGFNb2RlbEFjdGlvbi5mbk5hbWVdLmFwcGx5KGluc3RhbmNlLCBjYWxsLmFyZ3MpXG4gIH1cblxuICBjb25zdCBzdGFuZGFsb25lQWN0aW9uID0gZ2V0U3RhbmRhbG9uZUFjdGlvbihjYWxsLmFjdGlvbk5hbWUpXG4gIGlmIChzdGFuZGFsb25lQWN0aW9uKSB7XG4gICAgcmV0dXJuIHN0YW5kYWxvbmVBY3Rpb24uYXBwbHkoY3VycmVudCwgY2FsbC5hcmdzIGFzIGFueSlcbiAgfVxuXG4gIHJldHVybiAoY3VycmVudCBhcyBhbnkpW2NhbGwuYWN0aW9uTmFtZV0uYXBwbHkoY3VycmVudCwgY2FsbC5hcmdzKVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUE2Q0EsTUFBTSwwQkFBMEI7QUFBQSxHQUM3QixjQUFjLGdCQUFnQjtBQUFBLEdBQzlCLGNBQWMsZUFBZTtBQUFBLEdBQzdCLGNBQWMsU0FBUztBQUFBLEdBQ3ZCLGNBQWMsV0FBVztBQUFBLEdBQ3pCLGNBQWMsY0FBYztBQUFBLEdBQzVCLGNBQWMsa0JBQWtCOztxQkFZSyxhQUFxQjtNQUN2RCxLQUFLLFlBQVk7VUFDYixRQUNKLCtGQUErRjtBQUFBO3NCQUkvRSxhQUFhLGFBQWE7UUFHeEMsRUFBRSxPQUFPLFNBQVMsYUFBYSx1QkFDbkMsYUFDQSxLQUFLLFlBQ0wsS0FBSyxhQUFhO01BRWhCLENBQUMsVUFBVTtVQUNQLFFBQ0osa0JBQWtCLEtBQUssVUFBVSxLQUFLLFVBQVUsY0FBYyxLQUFLLFVBQ2pFLEtBQUssYUFBYSx5QkFDSztBQUFBO3NCQUdULFNBQVMsWUFBWSxXQUFXLElBQUk7TUFFcEQsZ0JBQWdCLEtBQUssVUFBVSxHQUFHO1VBQzlCLFdBQW9DLHdCQUF3QixLQUFLO1FBQ25FLENBQUMsVUFBVTtZQUNQLFFBQVEsK0NBQStDLEtBQUssWUFBWTtBQUFBO1dBR3pFLFNBQVMsTUFBTSxTQUFTLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxDQUFDO0FBQUE7TUFHcEQsYUFBYSxLQUFLLFVBQVUsR0FBRztVQUMzQixRQUFRLG1CQUFtQixLQUFLLCtCQUErQjtBQUFBO1FBR2pFLGtCQUFrQixtQkFBbUIsS0FBSyxVQUFVO01BQ3RELGlCQUFpQjtVQUNiLFdBQWdCLElBQUksZ0JBQWdCLFdBQVcsT0FBTztXQUNyRCxTQUFTLGdCQUFnQixRQUFRLE1BQU0sVUFBVSxLQUFLLElBQUk7QUFBQTtRQUc3RCxtQkFBbUIsb0JBQW9CLEtBQUssVUFBVTtNQUN4RCxrQkFBa0I7V0FDYixpQkFBaUIsTUFBTSxTQUFTLEtBQUssSUFBVztBQUFBO1NBR2pELFFBQWdCLEtBQUssWUFBWSxNQUFNLFNBQVMsS0FBSyxJQUFJO0FBQ25FOzsifQ==
@@ -0,0 +1,20 @@
1
+ import { remove } from "mobx";
2
+ import { assertTweakedObject } from "../tweaker/core.mjs";
3
+ import { lazy } from "../utils/index.mjs";
4
+ import { BuiltInAction } from "./builtInActions.mjs";
5
+ import { ActionContextActionType } from "./context.mjs";
6
+ import { wrapInAction } from "./wrapInAction.mjs";
7
+ function applyDelete(node, fieldName) {
8
+ assertTweakedObject(node, "node", true);
9
+ wrappedInternalApplyDelete().call(node, fieldName);
10
+ }
11
+ function internalApplyDelete(fieldName) {
12
+ remove(this, "" + fieldName);
13
+ }
14
+ const wrappedInternalApplyDelete = lazy(() => wrapInAction({
15
+ nameOrNameFn: BuiltInAction.ApplyDelete,
16
+ fn: internalApplyDelete,
17
+ actionType: ActionContextActionType.Sync
18
+ }));
19
+ export { applyDelete, internalApplyDelete };
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlEZWxldGUubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWN0aW9uL2FwcGx5RGVsZXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbW92ZSB9IGZyb20gXCJtb2J4XCJcbmltcG9ydCB7IGFzc2VydFR3ZWFrZWRPYmplY3QgfSBmcm9tIFwiLi4vdHdlYWtlci9jb3JlXCJcbmltcG9ydCB7IGxhenkgfSBmcm9tIFwiLi4vdXRpbHNcIlxuaW1wb3J0IHsgQnVpbHRJbkFjdGlvbiB9IGZyb20gXCIuL2J1aWx0SW5BY3Rpb25zXCJcbmltcG9ydCB7IEFjdGlvbkNvbnRleHRBY3Rpb25UeXBlIH0gZnJvbSBcIi4vY29udGV4dFwiXG5pbXBvcnQgeyB3cmFwSW5BY3Rpb24gfSBmcm9tIFwiLi93cmFwSW5BY3Rpb25cIlxuXG4vKipcbiAqIERlbGV0ZXMgYW4gb2JqZWN0IGZpZWxkIHdyYXBwZWQgaW4gYW4gYWN0aW9uLlxuICpcbiAqIEBwYXJhbSBub2RlICBUYXJnZXQgb2JqZWN0LlxuICogQHBhcmFtIGZpZWxkTmFtZSBGaWVsZCBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlEZWxldGU8TyBleHRlbmRzIG9iamVjdCwgSyBleHRlbmRzIGtleW9mIE8+KG5vZGU6IE8sIGZpZWxkTmFtZTogSyk6IHZvaWQge1xuICBhc3NlcnRUd2Vha2VkT2JqZWN0KG5vZGUsIFwibm9kZVwiLCB0cnVlKVxuXG4gIHdyYXBwZWRJbnRlcm5hbEFwcGx5RGVsZXRlKCkuY2FsbChub2RlLCBmaWVsZE5hbWUgYXMgc3RyaW5nIHwgbnVtYmVyKVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW50ZXJuYWxBcHBseURlbGV0ZTxPIGV4dGVuZHMgb2JqZWN0Pih0aGlzOiBPLCBmaWVsZE5hbWU6IHN0cmluZyB8IG51bWJlcik6IHZvaWQge1xuICByZW1vdmUodGhpcywgXCJcIiArIGZpZWxkTmFtZSlcbn1cblxuY29uc3Qgd3JhcHBlZEludGVybmFsQXBwbHlEZWxldGUgPSBsYXp5KCgpID0+XG4gIHdyYXBJbkFjdGlvbih7XG4gICAgbmFtZU9yTmFtZUZuOiBCdWlsdEluQWN0aW9uLkFwcGx5RGVsZXRlLFxuICAgIGZuOiBpbnRlcm5hbEFwcGx5RGVsZXRlLFxuICAgIGFjdGlvblR5cGU6IEFjdGlvbkNvbnRleHRBY3Rpb25UeXBlLlN5bmMsXG4gIH0pXG4pXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O3FCQWFpRSxNQUFTO3NCQUNwRCxNQUFNLFFBQVEsSUFBSTsrQkFFVCxLQUFLLE1BQU0sU0FBNEI7QUFDdEU7NkJBSytEO1NBQ3RELE1BQU0sS0FBSyxTQUFTO0FBQzdCO0FBRUEsTUFBTSw2QkFBNkIsS0FBSyxNQUN0QyxhQUFhO0FBQUEsRUFDWCxjQUFjLGNBQWM7QUFBQSxFQUM1QixJQUFJO0FBQUEsRUFDSixZQUFZLHdCQUF3QjtDQUNyQyxDQUFDOzsifQ==
@@ -0,0 +1,19 @@
1
+ import { assertTweakedObject } from "../tweaker/core.mjs";
2
+ import { lazy } from "../utils/index.mjs";
3
+ import { BuiltInAction } from "./builtInActions.mjs";
4
+ import { ActionContextActionType } from "./context.mjs";
5
+ import { wrapInAction } from "./wrapInAction.mjs";
6
+ function applyMethodCall(node, methodName, ...args) {
7
+ assertTweakedObject(node, "node");
8
+ return wrappedInternalApplyMethodCall().call(node, methodName, args);
9
+ }
10
+ function internalApplyMethodCall(methodName, args) {
11
+ return this[methodName](...args);
12
+ }
13
+ const wrappedInternalApplyMethodCall = lazy(() => wrapInAction({
14
+ nameOrNameFn: BuiltInAction.ApplyMethodCall,
15
+ fn: internalApplyMethodCall,
16
+ actionType: ActionContextActionType.Sync
17
+ }));
18
+ export { applyMethodCall, internalApplyMethodCall };
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlNZXRob2RDYWxsLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FjdGlvbi9hcHBseU1ldGhvZENhbGwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0VHdlYWtlZE9iamVjdCB9IGZyb20gXCIuLi90d2Vha2VyL2NvcmVcIlxuaW1wb3J0IHsgbGF6eSB9IGZyb20gXCIuLi91dGlsc1wiXG5pbXBvcnQgeyBCdWlsdEluQWN0aW9uIH0gZnJvbSBcIi4vYnVpbHRJbkFjdGlvbnNcIlxuaW1wb3J0IHsgQWN0aW9uQ29udGV4dEFjdGlvblR5cGUgfSBmcm9tIFwiLi9jb250ZXh0XCJcbmltcG9ydCB7IHdyYXBJbkFjdGlvbiB9IGZyb20gXCIuL3dyYXBJbkFjdGlvblwiXG5cbnR5cGUgQW55RnVuY3Rpb24gPSAoLi4uYXJnczogYW55W10pID0+IGFueVxuXG4vKipcbiAqIENhbGxzIGFuIG9iamVjdCBtZXRob2Qgd3JhcHBlZCBpbiBhbiBhY3Rpb24uXG4gKlxuICogQHBhcmFtIG5vZGUgIFRhcmdldCBvYmplY3QuXG4gKiBAcGFyYW0gbWV0aG9kTmFtZSBNZXRob2QgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5TWV0aG9kQ2FsbDxPIGV4dGVuZHMgb2JqZWN0LCBLIGV4dGVuZHMga2V5b2YgTywgRk4gZXh0ZW5kcyBPW0tdPihcbiAgbm9kZTogTyxcbiAgbWV0aG9kTmFtZTogSyxcbiAgLi4uYXJnczogRk4gZXh0ZW5kcyBBbnlGdW5jdGlvbiA/IFBhcmFtZXRlcnM8Rk4+IDogbmV2ZXJcbik6IEZOIGV4dGVuZHMgQW55RnVuY3Rpb24gPyBSZXR1cm5UeXBlPEZOPiA6IG5ldmVyIHtcbiAgYXNzZXJ0VHdlYWtlZE9iamVjdChub2RlLCBcIm5vZGVcIilcblxuICByZXR1cm4gd3JhcHBlZEludGVybmFsQXBwbHlNZXRob2RDYWxsKCkuY2FsbChub2RlLCBtZXRob2ROYW1lIGFzIHN0cmluZyB8IG51bWJlciwgYXJncylcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludGVybmFsQXBwbHlNZXRob2RDYWxsKHRoaXM6IGFueSwgbWV0aG9kTmFtZTogc3RyaW5nIHwgbnVtYmVyLCBhcmdzOiBhbnlbXSk6IGFueSB7XG4gIHJldHVybiB0aGlzW21ldGhvZE5hbWVdKC4uLmFyZ3MpXG59XG5cbmNvbnN0IHdyYXBwZWRJbnRlcm5hbEFwcGx5TWV0aG9kQ2FsbCA9IGxhenkoKCkgPT5cbiAgd3JhcEluQWN0aW9uKHtcbiAgICBuYW1lT3JOYW1lRm46IEJ1aWx0SW5BY3Rpb24uQXBwbHlNZXRob2RDYWxsLFxuICAgIGZuOiBpbnRlcm5hbEFwcGx5TWV0aG9kQ2FsbCxcbiAgICBhY3Rpb25UeXBlOiBBY3Rpb25Db250ZXh0QWN0aW9uVHlwZS5TeW5jLFxuICB9KVxuKVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3lCQWVFLE1BQ0EsZUFDRztzQkFFaUIsTUFBTSxNQUFNO1NBRXpCLGlDQUFpQyxLQUFLLE1BQU0sWUFBK0IsSUFBSTtBQUN4RjtpQ0FLbUQsWUFBNkI7U0FDdkUsS0FBSyxZQUFZLEdBQUcsSUFBSTtBQUNqQztBQUVBLE1BQU0saUNBQWlDLEtBQUssTUFDMUMsYUFBYTtBQUFBLEVBQ1gsY0FBYyxjQUFjO0FBQUEsRUFDNUIsSUFBSTtBQUFBLEVBQ0osWUFBWSx3QkFBd0I7Q0FDckMsQ0FBQzs7In0=
@@ -0,0 +1,25 @@
1
+ import { isObservable, set } from "mobx";
2
+ import { isModel } from "../model/utils.mjs";
3
+ import { assertTweakedObject } from "../tweaker/core.mjs";
4
+ import { lazy } from "../utils/index.mjs";
5
+ import { BuiltInAction } from "./builtInActions.mjs";
6
+ import { ActionContextActionType } from "./context.mjs";
7
+ import { wrapInAction } from "./wrapInAction.mjs";
8
+ function applySet(node, fieldName, value) {
9
+ assertTweakedObject(node, "node", true);
10
+ wrappedInternalApplySet().call(node, fieldName, value);
11
+ }
12
+ function internalApplySet(fieldName, value) {
13
+ if (!isModel(this) && isObservable(this)) {
14
+ set(this, fieldName, value);
15
+ } else {
16
+ this[fieldName] = value;
17
+ }
18
+ }
19
+ const wrappedInternalApplySet = lazy(() => wrapInAction({
20
+ nameOrNameFn: BuiltInAction.ApplySet,
21
+ fn: internalApplySet,
22
+ actionType: ActionContextActionType.Sync
23
+ }));
24
+ export { applySet };
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlTZXQubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWN0aW9uL2FwcGx5U2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgc2V0IH0gZnJvbSBcIm1vYnhcIlxuaW1wb3J0IHsgaXNNb2RlbCB9IGZyb20gXCIuLi9tb2RlbC91dGlsc1wiXG5pbXBvcnQgeyBhc3NlcnRUd2Vha2VkT2JqZWN0IH0gZnJvbSBcIi4uL3R3ZWFrZXIvY29yZVwiXG5pbXBvcnQgeyBsYXp5IH0gZnJvbSBcIi4uL3V0aWxzXCJcbmltcG9ydCB7IEJ1aWx0SW5BY3Rpb24gfSBmcm9tIFwiLi9idWlsdEluQWN0aW9uc1wiXG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0QWN0aW9uVHlwZSB9IGZyb20gXCIuL2NvbnRleHRcIlxuaW1wb3J0IHsgd3JhcEluQWN0aW9uIH0gZnJvbSBcIi4vd3JhcEluQWN0aW9uXCJcblxuLyoqXG4gKiBTZXRzIGFuIG9iamVjdCBmaWVsZCB3cmFwcGVkIGluIGFuIGFjdGlvbi5cbiAqXG4gKiBAcGFyYW0gbm9kZSAgVGFyZ2V0IG9iamVjdC5cbiAqIEBwYXJhbSBmaWVsZE5hbWUgRmllbGQgbmFtZS5cbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVNldDxPIGV4dGVuZHMgb2JqZWN0LCBLIGV4dGVuZHMga2V5b2YgTywgViBleHRlbmRzIE9bS10+KFxuICBub2RlOiBPLFxuICBmaWVsZE5hbWU6IEssXG4gIHZhbHVlOiBWXG4pOiB2b2lkIHtcbiAgYXNzZXJ0VHdlYWtlZE9iamVjdChub2RlLCBcIm5vZGVcIiwgdHJ1ZSlcblxuICB3cmFwcGVkSW50ZXJuYWxBcHBseVNldCgpLmNhbGwobm9kZSwgZmllbGROYW1lIGFzIHN0cmluZyB8IG51bWJlciwgdmFsdWUpXG59XG5cbmZ1bmN0aW9uIGludGVybmFsQXBwbHlTZXQ8TyBleHRlbmRzIG9iamVjdD4odGhpczogTywgZmllbGROYW1lOiBzdHJpbmcgfCBudW1iZXIsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgLy8gd2UgbmVlZCB0byBjaGVjayBpZiBpdCBpcyBhIG1vZGVsIHNpbmNlIG1vZGVscyBjYW4gYmVjb21lIG9ic2VydmFibGUgb2JqZWN0c1xuICAvLyAoZS5nLiBieSBoYXZpbmcgYSBjb21wdXRlZCB2YWx1ZSlcbiAgaWYgKCFpc01vZGVsKHRoaXMpICYmIGlzT2JzZXJ2YWJsZSh0aGlzKSkge1xuICAgIHNldCh0aGlzLCBmaWVsZE5hbWUsIHZhbHVlKVxuICB9IGVsc2Uge1xuICAgIDsodGhpcyBhcyBhbnkpW2ZpZWxkTmFtZV0gPSB2YWx1ZVxuICB9XG59XG5cbmNvbnN0IHdyYXBwZWRJbnRlcm5hbEFwcGx5U2V0ID0gbGF6eSgoKSA9PlxuICB3cmFwSW5BY3Rpb24oe1xuICAgIG5hbWVPck5hbWVGbjogQnVpbHRJbkFjdGlvbi5BcHBseVNldCxcbiAgICBmbjogaW50ZXJuYWxBcHBseVNldCxcbiAgICBhY3Rpb25UeXBlOiBBY3Rpb25Db250ZXh0QWN0aW9uVHlwZS5TeW5jLFxuICB9KVxuKVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7a0JBZ0JFLE1BQ0EsV0FDQTtzQkFFb0IsTUFBTSxRQUFRLElBQUk7NEJBRVosS0FBSyxNQUFNLFdBQThCLEtBQUs7QUFDMUU7QUFFQSwwQkFBcUQsV0FBNEI7TUFHM0UsQ0FBQyxRQUFRLElBQUksS0FBSyxhQUFhLElBQUksR0FBRztRQUNwQyxNQUFNLFdBQVcsS0FBSztBQUFBLFNBQ3JCO1NBQ1UsYUFBYTtBQUFBO0FBRWhDO0FBRUEsTUFBTSwwQkFBMEIsS0FBSyxNQUNuQyxhQUFhO0FBQUEsRUFDWCxjQUFjLGNBQWM7QUFBQSxFQUM1QixJQUFJO0FBQUEsRUFDSixZQUFZLHdCQUF3QjtDQUNyQyxDQUFDOzsifQ==
@@ -0,0 +1,15 @@
1
+ var BuiltInAction;
2
+ (function(BuiltInAction2) {
3
+ BuiltInAction2["ApplyPatches"] = "$$applyPatches";
4
+ BuiltInAction2["ApplySnapshot"] = "$$applySnapshot";
5
+ BuiltInAction2["Detach"] = "$$detach";
6
+ BuiltInAction2["ApplySet"] = "$$applySet";
7
+ BuiltInAction2["ApplyDelete"] = "$$applyDelete";
8
+ BuiltInAction2["ApplyMethodCall"] = "$$applyMethodCall";
9
+ })(BuiltInAction || (BuiltInAction = {}));
10
+ const builtInActionValues = new Set(Object.values(BuiltInAction));
11
+ function isBuiltInAction(actionName) {
12
+ return builtInActionValues.has(actionName);
13
+ }
14
+ export { BuiltInAction, isBuiltInAction };
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRJbkFjdGlvbnMubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWN0aW9uL2J1aWx0SW5BY3Rpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBidWlsdC1pbiBhY3Rpb24uXG4gKi9cbmV4cG9ydCBlbnVtIEJ1aWx0SW5BY3Rpb24ge1xuICAvKipcbiAgICogYXBwbHlQYXRjaGVzXG4gICAqL1xuICBBcHBseVBhdGNoZXMgPSBcIiQkYXBwbHlQYXRjaGVzXCIsXG4gIC8qKlxuICAgKiBhcHBseVNuYXBzaG90XG4gICAqL1xuICBBcHBseVNuYXBzaG90ID0gXCIkJGFwcGx5U25hcHNob3RcIixcbiAgLyoqXG4gICAqIGRldGFjaFxuICAgKi9cbiAgRGV0YWNoID0gXCIkJGRldGFjaFwiLFxuICAvKipcbiAgICogYXBwbHlTZXRcbiAgICovXG4gIEFwcGx5U2V0ID0gXCIkJGFwcGx5U2V0XCIsXG4gIC8qKlxuICAgKiBhcHBseURlbGV0ZVxuICAgKi9cbiAgQXBwbHlEZWxldGUgPSBcIiQkYXBwbHlEZWxldGVcIixcbiAgLyoqXG4gICAqIGFwcGx5TWV0aG9kQ2FsbFxuICAgKi9cbiAgQXBwbHlNZXRob2RDYWxsID0gXCIkJGFwcGx5TWV0aG9kQ2FsbFwiLFxufVxuXG5jb25zdCBidWlsdEluQWN0aW9uVmFsdWVzOiBSZWFkb25seVNldDxzdHJpbmc+ID0gbmV3IFNldChPYmplY3QudmFsdWVzKEJ1aWx0SW5BY3Rpb24pKVxuXG4vKipcbiAqIFJldHVybnMgaWYgYSBnaXZlbiBhY3Rpb24gbmFtZSBpcyBhIGJ1aWx0LWluIGFjdGlvbiwgdGhpcyBpcywgb25lIG9mOlxuICogLSBhcHBseVBhdGNoZXMoKVxuICogLSBhcHBseVNuYXBzaG90KClcbiAqIC0gZGV0YWNoKClcbiAqXG4gKiBAcGFyYW0gYWN0aW9uTmFtZSBBY3Rpb24gbmFtZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHRydWUgaWYgaXQgaXMgYSBidWlsdC1pbiBhY3Rpb24sIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQnVpbHRJbkFjdGlvbihhY3Rpb25OYW1lOiBzdHJpbmcpOiBhY3Rpb25OYW1lIGlzIEJ1aWx0SW5BY3Rpb24ge1xuICByZXR1cm4gYnVpbHRJbkFjdGlvblZhbHVlcy5oYXMoYWN0aW9uTmFtZSlcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiSUFHWTtVQUFBOzs7Ozs7O0FBeUJaLEdBekJZO0FBMkJaLE1BQU0sc0JBQTJDLElBQUksSUFBSSxPQUFPLE9BQU8sYUFBYSxDQUFDO3lCQVdyRDtTQUN2QixvQkFBb0IsSUFBSSxVQUFVO0FBQzNDOzsifQ==
@@ -0,0 +1,22 @@
1
+ var ActionContextActionType;
2
+ (function(ActionContextActionType2) {
3
+ ActionContextActionType2["Sync"] = "sync";
4
+ ActionContextActionType2["Async"] = "async";
5
+ })(ActionContextActionType || (ActionContextActionType = {}));
6
+ var ActionContextAsyncStepType;
7
+ (function(ActionContextAsyncStepType2) {
8
+ ActionContextAsyncStepType2["Spawn"] = "spawn";
9
+ ActionContextAsyncStepType2["Return"] = "return";
10
+ ActionContextAsyncStepType2["Resume"] = "resume";
11
+ ActionContextAsyncStepType2["ResumeError"] = "resumeError";
12
+ ActionContextAsyncStepType2["Throw"] = "throw";
13
+ })(ActionContextAsyncStepType || (ActionContextAsyncStepType = {}));
14
+ let currentActionContext;
15
+ function getCurrentActionContext() {
16
+ return currentActionContext;
17
+ }
18
+ function setCurrentActionContext(ctx) {
19
+ currentActionContext = ctx;
20
+ }
21
+ export { ActionContextActionType, ActionContextAsyncStepType, getCurrentActionContext, setCurrentActionContext };
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5tanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY3Rpb24vY29udGV4dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFueU1vZGVsIH0gZnJvbSBcIi4uL21vZGVsL0Jhc2VNb2RlbFwiXG5cbi8qKlxuICogTG93IGxldmVsIGFjdGlvbiBjb250ZXh0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnRleHQge1xuICAvKipcbiAgICogQWN0aW9uIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGFjdGlvbk5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogQWN0aW9uIHR5cGUsIHN5bmMgb3IgYXN5bmMuXG4gICAqL1xuICByZWFkb25seSB0eXBlOiBBY3Rpb25Db250ZXh0QWN0aW9uVHlwZVxuICAvKipcbiAgICogQWN0aW9uIHRhcmdldCBvYmplY3QuXG4gICAqL1xuICByZWFkb25seSB0YXJnZXQ6IEFueU1vZGVsXG4gIC8qKlxuICAgKiBBcnJheSBvZiBhY3Rpb24gYXJndW1lbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYXJnczogUmVhZG9ubHlBcnJheTxhbnk+XG4gIC8qKlxuICAgKiBQYXJlbnQgYWN0aW9uIGNvbnRleHQsIGlmIGFueS5cbiAgICovXG4gIHJlYWRvbmx5IHBhcmVudENvbnRleHQ/OiBBY3Rpb25Db250ZXh0XG4gIC8qKlxuICAgKiBSb290IGFjdGlvbiBjb250ZXh0LCBvciBpdHNlbGYgaWYgdGhlIHJvb3QuXG4gICAqL1xuICByZWFkb25seSByb290Q29udGV4dDogQWN0aW9uQ29udGV4dFxuICAvKipcbiAgICogUHJldmlvdXMgYXN5bmMgc3RlcCBjb250ZXh0LCB1bmRlZmluZWQgZm9yIHN5bmMgYWN0aW9ucyBvciB0aGUgZmlyc3QgYWN0aW9uIG9mIGEgZmxvdy5cbiAgICovXG4gIHJlYWRvbmx5IHByZXZpb3VzQXN5bmNTdGVwQ29udGV4dD86IEFjdGlvbkNvbnRleHRcbiAgLyoqXG4gICAqIFNwYXduIGFzeW5jIHN0ZXAgY29udGV4dCwgdW5kZWZpbmVkIGZvciBzeW5jIGFjdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBzcGF3bkFzeW5jU3RlcENvbnRleHQ/OiBBY3Rpb25Db250ZXh0XG4gIC8qKlxuICAgKiBBc3luYyBzdGVwIHR5cGUsIG9yIHVuZGVmaW5lZCBmb3Igc3luYyBhY3Rpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgYXN5bmNTdGVwVHlwZT86IEFjdGlvbkNvbnRleHRBc3luY1N0ZXBUeXBlXG4gIC8qKlxuICAgKiBDdXN0b20gZGF0YSBmb3IgdGhlIGFjdGlvbiBjb250ZXh0IHRvIGJlIHNldCBieSBtaWRkbGV3YXJlcywgYW4gb2JqZWN0LlxuICAgKiBTeW1ib2xzIG11c3QgYmUgdXNlZCBhcyBrZXlzIHRvIGF2b2lkIG5hbWUgY2xhc2hpbmcgYmV0d2VlbiBtaWRkbGV3YXJlcy5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGE6IFJlY29yZDxzeW1ib2wsIGFueT5cbn1cblxuLyoqXG4gKiBBY3Rpb24gdHlwZSwgc3luYyBvciBhc3luYy5cbiAqL1xuZXhwb3J0IGVudW0gQWN0aW9uQ29udGV4dEFjdGlvblR5cGUge1xuICBTeW5jID0gXCJzeW5jXCIsXG4gIEFzeW5jID0gXCJhc3luY1wiLFxufVxuXG4vKipcbiAqIEFuIGFzeW5jIHN0ZXAgdHlwZS5cbiAqL1xuZXhwb3J0IGVudW0gQWN0aW9uQ29udGV4dEFzeW5jU3RlcFR5cGUge1xuICAvKipcbiAgICogVGhlIGZsb3cgaXMgYWJvdXQgdG8gc3RhcnQuXG4gICAqL1xuICBTcGF3biA9IFwic3Bhd25cIixcbiAgLyoqXG4gICAqIFRoZSBmbG93IGlzIGFib3V0IHRvIHJldHVybiAoZmluaXNoKS5cbiAgICovXG4gIFJldHVybiA9IFwicmV0dXJuXCIsXG4gIC8qKlxuICAgKiBUaGUgZmxvdyBpcyBhYm91dCB0byBjb250aW51ZS5cbiAgICovXG4gIFJlc3VtZSA9IFwicmVzdW1lXCIsXG4gIC8qKlxuICAgKiBUaGUgZmxvdyB5aWVsZCBqdXN0IHRocmV3LCB3aGljaCBtaWdodCBiZSByZWNvdmVyZWQgKGNhdWdodCkgb3Igbm90LlxuICAgKi9cbiAgUmVzdW1lRXJyb3IgPSBcInJlc3VtZUVycm9yXCIsXG4gIC8qKlxuICAgKiBUaGUgZmxvdyBpcyBhYm91dCB0byB0aHJvdyBhbiBlcnJvciB0byB0aGUgZmxvdyBjYWxsZXIuXG4gICAqL1xuICBUaHJvdyA9IFwidGhyb3dcIixcbn1cblxubGV0IGN1cnJlbnRBY3Rpb25Db250ZXh0OiBBY3Rpb25Db250ZXh0IHwgdW5kZWZpbmVkXG5cbi8qKlxuICogR2V0cyB0aGUgY3VycmVudGx5IHJ1bm5pbmcgYWN0aW9uIGNvbnRleHQsIG9yIHVuZGVmaW5lZCBpZiBub25lLlxuICpcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXJyZW50QWN0aW9uQ29udGV4dCgpOiBBY3Rpb25Db250ZXh0IHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGN1cnJlbnRBY3Rpb25Db250ZXh0XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKlxuICogU2V0cyB0aGUgY3VycmVudCBhY3Rpb24gY29udGV4dC5cbiAqXG4gKiBAcGFyYW0gY3R4IEN1cnJlbnQgYWN0aW9uIGNvbnRleHQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRDdXJyZW50QWN0aW9uQ29udGV4dChjdHg6IEFjdGlvbkNvbnRleHQgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgY3VycmVudEFjdGlvbkNvbnRleHQgPSBjdHhcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiSUFvRFk7VUFBQTs7O0FBR1osR0FIWTtJQVFBO1VBQUE7Ozs7OztBQXFCWixHQXJCWTtBQXVCWixJQUFJOztTQVFLO0FBQ1Q7aUNBU3dDO3lCQUNmO0FBQ3pCOzsifQ==
@@ -0,0 +1,13 @@
1
+ var HookAction;
2
+ (function(HookAction2) {
3
+ HookAction2["OnInit"] = "$$onInit";
4
+ HookAction2["OnLazyInit"] = "$$onLazyInit";
5
+ HookAction2["OnAttachedToRootStore"] = "$$onAttachedToRootStore";
6
+ HookAction2["OnAttachedToRootStoreDisposer"] = "$$onAttachedToRootStoreDisposer";
7
+ })(HookAction || (HookAction = {}));
8
+ const hookActionValues = new Set(Object.values(HookAction));
9
+ function isHookAction(actionName) {
10
+ return hookActionValues.has(actionName);
11
+ }
12
+ export { HookAction, isHookAction };
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va0FjdGlvbnMubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWN0aW9uL2hvb2tBY3Rpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBob29rIGFjdGlvbi5cbiAqL1xuZXhwb3J0IGVudW0gSG9va0FjdGlvbiB7XG4gIC8qKlxuICAgKiBvbkluaXQgaG9va1xuICAgKi9cbiAgT25Jbml0ID0gXCIkJG9uSW5pdFwiLFxuICAvKipcbiAgICogb25MYXp5SW5pdCBob29rXG4gICAqL1xuICBPbkxhenlJbml0ID0gXCIkJG9uTGF6eUluaXRcIixcbiAgLyoqXG4gICAqIG9uQXR0YWNoZWRUb1Jvb3RTdG9yZSBob29rXG4gICAqL1xuICBPbkF0dGFjaGVkVG9Sb290U3RvcmUgPSBcIiQkb25BdHRhY2hlZFRvUm9vdFN0b3JlXCIsXG4gIC8qKlxuICAgKiBkaXNwb3NlciBmb3Igb25BdHRhY2hlZFRvUm9vdFN0b3JlIGhvb2tcbiAgICovXG4gIE9uQXR0YWNoZWRUb1Jvb3RTdG9yZURpc3Bvc2VyID0gXCIkJG9uQXR0YWNoZWRUb1Jvb3RTdG9yZURpc3Bvc2VyXCIsXG59XG5cbmNvbnN0IGhvb2tBY3Rpb25WYWx1ZXM6IFJlYWRvbmx5U2V0PHN0cmluZz4gPSBuZXcgU2V0KE9iamVjdC52YWx1ZXMoSG9va0FjdGlvbikpXG5cbi8qKlxuICogUmV0dXJucyBpZiBhIGdpdmVuIGFjdGlvbiBuYW1lIGNvcnJlc3BvbmRzIHRvIGEgaG9vaywgdGhpcyBpcywgb25lIG9mOlxuICogLSBvbkluaXQoKSBob29rXG4gKiAtIG9uTGF6eUluaXQoKSBob29rXG4gKiAtIG9uQXR0YWNoZWRUb1Jvb3RTdG9yZSgpIGhvb2tcbiAqIC0gZGlzcG9zZXIgcmV0dXJuZWQgYnkgYSBvbkF0dGFjaGVkVG9Sb290U3RvcmUoKSBob29rXG4gKlxuICogQHBhcmFtIGFjdGlvbk5hbWUgQWN0aW9uIG5hbWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB0cnVlIGlmIGl0IGlzIGEgaG9vaywgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNIb29rQWN0aW9uKGFjdGlvbk5hbWU6IHN0cmluZyk6IGFjdGlvbk5hbWUgaXMgSG9va0FjdGlvbiB7XG4gIHJldHVybiBob29rQWN0aW9uVmFsdWVzLmhhcyhhY3Rpb25OYW1lKVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJJQUdZO1VBQUE7Ozs7O0FBaUJaLEdBakJZO0FBbUJaLE1BQU0sbUJBQXdDLElBQUksSUFBSSxPQUFPLE9BQU8sVUFBVSxDQUFDO3NCQVlsRDtTQUNwQixpQkFBaUIsSUFBSSxVQUFVO0FBQ3hDOzsifQ==
@@ -0,0 +1,6 @@
1
+ const modelActionSymbol = Symbol("modelAction");
2
+ function isModelAction(fn) {
3
+ return typeof fn === "function" && modelActionSymbol in fn;
4
+ }
5
+ export { isModelAction, modelActionSymbol };
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNNb2RlbEFjdGlvbi5tanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY3Rpb24vaXNNb2RlbEFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgbW9kZWxBY3Rpb25TeW1ib2wgPSBTeW1ib2woXCJtb2RlbEFjdGlvblwiKVxuXG4vKipcbiAqIFJldHVybnMgaWYgdGhlIGdpdmVuIGZ1bmN0aW9uIGlzIGEgbW9kZWwgYWN0aW9uIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gZm4gRnVuY3Rpb24gdG8gY2hlY2suXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNNb2RlbEFjdGlvbihmbjogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiBmbiA9PT0gXCJmdW5jdGlvblwiICYmIG1vZGVsQWN0aW9uU3ltYm9sIGluIGZuXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik1BR2Esb0JBQW9CLE9BQU8sYUFBYTt1QkFRdkI7U0FDckIsT0FBTyxPQUFPLGNBQWMscUJBQXFCO0FBQzFEOzsifQ==
@@ -0,0 +1,84 @@
1
+ import { fastGetParent } from "../parent/path.mjs";
2
+ import { isChildOfParent } from "../parent/path2.mjs";
3
+ import { assertTweakedObject } from "../tweaker/core.mjs";
4
+ import { assertIsObject, assertIsFunction, failure, deleteFromArray } from "../utils/index.mjs";
5
+ const perObjectActionMiddlewares = /* @__PURE__ */ new WeakMap();
6
+ const perObjectActionMiddlewaresIterator = /* @__PURE__ */ new WeakMap();
7
+ function getActionMiddlewares(obj) {
8
+ let iterable = perObjectActionMiddlewaresIterator.get(obj);
9
+ if (!iterable) {
10
+ iterable = {
11
+ [Symbol.iterator]() {
12
+ let current = obj;
13
+ function getCurrentIterator() {
14
+ const objMwares = current ? perObjectActionMiddlewares.get(current) : void 0;
15
+ if (!objMwares || objMwares.length <= 0) {
16
+ return void 0;
17
+ }
18
+ return objMwares[Symbol.iterator]();
19
+ }
20
+ function findNextIterator() {
21
+ let nextIter;
22
+ while (current && !nextIter) {
23
+ current = fastGetParent(current);
24
+ nextIter = getCurrentIterator();
25
+ }
26
+ return nextIter;
27
+ }
28
+ let iter = getCurrentIterator();
29
+ if (!iter) {
30
+ iter = findNextIterator();
31
+ }
32
+ const iterator = {
33
+ next() {
34
+ if (!iter) {
35
+ return { value: void 0, done: true };
36
+ }
37
+ let result = iter.next();
38
+ if (!result.done) {
39
+ return result;
40
+ }
41
+ iter = findNextIterator();
42
+ return this.next();
43
+ }
44
+ };
45
+ return iterator;
46
+ }
47
+ };
48
+ perObjectActionMiddlewaresIterator.set(obj, iterable);
49
+ }
50
+ return iterable;
51
+ }
52
+ function addActionMiddleware(mware) {
53
+ assertIsObject(mware, "middleware");
54
+ let { middleware, filter, subtreeRoot } = mware;
55
+ assertTweakedObject(subtreeRoot, "middleware.subtreeRoot");
56
+ assertIsFunction(middleware, "middleware.middleware");
57
+ if (filter && typeof filter !== "function") {
58
+ throw failure("middleware.filter must be a function or undefined");
59
+ }
60
+ if (subtreeRoot) {
61
+ const targetFilter = (ctx) => ctx.target === subtreeRoot || isChildOfParent(ctx.target, subtreeRoot);
62
+ if (!filter) {
63
+ filter = targetFilter;
64
+ } else {
65
+ const customFilter = filter;
66
+ filter = (ctx) => {
67
+ return targetFilter(ctx) && customFilter(ctx);
68
+ };
69
+ }
70
+ }
71
+ const actualMware = { middleware, filter };
72
+ let objMwares = perObjectActionMiddlewares.get(subtreeRoot);
73
+ if (!objMwares) {
74
+ objMwares = [actualMware];
75
+ perObjectActionMiddlewares.set(subtreeRoot, objMwares);
76
+ } else {
77
+ objMwares.push(actualMware);
78
+ }
79
+ return () => {
80
+ deleteFromArray(objMwares, actualMware);
81
+ };
82
+ }
83
+ export { addActionMiddleware, getActionMiddlewares };
84
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5tanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY3Rpb24vbWlkZGxld2FyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYXN0R2V0UGFyZW50IH0gZnJvbSBcIi4uL3BhcmVudC9wYXRoXCJcbmltcG9ydCB7IGlzQ2hpbGRPZlBhcmVudCB9IGZyb20gXCIuLi9wYXJlbnQvcGF0aDJcIlxuaW1wb3J0IHsgYXNzZXJ0VHdlYWtlZE9iamVjdCB9IGZyb20gXCIuLi90d2Vha2VyL2NvcmVcIlxuaW1wb3J0IHsgYXNzZXJ0SXNGdW5jdGlvbiwgYXNzZXJ0SXNPYmplY3QsIGRlbGV0ZUZyb21BcnJheSwgZmFpbHVyZSB9IGZyb20gXCIuLi91dGlsc1wiXG5pbXBvcnQgdHlwZSB7IEFjdGlvbkNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0XCJcblxuLyoqXG4gKiBBbiBhY3Rpb24gbWlkZGxld2FyZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25NaWRkbGV3YXJlIHtcbiAgLyoqXG4gICAqIFN1YnRyZWUgcm9vdCBvYmplY3QgKG9iamVjdCBhbmQgY2hpbGQgb2JqZWN0cykgdGhpcyBtaWRkbGV3YXJlIHdpbGwgcnVuIGZvci5cbiAgICogVGhpcyB0YXJnZXQgXCJmaWx0ZXJcIiB3aWxsIGJlIHJ1biBiZWZvcmUgdGhlIGN1c3RvbSBmaWx0ZXIuXG4gICAqL1xuICByZWFkb25seSBzdWJ0cmVlUm9vdDogb2JqZWN0XG5cbiAgLyoqXG4gICAqIEEgZmlsdGVyIGZ1bmN0aW9uIHRvIGRlY2lkZSBpZiBhbiBhY3Rpb24gbWlkZGxld2FyZSBmdW5jdGlvbiBzaG91bGQgYmUgcnVuIG9yIG5vdC5cbiAgICovXG4gIGZpbHRlcj8oY3R4OiBBY3Rpb25Db250ZXh0KTogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gbWlkZGxld2FyZSBmdW5jdGlvbi5cbiAgICogUmVtYmVyIHRvIGByZXR1cm4gbmV4dCgpYCBpZiB5b3Ugd2FudCB0byBjb250aW51ZSB0aGUgYWN0aW9uIG9yIHRocm93IGlmIHlvdSB3YW50IHRvIGNhbmNlbCBpdC5cbiAgICovXG4gIG1pZGRsZXdhcmUoY3R4OiBBY3Rpb25Db250ZXh0LCBuZXh0OiAoKSA9PiBhbnkpOiBhbnlcbn1cblxuLyoqXG4gKiBUaGUgZGlzcG9zZXIgb2YgYW4gYWN0aW9uIG1pZGRsZXdhcmUuXG4gKi9cbmV4cG9ydCB0eXBlIEFjdGlvbk1pZGRsZXdhcmVEaXNwb3NlciA9ICgpID0+IHZvaWRcblxudHlwZSBQYXJ0aWFsQWN0aW9uTWlkZGxld2FyZSA9IFBpY2s8QWN0aW9uTWlkZGxld2FyZSwgXCJmaWx0ZXJcIiB8IFwibWlkZGxld2FyZVwiPlxuXG5jb25zdCBwZXJPYmplY3RBY3Rpb25NaWRkbGV3YXJlcyA9IG5ldyBXZWFrTWFwPG9iamVjdCwgUGFydGlhbEFjdGlvbk1pZGRsZXdhcmVbXT4oKVxuXG5pbnRlcmZhY2UgQWN0aW9uTWlkZGxld2FyZXNJdGVyYXRvciBleHRlbmRzIEl0ZXJhYmxlPFBhcnRpYWxBY3Rpb25NaWRkbGV3YXJlPiB7fVxuXG5jb25zdCBwZXJPYmplY3RBY3Rpb25NaWRkbGV3YXJlc0l0ZXJhdG9yID0gbmV3IFdlYWtNYXA8b2JqZWN0LCBBY3Rpb25NaWRkbGV3YXJlc0l0ZXJhdG9yPigpXG5cbi8qKlxuICogQGludGVybmFsXG4gKlxuICogR2V0cyB0aGUgY3VycmVudCBhY3Rpb24gbWlkZGxld2FyZXMgdG8gYmUgcnVuIG92ZXIgYSBnaXZlbiBvYmplY3QgYXMgYW4gaXRlcmFibGUgb2JqZWN0LlxuICpcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBY3Rpb25NaWRkbGV3YXJlcyhvYmo6IG9iamVjdCk6IEFjdGlvbk1pZGRsZXdhcmVzSXRlcmF0b3Ige1xuICAvLyB3aGVuIHdlIGNhbGwgYSBtaWRkbGV3YXJlIHdlIHdpbGwgY2FsbCB0aGUgbWlkZGxld2FyZXMgb2YgdGhhdCBvYmplY3QgcGx1cyBhbGwgcGFyZW50IG9iamVjdHNcbiAgLy8gdGhlIHBhcmVudCBvYmplY3QgbWlkZGxld2FyZXMgYXJlIHJ1biBsYXN0XG5cbiAgLy8gc2luY2UgYW4gYXJyYXkgbGlrZSBbYSwgYiwgY10gd2lsbCBiZSBjYWxsZWQgbGlrZSBjKGIoYSgpKSkgdGhpcyBtZWFucyB0aGF0IHdlIG5lZWQgdG8gcHV0XG4gIC8vIHRoZSBwYXJlbnQgb2JqZWN0IG9uZXMgYXQgdGhlIGVuZCBvZiB0aGUgYXJyYXlcblxuICBsZXQgaXRlcmFibGUgPSBwZXJPYmplY3RBY3Rpb25NaWRkbGV3YXJlc0l0ZXJhdG9yLmdldChvYmopXG4gIGlmICghaXRlcmFibGUpIHtcbiAgICBpdGVyYWJsZSA9IHtcbiAgICAgIFtTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgICAgICBsZXQgY3VycmVudDogYW55ID0gb2JqXG5cbiAgICAgICAgZnVuY3Rpb24gZ2V0Q3VycmVudEl0ZXJhdG9yKCkge1xuICAgICAgICAgIGNvbnN0IG9iak13YXJlcyA9IGN1cnJlbnQgPyBwZXJPYmplY3RBY3Rpb25NaWRkbGV3YXJlcy5nZXQoY3VycmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICBpZiAoIW9iak13YXJlcyB8fCBvYmpNd2FyZXMubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG9iak13YXJlc1tTeW1ib2wuaXRlcmF0b3JdKClcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGZpbmROZXh0SXRlcmF0b3IoKSB7XG4gICAgICAgICAgbGV0IG5leHRJdGVyXG4gICAgICAgICAgd2hpbGUgKGN1cnJlbnQgJiYgIW5leHRJdGVyKSB7XG4gICAgICAgICAgICBjdXJyZW50ID0gZmFzdEdldFBhcmVudChjdXJyZW50KVxuICAgICAgICAgICAgbmV4dEl0ZXIgPSBnZXRDdXJyZW50SXRlcmF0b3IoKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV4dEl0ZXJcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBpdGVyID0gZ2V0Q3VycmVudEl0ZXJhdG9yKClcbiAgICAgICAgaWYgKCFpdGVyKSB7XG4gICAgICAgICAgaXRlciA9IGZpbmROZXh0SXRlcmF0b3IoKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXRlcmF0b3I6IEl0ZXJhdG9yPFBhcnRpYWxBY3Rpb25NaWRkbGV3YXJlPiA9IHtcbiAgICAgICAgICBuZXh0KCkge1xuICAgICAgICAgICAgaWYgKCFpdGVyKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWUgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gaXRlci5uZXh0KClcbiAgICAgICAgICAgIGlmICghcmVzdWx0LmRvbmUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpdGVyID0gZmluZE5leHRJdGVyYXRvcigpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uZXh0KClcbiAgICAgICAgICB9LFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yXG4gICAgICB9LFxuICAgIH1cbiAgICBwZXJPYmplY3RBY3Rpb25NaWRkbGV3YXJlc0l0ZXJhdG9yLnNldChvYmosIGl0ZXJhYmxlKVxuICB9XG4gIHJldHVybiBpdGVyYWJsZVxufVxuXG4vKipcbiAqIEFkZHMgYSBnbG9iYWwgYWN0aW9uIG1pZGRsZXdhcmUgdG8gYmUgcnVuIHdoZW4gYW4gYWN0aW9uIGlzIHBlcmZvcm1lZC5cbiAqIEl0IGlzIHVzdWFsbHkgcHJlZmVyYWJsZSB0byB1c2UgYG9uQWN0aW9uTWlkZGxld2FyZWAgaW5zdGVhZCB0byBsaW1pdCBpdCB0byBhIGdpdmVuIHRyZWUgYW5kIG9ubHkgdG8gdG9wbW9zdCBsZXZlbCBhY3Rpb25zXG4gKiBvciBgYWN0aW9uVHJhY2tpbmdNaWRkbGV3YXJlYCBmb3IgYSBzaW1wbGlmaWVkIG1pZGRsZXdhcmUuXG4gKlxuICogQHBhcmFtIG13YXJlIEFjdGlvbiBtaWRkbGV3YXJlIHRvIGJlIHJ1bi5cbiAqIEByZXR1cm5zIEEgZGlzcG9zZXIgdG8gY2FuY2VsIHRoZSBtaWRkbGV3YXJlLiBOb3RlIHRoYXQgaWYgeW91IGRvbid0IHBsYW4gdG8gZG8gYW4gZWFybHkgZGlzcG9zYWwgb2YgdGhlIG1pZGRsZXdhcmVcbiAqIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBiZWNvbWVzIG9wdGlvbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkQWN0aW9uTWlkZGxld2FyZShtd2FyZTogQWN0aW9uTWlkZGxld2FyZSk6IEFjdGlvbk1pZGRsZXdhcmVEaXNwb3NlciB7XG4gIGFzc2VydElzT2JqZWN0KG13YXJlLCBcIm1pZGRsZXdhcmVcIilcblxuICBsZXQgeyBtaWRkbGV3YXJlLCBmaWx0ZXIsIHN1YnRyZWVSb290IH0gPSBtd2FyZVxuXG4gIGFzc2VydFR3ZWFrZWRPYmplY3Qoc3VidHJlZVJvb3QsIFwibWlkZGxld2FyZS5zdWJ0cmVlUm9vdFwiKVxuICBhc3NlcnRJc0Z1bmN0aW9uKG1pZGRsZXdhcmUsIFwibWlkZGxld2FyZS5taWRkbGV3YXJlXCIpXG4gIGlmIChmaWx0ZXIgJiYgdHlwZW9mIGZpbHRlciAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdGhyb3cgZmFpbHVyZShcIm1pZGRsZXdhcmUuZmlsdGVyIG11c3QgYmUgYSBmdW5jdGlvbiBvciB1bmRlZmluZWRcIilcbiAgfVxuXG4gIC8vIHJlbWluZGVyOiBuZXZlciB0dXJuIG1pZGRsZXdhcmVzIGludG8gYWN0aW9ucyBvciBlbHNlXG4gIC8vIHJlYWN0aW9ucyB3aWxsIG5vdCBiZSBwaWNrZWQgdXAgYnkgdGhlIHVuZG8gbWFuYWdlclxuXG4gIGlmIChzdWJ0cmVlUm9vdCkge1xuICAgIGNvbnN0IHRhcmdldEZpbHRlciA9IChjdHg6IEFjdGlvbkNvbnRleHQpID0+XG4gICAgICBjdHgudGFyZ2V0ID09PSBzdWJ0cmVlUm9vdCB8fCBpc0NoaWxkT2ZQYXJlbnQoY3R4LnRhcmdldCwgc3VidHJlZVJvb3QhKVxuXG4gICAgaWYgKCFmaWx0ZXIpIHtcbiAgICAgIGZpbHRlciA9IHRhcmdldEZpbHRlclxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjdXN0b21GaWx0ZXIgPSBmaWx0ZXJcbiAgICAgIGZpbHRlciA9IChjdHgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRhcmdldEZpbHRlcihjdHgpICYmIGN1c3RvbUZpbHRlcihjdHgpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgYWN0dWFsTXdhcmUgPSB7IG1pZGRsZXdhcmUsIGZpbHRlciB9XG5cbiAgbGV0IG9iak13YXJlcyA9IHBlck9iamVjdEFjdGlvbk1pZGRsZXdhcmVzLmdldChzdWJ0cmVlUm9vdCkhXG4gIGlmICghb2JqTXdhcmVzKSB7XG4gICAgb2JqTXdhcmVzID0gW2FjdHVhbE13YXJlXVxuICAgIHBlck9iamVjdEFjdGlvbk1pZGRsZXdhcmVzLnNldChzdWJ0cmVlUm9vdCwgb2JqTXdhcmVzKVxuICB9IGVsc2Uge1xuICAgIG9iak13YXJlcy5wdXNoKGFjdHVhbE13YXJlKVxuICB9XG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBkZWxldGVGcm9tQXJyYXkob2JqTXdhcmVzLCBhY3R1YWxNd2FyZSlcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFtQ0EsTUFBTSxpREFBaUM7QUFJdkMsTUFBTSx5REFBeUM7OEJBU1Y7TUFPL0IsV0FBVyxtQ0FBbUMsSUFBSSxHQUFHO01BQ3JELENBQUMsVUFBVTtlQUNGO0FBQUEsT0FDUixPQUFPO1lBQ0YsVUFBZTs7Z0JBR1gsWUFBWSxVQUFVLDJCQUEyQixJQUFJLE9BQU8sSUFBSTtjQUNsRSxDQUFDLGFBQWEsVUFBVSxVQUFVLEdBQUc7bUJBQ2hDO0FBQUE7aUJBRUYsVUFBVSxPQUFPOzs7Y0FJcEI7aUJBQ0csV0FBVyxDQUFDLFVBQVU7c0JBQ2pCLGNBQWMsT0FBTzt1QkFDcEI7O2lCQUVOO0FBQUE7WUFHTCxPQUFPO1lBQ1AsQ0FBQyxNQUFNO2lCQUNGOztjQUdILFdBQThDO0FBQUEsVUFDbEQ7Z0JBQ00sQ0FBQyxNQUFNO3FCQUNGLEVBQUUsT0FBTyxRQUFXLE1BQU07O2dCQUcvQixTQUFTLEtBQUs7Z0JBQ2QsQ0FBQyxPQUFPLE1BQU07cUJBQ1Q7QUFBQTttQkFHRjttQkFDQSxLQUFLOzs7ZUFJVDtBQUFBOzt1Q0FHd0IsSUFBSSxLQUFLLFFBQVE7QUFBQTtTQUUvQztBQUNUOzZCQVdvQztpQkFDbkIsT0FBTyxZQUFZO01BRTlCLEVBQUUsWUFBWSxRQUFRLGdCQUFnQjtzQkFFdEIsYUFBYSx3QkFBd0I7bUJBQ3hDLFlBQVksdUJBQXVCO01BQ2hELFVBQVUsT0FBTyxXQUFXLFlBQVk7VUFDcEMsUUFBUSxtREFBbUQ7QUFBQTtNQU0vRCxhQUFhO1VBQ1QsZUFBZSxDQUFDLFFBQ3BCLElBQUksV0FBVyxlQUFlLGdCQUFnQixJQUFJLFFBQVEsV0FBWTtRQUVwRSxDQUFDLFFBQVE7ZUFDRjtBQUFBLFdBQ0o7WUFDQyxlQUFlO2VBQ1osQ0FBQztlQUNELGFBQWEsR0FBRyxLQUFLLGFBQWEsR0FBRztBQUFBOzs7UUFLNUMsY0FBYyxFQUFFLFlBQVk7TUFFOUIsWUFBWSwyQkFBMkIsSUFBSSxXQUFXO01BQ3RELENBQUMsV0FBVztnQkFDRixDQUFDLFdBQVc7K0JBQ0csSUFBSSxhQUFhLFNBQVM7QUFBQSxTQUNoRDtjQUNLLEtBQUssV0FBVztBQUFBO1NBR3JCO29CQUNXLFdBQVcsV0FBVztBQUFBO0FBRTFDOzsifQ==
@@ -0,0 +1,34 @@
1
+ import { checkModelDecoratorArgs } from "../modelShared/checkModelDecoratorArgs.mjs";
2
+ import { decorateWrapMethodOrField, failure } from "../utils/index.mjs";
3
+ import { getActionNameAndContextOverride } from "./actionDecoratorUtils.mjs";
4
+ import { ActionContextActionType } from "./context.mjs";
5
+ import { isModelAction } from "./isModelAction.mjs";
6
+ import { wrapInAction } from "./wrapInAction.mjs";
7
+ function checkModelActionArgs(target, propertyKey, value) {
8
+ if (typeof value !== "function") {
9
+ throw failure("modelAction has to be used over functions");
10
+ }
11
+ checkModelDecoratorArgs("modelAction", target, propertyKey);
12
+ }
13
+ function modelAction(target, propertyKey, baseDescriptor) {
14
+ const { actionName, overrideContext } = getActionNameAndContextOverride(target, propertyKey);
15
+ return decorateWrapMethodOrField("modelAction", {
16
+ target,
17
+ propertyKey,
18
+ baseDescriptor
19
+ }, (data, fn) => {
20
+ if (isModelAction(fn)) {
21
+ return fn;
22
+ } else {
23
+ checkModelActionArgs(data.target, data.propertyKey, fn);
24
+ return wrapInAction({
25
+ nameOrNameFn: actionName,
26
+ fn,
27
+ actionType: ActionContextActionType.Sync,
28
+ overrideContext
29
+ });
30
+ }
31
+ });
32
+ }
33
+ export { modelAction };
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxBY3Rpb24ubWpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWN0aW9uL21vZGVsQWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNoZWNrTW9kZWxEZWNvcmF0b3JBcmdzIH0gZnJvbSBcIi4uL21vZGVsU2hhcmVkL2NoZWNrTW9kZWxEZWNvcmF0b3JBcmdzXCJcbmltcG9ydCB7IGRlY29yYXRlV3JhcE1ldGhvZE9yRmllbGQsIGZhaWx1cmUgfSBmcm9tIFwiLi4vdXRpbHNcIlxuaW1wb3J0IHsgZ2V0QWN0aW9uTmFtZUFuZENvbnRleHRPdmVycmlkZSB9IGZyb20gXCIuL2FjdGlvbkRlY29yYXRvclV0aWxzXCJcbmltcG9ydCB7IEFjdGlvbkNvbnRleHRBY3Rpb25UeXBlIH0gZnJvbSBcIi4vY29udGV4dFwiXG5pbXBvcnQgeyBpc01vZGVsQWN0aW9uIH0gZnJvbSBcIi4vaXNNb2RlbEFjdGlvblwiXG5pbXBvcnQgeyB3cmFwSW5BY3Rpb24gfSBmcm9tIFwiLi93cmFwSW5BY3Rpb25cIlxuXG5mdW5jdGlvbiBjaGVja01vZGVsQWN0aW9uQXJncyh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB0aHJvdyBmYWlsdXJlKFwibW9kZWxBY3Rpb24gaGFzIHRvIGJlIHVzZWQgb3ZlciBmdW5jdGlvbnNcIilcbiAgfVxuICBjaGVja01vZGVsRGVjb3JhdG9yQXJncyhcIm1vZGVsQWN0aW9uXCIsIHRhcmdldCwgcHJvcGVydHlLZXkpXG59XG5cbi8qKlxuICogRGVjb3JhdG9yIHRoYXQgdHVybnMgYSBmdW5jdGlvbiBpbnRvIGEgbW9kZWwgYWN0aW9uLlxuICpcbiAqIEBwYXJhbSB0YXJnZXRcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleVxuICogQHBhcmFtIFtiYXNlRGVzY3JpcHRvcl1cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtb2RlbEFjdGlvbihcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBzdHJpbmcsXG4gIGJhc2VEZXNjcmlwdG9yPzogUHJvcGVydHlEZXNjcmlwdG9yXG4pOiB2b2lkIHtcbiAgY29uc3QgeyBhY3Rpb25OYW1lLCBvdmVycmlkZUNvbnRleHQgfSA9IGdldEFjdGlvbk5hbWVBbmRDb250ZXh0T3ZlcnJpZGUodGFyZ2V0LCBwcm9wZXJ0eUtleSlcblxuICByZXR1cm4gZGVjb3JhdGVXcmFwTWV0aG9kT3JGaWVsZChcbiAgICBcIm1vZGVsQWN0aW9uXCIsXG4gICAge1xuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXksXG4gICAgICBiYXNlRGVzY3JpcHRvcixcbiAgICB9LFxuICAgIChkYXRhLCBmbikgPT4ge1xuICAgICAgaWYgKGlzTW9kZWxBY3Rpb24oZm4pKSB7XG4gICAgICAgIHJldHVybiBmblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hlY2tNb2RlbEFjdGlvbkFyZ3MoZGF0YS50YXJnZXQsIGRhdGEucHJvcGVydHlLZXksIGZuKVxuXG4gICAgICAgIHJldHVybiB3cmFwSW5BY3Rpb24oe1xuICAgICAgICAgIG5hbWVPck5hbWVGbjogYWN0aW9uTmFtZSxcbiAgICAgICAgICBmbixcbiAgICAgICAgICBhY3Rpb25UeXBlOiBBY3Rpb25Db250ZXh0QWN0aW9uVHlwZS5TeW5jLFxuICAgICAgICAgIG92ZXJyaWRlQ29udGV4dCxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIClcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFPQSw4QkFBOEIsUUFBYSxhQUFxQjtNQUMxRCxPQUFPLFVBQVUsWUFBWTtVQUN6QixRQUFRLDJDQUEyQztBQUFBOzBCQUVuQyxlQUFlLFFBQVEsV0FBVztBQUM1RDtxQkFXRSxRQUNBLGFBQ0E7UUFFTSxFQUFFLFlBQVksb0JBQW9CLGdDQUFnQyxRQUFRLFdBQVc7U0FFcEYsMEJBQ0wsZUFDQTtBQUFBLElBQ0U7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEtBRUYsQ0FBQyxNQUFNO1FBQ0QsY0FBYyxFQUFFLEdBQUc7YUFDZDtBQUFBLFdBQ0Y7MkJBQ2dCLEtBQUssUUFBUSxLQUFLLGFBQWEsRUFBRTthQUUvQyxhQUFhO0FBQUEsUUFDbEIsY0FBYztBQUFBLFFBQ2Q7QUFBQSxRQUNBLFlBQVksd0JBQXdCO0FBQUEsUUFDcEM7QUFBQSxPQUNEO0FBQUE7R0FFSjtBQUVMOzsifQ==