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,166 +1,177 @@
1
- import { assertIsPrimitive, identityFn } from "../../utils"
2
- import type { PrimitiveValue } from "../../utils/types"
3
- import { registerStandardTypeResolver } from "../resolveTypeChecker"
4
- import type { AnyStandardType, IdentityType } from "../schemas"
5
- import { TypeChecker, TypeCheckerBaseType, TypeInfo, TypeInfoGen } from "../TypeChecker"
6
- import { TypeCheckError } from "../TypeCheckError"
7
-
8
- /**
9
- * A type that represents a certain value of a primitive (for example an *exact* number or string).
10
- *
11
- * Example
12
- * ```ts
13
- * const hiType = types.literal("hi") // the string with value "hi"
14
- * const number5Type = types.literal(5) // the number with value 5
15
- * ```
16
- *
17
- * @typeparam T Literal value type.
18
- * @param literal Literal value.
19
- * @returns
20
- */
21
- export function typesLiteral<T extends PrimitiveValue>(literal: T): IdentityType<T> {
22
- assertIsPrimitive(literal, "literal")
23
- let typeName: string
24
- switch (literal) {
25
- case undefined:
26
- typeName = "undefined"
27
- break
28
- case null:
29
- typeName = "null"
30
- break
31
- default:
32
- typeName = JSON.stringify(literal)
33
- break
34
- }
35
-
36
- const typeInfoGen: TypeInfoGen = (t) => new LiteralTypeInfo(t, literal)
37
-
38
- const thisTc: TypeChecker = new TypeChecker(
39
- TypeCheckerBaseType.Primitive,
40
-
41
- (value, path) => (value === literal ? null : new TypeCheckError(path, typeName, value)),
42
-
43
- () => typeName,
44
- typeInfoGen,
45
-
46
- (value) => (value === literal ? thisTc : null),
47
- identityFn,
48
- identityFn
49
- )
50
-
51
- return thisTc as any
52
- }
53
-
54
- /**
55
- * `types.literal` type info.
56
- */
57
- export class LiteralTypeInfo extends TypeInfo {
58
- constructor(thisType: AnyStandardType, readonly literal: PrimitiveValue) {
59
- super(thisType)
60
- }
61
- }
62
-
63
- /**
64
- * A type that represents the value undefined.
65
- * Syntactic sugar for `types.literal(undefined)`.
66
- *
67
- * ```ts
68
- * types.undefined
69
- * ```
70
- */
71
- export const typesUndefined = typesLiteral(undefined)
72
-
73
- registerStandardTypeResolver((v) => (v === undefined ? typesUndefined : undefined))
74
-
75
- /**
76
- * A type that represents the value null.
77
- * Syntactic sugar for `types.literal(null)`.
78
- *
79
- * ```ts
80
- * types.null
81
- * ```
82
- */
83
- export const typesNull = typesLiteral(null)
84
-
85
- registerStandardTypeResolver((v) => (v === null ? typesNull : undefined))
86
-
87
- /**
88
- * A type that represents any boolean value.
89
- *
90
- * ```ts
91
- * types.boolean
92
- * ```
93
- */
94
- export const typesBoolean: IdentityType<boolean> = new TypeChecker(
95
- TypeCheckerBaseType.Primitive,
96
-
97
- (value, path) => (typeof value === "boolean" ? null : new TypeCheckError(path, "boolean", value)),
98
-
99
- () => "boolean",
100
- (t) => new BooleanTypeInfo(t),
101
-
102
- (value) => (typeof value === "boolean" ? (typesBoolean as any) : null),
103
- identityFn,
104
- identityFn
105
- ) as any
106
-
107
- registerStandardTypeResolver((v) => (v === Boolean ? typesBoolean : undefined))
108
-
109
- /**
110
- * `types.boolean` type info.
111
- */
112
- export class BooleanTypeInfo extends TypeInfo {}
113
-
114
- /**
115
- * A type that represents any number value.
116
- *
117
- * ```ts
118
- * types.number
119
- * ```
120
- */
121
- export const typesNumber: IdentityType<number> = new TypeChecker(
122
- TypeCheckerBaseType.Primitive,
123
-
124
- (value, path) => (typeof value === "number" ? null : new TypeCheckError(path, "number", value)),
125
-
126
- () => "number",
127
- (t) => new NumberTypeInfo(t),
128
-
129
- (value) => (typeof value === "number" ? (typesNumber as any) : null),
130
- identityFn,
131
- identityFn
132
- ) as any
133
-
134
- registerStandardTypeResolver((v) => (v === Number ? typesNumber : undefined))
135
-
136
- /**
137
- * `types.number` type info.
138
- */
139
- export class NumberTypeInfo extends TypeInfo {}
140
-
141
- /**
142
- * A type that represents any string value.
143
- *
144
- * ```ts
145
- * types.string
146
- * ```
147
- */
148
- export const typesString: IdentityType<string> = new TypeChecker(
149
- TypeCheckerBaseType.Primitive,
150
-
151
- (value, path) => (typeof value === "string" ? null : new TypeCheckError(path, "string", value)),
152
-
153
- () => "string",
154
- (t) => new StringTypeInfo(t),
155
-
156
- (value) => (typeof value === "string" ? (typesString as any) : null),
157
- identityFn,
158
- identityFn
159
- ) as any
160
-
161
- registerStandardTypeResolver((v) => (v === String ? typesString : undefined))
162
-
163
- /**
164
- * `types.string` type info.
165
- */
166
- export class StringTypeInfo extends TypeInfo {}
1
+ import { assertIsPrimitive, identityFn } from "../../utils"
2
+ import type { PrimitiveValue } from "../../utils/types"
3
+ import { registerStandardTypeResolver, StandardTypeResolverFn } from "../resolveTypeChecker"
4
+ import type { AnyStandardType, IdentityType } from "../schemas"
5
+ import { TypeChecker, TypeCheckerBaseType, TypeInfo, TypeInfoGen } from "../TypeChecker"
6
+ import { TypeCheckError } from "../TypeCheckError"
7
+
8
+ const standardTypeResolvers: StandardTypeResolverFn[] = []
9
+
10
+ /**
11
+ * A type that represents a certain value of a primitive (for example an *exact* number or string).
12
+ *
13
+ * Example
14
+ * ```ts
15
+ * const hiType = types.literal("hi") // the string with value "hi"
16
+ * const number5Type = types.literal(5) // the number with value 5
17
+ * ```
18
+ *
19
+ * @typeparam T Literal value type.
20
+ * @param literal Literal value.
21
+ * @returns
22
+ */
23
+ export function typesLiteral<T extends PrimitiveValue>(literal: T): IdentityType<T> {
24
+ assertIsPrimitive(literal, "literal")
25
+ let typeName: string
26
+ switch (literal) {
27
+ case undefined:
28
+ typeName = "undefined"
29
+ break
30
+ case null:
31
+ typeName = "null"
32
+ break
33
+ default:
34
+ typeName = JSON.stringify(literal)
35
+ break
36
+ }
37
+
38
+ const typeInfoGen: TypeInfoGen = (t) => new LiteralTypeInfo(t, literal)
39
+
40
+ const thisTc: TypeChecker = new TypeChecker(
41
+ TypeCheckerBaseType.Primitive,
42
+
43
+ (value, path) => (value === literal ? null : new TypeCheckError(path, typeName, value)),
44
+
45
+ () => typeName,
46
+ typeInfoGen,
47
+
48
+ (value) => (value === literal ? thisTc : null),
49
+ identityFn,
50
+ identityFn
51
+ )
52
+
53
+ return thisTc as any
54
+ }
55
+
56
+ /**
57
+ * `types.literal` type info.
58
+ */
59
+ export class LiteralTypeInfo extends TypeInfo {
60
+ constructor(thisType: AnyStandardType, readonly literal: PrimitiveValue) {
61
+ super(thisType)
62
+ }
63
+ }
64
+
65
+ /**
66
+ * A type that represents the value undefined.
67
+ * Syntactic sugar for `types.literal(undefined)`.
68
+ *
69
+ * ```ts
70
+ * types.undefined
71
+ * ```
72
+ */
73
+ export const typesUndefined = typesLiteral(undefined)
74
+
75
+ standardTypeResolvers.push((v) => (v === undefined ? typesUndefined : undefined))
76
+
77
+ /**
78
+ * A type that represents the value null.
79
+ * Syntactic sugar for `types.literal(null)`.
80
+ *
81
+ * ```ts
82
+ * types.null
83
+ * ```
84
+ */
85
+ export const typesNull = typesLiteral(null)
86
+
87
+ standardTypeResolvers.push((v) => (v === null ? typesNull : undefined))
88
+
89
+ /**
90
+ * A type that represents any boolean value.
91
+ *
92
+ * ```ts
93
+ * types.boolean
94
+ * ```
95
+ */
96
+ export const typesBoolean: IdentityType<boolean> = new TypeChecker(
97
+ TypeCheckerBaseType.Primitive,
98
+
99
+ (value, path) => (typeof value === "boolean" ? null : new TypeCheckError(path, "boolean", value)),
100
+
101
+ () => "boolean",
102
+ (t) => new BooleanTypeInfo(t),
103
+
104
+ (value) => (typeof value === "boolean" ? (typesBoolean as any) : null),
105
+ identityFn,
106
+ identityFn
107
+ ) as any
108
+
109
+ standardTypeResolvers.push((v) => (v === Boolean ? typesBoolean : undefined))
110
+
111
+ /**
112
+ * `types.boolean` type info.
113
+ */
114
+ export class BooleanTypeInfo extends TypeInfo {}
115
+
116
+ /**
117
+ * A type that represents any number value.
118
+ *
119
+ * ```ts
120
+ * types.number
121
+ * ```
122
+ */
123
+ export const typesNumber: IdentityType<number> = new TypeChecker(
124
+ TypeCheckerBaseType.Primitive,
125
+
126
+ (value, path) => (typeof value === "number" ? null : new TypeCheckError(path, "number", value)),
127
+
128
+ () => "number",
129
+ (t) => new NumberTypeInfo(t),
130
+
131
+ (value) => (typeof value === "number" ? (typesNumber as any) : null),
132
+ identityFn,
133
+ identityFn
134
+ ) as any
135
+
136
+ standardTypeResolvers.push((v) => (v === Number ? typesNumber : undefined))
137
+
138
+ /**
139
+ * `types.number` type info.
140
+ */
141
+ export class NumberTypeInfo extends TypeInfo {}
142
+
143
+ /**
144
+ * A type that represents any string value.
145
+ *
146
+ * ```ts
147
+ * types.string
148
+ * ```
149
+ */
150
+ export const typesString: IdentityType<string> = new TypeChecker(
151
+ TypeCheckerBaseType.Primitive,
152
+
153
+ (value, path) => (typeof value === "string" ? null : new TypeCheckError(path, "string", value)),
154
+
155
+ () => "string",
156
+ (t) => new StringTypeInfo(t),
157
+
158
+ (value) => (typeof value === "string" ? (typesString as any) : null),
159
+ identityFn,
160
+ identityFn
161
+ ) as any
162
+
163
+ standardTypeResolvers.push((v) => (v === String ? typesString : undefined))
164
+
165
+ /**
166
+ * `types.string` type info.
167
+ */
168
+ export class StringTypeInfo extends TypeInfo {}
169
+
170
+ /**
171
+ * @internal
172
+ */
173
+ export function registerPrimitiveStandardTypeResolvers() {
174
+ standardTypeResolvers.forEach((str) => {
175
+ registerStandardTypeResolver(str)
176
+ })
177
+ }
@@ -0,0 +1,17 @@
1
+ import { registerModelStandardTypeResolver } from "./objectBased/model"
2
+ import { registerPrimitiveStandardTypeResolvers } from "./primitiveBased/primitives"
3
+
4
+ let defaultStandardTypeResolversRegistered = false
5
+
6
+ /**
7
+ * @internal
8
+ */
9
+ export function registerDefaultStandardTypeResolvers() {
10
+ if (defaultStandardTypeResolversRegistered) {
11
+ return
12
+ }
13
+ defaultStandardTypeResolversRegistered = true
14
+
15
+ registerModelStandardTypeResolver()
16
+ registerPrimitiveStandardTypeResolvers()
17
+ }
@@ -1,8 +1,12 @@
1
1
  import { failure } from "../utils"
2
+ import { registerDefaultStandardTypeResolvers } from "./registerDefaultStandardTypeResolvers"
2
3
  import type { AnyStandardType, AnyType } from "./schemas"
3
4
  import { isLateTypeChecker, LateTypeChecker, TypeChecker } from "./TypeChecker"
4
5
 
5
- type StandardTypeResolverFn = (value: any) => AnyStandardType | undefined
6
+ /**
7
+ * @internal
8
+ */
9
+ export type StandardTypeResolverFn = (value: any) => AnyStandardType | undefined
6
10
 
7
11
  const standardTypeResolvers: StandardTypeResolverFn[] = []
8
12
 
@@ -14,6 +18,8 @@ export function registerStandardTypeResolver(resolverFn: StandardTypeResolverFn)
14
18
  }
15
19
 
16
20
  function findStandardType(value: any): AnyStandardType | undefined {
21
+ registerDefaultStandardTypeResolvers()
22
+
17
23
  for (const resolverFn of standardTypeResolvers) {
18
24
  const tc = resolverFn(value)
19
25
  if (tc) return tc