mobx-keystone 0.67.5 → 0.68.1-alpha.2

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 (542) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/es/action/actionDecoratorUtils.js +25 -0
  3. package/dist/es/action/applyAction.js +54 -0
  4. package/dist/es/action/applyDelete.js +20 -0
  5. package/dist/es/action/applyMethodCall.js +19 -0
  6. package/dist/es/action/applySet.js +25 -0
  7. package/dist/es/action/builtInActions.js +15 -0
  8. package/dist/es/action/context.js +22 -0
  9. package/dist/es/action/hookActions.js +13 -0
  10. package/dist/es/action/isModelAction.js +6 -0
  11. package/dist/es/action/middleware.js +84 -0
  12. package/dist/es/action/modelAction.js +34 -0
  13. package/dist/es/action/modelFlow.js +251 -0
  14. package/dist/es/action/pendingActions.js +30 -0
  15. package/dist/es/action/protection.js +19 -0
  16. package/dist/es/action/runUnprotected.js +24 -0
  17. package/dist/es/action/wrapInAction.js +90 -0
  18. package/dist/es/actionMiddlewares/actionSerialization/actionSerialization.js +131 -0
  19. package/dist/es/actionMiddlewares/actionSerialization/applySerializedAction.js +110 -0
  20. package/dist/es/actionMiddlewares/actionSerialization/arraySerializer.js +15 -0
  21. package/dist/es/actionMiddlewares/actionSerialization/core.js +3 -0
  22. package/dist/es/actionMiddlewares/actionSerialization/dateSerializer.js +15 -0
  23. package/dist/es/actionMiddlewares/actionSerialization/mapSerializer.js +32 -0
  24. package/dist/es/actionMiddlewares/actionSerialization/objectPathSerializer.js +33 -0
  25. package/dist/es/actionMiddlewares/actionSerialization/objectSnapshotSerializer.js +18 -0
  26. package/dist/es/actionMiddlewares/actionSerialization/plainObjectSerializer.js +27 -0
  27. package/dist/es/actionMiddlewares/actionSerialization/primitiveSerializer.js +39 -0
  28. package/dist/es/actionMiddlewares/actionSerialization/setSerializer.js +29 -0
  29. package/dist/es/actionMiddlewares/actionTrackingMiddleware.js +239 -0
  30. package/dist/es/actionMiddlewares/onActionMiddleware.js +44 -0
  31. package/dist/es/actionMiddlewares/readonlyMiddleware.js +49 -0
  32. package/dist/es/actionMiddlewares/transactionMiddleware.js +69 -0
  33. package/dist/es/actionMiddlewares/undoMiddleware.js +472 -0
  34. package/dist/es/actionMiddlewares/utils.js +25 -0
  35. package/dist/es/computedTree/computedTree.js +63 -0
  36. package/dist/es/context/context.js +141 -0
  37. package/dist/es/dataModel/BaseDataModel.js +108 -0
  38. package/dist/es/dataModel/DataModel.js +32 -0
  39. package/dist/es/dataModel/actions.js +12 -0
  40. package/dist/es/dataModel/getDataModelMetadata.js +14 -0
  41. package/dist/es/dataModel/newDataModel.js +31 -0
  42. package/dist/es/dataModel/utils.js +29 -0
  43. package/dist/es/frozen/Frozen.js +68 -0
  44. package/dist/es/globalConfig/globalConfig.js +57 -0
  45. package/dist/es/index.js +97 -0
  46. package/dist/es/model/BaseModel.js +118 -0
  47. package/dist/es/model/Model.js +36 -0
  48. package/dist/es/model/getModelMetadata.js +19 -0
  49. package/dist/es/model/metadata.js +7 -0
  50. package/dist/es/model/newModel.js +95 -0
  51. package/dist/es/model/utils.js +33 -0
  52. package/dist/es/modelShared/BaseModelShared.js +9 -0
  53. package/dist/es/modelShared/Model.js +249 -0
  54. package/dist/es/modelShared/checkModelDecoratorArgs.js +21 -0
  55. package/dist/es/modelShared/modelClassInitializer.js +14 -0
  56. package/dist/es/modelShared/modelDecorator.js +117 -0
  57. package/dist/es/modelShared/modelInfo.js +7 -0
  58. package/dist/es/modelShared/modelPropsInfo.js +9 -0
  59. package/dist/es/modelShared/modelSymbols.js +5 -0
  60. package/dist/es/modelShared/newModel.js +13 -0
  61. package/dist/es/modelShared/prop.js +138 -0
  62. package/dist/es/modelShared/utils.js +10 -0
  63. package/dist/es/parent/core.js +34 -0
  64. package/dist/es/parent/coreObjectChildren.js +98 -0
  65. package/dist/es/parent/detach.js +32 -0
  66. package/dist/es/parent/findChildren.js +16 -0
  67. package/dist/es/parent/findParent.js +30 -0
  68. package/dist/es/parent/getChildrenObjects.js +12 -0
  69. package/dist/es/parent/onChildAttachedTo.js +101 -0
  70. package/dist/es/parent/path.js +149 -0
  71. package/dist/es/parent/path2.js +12 -0
  72. package/dist/es/parent/setParent.js +83 -0
  73. package/dist/es/parent/walkTree.js +104 -0
  74. package/dist/es/patch/applyPatches.js +118 -0
  75. package/dist/es/patch/emitPatch.js +100 -0
  76. package/dist/es/patch/jsonPatch.js +60 -0
  77. package/dist/es/patch/patchRecorder.js +75 -0
  78. package/dist/es/redux/connectReduxDevTools.js +153 -0
  79. package/dist/es/redux/redux.js +60 -0
  80. package/dist/es/ref/Ref.js +38 -0
  81. package/dist/es/ref/core.js +179 -0
  82. package/dist/es/ref/customRef.js +9 -0
  83. package/dist/es/ref/rootRef.js +34 -0
  84. package/dist/es/rootStore/attachDetach.js +53 -0
  85. package/dist/es/rootStore/rootStore.js +50 -0
  86. package/dist/es/snapshot/SnapshotterAndReconcilerPriority.js +9 -0
  87. package/dist/es/snapshot/applySnapshot.js +92 -0
  88. package/dist/es/snapshot/clone.js +29 -0
  89. package/dist/es/snapshot/fromArraySnapshot.js +23 -0
  90. package/dist/es/snapshot/fromFrozenSnapshot.js +13 -0
  91. package/dist/es/snapshot/fromModelSnapshot.js +38 -0
  92. package/dist/es/snapshot/fromPlainObjectSnapshot.js +26 -0
  93. package/dist/es/snapshot/fromSnapshot.js +91 -0
  94. package/dist/es/snapshot/getSnapshot.js +27 -0
  95. package/dist/es/snapshot/internal.js +97 -0
  96. package/dist/es/snapshot/onSnapshot.js +16 -0
  97. package/dist/es/snapshot/reconcileArraySnapshot.js +40 -0
  98. package/dist/es/snapshot/reconcileFrozenSnapshot.js +19 -0
  99. package/dist/es/snapshot/reconcileModelSnapshot.js +77 -0
  100. package/dist/es/snapshot/reconcilePlainObjectSnapshot.js +47 -0
  101. package/dist/es/snapshot/reconcileSnapshot.js +49 -0
  102. package/dist/es/snapshot/registerDefaultReconcilers.js +17 -0
  103. package/dist/es/snapshot/registerDefaultSnapshotters.js +17 -0
  104. package/dist/es/standardActions/actions.js +35 -0
  105. package/dist/es/standardActions/arrayActions.js +66 -0
  106. package/dist/es/standardActions/objectActions.js +36 -0
  107. package/dist/es/standardActions/standaloneActions.js +9 -0
  108. package/dist/es/transforms/ImmutableDate.js +51 -0
  109. package/dist/es/transforms/asMap.js +29 -0
  110. package/dist/es/transforms/asSet.js +12 -0
  111. package/dist/es/transforms/bigint.js +14 -0
  112. package/dist/es/transforms/date.js +27 -0
  113. package/dist/es/treeUtils/deepEquals.js +40 -0
  114. package/dist/es/treeUtils/draft.js +116 -0
  115. package/dist/es/treeUtils/sandbox.js +158 -0
  116. package/dist/es/tweaker/TweakerPriority.js +9 -0
  117. package/dist/es/tweaker/core.js +38 -0
  118. package/dist/es/tweaker/registerDefaultTweakers.js +17 -0
  119. package/dist/es/tweaker/tweak.js +109 -0
  120. package/dist/es/tweaker/tweakArray.js +272 -0
  121. package/dist/es/tweaker/tweakFrozen.js +28 -0
  122. package/dist/es/tweaker/tweakModel.js +26 -0
  123. package/dist/es/tweaker/tweakPlainObject.js +205 -0
  124. package/dist/es/tweaker/typeChecking.js +46 -0
  125. package/dist/es/tweaker/withoutTypeChecking.js +15 -0
  126. package/dist/es/types/TypeCheckError.js +31 -0
  127. package/dist/es/types/TypeChecker.js +165 -0
  128. package/dist/es/types/arrayBased/array.js +68 -0
  129. package/dist/es/types/arrayBased/tuple.js +71 -0
  130. package/dist/es/types/getTypeInfo.js +12 -0
  131. package/dist/es/types/objectBased/arraySet.js +83 -0
  132. package/dist/es/types/objectBased/dataModelData.js +95 -0
  133. package/dist/es/types/objectBased/model.js +133 -0
  134. package/dist/es/types/objectBased/object.js +119 -0
  135. package/dist/es/types/objectBased/objectMap.js +90 -0
  136. package/dist/es/types/objectBased/record.js +80 -0
  137. package/dist/es/types/objectBased/ref.js +62 -0
  138. package/dist/es/types/primitiveBased/enum.js +20 -0
  139. package/dist/es/types/primitiveBased/primitives.js +59 -0
  140. package/dist/es/types/primitiveBased/refinedPrimitives.js +6 -0
  141. package/dist/es/types/registerDefaultStandardTypeResolvers.js +13 -0
  142. package/dist/es/types/resolveTypeChecker.js +52 -0
  143. package/dist/es/types/tProp.js +53 -0
  144. package/dist/es/types/typeCheck.js +11 -0
  145. package/dist/es/types/types.js +69 -0
  146. package/dist/es/types/utility/maybe.js +10 -0
  147. package/dist/es/types/utility/or.js +99 -0
  148. package/dist/es/types/utility/refinement.js +52 -0
  149. package/dist/es/types/utility/unchecked.js +10 -0
  150. package/dist/es/utils/ModelPool.js +50 -0
  151. package/dist/es/utils/chainFns.js +15 -0
  152. package/dist/es/utils/index.js +228 -0
  153. package/dist/es/utils/mapUtils.js +10 -0
  154. package/dist/es/utils/tag.js +16 -0
  155. package/dist/es/wrappers/ArraySet.js +85 -0
  156. package/dist/es/wrappers/ObjectMap.js +96 -0
  157. package/dist/es/wrappers/asMap.js +181 -0
  158. package/dist/es/wrappers/asSet.js +97 -0
  159. package/dist/esm/action/actionDecoratorUtils.mjs +25 -0
  160. package/dist/esm/action/applyAction.mjs +54 -0
  161. package/dist/esm/action/applyDelete.mjs +20 -0
  162. package/dist/esm/action/applyMethodCall.mjs +19 -0
  163. package/dist/esm/action/applySet.mjs +25 -0
  164. package/dist/esm/action/builtInActions.mjs +15 -0
  165. package/dist/esm/action/context.mjs +22 -0
  166. package/dist/esm/action/hookActions.mjs +13 -0
  167. package/dist/esm/action/isModelAction.mjs +6 -0
  168. package/dist/esm/action/middleware.mjs +84 -0
  169. package/dist/esm/action/modelAction.mjs +34 -0
  170. package/dist/esm/action/modelFlow.mjs +251 -0
  171. package/dist/esm/action/pendingActions.mjs +30 -0
  172. package/dist/esm/action/protection.mjs +19 -0
  173. package/dist/esm/action/runUnprotected.mjs +24 -0
  174. package/dist/esm/action/wrapInAction.mjs +90 -0
  175. package/dist/esm/actionMiddlewares/actionSerialization/actionSerialization.mjs +131 -0
  176. package/dist/esm/actionMiddlewares/actionSerialization/applySerializedAction.mjs +110 -0
  177. package/dist/esm/actionMiddlewares/actionSerialization/arraySerializer.mjs +15 -0
  178. package/dist/esm/actionMiddlewares/actionSerialization/core.mjs +3 -0
  179. package/dist/esm/actionMiddlewares/actionSerialization/dateSerializer.mjs +15 -0
  180. package/dist/esm/actionMiddlewares/actionSerialization/mapSerializer.mjs +32 -0
  181. package/dist/esm/actionMiddlewares/actionSerialization/objectPathSerializer.mjs +33 -0
  182. package/dist/esm/actionMiddlewares/actionSerialization/objectSnapshotSerializer.mjs +18 -0
  183. package/dist/esm/actionMiddlewares/actionSerialization/plainObjectSerializer.mjs +27 -0
  184. package/dist/esm/actionMiddlewares/actionSerialization/primitiveSerializer.mjs +39 -0
  185. package/dist/esm/actionMiddlewares/actionSerialization/setSerializer.mjs +29 -0
  186. package/dist/esm/actionMiddlewares/actionTrackingMiddleware.mjs +239 -0
  187. package/dist/esm/actionMiddlewares/onActionMiddleware.mjs +44 -0
  188. package/dist/esm/actionMiddlewares/readonlyMiddleware.mjs +49 -0
  189. package/dist/esm/actionMiddlewares/transactionMiddleware.mjs +69 -0
  190. package/dist/esm/actionMiddlewares/undoMiddleware.mjs +472 -0
  191. package/dist/esm/actionMiddlewares/utils.mjs +25 -0
  192. package/dist/esm/computedTree/computedTree.mjs +63 -0
  193. package/dist/esm/context/context.mjs +141 -0
  194. package/dist/esm/dataModel/BaseDataModel.mjs +108 -0
  195. package/dist/esm/dataModel/DataModel.mjs +32 -0
  196. package/dist/esm/dataModel/actions.mjs +12 -0
  197. package/dist/esm/dataModel/getDataModelMetadata.mjs +14 -0
  198. package/dist/esm/dataModel/newDataModel.mjs +31 -0
  199. package/dist/esm/dataModel/utils.mjs +29 -0
  200. package/dist/esm/frozen/Frozen.mjs +68 -0
  201. package/dist/esm/globalConfig/globalConfig.mjs +57 -0
  202. package/dist/esm/index.mjs +97 -0
  203. package/dist/esm/model/BaseModel.mjs +118 -0
  204. package/dist/esm/model/Model.mjs +36 -0
  205. package/dist/esm/model/getModelMetadata.mjs +19 -0
  206. package/dist/esm/model/metadata.mjs +7 -0
  207. package/dist/esm/model/newModel.mjs +95 -0
  208. package/dist/esm/model/utils.mjs +33 -0
  209. package/dist/esm/modelShared/BaseModelShared.mjs +9 -0
  210. package/dist/esm/modelShared/Model.mjs +249 -0
  211. package/dist/esm/modelShared/checkModelDecoratorArgs.mjs +21 -0
  212. package/dist/esm/modelShared/modelClassInitializer.mjs +14 -0
  213. package/dist/esm/modelShared/modelDecorator.mjs +117 -0
  214. package/dist/esm/modelShared/modelInfo.mjs +7 -0
  215. package/dist/esm/modelShared/modelPropsInfo.mjs +9 -0
  216. package/dist/esm/modelShared/modelSymbols.mjs +5 -0
  217. package/dist/esm/modelShared/newModel.mjs +13 -0
  218. package/dist/esm/modelShared/prop.mjs +138 -0
  219. package/dist/esm/modelShared/utils.mjs +10 -0
  220. package/dist/esm/parent/core.mjs +34 -0
  221. package/dist/esm/parent/coreObjectChildren.mjs +98 -0
  222. package/dist/esm/parent/detach.mjs +32 -0
  223. package/dist/esm/parent/findChildren.mjs +16 -0
  224. package/dist/esm/parent/findParent.mjs +30 -0
  225. package/dist/esm/parent/getChildrenObjects.mjs +12 -0
  226. package/dist/esm/parent/onChildAttachedTo.mjs +101 -0
  227. package/dist/esm/parent/path.mjs +149 -0
  228. package/dist/esm/parent/path2.mjs +12 -0
  229. package/dist/esm/parent/setParent.mjs +83 -0
  230. package/dist/esm/parent/walkTree.mjs +104 -0
  231. package/dist/esm/patch/applyPatches.mjs +118 -0
  232. package/dist/esm/patch/emitPatch.mjs +100 -0
  233. package/dist/esm/patch/jsonPatch.mjs +60 -0
  234. package/dist/esm/patch/patchRecorder.mjs +75 -0
  235. package/dist/esm/redux/connectReduxDevTools.mjs +153 -0
  236. package/dist/esm/redux/redux.mjs +60 -0
  237. package/dist/esm/ref/Ref.mjs +38 -0
  238. package/dist/esm/ref/core.mjs +179 -0
  239. package/dist/esm/ref/customRef.mjs +9 -0
  240. package/dist/esm/ref/rootRef.mjs +34 -0
  241. package/dist/esm/rootStore/attachDetach.mjs +53 -0
  242. package/dist/esm/rootStore/rootStore.mjs +50 -0
  243. package/dist/esm/snapshot/SnapshotterAndReconcilerPriority.mjs +9 -0
  244. package/dist/esm/snapshot/applySnapshot.mjs +92 -0
  245. package/dist/esm/snapshot/clone.mjs +29 -0
  246. package/dist/esm/snapshot/fromArraySnapshot.mjs +23 -0
  247. package/dist/esm/snapshot/fromFrozenSnapshot.mjs +13 -0
  248. package/dist/esm/snapshot/fromModelSnapshot.mjs +38 -0
  249. package/dist/esm/snapshot/fromPlainObjectSnapshot.mjs +26 -0
  250. package/dist/esm/snapshot/fromSnapshot.mjs +91 -0
  251. package/dist/esm/snapshot/getSnapshot.mjs +27 -0
  252. package/dist/esm/snapshot/internal.mjs +97 -0
  253. package/dist/esm/snapshot/onSnapshot.mjs +16 -0
  254. package/dist/esm/snapshot/reconcileArraySnapshot.mjs +40 -0
  255. package/dist/esm/snapshot/reconcileFrozenSnapshot.mjs +19 -0
  256. package/dist/esm/snapshot/reconcileModelSnapshot.mjs +77 -0
  257. package/dist/esm/snapshot/reconcilePlainObjectSnapshot.mjs +47 -0
  258. package/dist/esm/snapshot/reconcileSnapshot.mjs +49 -0
  259. package/dist/esm/snapshot/registerDefaultReconcilers.mjs +17 -0
  260. package/dist/esm/snapshot/registerDefaultSnapshotters.mjs +17 -0
  261. package/dist/esm/standardActions/actions.mjs +35 -0
  262. package/dist/esm/standardActions/arrayActions.mjs +66 -0
  263. package/dist/esm/standardActions/objectActions.mjs +36 -0
  264. package/dist/esm/standardActions/standaloneActions.mjs +9 -0
  265. package/dist/esm/transforms/ImmutableDate.mjs +51 -0
  266. package/dist/esm/transforms/asMap.mjs +29 -0
  267. package/dist/esm/transforms/asSet.mjs +12 -0
  268. package/dist/esm/transforms/bigint.mjs +14 -0
  269. package/dist/esm/transforms/date.mjs +27 -0
  270. package/dist/esm/treeUtils/deepEquals.mjs +40 -0
  271. package/dist/esm/treeUtils/draft.mjs +116 -0
  272. package/dist/esm/treeUtils/sandbox.mjs +158 -0
  273. package/dist/esm/tweaker/TweakerPriority.mjs +9 -0
  274. package/dist/esm/tweaker/core.mjs +38 -0
  275. package/dist/esm/tweaker/registerDefaultTweakers.mjs +17 -0
  276. package/dist/esm/tweaker/tweak.mjs +109 -0
  277. package/dist/esm/tweaker/tweakArray.mjs +272 -0
  278. package/dist/esm/tweaker/tweakFrozen.mjs +28 -0
  279. package/dist/esm/tweaker/tweakModel.mjs +26 -0
  280. package/dist/esm/tweaker/tweakPlainObject.mjs +205 -0
  281. package/dist/esm/tweaker/typeChecking.mjs +46 -0
  282. package/dist/esm/tweaker/withoutTypeChecking.mjs +15 -0
  283. package/dist/esm/types/TypeCheckError.mjs +31 -0
  284. package/dist/esm/types/TypeChecker.mjs +165 -0
  285. package/dist/esm/types/arrayBased/array.mjs +68 -0
  286. package/dist/esm/types/arrayBased/tuple.mjs +71 -0
  287. package/dist/esm/types/getTypeInfo.mjs +12 -0
  288. package/dist/esm/types/objectBased/arraySet.mjs +83 -0
  289. package/dist/esm/types/objectBased/dataModelData.mjs +95 -0
  290. package/dist/esm/types/objectBased/model.mjs +133 -0
  291. package/dist/esm/types/objectBased/object.mjs +119 -0
  292. package/dist/esm/types/objectBased/objectMap.mjs +90 -0
  293. package/dist/esm/types/objectBased/record.mjs +80 -0
  294. package/dist/esm/types/objectBased/ref.mjs +62 -0
  295. package/dist/esm/types/primitiveBased/enum.mjs +20 -0
  296. package/dist/esm/types/primitiveBased/primitives.mjs +59 -0
  297. package/dist/esm/types/primitiveBased/refinedPrimitives.mjs +6 -0
  298. package/dist/esm/types/registerDefaultStandardTypeResolvers.mjs +13 -0
  299. package/dist/esm/types/resolveTypeChecker.mjs +52 -0
  300. package/dist/esm/types/tProp.mjs +53 -0
  301. package/dist/esm/types/typeCheck.mjs +11 -0
  302. package/dist/esm/types/types.mjs +69 -0
  303. package/dist/esm/types/utility/maybe.mjs +10 -0
  304. package/dist/esm/types/utility/or.mjs +99 -0
  305. package/dist/esm/types/utility/refinement.mjs +52 -0
  306. package/dist/esm/types/utility/unchecked.mjs +10 -0
  307. package/dist/esm/utils/ModelPool.mjs +50 -0
  308. package/dist/esm/utils/chainFns.mjs +15 -0
  309. package/dist/esm/utils/index.mjs +228 -0
  310. package/dist/esm/utils/mapUtils.mjs +10 -0
  311. package/dist/esm/utils/tag.mjs +16 -0
  312. package/dist/esm/wrappers/ArraySet.mjs +85 -0
  313. package/dist/esm/wrappers/ObjectMap.mjs +96 -0
  314. package/dist/esm/wrappers/asMap.mjs +181 -0
  315. package/dist/esm/wrappers/asSet.mjs +97 -0
  316. package/dist/mobx-keystone.umd.js +5460 -5463
  317. package/dist/{action → types/action}/actionDecoratorUtils.d.ts +0 -0
  318. package/dist/{action → types/action}/applyAction.d.ts +0 -0
  319. package/dist/{action → types/action}/applyDelete.d.ts +0 -0
  320. package/dist/{action → types/action}/applyMethodCall.d.ts +0 -0
  321. package/dist/{action → types/action}/applySet.d.ts +0 -0
  322. package/dist/{action → types/action}/builtInActions.d.ts +0 -0
  323. package/dist/{action → types/action}/context.d.ts +0 -0
  324. package/dist/{action → types/action}/hookActions.d.ts +0 -0
  325. package/dist/{action → types/action}/index.d.ts +0 -0
  326. package/dist/{action → types/action}/isModelAction.d.ts +0 -0
  327. package/dist/{action → types/action}/middleware.d.ts +0 -0
  328. package/dist/{action → types/action}/modelAction.d.ts +0 -0
  329. package/dist/{action → types/action}/modelFlow.d.ts +0 -0
  330. package/dist/{action → types/action}/pendingActions.d.ts +0 -0
  331. package/dist/{action → types/action}/protection.d.ts +0 -0
  332. package/dist/{action → types/action}/runUnprotected.d.ts +0 -0
  333. package/dist/{action → types/action}/wrapInAction.d.ts +0 -0
  334. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/actionSerialization.d.ts +0 -0
  335. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/applySerializedAction.d.ts +0 -0
  336. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/arraySerializer.d.ts +0 -0
  337. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/core.d.ts +0 -0
  338. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/dateSerializer.d.ts +0 -0
  339. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/index.d.ts +0 -0
  340. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/mapSerializer.d.ts +0 -0
  341. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/objectPathSerializer.d.ts +0 -0
  342. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/objectSnapshotSerializer.d.ts +0 -0
  343. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/plainObjectSerializer.d.ts +0 -0
  344. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/primitiveSerializer.d.ts +0 -0
  345. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionSerialization/setSerializer.d.ts +0 -0
  346. package/dist/{actionMiddlewares → types/actionMiddlewares}/actionTrackingMiddleware.d.ts +0 -0
  347. package/dist/{actionMiddlewares → types/actionMiddlewares}/index.d.ts +0 -0
  348. package/dist/{actionMiddlewares → types/actionMiddlewares}/onActionMiddleware.d.ts +0 -0
  349. package/dist/{actionMiddlewares → types/actionMiddlewares}/readonlyMiddleware.d.ts +0 -0
  350. package/dist/{actionMiddlewares → types/actionMiddlewares}/transactionMiddleware.d.ts +0 -0
  351. package/dist/{actionMiddlewares → types/actionMiddlewares}/undoMiddleware.d.ts +0 -0
  352. package/dist/{actionMiddlewares → types/actionMiddlewares}/utils.d.ts +0 -0
  353. package/dist/{computedTree → types/computedTree}/computedTree.d.ts +0 -0
  354. package/dist/{computedTree → types/computedTree}/index.d.ts +0 -0
  355. package/dist/{context → types/context}/context.d.ts +0 -0
  356. package/dist/{context → types/context}/index.d.ts +0 -0
  357. package/dist/{dataModel → types/dataModel}/BaseDataModel.d.ts +0 -0
  358. package/dist/{dataModel → types/dataModel}/DataModel.d.ts +0 -0
  359. package/dist/{dataModel → types/dataModel}/DataModelConstructorOptions.d.ts +0 -0
  360. package/dist/{dataModel → types/dataModel}/actions.d.ts +0 -0
  361. package/dist/{dataModel → types/dataModel}/getDataModelMetadata.d.ts +0 -0
  362. package/dist/{dataModel → types/dataModel}/index.d.ts +0 -0
  363. package/dist/{dataModel → types/dataModel}/newDataModel.d.ts +0 -0
  364. package/dist/{dataModel → types/dataModel}/utils.d.ts +0 -0
  365. package/dist/{frozen → types/frozen}/Frozen.d.ts +0 -0
  366. package/dist/{frozen → types/frozen}/index.d.ts +0 -0
  367. package/dist/{globalConfig → types/globalConfig}/globalConfig.d.ts +0 -0
  368. package/dist/{globalConfig → types/globalConfig}/index.d.ts +0 -0
  369. package/dist/types/index.d.ts +22 -4
  370. package/dist/{model → types/model}/BaseModel.d.ts +0 -0
  371. package/dist/{model → types/model}/Model.d.ts +0 -0
  372. package/dist/{model → types/model}/ModelConstructorOptions.d.ts +0 -0
  373. package/dist/{model → types/model}/getModelMetadata.d.ts +0 -0
  374. package/dist/{model → types/model}/index.d.ts +0 -0
  375. package/dist/{model → types/model}/metadata.d.ts +0 -0
  376. package/dist/{model → types/model}/newModel.d.ts +0 -0
  377. package/dist/{model → types/model}/utils.d.ts +1 -1
  378. package/dist/{modelShared → types/modelShared}/BaseModelShared.d.ts +0 -0
  379. package/dist/{modelShared → types/modelShared}/Model.d.ts +0 -0
  380. package/dist/{modelShared → types/modelShared}/checkModelDecoratorArgs.d.ts +0 -0
  381. package/dist/{modelShared → types/modelShared}/index.d.ts +0 -0
  382. package/dist/{modelShared → types/modelShared}/modelClassInitializer.d.ts +0 -0
  383. package/dist/{modelShared → types/modelShared}/modelDecorator.d.ts +0 -0
  384. package/dist/{modelShared → types/modelShared}/modelInfo.d.ts +0 -0
  385. package/dist/{modelShared → types/modelShared}/modelPropsInfo.d.ts +0 -0
  386. package/dist/{modelShared → types/modelShared}/modelSymbols.d.ts +0 -0
  387. package/dist/{modelShared → types/modelShared}/newModel.d.ts +0 -0
  388. package/dist/{modelShared → types/modelShared}/prop.d.ts +0 -0
  389. package/dist/{modelShared → types/modelShared}/utils.d.ts +0 -0
  390. package/dist/{parent → types/parent}/core.d.ts +0 -0
  391. package/dist/{parent → types/parent}/coreObjectChildren.d.ts +0 -0
  392. package/dist/{parent → types/parent}/detach.d.ts +0 -0
  393. package/dist/{parent → types/parent}/findChildren.d.ts +0 -0
  394. package/dist/{parent → types/parent}/findParent.d.ts +0 -0
  395. package/dist/{parent → types/parent}/getChildrenObjects.d.ts +0 -0
  396. package/dist/{parent → types/parent}/index.d.ts +0 -0
  397. package/dist/{parent → types/parent}/onChildAttachedTo.d.ts +0 -0
  398. package/dist/{parent → types/parent}/path.d.ts +0 -0
  399. package/dist/{parent → types/parent}/path2.d.ts +0 -0
  400. package/dist/{parent → types/parent}/pathTypes.d.ts +0 -0
  401. package/dist/{parent → types/parent}/setParent.d.ts +0 -0
  402. package/dist/{parent → types/parent}/walkTree.d.ts +0 -0
  403. package/dist/{patch → types/patch}/Patch.d.ts +0 -0
  404. package/dist/{patch → types/patch}/applyPatches.d.ts +0 -0
  405. package/dist/{patch → types/patch}/emitPatch.d.ts +0 -0
  406. package/dist/{patch → types/patch}/index.d.ts +0 -0
  407. package/dist/{patch → types/patch}/jsonPatch.d.ts +0 -0
  408. package/dist/{patch → types/patch}/patchRecorder.d.ts +0 -0
  409. package/dist/{redux → types/redux}/connectReduxDevTools.d.ts +0 -0
  410. package/dist/{redux → types/redux}/index.d.ts +0 -0
  411. package/dist/{redux → types/redux}/redux.d.ts +0 -0
  412. package/dist/{ref → types/ref}/Ref.d.ts +0 -0
  413. package/dist/{ref → types/ref}/core.d.ts +0 -0
  414. package/dist/{ref → types/ref}/customRef.d.ts +0 -0
  415. package/dist/{ref → types/ref}/index.d.ts +0 -0
  416. package/dist/{ref → types/ref}/rootRef.d.ts +0 -0
  417. package/dist/{rootStore → types/rootStore}/attachDetach.d.ts +0 -0
  418. package/dist/{rootStore → types/rootStore}/index.d.ts +0 -0
  419. package/dist/{rootStore → types/rootStore}/rootStore.d.ts +0 -0
  420. package/dist/{snapshot → types/snapshot}/SnapshotOf.d.ts +0 -0
  421. package/dist/{snapshot → types/snapshot}/SnapshotterAndReconcilerPriority.d.ts +0 -0
  422. package/dist/{snapshot → types/snapshot}/applySnapshot.d.ts +0 -0
  423. package/dist/{snapshot → types/snapshot}/clone.d.ts +0 -0
  424. package/dist/{snapshot → types/snapshot}/fromArraySnapshot.d.ts +0 -0
  425. package/dist/{snapshot → types/snapshot}/fromFrozenSnapshot.d.ts +0 -0
  426. package/dist/{snapshot → types/snapshot}/fromModelSnapshot.d.ts +0 -0
  427. package/dist/{snapshot → types/snapshot}/fromPlainObjectSnapshot.d.ts +0 -0
  428. package/dist/{snapshot → types/snapshot}/fromSnapshot.d.ts +0 -0
  429. package/dist/{snapshot → types/snapshot}/getSnapshot.d.ts +0 -0
  430. package/dist/types/snapshot/index.d.ts +6 -0
  431. package/dist/{snapshot → types/snapshot}/internal.d.ts +0 -0
  432. package/dist/{snapshot → types/snapshot}/onSnapshot.d.ts +0 -0
  433. package/dist/{snapshot → types/snapshot}/reconcileArraySnapshot.d.ts +0 -0
  434. package/dist/{snapshot → types/snapshot}/reconcileFrozenSnapshot.d.ts +0 -0
  435. package/dist/{snapshot → types/snapshot}/reconcileModelSnapshot.d.ts +0 -0
  436. package/dist/{snapshot → types/snapshot}/reconcilePlainObjectSnapshot.d.ts +0 -0
  437. package/dist/{snapshot → types/snapshot}/reconcileSnapshot.d.ts +0 -0
  438. package/dist/{dataModel/_BaseDataModel.d.ts → types/snapshot/registerDefaultReconcilers.d.ts} +0 -0
  439. package/dist/{model/_BaseModel.d.ts → types/snapshot/registerDefaultSnapshotters.d.ts} +0 -0
  440. package/dist/{standardActions → types/standardActions}/actions.d.ts +0 -0
  441. package/dist/{standardActions → types/standardActions}/arrayActions.d.ts +0 -0
  442. package/dist/{standardActions → types/standardActions}/index.d.ts +0 -0
  443. package/dist/{standardActions → types/standardActions}/objectActions.d.ts +0 -0
  444. package/dist/{standardActions → types/standardActions}/standaloneActions.d.ts +0 -0
  445. package/dist/{transforms → types/transforms}/ImmutableDate.d.ts +0 -0
  446. package/dist/{transforms → types/transforms}/asMap.d.ts +0 -0
  447. package/dist/{transforms → types/transforms}/asSet.d.ts +0 -0
  448. package/dist/{transforms → types/transforms}/bigint.d.ts +0 -0
  449. package/dist/{transforms → types/transforms}/date.d.ts +0 -0
  450. package/dist/{transforms → types/transforms}/index.d.ts +0 -0
  451. package/dist/{treeUtils → types/treeUtils}/deepEquals.d.ts +0 -0
  452. package/dist/{treeUtils → types/treeUtils}/draft.d.ts +0 -0
  453. package/dist/{treeUtils → types/treeUtils}/index.d.ts +0 -0
  454. package/dist/{treeUtils → types/treeUtils}/sandbox.d.ts +0 -0
  455. package/dist/{tweaker → types/tweaker}/TweakerPriority.d.ts +0 -0
  456. package/dist/{tweaker → types/tweaker}/core.d.ts +0 -0
  457. package/dist/types/tweaker/index.d.ts +2 -0
  458. package/dist/{tweaker/tweakArray.d.ts → types/tweaker/registerDefaultTweakers.d.ts} +0 -0
  459. package/dist/{tweaker → types/tweaker}/tweak.d.ts +0 -0
  460. package/dist/{tweaker/tweakFrozen.d.ts → types/tweaker/tweakArray.d.ts} +0 -0
  461. package/dist/{tweaker/tweakModel.d.ts → types/tweaker/tweakFrozen.d.ts} +0 -0
  462. package/dist/{tweaker/tweakPlainObject.d.ts → types/tweaker/tweakModel.d.ts} +0 -0
  463. package/dist/{tweaker/typeChecking.d.ts → types/tweaker/tweakPlainObject.d.ts} +0 -0
  464. package/dist/types/{resolveTypeChecker.d.ts → tweaker/typeChecking.d.ts} +0 -0
  465. package/dist/{tweaker → types/tweaker}/withoutTypeChecking.d.ts +0 -0
  466. package/dist/types/{TypeCheckError.d.ts → types/TypeCheckError.d.ts} +0 -0
  467. package/dist/types/{TypeChecker.d.ts → types/TypeChecker.d.ts} +0 -0
  468. package/dist/types/{arrayBased → types/arrayBased}/array.d.ts +0 -0
  469. package/dist/types/{arrayBased → types/arrayBased}/tuple.d.ts +0 -0
  470. package/dist/types/{getTypeInfo.d.ts → types/getTypeInfo.d.ts} +0 -0
  471. package/dist/types/types/index.d.ts +5 -0
  472. package/dist/types/{objectBased → types/objectBased}/arraySet.d.ts +0 -0
  473. package/dist/types/{objectBased → types/objectBased}/dataModelData.d.ts +0 -0
  474. package/dist/types/{objectBased → types/objectBased}/model.d.ts +0 -0
  475. package/dist/types/{objectBased → types/objectBased}/object.d.ts +0 -0
  476. package/dist/types/{objectBased → types/objectBased}/objectMap.d.ts +0 -0
  477. package/dist/types/{objectBased → types/objectBased}/record.d.ts +0 -0
  478. package/dist/types/{objectBased → types/objectBased}/ref.d.ts +0 -0
  479. package/dist/types/{primitiveBased → types/primitiveBased}/enum.d.ts +0 -0
  480. package/dist/types/{primitiveBased → types/primitiveBased}/primitives.d.ts +0 -0
  481. package/dist/types/{primitiveBased → types/primitiveBased}/refinedPrimitives.d.ts +0 -0
  482. package/dist/types/types/registerDefaultStandardTypeResolvers.d.ts +1 -0
  483. package/dist/types/types/resolveTypeChecker.d.ts +1 -0
  484. package/dist/types/{schemas.d.ts → types/schemas.d.ts} +0 -0
  485. package/dist/types/{tProp.d.ts → types/tProp.d.ts} +0 -0
  486. package/dist/types/{typeCheck.d.ts → types/typeCheck.d.ts} +0 -0
  487. package/dist/types/{types.d.ts → types/types.d.ts} +0 -0
  488. package/dist/types/{utility → types/utility}/maybe.d.ts +0 -0
  489. package/dist/types/{utility → types/utility}/or.d.ts +0 -0
  490. package/dist/types/{utility → types/utility}/refinement.d.ts +0 -0
  491. package/dist/types/{utility → types/utility}/unchecked.d.ts +0 -0
  492. package/dist/{utils → types/utils}/ModelPool.d.ts +0 -0
  493. package/dist/{utils → types/utils}/chainFns.d.ts +0 -0
  494. package/dist/{utils → types/utils}/index.d.ts +0 -0
  495. package/dist/{utils → types/utils}/mapUtils.d.ts +0 -0
  496. package/dist/{utils → types/utils}/tag.d.ts +0 -0
  497. package/dist/{utils → types/utils}/types.d.ts +0 -0
  498. package/dist/{wrappers → types/wrappers}/ArraySet.d.ts +0 -0
  499. package/dist/{wrappers → types/wrappers}/ObjectMap.d.ts +0 -0
  500. package/dist/{wrappers → types/wrappers}/asMap.d.ts +0 -0
  501. package/dist/{wrappers → types/wrappers}/asSet.d.ts +0 -0
  502. package/dist/{wrappers → types/wrappers}/index.d.ts +0 -0
  503. package/package.json +12 -11
  504. package/src/actionMiddlewares/actionSerialization/actionSerialization.ts +24 -9
  505. package/src/dataModel/BaseDataModel.ts +0 -3
  506. package/src/dataModel/utils.ts +4 -4
  507. package/src/model/BaseModel.ts +0 -3
  508. package/src/model/utils.ts +4 -5
  509. package/src/modelShared/checkModelDecoratorArgs.ts +6 -6
  510. package/src/parent/setParent.ts +2 -2
  511. package/src/rootStore/attachDetach.ts +2 -3
  512. package/src/snapshot/fromArraySnapshot.ts +11 -6
  513. package/src/snapshot/fromFrozenSnapshot.ts +11 -6
  514. package/src/snapshot/fromModelSnapshot.ts +11 -6
  515. package/src/snapshot/fromPlainObjectSnapshot.ts +11 -6
  516. package/src/snapshot/fromSnapshot.ts +3 -0
  517. package/src/snapshot/index.ts +0 -10
  518. package/src/snapshot/reconcileArraySnapshot.ts +11 -6
  519. package/src/snapshot/reconcileFrozenSnapshot.ts +11 -6
  520. package/src/snapshot/reconcileModelSnapshot.ts +11 -6
  521. package/src/snapshot/reconcilePlainObjectSnapshot.ts +11 -6
  522. package/src/snapshot/reconcileSnapshot.ts +3 -0
  523. package/src/snapshot/registerDefaultReconcilers.ts +21 -0
  524. package/src/snapshot/registerDefaultSnapshotters.ts +21 -0
  525. package/src/tweaker/index.ts +0 -6
  526. package/src/tweaker/registerDefaultTweakers.ts +21 -0
  527. package/src/tweaker/tweak.ts +3 -0
  528. package/src/tweaker/tweakArray.ts +406 -401
  529. package/src/tweaker/tweakFrozen.ts +11 -6
  530. package/src/tweaker/tweakModel.ts +11 -6
  531. package/src/tweaker/tweakPlainObject.ts +288 -283
  532. package/src/types/objectBased/model.ts +6 -1
  533. package/src/types/primitiveBased/primitives.ts +177 -166
  534. package/src/types/registerDefaultStandardTypeResolvers.ts +17 -0
  535. package/src/types/resolveTypeChecker.ts +7 -1
  536. package/dist/index.d.ts +0 -23
  537. package/dist/mobx-keystone.es.js +0 -7856
  538. package/dist/mobx-keystone.es.mjs +0 -7856
  539. package/dist/snapshot/index.d.ts +0 -14
  540. package/dist/tweaker/index.d.ts +0 -6
  541. package/src/dataModel/_BaseDataModel.ts +0 -15
  542. package/src/model/_BaseModel.ts +0 -15
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.68.0
4
+
5
+ - Removed side effects to improve the tree-shakeability of the library.
6
+
3
7
  ## 0.67.5
4
8
 
5
9
  - Fixed a bug so `$modelType` should no longer be needed when it is defined with `tProp`.
@@ -0,0 +1,25 @@
1
+ import { setDataModelAction } from "../dataModel/actions.js";
2
+ import { isDataModelClass, isDataModel } from "../dataModel/utils.js";
3
+ import { modelInfoByClass } from "../modelShared/modelInfo.js";
4
+ import { runAfterModelDecoratorSymbol } from "../modelShared/modelSymbols.js";
5
+ import { addLateInitializationFunction } from "../utils/index.js";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uRGVjb3JhdG9yVXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY3Rpb24vYWN0aW9uRGVjb3JhdG9yVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2V0RGF0YU1vZGVsQWN0aW9uIH0gZnJvbSBcIi4uL2RhdGFNb2RlbC9hY3Rpb25zXCJcbmltcG9ydCB7IGlzRGF0YU1vZGVsLCBpc0RhdGFNb2RlbENsYXNzIH0gZnJvbSBcIi4uL2RhdGFNb2RlbC91dGlsc1wiXG5pbXBvcnQgeyBtb2RlbEluZm9CeUNsYXNzIH0gZnJvbSBcIi4uL21vZGVsU2hhcmVkL21vZGVsSW5mb1wiXG5pbXBvcnQgeyBydW5BZnRlck1vZGVsRGVjb3JhdG9yU3ltYm9sIH0gZnJvbSBcIi4uL21vZGVsU2hhcmVkL21vZGVsU3ltYm9sc1wiXG5pbXBvcnQgeyBhZGRMYXRlSW5pdGlhbGl6YXRpb25GdW5jdGlvbiB9IGZyb20gXCIuLi91dGlsc1wiXG5pbXBvcnQgeyBXcmFwSW5BY3Rpb25PdmVycmlkZUNvbnRleHRGbiB9IGZyb20gXCIuL3dyYXBJbkFjdGlvblwiXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBY3Rpb25OYW1lQW5kQ29udGV4dE92ZXJyaWRlKFxuICB0YXJnZXQ6IGFueSxcbiAgcHJvcGVydHlLZXk6IHN0cmluZ1xuKToge1xuICBhY3Rpb25OYW1lOiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKVxuICBvdmVycmlkZUNvbnRleHQ6IFdyYXBJbkFjdGlvbk92ZXJyaWRlQ29udGV4dEZuIHwgdW5kZWZpbmVkXG59IHtcbiAgbGV0IGFjdGlvbk5hbWU6IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpID0gcHJvcGVydHlLZXlcbiAgbGV0IG92ZXJyaWRlQ29udGV4dDogV3JhcEluQWN0aW9uT3ZlcnJpZGVDb250ZXh0Rm4gfCB1bmRlZmluZWRcblxuICBpZiAoaXNEYXRhTW9kZWxDbGFzcyh0YXJnZXQpIHx8IGlzRGF0YU1vZGVsKHRhcmdldCkpIHtcbiAgICBvdmVycmlkZUNvbnRleHQgPSAoY3R4LCBzZWxmKSA9PiB7XG4gICAgICBjdHgudGFyZ2V0ID0gc2VsZi4kXG4gICAgfVxuXG4gICAgbGV0IGZ1bGxBY3Rpb25OYW1lOiBzdHJpbmdcbiAgICBhY3Rpb25OYW1lID0gKCkgPT4gZnVsbEFjdGlvbk5hbWVcblxuICAgIGNvbnN0IG1vZGVsQ2xhc3M6IGFueSA9IGlzRGF0YU1vZGVsQ2xhc3ModGFyZ2V0KSA/IHRhcmdldCA6IHRhcmdldC5jb25zdHJ1Y3RvclxuXG4gICAgYWRkTGF0ZUluaXRpYWxpemF0aW9uRnVuY3Rpb24obW9kZWxDbGFzcywgcnVuQWZ0ZXJNb2RlbERlY29yYXRvclN5bWJvbCwgKGZpbmFsQ2xhc3MpID0+IHtcbiAgICAgIGNvbnN0IG1vZGVsSW5mbyA9IG1vZGVsSW5mb0J5Q2xhc3MuZ2V0KGZpbmFsQ2xhc3MpIVxuICAgICAgZnVsbEFjdGlvbk5hbWUgPSBgZm46OiR7bW9kZWxJbmZvLm5hbWV9Ojoke3Byb3BlcnR5S2V5fWBcbiAgICAgIHNldERhdGFNb2RlbEFjdGlvbihmdWxsQWN0aW9uTmFtZSwgbW9kZWxJbmZvLmNsYXNzLCBwcm9wZXJ0eUtleSlcbiAgICB9KVxuICB9XG4gIHJldHVybiB7IGFjdGlvbk5hbWUsIG92ZXJyaWRlQ29udGV4dCB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7eUNBUUUsUUFDQTtNQUtJLGFBQXNDO01BQ3RDO01BRUEsaUJBQWlCLE1BQU0sS0FBSyxZQUFZLE1BQU0sR0FBRztzQkFDakMsQ0FBQyxLQUFLO1VBQ2xCLFNBQVMsS0FBSztBQUFBO1FBR2hCO2lCQUNTLE1BQU07VUFFYixhQUFrQixpQkFBaUIsTUFBTSxJQUFJLFNBQVMsT0FBTztrQ0FFckMsWUFBWSw4QkFBOEIsQ0FBQztZQUNqRSxZQUFZLGlCQUFpQixJQUFJLFVBQVU7dUJBQ2hDLE9BQU8sVUFBVSxTQUFTO3lCQUN4QixnQkFBZ0IsVUFBVSxPQUFPLFdBQVc7QUFBQSxLQUNoRTtBQUFBO1NBRUksRUFBRSxZQUFZO0FBQ3ZCOzsifQ==
@@ -0,0 +1,54 @@
1
+ import { getDataModelAction } from "../dataModel/actions.js";
2
+ import { detach } from "../parent/detach.js";
3
+ import { resolvePathCheckingIds } from "../parent/path.js";
4
+ import { applyPatches } from "../patch/applyPatches.js";
5
+ import { applySnapshot } from "../snapshot/applySnapshot.js";
6
+ import { getStandaloneAction } from "../standardActions/actions.js";
7
+ import { assertTweakedObject } from "../tweaker/core.js";
8
+ import { failure } from "../utils/index.js";
9
+ import { applyDelete } from "./applyDelete.js";
10
+ import { applyMethodCall } from "./applyMethodCall.js";
11
+ import { applySet } from "./applySet.js";
12
+ import { BuiltInAction, isBuiltInAction } from "./builtInActions.js";
13
+ import { isHookAction } from "./hookActions.js";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlBY3Rpb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY3Rpb24vYXBwbHlBY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RGF0YU1vZGVsQWN0aW9uIH0gZnJvbSBcIi4uL2RhdGFNb2RlbC9hY3Rpb25zXCJcbmltcG9ydCB7IGRldGFjaCB9IGZyb20gXCIuLi9wYXJlbnQvZGV0YWNoXCJcbmltcG9ydCB7IHJlc29sdmVQYXRoQ2hlY2tpbmdJZHMgfSBmcm9tIFwiLi4vcGFyZW50L3BhdGhcIlxuaW1wb3J0IHsgUGF0aCB9IGZyb20gXCIuLi9wYXJlbnQvcGF0aFR5cGVzXCJcbmltcG9ydCB7IGFwcGx5UGF0Y2hlcyB9IGZyb20gXCIuLi9wYXRjaC9hcHBseVBhdGNoZXNcIlxuaW1wb3J0IHsgYXBwbHlTbmFwc2hvdCB9IGZyb20gXCIuLi9zbmFwc2hvdC9hcHBseVNuYXBzaG90XCJcbmltcG9ydCB7IGdldFN0YW5kYWxvbmVBY3Rpb24gfSBmcm9tIFwiLi4vc3RhbmRhcmRBY3Rpb25zL2FjdGlvbnNcIlxuaW1wb3J0IHsgYXNzZXJ0VHdlYWtlZE9iamVjdCB9IGZyb20gXCIuLi90d2Vha2VyL2NvcmVcIlxuaW1wb3J0IHsgZmFpbHVyZSB9IGZyb20gXCIuLi91dGlsc1wiXG5pbXBvcnQgeyBhcHBseURlbGV0ZSB9IGZyb20gXCIuL2FwcGx5RGVsZXRlXCJcbmltcG9ydCB7IGFwcGx5TWV0aG9kQ2FsbCB9IGZyb20gXCIuL2FwcGx5TWV0aG9kQ2FsbFwiXG5pbXBvcnQgeyBhcHBseVNldCB9IGZyb20gXCIuL2FwcGx5U2V0XCJcbmltcG9ydCB7IEJ1aWx0SW5BY3Rpb24sIGlzQnVpbHRJbkFjdGlvbiB9IGZyb20gXCIuL2J1aWx0SW5BY3Rpb25zXCJcbmltcG9ydCB7IGlzSG9va0FjdGlvbiB9IGZyb20gXCIuL2hvb2tBY3Rpb25zXCJcblxuLyoqXG4gKiBBbiBhY3Rpb24gY2FsbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25DYWxsIHtcbiAgLyoqXG4gICAqIEFjdGlvbiBuYW1lIChuYW1lIG9mIHRoZSBmdW5jdGlvbikuXG4gICAqL1xuICByZWFkb25seSBhY3Rpb25OYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogQWN0aW9uIGFyZ3VtZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGFyZ3M6IFJlYWRvbmx5QXJyYXk8YW55PlxuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBtb2RlbCB3aGVyZSB0aGUgYWN0aW9uIHdpbGwgYmUgcnVuLCBhcyBhbiBhcnJheSBvZiBzdHJpbmcgfCBudW1iZXIuXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRQYXRoOiBQYXRoXG5cbiAgLyoqXG4gICAqIElkcyBvZiBtb2RlbHMgYWxvbmcgdGhlIHBhdGggdG8gdGhlIHRhcmdldCwgbnVsbCBpZiBpdCBpcyBub3QgYSBtb2RlbC5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldFBhdGhJZHM6IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVsbD5cblxuICAvKipcbiAgICogTWFya3MgdGhpcyBhY3Rpb24gY2FsbCBhcyBub24tc2VyaWFsaXplZC5cbiAgICovXG4gIHJlYWRvbmx5IHNlcmlhbGl6ZWQ/OiB1bmRlZmluZWRcbn1cblxuY29uc3QgYnVpbHRJbkFjdGlvblRvRnVuY3Rpb24gPSB7XG4gIFtCdWlsdEluQWN0aW9uLkFwcGx5U25hcHNob3RdOiBhcHBseVNuYXBzaG90LFxuICBbQnVpbHRJbkFjdGlvbi5BcHBseVBhdGNoZXNdOiBhcHBseVBhdGNoZXMsXG4gIFtCdWlsdEluQWN0aW9uLkRldGFjaF06IGRldGFjaCxcbiAgW0J1aWx0SW5BY3Rpb24uQXBwbHlTZXRdOiBhcHBseVNldCxcbiAgW0J1aWx0SW5BY3Rpb24uQXBwbHlEZWxldGVdOiBhcHBseURlbGV0ZSxcbiAgW0J1aWx0SW5BY3Rpb24uQXBwbHlNZXRob2RDYWxsXTogYXBwbHlNZXRob2RDYWxsLFxufVxuXG4vKipcbiAqIEFwcGxpZXMgKHJ1bnMpIGFuIGFjdGlvbiBvdmVyIGEgdGFyZ2V0IG9iamVjdC5cbiAqXG4gKiBJZiB5b3UgaW50ZW5kIHRvIGFwcGx5IHNlcmlhbGl6ZWQgYWN0aW9ucyBjaGVjayBvbmUgb2YgdGhlIGBhcHBseVNlcmlhbGl6ZWRBY3Rpb25gIG1ldGhvZHMgaW5zdGVhZC5cbiAqXG4gKiBAcGFyYW0gc3VidHJlZVJvb3QgU3VidHJlZSByb290IHRhcmdldCBvYmplY3QgdG8gcnVuIHRoZSBhY3Rpb24gb3Zlci5cbiAqIEBwYXJhbSBjYWxsIFRoZSBhY3Rpb24sIHVzdWFsbHkgYXMgY29taW5nIGZyb20gYG9uQWN0aW9uTWlkZGxld2FyZWAuXG4gKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBhY3Rpb24sIGlmIGFueS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5QWN0aW9uPFRSZXQgPSBhbnk+KHN1YnRyZWVSb290OiBvYmplY3QsIGNhbGw6IEFjdGlvbkNhbGwpOiBUUmV0IHtcbiAgaWYgKGNhbGwuc2VyaWFsaXplZCkge1xuICAgIHRocm93IGZhaWx1cmUoXG4gICAgICBcImNhbm5vdCBhcHBseSBhIHNlcmlhbGl6ZWQgYWN0aW9uIGNhbGwsIHVzZSBvbmUgb2YgdGhlICdhcHBseVNlcmlhbGl6ZWRBY3Rpb24nIG1ldGhvZHMgaW5zdGVhZFwiXG4gICAgKVxuICB9XG5cbiAgYXNzZXJ0VHdlYWtlZE9iamVjdChzdWJ0cmVlUm9vdCwgXCJzdWJ0cmVlUm9vdFwiKVxuXG4gIC8vIHJlc29sdmUgcGF0aCB3aGlsZSBjaGVja2luZyBpZHNcbiAgY29uc3QgeyB2YWx1ZTogY3VycmVudCwgcmVzb2x2ZWQgfSA9IHJlc29sdmVQYXRoQ2hlY2tpbmdJZHMoXG4gICAgc3VidHJlZVJvb3QsXG4gICAgY2FsbC50YXJnZXRQYXRoLFxuICAgIGNhbGwudGFyZ2V0UGF0aElkc1xuICApXG4gIGlmICghcmVzb2x2ZWQpIHtcbiAgICB0aHJvdyBmYWlsdXJlKFxuICAgICAgYG9iamVjdCBhdCBwYXRoICR7SlNPTi5zdHJpbmdpZnkoY2FsbC50YXJnZXRQYXRoKX0gd2l0aCBpZHMgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgY2FsbC50YXJnZXRQYXRoSWRzXG4gICAgICApfSBjb3VsZCBub3QgYmUgcmVzb2x2ZWRgXG4gICAgKVxuICB9XG4gIGFzc2VydFR3ZWFrZWRPYmplY3QoY3VycmVudCwgYHJlc29sdmVkICR7Y3VycmVudH1gLCB0cnVlKVxuXG4gIGlmIChpc0J1aWx0SW5BY3Rpb24oY2FsbC5hY3Rpb25OYW1lKSkge1xuICAgIGNvbnN0IGZuVG9DYWxsOiAoLi4uYXJnczogYW55W10pID0+IGFueSA9IGJ1aWx0SW5BY3Rpb25Ub0Z1bmN0aW9uW2NhbGwuYWN0aW9uTmFtZV1cbiAgICBpZiAoIWZuVG9DYWxsKSB7XG4gICAgICB0aHJvdyBmYWlsdXJlKGBhc3NlcnRpb24gZmFpbGVkOiB1bmtub3duIGJ1aWx0LWluIGFjdGlvbiAtICR7Y2FsbC5hY3Rpb25OYW1lfWApXG4gICAgfVxuXG4gICAgcmV0dXJuIGZuVG9DYWxsLmFwcGx5KGN1cnJlbnQsIFtjdXJyZW50LCAuLi5jYWxsLmFyZ3NdKVxuICB9XG5cbiAgaWYgKGlzSG9va0FjdGlvbihjYWxsLmFjdGlvbk5hbWUpKSB7XG4gICAgdGhyb3cgZmFpbHVyZShgY2FsbHMgdG8gaG9va3MgKCR7Y2FsbC5hY3Rpb25OYW1lfSkgY2Fubm90IGJlIGFwcGxpZWRgKVxuICB9XG5cbiAgY29uc3QgZGF0YU1vZGVsQWN0aW9uID0gZ2V0RGF0YU1vZGVsQWN0aW9uKGNhbGwuYWN0aW9uTmFtZSlcbiAgaWYgKGRhdGFNb2RlbEFjdGlvbikge1xuICAgIGNvbnN0IGluc3RhbmNlOiBhbnkgPSBuZXcgZGF0YU1vZGVsQWN0aW9uLm1vZGVsQ2xhc3MoY3VycmVudClcbiAgICByZXR1cm4gaW5zdGFuY2VbZGF0YU1vZGVsQWN0aW9uLmZuTmFtZV0uYXBwbHkoaW5zdGFuY2UsIGNhbGwuYXJncylcbiAgfVxuXG4gIGNvbnN0IHN0YW5kYWxvbmVBY3Rpb24gPSBnZXRTdGFuZGFsb25lQWN0aW9uKGNhbGwuYWN0aW9uTmFtZSlcbiAgaWYgKHN0YW5kYWxvbmVBY3Rpb24pIHtcbiAgICByZXR1cm4gc3RhbmRhbG9uZUFjdGlvbi5hcHBseShjdXJyZW50LCBjYWxsLmFyZ3MgYXMgYW55KVxuICB9XG5cbiAgcmV0dXJuIChjdXJyZW50IGFzIGFueSlbY2FsbC5hY3Rpb25OYW1lXS5hcHBseShjdXJyZW50LCBjYWxsLmFyZ3MpXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQTZDQSxNQUFNLDBCQUEwQjtBQUFBLEdBQzdCLGNBQWMsZ0JBQWdCO0FBQUEsR0FDOUIsY0FBYyxlQUFlO0FBQUEsR0FDN0IsY0FBYyxTQUFTO0FBQUEsR0FDdkIsY0FBYyxXQUFXO0FBQUEsR0FDekIsY0FBYyxjQUFjO0FBQUEsR0FDNUIsY0FBYyxrQkFBa0I7O3FCQVlLLGFBQXFCO01BQ3ZELEtBQUssWUFBWTtVQUNiLFFBQ0osK0ZBQStGO0FBQUE7c0JBSS9FLGFBQWEsYUFBYTtRQUd4QyxFQUFFLE9BQU8sU0FBUyxhQUFhLHVCQUNuQyxhQUNBLEtBQUssWUFDTCxLQUFLLGFBQWE7TUFFaEIsQ0FBQyxVQUFVO1VBQ1AsUUFDSixrQkFBa0IsS0FBSyxVQUFVLEtBQUssVUFBVSxjQUFjLEtBQUssVUFDakUsS0FBSyxhQUFhLHlCQUNLO0FBQUE7c0JBR1QsU0FBUyxZQUFZLFdBQVcsSUFBSTtNQUVwRCxnQkFBZ0IsS0FBSyxVQUFVLEdBQUc7VUFDOUIsV0FBb0Msd0JBQXdCLEtBQUs7UUFDbkUsQ0FBQyxVQUFVO1lBQ1AsUUFBUSwrQ0FBK0MsS0FBSyxZQUFZO0FBQUE7V0FHekUsU0FBUyxNQUFNLFNBQVMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxJQUFJLENBQUM7QUFBQTtNQUdwRCxhQUFhLEtBQUssVUFBVSxHQUFHO1VBQzNCLFFBQVEsbUJBQW1CLEtBQUssK0JBQStCO0FBQUE7UUFHakUsa0JBQWtCLG1CQUFtQixLQUFLLFVBQVU7TUFDdEQsaUJBQWlCO1VBQ2IsV0FBZ0IsSUFBSSxnQkFBZ0IsV0FBVyxPQUFPO1dBQ3JELFNBQVMsZ0JBQWdCLFFBQVEsTUFBTSxVQUFVLEtBQUssSUFBSTtBQUFBO1FBRzdELG1CQUFtQixvQkFBb0IsS0FBSyxVQUFVO01BQ3hELGtCQUFrQjtXQUNiLGlCQUFpQixNQUFNLFNBQVMsS0FBSyxJQUFXO0FBQUE7U0FHakQsUUFBZ0IsS0FBSyxZQUFZLE1BQU0sU0FBUyxLQUFLLElBQUk7QUFDbkU7OyJ9
@@ -0,0 +1,20 @@
1
+ import { remove } from "mobx";
2
+ import { assertTweakedObject } from "../tweaker/core.js";
3
+ import { lazy } from "../utils/index.js";
4
+ import { BuiltInAction } from "./builtInActions.js";
5
+ import { ActionContextActionType } from "./context.js";
6
+ import { wrapInAction } from "./wrapInAction.js";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlEZWxldGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY3Rpb24vYXBwbHlEZWxldGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVtb3ZlIH0gZnJvbSBcIm1vYnhcIlxuaW1wb3J0IHsgYXNzZXJ0VHdlYWtlZE9iamVjdCB9IGZyb20gXCIuLi90d2Vha2VyL2NvcmVcIlxuaW1wb3J0IHsgbGF6eSB9IGZyb20gXCIuLi91dGlsc1wiXG5pbXBvcnQgeyBCdWlsdEluQWN0aW9uIH0gZnJvbSBcIi4vYnVpbHRJbkFjdGlvbnNcIlxuaW1wb3J0IHsgQWN0aW9uQ29udGV4dEFjdGlvblR5cGUgfSBmcm9tIFwiLi9jb250ZXh0XCJcbmltcG9ydCB7IHdyYXBJbkFjdGlvbiB9IGZyb20gXCIuL3dyYXBJbkFjdGlvblwiXG5cbi8qKlxuICogRGVsZXRlcyBhbiBvYmplY3QgZmllbGQgd3JhcHBlZCBpbiBhbiBhY3Rpb24uXG4gKlxuICogQHBhcmFtIG5vZGUgIFRhcmdldCBvYmplY3QuXG4gKiBAcGFyYW0gZmllbGROYW1lIEZpZWxkIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseURlbGV0ZTxPIGV4dGVuZHMgb2JqZWN0LCBLIGV4dGVuZHMga2V5b2YgTz4obm9kZTogTywgZmllbGROYW1lOiBLKTogdm9pZCB7XG4gIGFzc2VydFR3ZWFrZWRPYmplY3Qobm9kZSwgXCJub2RlXCIsIHRydWUpXG5cbiAgd3JhcHBlZEludGVybmFsQXBwbHlEZWxldGUoKS5jYWxsKG5vZGUsIGZpZWxkTmFtZSBhcyBzdHJpbmcgfCBudW1iZXIpXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnRlcm5hbEFwcGx5RGVsZXRlPE8gZXh0ZW5kcyBvYmplY3Q+KHRoaXM6IE8sIGZpZWxkTmFtZTogc3RyaW5nIHwgbnVtYmVyKTogdm9pZCB7XG4gIHJlbW92ZSh0aGlzLCBcIlwiICsgZmllbGROYW1lKVxufVxuXG5jb25zdCB3cmFwcGVkSW50ZXJuYWxBcHBseURlbGV0ZSA9IGxhenkoKCkgPT5cbiAgd3JhcEluQWN0aW9uKHtcbiAgICBuYW1lT3JOYW1lRm46IEJ1aWx0SW5BY3Rpb24uQXBwbHlEZWxldGUsXG4gICAgZm46IGludGVybmFsQXBwbHlEZWxldGUsXG4gICAgYWN0aW9uVHlwZTogQWN0aW9uQ29udGV4dEFjdGlvblR5cGUuU3luYyxcbiAgfSlcbilcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7cUJBYWlFLE1BQVM7c0JBQ3BELE1BQU0sUUFBUSxJQUFJOytCQUVULEtBQUssTUFBTSxTQUE0QjtBQUN0RTs2QkFLK0Q7U0FDdEQsTUFBTSxLQUFLLFNBQVM7QUFDN0I7QUFFQSxNQUFNLDZCQUE2QixLQUFLLE1BQ3RDLGFBQWE7QUFBQSxFQUNYLGNBQWMsY0FBYztBQUFBLEVBQzVCLElBQUk7QUFBQSxFQUNKLFlBQVksd0JBQXdCO0NBQ3JDLENBQUM7OyJ9
@@ -0,0 +1,19 @@
1
+ import { assertTweakedObject } from "../tweaker/core.js";
2
+ import { lazy } from "../utils/index.js";
3
+ import { BuiltInAction } from "./builtInActions.js";
4
+ import { ActionContextActionType } from "./context.js";
5
+ import { wrapInAction } from "./wrapInAction.js";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlNZXRob2RDYWxsLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWN0aW9uL2FwcGx5TWV0aG9kQ2FsbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnRUd2Vha2VkT2JqZWN0IH0gZnJvbSBcIi4uL3R3ZWFrZXIvY29yZVwiXG5pbXBvcnQgeyBsYXp5IH0gZnJvbSBcIi4uL3V0aWxzXCJcbmltcG9ydCB7IEJ1aWx0SW5BY3Rpb24gfSBmcm9tIFwiLi9idWlsdEluQWN0aW9uc1wiXG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0QWN0aW9uVHlwZSB9IGZyb20gXCIuL2NvbnRleHRcIlxuaW1wb3J0IHsgd3JhcEluQWN0aW9uIH0gZnJvbSBcIi4vd3JhcEluQWN0aW9uXCJcblxudHlwZSBBbnlGdW5jdGlvbiA9ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55XG5cbi8qKlxuICogQ2FsbHMgYW4gb2JqZWN0IG1ldGhvZCB3cmFwcGVkIGluIGFuIGFjdGlvbi5cbiAqXG4gKiBAcGFyYW0gbm9kZSAgVGFyZ2V0IG9iamVjdC5cbiAqIEBwYXJhbSBtZXRob2ROYW1lIE1ldGhvZCBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlNZXRob2RDYWxsPE8gZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBrZXlvZiBPLCBGTiBleHRlbmRzIE9bS10+KFxuICBub2RlOiBPLFxuICBtZXRob2ROYW1lOiBLLFxuICAuLi5hcmdzOiBGTiBleHRlbmRzIEFueUZ1bmN0aW9uID8gUGFyYW1ldGVyczxGTj4gOiBuZXZlclxuKTogRk4gZXh0ZW5kcyBBbnlGdW5jdGlvbiA/IFJldHVyblR5cGU8Rk4+IDogbmV2ZXIge1xuICBhc3NlcnRUd2Vha2VkT2JqZWN0KG5vZGUsIFwibm9kZVwiKVxuXG4gIHJldHVybiB3cmFwcGVkSW50ZXJuYWxBcHBseU1ldGhvZENhbGwoKS5jYWxsKG5vZGUsIG1ldGhvZE5hbWUgYXMgc3RyaW5nIHwgbnVtYmVyLCBhcmdzKVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW50ZXJuYWxBcHBseU1ldGhvZENhbGwodGhpczogYW55LCBtZXRob2ROYW1lOiBzdHJpbmcgfCBudW1iZXIsIGFyZ3M6IGFueVtdKTogYW55IHtcbiAgcmV0dXJuIHRoaXNbbWV0aG9kTmFtZV0oLi4uYXJncylcbn1cblxuY29uc3Qgd3JhcHBlZEludGVybmFsQXBwbHlNZXRob2RDYWxsID0gbGF6eSgoKSA9PlxuICB3cmFwSW5BY3Rpb24oe1xuICAgIG5hbWVPck5hbWVGbjogQnVpbHRJbkFjdGlvbi5BcHBseU1ldGhvZENhbGwsXG4gICAgZm46IGludGVybmFsQXBwbHlNZXRob2RDYWxsLFxuICAgIGFjdGlvblR5cGU6IEFjdGlvbkNvbnRleHRBY3Rpb25UeXBlLlN5bmMsXG4gIH0pXG4pXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7eUJBZUUsTUFDQSxlQUNHO3NCQUVpQixNQUFNLE1BQU07U0FFekIsaUNBQWlDLEtBQUssTUFBTSxZQUErQixJQUFJO0FBQ3hGO2lDQUttRCxZQUE2QjtTQUN2RSxLQUFLLFlBQVksR0FBRyxJQUFJO0FBQ2pDO0FBRUEsTUFBTSxpQ0FBaUMsS0FBSyxNQUMxQyxhQUFhO0FBQUEsRUFDWCxjQUFjLGNBQWM7QUFBQSxFQUM1QixJQUFJO0FBQUEsRUFDSixZQUFZLHdCQUF3QjtDQUNyQyxDQUFDOzsifQ==
@@ -0,0 +1,25 @@
1
+ import { isObservable, set } from "mobx";
2
+ import { isModel } from "../model/utils.js";
3
+ import { assertTweakedObject } from "../tweaker/core.js";
4
+ import { lazy } from "../utils/index.js";
5
+ import { BuiltInAction } from "./builtInActions.js";
6
+ import { ActionContextActionType } from "./context.js";
7
+ import { wrapInAction } from "./wrapInAction.js";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlTZXQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY3Rpb24vYXBwbHlTZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBzZXQgfSBmcm9tIFwibW9ieFwiXG5pbXBvcnQgeyBpc01vZGVsIH0gZnJvbSBcIi4uL21vZGVsL3V0aWxzXCJcbmltcG9ydCB7IGFzc2VydFR3ZWFrZWRPYmplY3QgfSBmcm9tIFwiLi4vdHdlYWtlci9jb3JlXCJcbmltcG9ydCB7IGxhenkgfSBmcm9tIFwiLi4vdXRpbHNcIlxuaW1wb3J0IHsgQnVpbHRJbkFjdGlvbiB9IGZyb20gXCIuL2J1aWx0SW5BY3Rpb25zXCJcbmltcG9ydCB7IEFjdGlvbkNvbnRleHRBY3Rpb25UeXBlIH0gZnJvbSBcIi4vY29udGV4dFwiXG5pbXBvcnQgeyB3cmFwSW5BY3Rpb24gfSBmcm9tIFwiLi93cmFwSW5BY3Rpb25cIlxuXG4vKipcbiAqIFNldHMgYW4gb2JqZWN0IGZpZWxkIHdyYXBwZWQgaW4gYW4gYWN0aW9uLlxuICpcbiAqIEBwYXJhbSBub2RlICBUYXJnZXQgb2JqZWN0LlxuICogQHBhcmFtIGZpZWxkTmFtZSBGaWVsZCBuYW1lLlxuICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5U2V0PE8gZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBrZXlvZiBPLCBWIGV4dGVuZHMgT1tLXT4oXG4gIG5vZGU6IE8sXG4gIGZpZWxkTmFtZTogSyxcbiAgdmFsdWU6IFZcbik6IHZvaWQge1xuICBhc3NlcnRUd2Vha2VkT2JqZWN0KG5vZGUsIFwibm9kZVwiLCB0cnVlKVxuXG4gIHdyYXBwZWRJbnRlcm5hbEFwcGx5U2V0KCkuY2FsbChub2RlLCBmaWVsZE5hbWUgYXMgc3RyaW5nIHwgbnVtYmVyLCB2YWx1ZSlcbn1cblxuZnVuY3Rpb24gaW50ZXJuYWxBcHBseVNldDxPIGV4dGVuZHMgb2JqZWN0Pih0aGlzOiBPLCBmaWVsZE5hbWU6IHN0cmluZyB8IG51bWJlciwgdmFsdWU6IGFueSk6IHZvaWQge1xuICAvLyB3ZSBuZWVkIHRvIGNoZWNrIGlmIGl0IGlzIGEgbW9kZWwgc2luY2UgbW9kZWxzIGNhbiBiZWNvbWUgb2JzZXJ2YWJsZSBvYmplY3RzXG4gIC8vIChlLmcuIGJ5IGhhdmluZyBhIGNvbXB1dGVkIHZhbHVlKVxuICBpZiAoIWlzTW9kZWwodGhpcykgJiYgaXNPYnNlcnZhYmxlKHRoaXMpKSB7XG4gICAgc2V0KHRoaXMsIGZpZWxkTmFtZSwgdmFsdWUpXG4gIH0gZWxzZSB7XG4gICAgOyh0aGlzIGFzIGFueSlbZmllbGROYW1lXSA9IHZhbHVlXG4gIH1cbn1cblxuY29uc3Qgd3JhcHBlZEludGVybmFsQXBwbHlTZXQgPSBsYXp5KCgpID0+XG4gIHdyYXBJbkFjdGlvbih7XG4gICAgbmFtZU9yTmFtZUZuOiBCdWlsdEluQWN0aW9uLkFwcGx5U2V0LFxuICAgIGZuOiBpbnRlcm5hbEFwcGx5U2V0LFxuICAgIGFjdGlvblR5cGU6IEFjdGlvbkNvbnRleHRBY3Rpb25UeXBlLlN5bmMsXG4gIH0pXG4pXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztrQkFnQkUsTUFDQSxXQUNBO3NCQUVvQixNQUFNLFFBQVEsSUFBSTs0QkFFWixLQUFLLE1BQU0sV0FBOEIsS0FBSztBQUMxRTtBQUVBLDBCQUFxRCxXQUE0QjtNQUczRSxDQUFDLFFBQVEsSUFBSSxLQUFLLGFBQWEsSUFBSSxHQUFHO1FBQ3BDLE1BQU0sV0FBVyxLQUFLO0FBQUEsU0FDckI7U0FDVSxhQUFhO0FBQUE7QUFFaEM7QUFFQSxNQUFNLDBCQUEwQixLQUFLLE1BQ25DLGFBQWE7QUFBQSxFQUNYLGNBQWMsY0FBYztBQUFBLEVBQzVCLElBQUk7QUFBQSxFQUNKLFlBQVksd0JBQXdCO0NBQ3JDLENBQUM7OyJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRJbkFjdGlvbnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY3Rpb24vYnVpbHRJbkFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGJ1aWx0LWluIGFjdGlvbi5cbiAqL1xuZXhwb3J0IGVudW0gQnVpbHRJbkFjdGlvbiB7XG4gIC8qKlxuICAgKiBhcHBseVBhdGNoZXNcbiAgICovXG4gIEFwcGx5UGF0Y2hlcyA9IFwiJCRhcHBseVBhdGNoZXNcIixcbiAgLyoqXG4gICAqIGFwcGx5U25hcHNob3RcbiAgICovXG4gIEFwcGx5U25hcHNob3QgPSBcIiQkYXBwbHlTbmFwc2hvdFwiLFxuICAvKipcbiAgICogZGV0YWNoXG4gICAqL1xuICBEZXRhY2ggPSBcIiQkZGV0YWNoXCIsXG4gIC8qKlxuICAgKiBhcHBseVNldFxuICAgKi9cbiAgQXBwbHlTZXQgPSBcIiQkYXBwbHlTZXRcIixcbiAgLyoqXG4gICAqIGFwcGx5RGVsZXRlXG4gICAqL1xuICBBcHBseURlbGV0ZSA9IFwiJCRhcHBseURlbGV0ZVwiLFxuICAvKipcbiAgICogYXBwbHlNZXRob2RDYWxsXG4gICAqL1xuICBBcHBseU1ldGhvZENhbGwgPSBcIiQkYXBwbHlNZXRob2RDYWxsXCIsXG59XG5cbmNvbnN0IGJ1aWx0SW5BY3Rpb25WYWx1ZXM6IFJlYWRvbmx5U2V0PHN0cmluZz4gPSBuZXcgU2V0KE9iamVjdC52YWx1ZXMoQnVpbHRJbkFjdGlvbikpXG5cbi8qKlxuICogUmV0dXJucyBpZiBhIGdpdmVuIGFjdGlvbiBuYW1lIGlzIGEgYnVpbHQtaW4gYWN0aW9uLCB0aGlzIGlzLCBvbmUgb2Y6XG4gKiAtIGFwcGx5UGF0Y2hlcygpXG4gKiAtIGFwcGx5U25hcHNob3QoKVxuICogLSBkZXRhY2goKVxuICpcbiAqIEBwYXJhbSBhY3Rpb25OYW1lIEFjdGlvbiBuYW1lIHRvIGNoZWNrLlxuICogQHJldHVybnMgdHJ1ZSBpZiBpdCBpcyBhIGJ1aWx0LWluIGFjdGlvbiwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCdWlsdEluQWN0aW9uKGFjdGlvbk5hbWU6IHN0cmluZyk6IGFjdGlvbk5hbWUgaXMgQnVpbHRJbkFjdGlvbiB7XG4gIHJldHVybiBidWlsdEluQWN0aW9uVmFsdWVzLmhhcyhhY3Rpb25OYW1lKVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJJQUdZO1VBQUE7Ozs7Ozs7QUF5QlosR0F6Qlk7QUEyQlosTUFBTSxzQkFBMkMsSUFBSSxJQUFJLE9BQU8sT0FBTyxhQUFhLENBQUM7eUJBV3JEO1NBQ3ZCLG9CQUFvQixJQUFJLFVBQVU7QUFDM0M7OyJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FjdGlvbi9jb250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW55TW9kZWwgfSBmcm9tIFwiLi4vbW9kZWwvQmFzZU1vZGVsXCJcblxuLyoqXG4gKiBMb3cgbGV2ZWwgYWN0aW9uIGNvbnRleHQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dCB7XG4gIC8qKlxuICAgKiBBY3Rpb24gbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBBY3Rpb24gdHlwZSwgc3luYyBvciBhc3luYy5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IEFjdGlvbkNvbnRleHRBY3Rpb25UeXBlXG4gIC8qKlxuICAgKiBBY3Rpb24gdGFyZ2V0IG9iamVjdC5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldDogQW55TW9kZWxcbiAgLyoqXG4gICAqIEFycmF5IG9mIGFjdGlvbiBhcmd1bWVudHMuXG4gICAqL1xuICByZWFkb25seSBhcmdzOiBSZWFkb25seUFycmF5PGFueT5cbiAgLyoqXG4gICAqIFBhcmVudCBhY3Rpb24gY29udGV4dCwgaWYgYW55LlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyZW50Q29udGV4dD86IEFjdGlvbkNvbnRleHRcbiAgLyoqXG4gICAqIFJvb3QgYWN0aW9uIGNvbnRleHQsIG9yIGl0c2VsZiBpZiB0aGUgcm9vdC5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3RDb250ZXh0OiBBY3Rpb25Db250ZXh0XG4gIC8qKlxuICAgKiBQcmV2aW91cyBhc3luYyBzdGVwIGNvbnRleHQsIHVuZGVmaW5lZCBmb3Igc3luYyBhY3Rpb25zIG9yIHRoZSBmaXJzdCBhY3Rpb24gb2YgYSBmbG93LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJldmlvdXNBc3luY1N0ZXBDb250ZXh0PzogQWN0aW9uQ29udGV4dFxuICAvKipcbiAgICogU3Bhd24gYXN5bmMgc3RlcCBjb250ZXh0LCB1bmRlZmluZWQgZm9yIHN5bmMgYWN0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IHNwYXduQXN5bmNTdGVwQ29udGV4dD86IEFjdGlvbkNvbnRleHRcbiAgLyoqXG4gICAqIEFzeW5jIHN0ZXAgdHlwZSwgb3IgdW5kZWZpbmVkIGZvciBzeW5jIGFjdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBhc3luY1N0ZXBUeXBlPzogQWN0aW9uQ29udGV4dEFzeW5jU3RlcFR5cGVcbiAgLyoqXG4gICAqIEN1c3RvbSBkYXRhIGZvciB0aGUgYWN0aW9uIGNvbnRleHQgdG8gYmUgc2V0IGJ5IG1pZGRsZXdhcmVzLCBhbiBvYmplY3QuXG4gICAqIFN5bWJvbHMgbXVzdCBiZSB1c2VkIGFzIGtleXMgdG8gYXZvaWQgbmFtZSBjbGFzaGluZyBiZXR3ZWVuIG1pZGRsZXdhcmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YTogUmVjb3JkPHN5bWJvbCwgYW55PlxufVxuXG4vKipcbiAqIEFjdGlvbiB0eXBlLCBzeW5jIG9yIGFzeW5jLlxuICovXG5leHBvcnQgZW51bSBBY3Rpb25Db250ZXh0QWN0aW9uVHlwZSB7XG4gIFN5bmMgPSBcInN5bmNcIixcbiAgQXN5bmMgPSBcImFzeW5jXCIsXG59XG5cbi8qKlxuICogQW4gYXN5bmMgc3RlcCB0eXBlLlxuICovXG5leHBvcnQgZW51bSBBY3Rpb25Db250ZXh0QXN5bmNTdGVwVHlwZSB7XG4gIC8qKlxuICAgKiBUaGUgZmxvdyBpcyBhYm91dCB0byBzdGFydC5cbiAgICovXG4gIFNwYXduID0gXCJzcGF3blwiLFxuICAvKipcbiAgICogVGhlIGZsb3cgaXMgYWJvdXQgdG8gcmV0dXJuIChmaW5pc2gpLlxuICAgKi9cbiAgUmV0dXJuID0gXCJyZXR1cm5cIixcbiAgLyoqXG4gICAqIFRoZSBmbG93IGlzIGFib3V0IHRvIGNvbnRpbnVlLlxuICAgKi9cbiAgUmVzdW1lID0gXCJyZXN1bWVcIixcbiAgLyoqXG4gICAqIFRoZSBmbG93IHlpZWxkIGp1c3QgdGhyZXcsIHdoaWNoIG1pZ2h0IGJlIHJlY292ZXJlZCAoY2F1Z2h0KSBvciBub3QuXG4gICAqL1xuICBSZXN1bWVFcnJvciA9IFwicmVzdW1lRXJyb3JcIixcbiAgLyoqXG4gICAqIFRoZSBmbG93IGlzIGFib3V0IHRvIHRocm93IGFuIGVycm9yIHRvIHRoZSBmbG93IGNhbGxlci5cbiAgICovXG4gIFRocm93ID0gXCJ0aHJvd1wiLFxufVxuXG5sZXQgY3VycmVudEFjdGlvbkNvbnRleHQ6IEFjdGlvbkNvbnRleHQgfCB1bmRlZmluZWRcblxuLyoqXG4gKiBHZXRzIHRoZSBjdXJyZW50bHkgcnVubmluZyBhY3Rpb24gY29udGV4dCwgb3IgdW5kZWZpbmVkIGlmIG5vbmUuXG4gKlxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEN1cnJlbnRBY3Rpb25Db250ZXh0KCk6IEFjdGlvbkNvbnRleHQgfCB1bmRlZmluZWQge1xuICByZXR1cm4gY3VycmVudEFjdGlvbkNvbnRleHRcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBTZXRzIHRoZSBjdXJyZW50IGFjdGlvbiBjb250ZXh0LlxuICpcbiAqIEBwYXJhbSBjdHggQ3VycmVudCBhY3Rpb24gY29udGV4dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEN1cnJlbnRBY3Rpb25Db250ZXh0KGN0eDogQWN0aW9uQ29udGV4dCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICBjdXJyZW50QWN0aW9uQ29udGV4dCA9IGN0eFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJJQW9EWTtVQUFBOzs7QUFHWixHQUhZO0lBUUE7VUFBQTs7Ozs7O0FBcUJaLEdBckJZO0FBdUJaLElBQUk7O1NBUUs7QUFDVDtpQ0FTd0M7eUJBQ2Y7QUFDekI7OyJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va0FjdGlvbnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY3Rpb24vaG9va0FjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGhvb2sgYWN0aW9uLlxuICovXG5leHBvcnQgZW51bSBIb29rQWN0aW9uIHtcbiAgLyoqXG4gICAqIG9uSW5pdCBob29rXG4gICAqL1xuICBPbkluaXQgPSBcIiQkb25Jbml0XCIsXG4gIC8qKlxuICAgKiBvbkxhenlJbml0IGhvb2tcbiAgICovXG4gIE9uTGF6eUluaXQgPSBcIiQkb25MYXp5SW5pdFwiLFxuICAvKipcbiAgICogb25BdHRhY2hlZFRvUm9vdFN0b3JlIGhvb2tcbiAgICovXG4gIE9uQXR0YWNoZWRUb1Jvb3RTdG9yZSA9IFwiJCRvbkF0dGFjaGVkVG9Sb290U3RvcmVcIixcbiAgLyoqXG4gICAqIGRpc3Bvc2VyIGZvciBvbkF0dGFjaGVkVG9Sb290U3RvcmUgaG9va1xuICAgKi9cbiAgT25BdHRhY2hlZFRvUm9vdFN0b3JlRGlzcG9zZXIgPSBcIiQkb25BdHRhY2hlZFRvUm9vdFN0b3JlRGlzcG9zZXJcIixcbn1cblxuY29uc3QgaG9va0FjdGlvblZhbHVlczogUmVhZG9ubHlTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoT2JqZWN0LnZhbHVlcyhIb29rQWN0aW9uKSlcblxuLyoqXG4gKiBSZXR1cm5zIGlmIGEgZ2l2ZW4gYWN0aW9uIG5hbWUgY29ycmVzcG9uZHMgdG8gYSBob29rLCB0aGlzIGlzLCBvbmUgb2Y6XG4gKiAtIG9uSW5pdCgpIGhvb2tcbiAqIC0gb25MYXp5SW5pdCgpIGhvb2tcbiAqIC0gb25BdHRhY2hlZFRvUm9vdFN0b3JlKCkgaG9va1xuICogLSBkaXNwb3NlciByZXR1cm5lZCBieSBhIG9uQXR0YWNoZWRUb1Jvb3RTdG9yZSgpIGhvb2tcbiAqXG4gKiBAcGFyYW0gYWN0aW9uTmFtZSBBY3Rpb24gbmFtZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHRydWUgaWYgaXQgaXMgYSBob29rLCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0hvb2tBY3Rpb24oYWN0aW9uTmFtZTogc3RyaW5nKTogYWN0aW9uTmFtZSBpcyBIb29rQWN0aW9uIHtcbiAgcmV0dXJuIGhvb2tBY3Rpb25WYWx1ZXMuaGFzKGFjdGlvbk5hbWUpXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IklBR1k7VUFBQTs7Ozs7QUFpQlosR0FqQlk7QUFtQlosTUFBTSxtQkFBd0MsSUFBSSxJQUFJLE9BQU8sT0FBTyxVQUFVLENBQUM7c0JBWWxEO1NBQ3BCLGlCQUFpQixJQUFJLFVBQVU7QUFDeEM7OyJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNNb2RlbEFjdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FjdGlvbi9pc01vZGVsQWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBtb2RlbEFjdGlvblN5bWJvbCA9IFN5bWJvbChcIm1vZGVsQWN0aW9uXCIpXG5cbi8qKlxuICogUmV0dXJucyBpZiB0aGUgZ2l2ZW4gZnVuY3Rpb24gaXMgYSBtb2RlbCBhY3Rpb24gb3Igbm90LlxuICpcbiAqIEBwYXJhbSBmbiBGdW5jdGlvbiB0byBjaGVjay5cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc01vZGVsQWN0aW9uKGZuOiAoLi4uYXJnczogYW55W10pID0+IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIGZuID09PSBcImZ1bmN0aW9uXCIgJiYgbW9kZWxBY3Rpb25TeW1ib2wgaW4gZm5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiTUFHYSxvQkFBb0IsT0FBTyxhQUFhO3VCQVF2QjtTQUNyQixPQUFPLE9BQU8sY0FBYyxxQkFBcUI7QUFDMUQ7OyJ9
@@ -0,0 +1,84 @@
1
+ import { fastGetParent } from "../parent/path.js";
2
+ import { isChildOfParent } from "../parent/path2.js";
3
+ import { assertTweakedObject } from "../tweaker/core.js";
4
+ import { assertIsObject, assertIsFunction, failure, deleteFromArray } from "../utils/index.js";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FjdGlvbi9taWRkbGV3YXJlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZhc3RHZXRQYXJlbnQgfSBmcm9tIFwiLi4vcGFyZW50L3BhdGhcIlxuaW1wb3J0IHsgaXNDaGlsZE9mUGFyZW50IH0gZnJvbSBcIi4uL3BhcmVudC9wYXRoMlwiXG5pbXBvcnQgeyBhc3NlcnRUd2Vha2VkT2JqZWN0IH0gZnJvbSBcIi4uL3R3ZWFrZXIvY29yZVwiXG5pbXBvcnQgeyBhc3NlcnRJc0Z1bmN0aW9uLCBhc3NlcnRJc09iamVjdCwgZGVsZXRlRnJvbUFycmF5LCBmYWlsdXJlIH0gZnJvbSBcIi4uL3V0aWxzXCJcbmltcG9ydCB0eXBlIHsgQWN0aW9uQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHRcIlxuXG4vKipcbiAqIEFuIGFjdGlvbiBtaWRkbGV3YXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbk1pZGRsZXdhcmUge1xuICAvKipcbiAgICogU3VidHJlZSByb290IG9iamVjdCAob2JqZWN0IGFuZCBjaGlsZCBvYmplY3RzKSB0aGlzIG1pZGRsZXdhcmUgd2lsbCBydW4gZm9yLlxuICAgKiBUaGlzIHRhcmdldCBcImZpbHRlclwiIHdpbGwgYmUgcnVuIGJlZm9yZSB0aGUgY3VzdG9tIGZpbHRlci5cbiAgICovXG4gIHJlYWRvbmx5IHN1YnRyZWVSb290OiBvYmplY3RcblxuICAvKipcbiAgICogQSBmaWx0ZXIgZnVuY3Rpb24gdG8gZGVjaWRlIGlmIGFuIGFjdGlvbiBtaWRkbGV3YXJlIGZ1bmN0aW9uIHNob3VsZCBiZSBydW4gb3Igbm90LlxuICAgKi9cbiAgZmlsdGVyPyhjdHg6IEFjdGlvbkNvbnRleHQpOiBib29sZWFuXG5cbiAgLyoqXG4gICAqIEFuIGFjdGlvbiBtaWRkbGV3YXJlIGZ1bmN0aW9uLlxuICAgKiBSZW1iZXIgdG8gYHJldHVybiBuZXh0KClgIGlmIHlvdSB3YW50IHRvIGNvbnRpbnVlIHRoZSBhY3Rpb24gb3IgdGhyb3cgaWYgeW91IHdhbnQgdG8gY2FuY2VsIGl0LlxuICAgKi9cbiAgbWlkZGxld2FyZShjdHg6IEFjdGlvbkNvbnRleHQsIG5leHQ6ICgpID0+IGFueSk6IGFueVxufVxuXG4vKipcbiAqIFRoZSBkaXNwb3NlciBvZiBhbiBhY3Rpb24gbWlkZGxld2FyZS5cbiAqL1xuZXhwb3J0IHR5cGUgQWN0aW9uTWlkZGxld2FyZURpc3Bvc2VyID0gKCkgPT4gdm9pZFxuXG50eXBlIFBhcnRpYWxBY3Rpb25NaWRkbGV3YXJlID0gUGljazxBY3Rpb25NaWRkbGV3YXJlLCBcImZpbHRlclwiIHwgXCJtaWRkbGV3YXJlXCI+XG5cbmNvbnN0IHBlck9iamVjdEFjdGlvbk1pZGRsZXdhcmVzID0gbmV3IFdlYWtNYXA8b2JqZWN0LCBQYXJ0aWFsQWN0aW9uTWlkZGxld2FyZVtdPigpXG5cbmludGVyZmFjZSBBY3Rpb25NaWRkbGV3YXJlc0l0ZXJhdG9yIGV4dGVuZHMgSXRlcmFibGU8UGFydGlhbEFjdGlvbk1pZGRsZXdhcmU+IHt9XG5cbmNvbnN0IHBlck9iamVjdEFjdGlvbk1pZGRsZXdhcmVzSXRlcmF0b3IgPSBuZXcgV2Vha01hcDxvYmplY3QsIEFjdGlvbk1pZGRsZXdhcmVzSXRlcmF0b3I+KClcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBHZXRzIHRoZSBjdXJyZW50IGFjdGlvbiBtaWRkbGV3YXJlcyB0byBiZSBydW4gb3ZlciBhIGdpdmVuIG9iamVjdCBhcyBhbiBpdGVyYWJsZSBvYmplY3QuXG4gKlxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFjdGlvbk1pZGRsZXdhcmVzKG9iajogb2JqZWN0KTogQWN0aW9uTWlkZGxld2FyZXNJdGVyYXRvciB7XG4gIC8vIHdoZW4gd2UgY2FsbCBhIG1pZGRsZXdhcmUgd2Ugd2lsbCBjYWxsIHRoZSBtaWRkbGV3YXJlcyBvZiB0aGF0IG9iamVjdCBwbHVzIGFsbCBwYXJlbnQgb2JqZWN0c1xuICAvLyB0aGUgcGFyZW50IG9iamVjdCBtaWRkbGV3YXJlcyBhcmUgcnVuIGxhc3RcblxuICAvLyBzaW5jZSBhbiBhcnJheSBsaWtlIFthLCBiLCBjXSB3aWxsIGJlIGNhbGxlZCBsaWtlIGMoYihhKCkpKSB0aGlzIG1lYW5zIHRoYXQgd2UgbmVlZCB0byBwdXRcbiAgLy8gdGhlIHBhcmVudCBvYmplY3Qgb25lcyBhdCB0aGUgZW5kIG9mIHRoZSBhcnJheVxuXG4gIGxldCBpdGVyYWJsZSA9IHBlck9iamVjdEFjdGlvbk1pZGRsZXdhcmVzSXRlcmF0b3IuZ2V0KG9iailcbiAgaWYgKCFpdGVyYWJsZSkge1xuICAgIGl0ZXJhYmxlID0ge1xuICAgICAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgICAgIGxldCBjdXJyZW50OiBhbnkgPSBvYmpcblxuICAgICAgICBmdW5jdGlvbiBnZXRDdXJyZW50SXRlcmF0b3IoKSB7XG4gICAgICAgICAgY29uc3Qgb2JqTXdhcmVzID0gY3VycmVudCA/IHBlck9iamVjdEFjdGlvbk1pZGRsZXdhcmVzLmdldChjdXJyZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIGlmICghb2JqTXdhcmVzIHx8IG9iak13YXJlcy5sZW5ndGggPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gb2JqTXdhcmVzW1N5bWJvbC5pdGVyYXRvcl0oKVxuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gZmluZE5leHRJdGVyYXRvcigpIHtcbiAgICAgICAgICBsZXQgbmV4dEl0ZXJcbiAgICAgICAgICB3aGlsZSAoY3VycmVudCAmJiAhbmV4dEl0ZXIpIHtcbiAgICAgICAgICAgIGN1cnJlbnQgPSBmYXN0R2V0UGFyZW50KGN1cnJlbnQpXG4gICAgICAgICAgICBuZXh0SXRlciA9IGdldEN1cnJlbnRJdGVyYXRvcigpXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuZXh0SXRlclxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGl0ZXIgPSBnZXRDdXJyZW50SXRlcmF0b3IoKVxuICAgICAgICBpZiAoIWl0ZXIpIHtcbiAgICAgICAgICBpdGVyID0gZmluZE5leHRJdGVyYXRvcigpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVyYXRvcjogSXRlcmF0b3I8UGFydGlhbEFjdGlvbk1pZGRsZXdhcmU+ID0ge1xuICAgICAgICAgIG5leHQoKSB7XG4gICAgICAgICAgICBpZiAoIWl0ZXIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCByZXN1bHQgPSBpdGVyLm5leHQoKVxuICAgICAgICAgICAgaWYgKCFyZXN1bHQuZG9uZSkge1xuICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGl0ZXIgPSBmaW5kTmV4dEl0ZXJhdG9yKClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5leHQoKVxuICAgICAgICAgIH0sXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlcmF0b3JcbiAgICAgIH0sXG4gICAgfVxuICAgIHBlck9iamVjdEFjdGlvbk1pZGRsZXdhcmVzSXRlcmF0b3Iuc2V0KG9iaiwgaXRlcmFibGUpXG4gIH1cbiAgcmV0dXJuIGl0ZXJhYmxlXG59XG5cbi8qKlxuICogQWRkcyBhIGdsb2JhbCBhY3Rpb24gbWlkZGxld2FyZSB0byBiZSBydW4gd2hlbiBhbiBhY3Rpb24gaXMgcGVyZm9ybWVkLlxuICogSXQgaXMgdXN1YWxseSBwcmVmZXJhYmxlIHRvIHVzZSBgb25BY3Rpb25NaWRkbGV3YXJlYCBpbnN0ZWFkIHRvIGxpbWl0IGl0IHRvIGEgZ2l2ZW4gdHJlZSBhbmQgb25seSB0byB0b3Btb3N0IGxldmVsIGFjdGlvbnNcbiAqIG9yIGBhY3Rpb25UcmFja2luZ01pZGRsZXdhcmVgIGZvciBhIHNpbXBsaWZpZWQgbWlkZGxld2FyZS5cbiAqXG4gKiBAcGFyYW0gbXdhcmUgQWN0aW9uIG1pZGRsZXdhcmUgdG8gYmUgcnVuLlxuICogQHJldHVybnMgQSBkaXNwb3NlciB0byBjYW5jZWwgdGhlIG1pZGRsZXdhcmUuIE5vdGUgdGhhdCBpZiB5b3UgZG9uJ3QgcGxhbiB0byBkbyBhbiBlYXJseSBkaXNwb3NhbCBvZiB0aGUgbWlkZGxld2FyZVxuICogY2FsbGluZyB0aGlzIGZ1bmN0aW9uIGJlY29tZXMgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRBY3Rpb25NaWRkbGV3YXJlKG13YXJlOiBBY3Rpb25NaWRkbGV3YXJlKTogQWN0aW9uTWlkZGxld2FyZURpc3Bvc2VyIHtcbiAgYXNzZXJ0SXNPYmplY3QobXdhcmUsIFwibWlkZGxld2FyZVwiKVxuXG4gIGxldCB7IG1pZGRsZXdhcmUsIGZpbHRlciwgc3VidHJlZVJvb3QgfSA9IG13YXJlXG5cbiAgYXNzZXJ0VHdlYWtlZE9iamVjdChzdWJ0cmVlUm9vdCwgXCJtaWRkbGV3YXJlLnN1YnRyZWVSb290XCIpXG4gIGFzc2VydElzRnVuY3Rpb24obWlkZGxld2FyZSwgXCJtaWRkbGV3YXJlLm1pZGRsZXdhcmVcIilcbiAgaWYgKGZpbHRlciAmJiB0eXBlb2YgZmlsdGVyICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB0aHJvdyBmYWlsdXJlKFwibWlkZGxld2FyZS5maWx0ZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIG9yIHVuZGVmaW5lZFwiKVxuICB9XG5cbiAgLy8gcmVtaW5kZXI6IG5ldmVyIHR1cm4gbWlkZGxld2FyZXMgaW50byBhY3Rpb25zIG9yIGVsc2VcbiAgLy8gcmVhY3Rpb25zIHdpbGwgbm90IGJlIHBpY2tlZCB1cCBieSB0aGUgdW5kbyBtYW5hZ2VyXG5cbiAgaWYgKHN1YnRyZWVSb290KSB7XG4gICAgY29uc3QgdGFyZ2V0RmlsdGVyID0gKGN0eDogQWN0aW9uQ29udGV4dCkgPT5cbiAgICAgIGN0eC50YXJnZXQgPT09IHN1YnRyZWVSb290IHx8IGlzQ2hpbGRPZlBhcmVudChjdHgudGFyZ2V0LCBzdWJ0cmVlUm9vdCEpXG5cbiAgICBpZiAoIWZpbHRlcikge1xuICAgICAgZmlsdGVyID0gdGFyZ2V0RmlsdGVyXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGN1c3RvbUZpbHRlciA9IGZpbHRlclxuICAgICAgZmlsdGVyID0gKGN0eCkgPT4ge1xuICAgICAgICByZXR1cm4gdGFyZ2V0RmlsdGVyKGN0eCkgJiYgY3VzdG9tRmlsdGVyKGN0eClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBhY3R1YWxNd2FyZSA9IHsgbWlkZGxld2FyZSwgZmlsdGVyIH1cblxuICBsZXQgb2JqTXdhcmVzID0gcGVyT2JqZWN0QWN0aW9uTWlkZGxld2FyZXMuZ2V0KHN1YnRyZWVSb290KSFcbiAgaWYgKCFvYmpNd2FyZXMpIHtcbiAgICBvYmpNd2FyZXMgPSBbYWN0dWFsTXdhcmVdXG4gICAgcGVyT2JqZWN0QWN0aW9uTWlkZGxld2FyZXMuc2V0KHN1YnRyZWVSb290LCBvYmpNd2FyZXMpXG4gIH0gZWxzZSB7XG4gICAgb2JqTXdhcmVzLnB1c2goYWN0dWFsTXdhcmUpXG4gIH1cblxuICByZXR1cm4gKCkgPT4ge1xuICAgIGRlbGV0ZUZyb21BcnJheShvYmpNd2FyZXMsIGFjdHVhbE13YXJlKVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQW1DQSxNQUFNLGlEQUFpQztBQUl2QyxNQUFNLHlEQUF5Qzs4QkFTVjtNQU8vQixXQUFXLG1DQUFtQyxJQUFJLEdBQUc7TUFDckQsQ0FBQyxVQUFVO2VBQ0Y7QUFBQSxPQUNSLE9BQU87WUFDRixVQUFlOztnQkFHWCxZQUFZLFVBQVUsMkJBQTJCLElBQUksT0FBTyxJQUFJO2NBQ2xFLENBQUMsYUFBYSxVQUFVLFVBQVUsR0FBRzttQkFDaEM7QUFBQTtpQkFFRixVQUFVLE9BQU87OztjQUlwQjtpQkFDRyxXQUFXLENBQUMsVUFBVTtzQkFDakIsY0FBYyxPQUFPO3VCQUNwQjs7aUJBRU47QUFBQTtZQUdMLE9BQU87WUFDUCxDQUFDLE1BQU07aUJBQ0Y7O2NBR0gsV0FBOEM7QUFBQSxVQUNsRDtnQkFDTSxDQUFDLE1BQU07cUJBQ0YsRUFBRSxPQUFPLFFBQVcsTUFBTTs7Z0JBRy9CLFNBQVMsS0FBSztnQkFDZCxDQUFDLE9BQU8sTUFBTTtxQkFDVDtBQUFBO21CQUdGO21CQUNBLEtBQUs7OztlQUlUO0FBQUE7O3VDQUd3QixJQUFJLEtBQUssUUFBUTtBQUFBO1NBRS9DO0FBQ1Q7NkJBV29DO2lCQUNuQixPQUFPLFlBQVk7TUFFOUIsRUFBRSxZQUFZLFFBQVEsZ0JBQWdCO3NCQUV0QixhQUFhLHdCQUF3QjttQkFDeEMsWUFBWSx1QkFBdUI7TUFDaEQsVUFBVSxPQUFPLFdBQVcsWUFBWTtVQUNwQyxRQUFRLG1EQUFtRDtBQUFBO01BTS9ELGFBQWE7VUFDVCxlQUFlLENBQUMsUUFDcEIsSUFBSSxXQUFXLGVBQWUsZ0JBQWdCLElBQUksUUFBUSxXQUFZO1FBRXBFLENBQUMsUUFBUTtlQUNGO0FBQUEsV0FDSjtZQUNDLGVBQWU7ZUFDWixDQUFDO2VBQ0QsYUFBYSxHQUFHLEtBQUssYUFBYSxHQUFHO0FBQUE7OztRQUs1QyxjQUFjLEVBQUUsWUFBWTtNQUU5QixZQUFZLDJCQUEyQixJQUFJLFdBQVc7TUFDdEQsQ0FBQyxXQUFXO2dCQUNGLENBQUMsV0FBVzsrQkFDRyxJQUFJLGFBQWEsU0FBUztBQUFBLFNBQ2hEO2NBQ0ssS0FBSyxXQUFXO0FBQUE7U0FHckI7b0JBQ1csV0FBVyxXQUFXO0FBQUE7QUFFMUM7OyJ9
@@ -0,0 +1,34 @@
1
+ import { checkModelDecoratorArgs } from "../modelShared/checkModelDecoratorArgs.js";
2
+ import { decorateWrapMethodOrField, failure } from "../utils/index.js";
3
+ import { getActionNameAndContextOverride } from "./actionDecoratorUtils.js";
4
+ import { ActionContextActionType } from "./context.js";
5
+ import { isModelAction } from "./isModelAction.js";
6
+ import { wrapInAction } from "./wrapInAction.js";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxBY3Rpb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY3Rpb24vbW9kZWxBY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2hlY2tNb2RlbERlY29yYXRvckFyZ3MgfSBmcm9tIFwiLi4vbW9kZWxTaGFyZWQvY2hlY2tNb2RlbERlY29yYXRvckFyZ3NcIlxuaW1wb3J0IHsgZGVjb3JhdGVXcmFwTWV0aG9kT3JGaWVsZCwgZmFpbHVyZSB9IGZyb20gXCIuLi91dGlsc1wiXG5pbXBvcnQgeyBnZXRBY3Rpb25OYW1lQW5kQ29udGV4dE92ZXJyaWRlIH0gZnJvbSBcIi4vYWN0aW9uRGVjb3JhdG9yVXRpbHNcIlxuaW1wb3J0IHsgQWN0aW9uQ29udGV4dEFjdGlvblR5cGUgfSBmcm9tIFwiLi9jb250ZXh0XCJcbmltcG9ydCB7IGlzTW9kZWxBY3Rpb24gfSBmcm9tIFwiLi9pc01vZGVsQWN0aW9uXCJcbmltcG9ydCB7IHdyYXBJbkFjdGlvbiB9IGZyb20gXCIuL3dyYXBJbkFjdGlvblwiXG5cbmZ1bmN0aW9uIGNoZWNrTW9kZWxBY3Rpb25BcmdzKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09IFwiZnVuY3Rpb25cIikge1xuICAgIHRocm93IGZhaWx1cmUoXCJtb2RlbEFjdGlvbiBoYXMgdG8gYmUgdXNlZCBvdmVyIGZ1bmN0aW9uc1wiKVxuICB9XG4gIGNoZWNrTW9kZWxEZWNvcmF0b3JBcmdzKFwibW9kZWxBY3Rpb25cIiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSlcbn1cblxuLyoqXG4gKiBEZWNvcmF0b3IgdGhhdCB0dXJucyBhIGZ1bmN0aW9uIGludG8gYSBtb2RlbCBhY3Rpb24uXG4gKlxuICogQHBhcmFtIHRhcmdldFxuICogQHBhcmFtIHByb3BlcnR5S2V5XG4gKiBAcGFyYW0gW2Jhc2VEZXNjcmlwdG9yXVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vZGVsQWN0aW9uKFxuICB0YXJnZXQ6IGFueSxcbiAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgYmFzZURlc2NyaXB0b3I/OiBQcm9wZXJ0eURlc2NyaXB0b3Jcbik6IHZvaWQge1xuICBjb25zdCB7IGFjdGlvbk5hbWUsIG92ZXJyaWRlQ29udGV4dCB9ID0gZ2V0QWN0aW9uTmFtZUFuZENvbnRleHRPdmVycmlkZSh0YXJnZXQsIHByb3BlcnR5S2V5KVxuXG4gIHJldHVybiBkZWNvcmF0ZVdyYXBNZXRob2RPckZpZWxkKFxuICAgIFwibW9kZWxBY3Rpb25cIixcbiAgICB7XG4gICAgICB0YXJnZXQsXG4gICAgICBwcm9wZXJ0eUtleSxcbiAgICAgIGJhc2VEZXNjcmlwdG9yLFxuICAgIH0sXG4gICAgKGRhdGEsIGZuKSA9PiB7XG4gICAgICBpZiAoaXNNb2RlbEFjdGlvbihmbikpIHtcbiAgICAgICAgcmV0dXJuIGZuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjaGVja01vZGVsQWN0aW9uQXJncyhkYXRhLnRhcmdldCwgZGF0YS5wcm9wZXJ0eUtleSwgZm4pXG5cbiAgICAgICAgcmV0dXJuIHdyYXBJbkFjdGlvbih7XG4gICAgICAgICAgbmFtZU9yTmFtZUZuOiBhY3Rpb25OYW1lLFxuICAgICAgICAgIGZuLFxuICAgICAgICAgIGFjdGlvblR5cGU6IEFjdGlvbkNvbnRleHRBY3Rpb25UeXBlLlN5bmMsXG4gICAgICAgICAgb3ZlcnJpZGVDb250ZXh0LFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgKVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQU9BLDhCQUE4QixRQUFhLGFBQXFCO01BQzFELE9BQU8sVUFBVSxZQUFZO1VBQ3pCLFFBQVEsMkNBQTJDO0FBQUE7MEJBRW5DLGVBQWUsUUFBUSxXQUFXO0FBQzVEO3FCQVdFLFFBQ0EsYUFDQTtRQUVNLEVBQUUsWUFBWSxvQkFBb0IsZ0NBQWdDLFFBQVEsV0FBVztTQUVwRiwwQkFDTCxlQUNBO0FBQUEsSUFDRTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsS0FFRixDQUFDLE1BQU07UUFDRCxjQUFjLEVBQUUsR0FBRzthQUNkO0FBQUEsV0FDRjsyQkFDZ0IsS0FBSyxRQUFRLEtBQUssYUFBYSxFQUFFO2FBRS9DLGFBQWE7QUFBQSxRQUNsQixjQUFjO0FBQUEsUUFDZDtBQUFBLFFBQ0EsWUFBWSx3QkFBd0I7QUFBQSxRQUNwQztBQUFBLE9BQ0Q7QUFBQTtHQUVKO0FBRUw7OyJ9