document-model 2.4.0 → 2.5.0-test.0

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 (637) hide show
  1. package/dist/index.d.ts +18 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +13 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/{browser/src → src}/document/actions/creators.d.ts +4 -2
  6. package/dist/src/document/actions/creators.d.ts.map +1 -0
  7. package/dist/{node/src/document/actions/creators.d.ts → src/document/actions/creators.js} +18 -8
  8. package/dist/src/document/actions/creators.js.map +1 -0
  9. package/dist/src/document/actions/operations.d.ts +23 -0
  10. package/dist/src/document/actions/operations.d.ts.map +1 -0
  11. package/dist/src/document/actions/operations.js +131 -0
  12. package/dist/src/document/actions/operations.js.map +1 -0
  13. package/dist/src/document/actions/types.d.ts +16 -0
  14. package/dist/src/document/actions/types.d.ts.map +1 -0
  15. package/dist/src/document/actions/types.js +7 -0
  16. package/dist/src/document/actions/types.js.map +1 -0
  17. package/dist/{browser/src → src}/document/object.d.ts +17 -14
  18. package/dist/src/document/object.d.ts.map +1 -0
  19. package/dist/{node/src/document/object.d.ts → src/document/object.js} +93 -29
  20. package/dist/src/document/object.js.map +1 -0
  21. package/dist/src/document/reducer.d.ts +49 -0
  22. package/dist/src/document/reducer.d.ts.map +1 -0
  23. package/dist/src/document/reducer.js +342 -0
  24. package/dist/src/document/reducer.js.map +1 -0
  25. package/dist/{browser/src → src}/document/schema/types.d.ts +2 -1
  26. package/dist/src/document/schema/types.d.ts.map +1 -0
  27. package/dist/src/document/schema/types.js +2 -0
  28. package/dist/src/document/schema/types.js.map +1 -0
  29. package/dist/{browser/src → src}/document/schema/zod.d.ts +30 -47
  30. package/dist/src/document/schema/zod.d.ts.map +1 -0
  31. package/dist/src/document/schema/zod.js +113 -0
  32. package/dist/src/document/schema/zod.js.map +1 -0
  33. package/dist/{node/src → src}/document/signal.d.ts +10 -9
  34. package/dist/src/document/signal.d.ts.map +1 -0
  35. package/dist/src/document/signal.js +2 -0
  36. package/dist/src/document/signal.js.map +1 -0
  37. package/dist/src/document/types.d.ts +345 -0
  38. package/dist/src/document/types.d.ts.map +1 -0
  39. package/dist/src/document/types.js +2 -0
  40. package/dist/src/document/types.js.map +1 -0
  41. package/dist/src/document/utils/base.d.ts +83 -0
  42. package/dist/src/document/utils/base.d.ts.map +1 -0
  43. package/dist/src/document/utils/base.js +331 -0
  44. package/dist/src/document/utils/base.js.map +1 -0
  45. package/dist/src/document/utils/browser.d.ts +18 -0
  46. package/dist/src/document/utils/browser.d.ts.map +1 -0
  47. package/dist/src/document/utils/browser.js +54 -0
  48. package/dist/src/document/utils/browser.js.map +1 -0
  49. package/dist/src/document/utils/crypto.d.ts +11 -0
  50. package/dist/src/document/utils/crypto.d.ts.map +1 -0
  51. package/dist/src/document/utils/crypto.js +80 -0
  52. package/dist/src/document/utils/crypto.js.map +1 -0
  53. package/dist/src/document/utils/document-helpers.d.ts +78 -0
  54. package/dist/src/document/utils/document-helpers.d.ts.map +1 -0
  55. package/dist/src/document/utils/document-helpers.js +411 -0
  56. package/dist/src/document/utils/document-helpers.js.map +1 -0
  57. package/dist/src/document/utils/errors.d.ts +10 -0
  58. package/dist/src/document/utils/errors.d.ts.map +1 -0
  59. package/dist/src/document/utils/errors.js +19 -0
  60. package/dist/src/document/utils/errors.js.map +1 -0
  61. package/dist/{node/src → src}/document/utils/file.d.ts +10 -8
  62. package/dist/src/document/utils/file.d.ts.map +1 -0
  63. package/dist/src/document/utils/file.js +158 -0
  64. package/dist/src/document/utils/file.js.map +1 -0
  65. package/dist/src/document/utils/node.d.ts +18 -0
  66. package/dist/src/document/utils/node.d.ts.map +1 -0
  67. package/dist/src/document/utils/node.js +62 -0
  68. package/dist/src/document/utils/node.js.map +1 -0
  69. package/dist/src/document/utils/validation.d.ts +3 -0
  70. package/dist/src/document/utils/validation.d.ts.map +1 -0
  71. package/dist/src/document/utils/validation.js +23 -0
  72. package/dist/src/document/utils/validation.js.map +1 -0
  73. package/dist/src/document-model/custom/reducers/header.d.ts +3 -0
  74. package/dist/src/document-model/custom/reducers/header.d.ts.map +1 -0
  75. package/dist/src/document-model/custom/reducers/header.js +23 -0
  76. package/dist/src/document-model/custom/reducers/header.js.map +1 -0
  77. package/dist/src/document-model/custom/reducers/module.d.ts +3 -0
  78. package/dist/src/document-model/custom/reducers/module.d.ts.map +1 -0
  79. package/dist/src/document-model/custom/reducers/module.js +41 -0
  80. package/dist/src/document-model/custom/reducers/module.js.map +1 -0
  81. package/dist/src/document-model/custom/reducers/operation-error.d.ts +3 -0
  82. package/dist/src/document-model/custom/reducers/operation-error.d.ts.map +1 -0
  83. package/dist/src/document-model/custom/reducers/operation-error.js +94 -0
  84. package/dist/src/document-model/custom/reducers/operation-error.js.map +1 -0
  85. package/dist/src/document-model/custom/reducers/operation-example.d.ts +3 -0
  86. package/dist/src/document-model/custom/reducers/operation-example.d.ts.map +1 -0
  87. package/dist/src/document-model/custom/reducers/operation-example.js +53 -0
  88. package/dist/src/document-model/custom/reducers/operation-example.js.map +1 -0
  89. package/dist/src/document-model/custom/reducers/operation.d.ts +3 -0
  90. package/dist/src/document-model/custom/reducers/operation.d.ts.map +1 -0
  91. package/dist/src/document-model/custom/reducers/operation.js +125 -0
  92. package/dist/src/document-model/custom/reducers/operation.js.map +1 -0
  93. package/dist/src/document-model/custom/reducers/state.d.ts +3 -0
  94. package/dist/src/document-model/custom/reducers/state.d.ts.map +1 -0
  95. package/dist/src/document-model/custom/reducers/state.js +71 -0
  96. package/dist/src/document-model/custom/reducers/state.js.map +1 -0
  97. package/dist/src/document-model/custom/reducers/versioning.d.ts +8 -0
  98. package/dist/src/document-model/custom/reducers/versioning.d.ts.map +1 -0
  99. package/dist/src/document-model/custom/reducers/versioning.js +23 -0
  100. package/dist/src/document-model/custom/reducers/versioning.js.map +1 -0
  101. package/dist/{browser/src → src}/document-model/custom/utils.d.ts +4 -3
  102. package/dist/src/document-model/custom/utils.d.ts.map +1 -0
  103. package/dist/src/document-model/custom/utils.js +105 -0
  104. package/dist/src/document-model/custom/utils.js.map +1 -0
  105. package/dist/src/document-model/gen/actions.d.ts +16 -0
  106. package/dist/src/document-model/gen/actions.d.ts.map +1 -0
  107. package/dist/src/document-model/gen/actions.js +8 -0
  108. package/dist/src/document-model/gen/actions.js.map +1 -0
  109. package/dist/src/document-model/gen/constants.d.ts +7 -0
  110. package/dist/src/document-model/gen/constants.d.ts.map +1 -0
  111. package/dist/src/document-model/gen/constants.js +34 -0
  112. package/dist/src/document-model/gen/constants.js.map +1 -0
  113. package/dist/src/document-model/gen/creators.d.ts +8 -0
  114. package/dist/src/document-model/gen/creators.d.ts.map +1 -0
  115. package/dist/src/document-model/gen/creators.js +8 -0
  116. package/dist/src/document-model/gen/creators.js.map +1 -0
  117. package/dist/src/document-model/gen/document-model.d.ts +3 -0
  118. package/dist/src/document-model/gen/document-model.d.ts.map +1 -0
  119. package/dist/src/document-model/gen/document-model.js +542 -0
  120. package/dist/src/document-model/gen/document-model.js.map +1 -0
  121. package/dist/src/document-model/gen/header/actions.d.ts +10 -0
  122. package/dist/src/document-model/gen/header/actions.d.ts.map +1 -0
  123. package/dist/src/document-model/gen/header/actions.js +2 -0
  124. package/dist/src/document-model/gen/header/actions.js.map +1 -0
  125. package/dist/{node/src → src}/document-model/gen/header/creators.d.ts +3 -2
  126. package/dist/src/document-model/gen/header/creators.d.ts.map +1 -0
  127. package/dist/src/document-model/gen/header/creators.js +10 -0
  128. package/dist/src/document-model/gen/header/creators.js.map +1 -0
  129. package/dist/src/document-model/gen/header/object.d.ts +13 -0
  130. package/dist/src/document-model/gen/header/object.d.ts.map +1 -0
  131. package/dist/src/document-model/gen/header/object.js +23 -0
  132. package/dist/src/document-model/gen/header/object.js.map +1 -0
  133. package/dist/{node/src → src}/document-model/gen/header/operations.d.ts +3 -2
  134. package/dist/src/document-model/gen/header/operations.d.ts.map +1 -0
  135. package/dist/src/document-model/gen/header/operations.js +2 -0
  136. package/dist/src/document-model/gen/header/operations.js.map +1 -0
  137. package/dist/src/document-model/gen/module/actions.d.ts +9 -0
  138. package/dist/src/document-model/gen/module/actions.d.ts.map +1 -0
  139. package/dist/src/document-model/gen/module/actions.js +2 -0
  140. package/dist/src/document-model/gen/module/actions.js.map +1 -0
  141. package/dist/{node/src → src}/document-model/gen/module/creators.d.ts +3 -2
  142. package/dist/src/document-model/gen/module/creators.d.ts.map +1 -0
  143. package/dist/src/document-model/gen/module/creators.js +9 -0
  144. package/dist/src/document-model/gen/module/creators.js.map +1 -0
  145. package/dist/src/document-model/gen/module/object.d.ts +12 -0
  146. package/dist/src/document-model/gen/module/object.d.ts.map +1 -0
  147. package/dist/src/document-model/gen/module/object.js +20 -0
  148. package/dist/src/document-model/gen/module/object.js.map +1 -0
  149. package/dist/{browser/src → src}/document-model/gen/module/operations.d.ts +3 -2
  150. package/dist/src/document-model/gen/module/operations.d.ts.map +1 -0
  151. package/dist/src/document-model/gen/module/operations.js +2 -0
  152. package/dist/src/document-model/gen/module/operations.js.map +1 -0
  153. package/dist/src/document-model/gen/object.d.ts +29 -0
  154. package/dist/src/document-model/gen/object.d.ts.map +1 -0
  155. package/dist/src/document-model/gen/object.js +46 -0
  156. package/dist/src/document-model/gen/object.js.map +1 -0
  157. package/dist/src/document-model/gen/operation/actions.d.ts +14 -0
  158. package/dist/src/document-model/gen/operation/actions.d.ts.map +1 -0
  159. package/dist/src/document-model/gen/operation/actions.js +2 -0
  160. package/dist/src/document-model/gen/operation/actions.js.map +1 -0
  161. package/dist/{browser/src → src}/document-model/gen/operation/creators.d.ts +3 -2
  162. package/dist/src/document-model/gen/operation/creators.d.ts.map +1 -0
  163. package/dist/src/document-model/gen/operation/creators.js +20 -0
  164. package/dist/src/document-model/gen/operation/creators.js.map +1 -0
  165. package/dist/{node/src → src}/document-model/gen/operation/object.d.ts +7 -5
  166. package/dist/src/document-model/gen/operation/object.d.ts.map +1 -0
  167. package/dist/src/document-model/gen/operation/object.js +35 -0
  168. package/dist/src/document-model/gen/operation/object.js.map +1 -0
  169. package/dist/{node/src → src}/document-model/gen/operation/operations.d.ts +3 -2
  170. package/dist/src/document-model/gen/operation/operations.d.ts.map +1 -0
  171. package/dist/src/document-model/gen/operation/operations.js +2 -0
  172. package/dist/src/document-model/gen/operation/operations.js.map +1 -0
  173. package/dist/src/document-model/gen/operation-error/actions.d.ts +11 -0
  174. package/dist/src/document-model/gen/operation-error/actions.d.ts.map +1 -0
  175. package/dist/src/document-model/gen/operation-error/actions.js +2 -0
  176. package/dist/src/document-model/gen/operation-error/actions.js.map +1 -0
  177. package/dist/{node/src → src}/document-model/gen/operation-error/creators.d.ts +3 -2
  178. package/dist/src/document-model/gen/operation-error/creators.d.ts.map +1 -0
  179. package/dist/src/document-model/gen/operation-error/creators.js +17 -0
  180. package/dist/src/document-model/gen/operation-error/creators.js.map +1 -0
  181. package/dist/{node/src → src}/document-model/gen/operation-error/object.d.ts +7 -5
  182. package/dist/src/document-model/gen/operation-error/object.d.ts.map +1 -0
  183. package/dist/src/document-model/gen/operation-error/object.js +26 -0
  184. package/dist/src/document-model/gen/operation-error/object.js.map +1 -0
  185. package/dist/{browser/src → src}/document-model/gen/operation-error/operations.d.ts +3 -2
  186. package/dist/src/document-model/gen/operation-error/operations.d.ts.map +1 -0
  187. package/dist/src/document-model/gen/operation-error/operations.js +2 -0
  188. package/dist/src/document-model/gen/operation-error/operations.js.map +1 -0
  189. package/dist/src/document-model/gen/operation-example/actions.d.ts +8 -0
  190. package/dist/src/document-model/gen/operation-example/actions.d.ts.map +1 -0
  191. package/dist/src/document-model/gen/operation-example/actions.js +2 -0
  192. package/dist/src/document-model/gen/operation-example/actions.js.map +1 -0
  193. package/dist/{browser/src → src}/document-model/gen/operation-example/creators.d.ts +3 -2
  194. package/dist/src/document-model/gen/operation-example/creators.d.ts.map +1 -0
  195. package/dist/src/document-model/gen/operation-example/creators.js +14 -0
  196. package/dist/src/document-model/gen/operation-example/creators.js.map +1 -0
  197. package/dist/src/document-model/gen/operation-example/object.d.ts +12 -0
  198. package/dist/src/document-model/gen/operation-example/object.d.ts.map +1 -0
  199. package/dist/src/document-model/gen/operation-example/object.js +17 -0
  200. package/dist/src/document-model/gen/operation-example/object.js.map +1 -0
  201. package/dist/{browser/src → src}/document-model/gen/operation-example/operations.d.ts +3 -2
  202. package/dist/src/document-model/gen/operation-example/operations.d.ts.map +1 -0
  203. package/dist/src/document-model/gen/operation-example/operations.js +2 -0
  204. package/dist/src/document-model/gen/operation-example/operations.js.map +1 -0
  205. package/dist/src/document-model/gen/reducer.d.ts +5 -0
  206. package/dist/src/document-model/gen/reducer.d.ts.map +1 -0
  207. package/dist/src/document-model/gen/reducer.js +193 -0
  208. package/dist/src/document-model/gen/reducer.js.map +1 -0
  209. package/dist/{browser/src → src}/document-model/gen/schema/types.d.ts +6 -1
  210. package/dist/src/document-model/gen/schema/types.d.ts.map +1 -0
  211. package/dist/src/document-model/gen/schema/types.js +2 -0
  212. package/dist/src/document-model/gen/schema/types.js.map +1 -0
  213. package/dist/src/document-model/gen/schema/zod.d.ts +454 -0
  214. package/dist/src/document-model/gen/schema/zod.d.ts.map +1 -0
  215. package/dist/src/document-model/gen/schema/zod.js +394 -0
  216. package/dist/src/document-model/gen/schema/zod.js.map +1 -0
  217. package/dist/src/document-model/gen/state/actions.d.ts +10 -0
  218. package/dist/src/document-model/gen/state/actions.d.ts.map +1 -0
  219. package/dist/src/document-model/gen/state/actions.js +2 -0
  220. package/dist/src/document-model/gen/state/actions.js.map +1 -0
  221. package/dist/{browser/src → src}/document-model/gen/state/creators.d.ts +3 -2
  222. package/dist/src/document-model/gen/state/creators.d.ts.map +1 -0
  223. package/dist/src/document-model/gen/state/creators.js +10 -0
  224. package/dist/src/document-model/gen/state/creators.js.map +1 -0
  225. package/dist/src/document-model/gen/state/object.d.ts +13 -0
  226. package/dist/src/document-model/gen/state/object.d.ts.map +1 -0
  227. package/dist/src/document-model/gen/state/object.js +23 -0
  228. package/dist/src/document-model/gen/state/object.js.map +1 -0
  229. package/dist/{browser/src → src}/document-model/gen/state/operations.d.ts +3 -2
  230. package/dist/src/document-model/gen/state/operations.d.ts.map +1 -0
  231. package/dist/src/document-model/gen/state/operations.js +2 -0
  232. package/dist/src/document-model/gen/state/operations.js.map +1 -0
  233. package/dist/src/document-model/gen/types.d.ts +7 -0
  234. package/dist/src/document-model/gen/types.d.ts.map +1 -0
  235. package/dist/src/document-model/gen/types.js +2 -0
  236. package/dist/src/document-model/gen/types.js.map +1 -0
  237. package/dist/src/document-model/gen/utils.d.ts +11 -0
  238. package/dist/src/document-model/gen/utils.d.ts.map +1 -0
  239. package/dist/src/document-model/gen/utils.js +30 -0
  240. package/dist/src/document-model/gen/utils.js.map +1 -0
  241. package/dist/src/document-model/gen/versioning/actions.d.ts +9 -0
  242. package/dist/src/document-model/gen/versioning/actions.d.ts.map +1 -0
  243. package/dist/src/document-model/gen/versioning/actions.js +2 -0
  244. package/dist/src/document-model/gen/versioning/actions.js.map +1 -0
  245. package/dist/{browser/src → src}/document-model/gen/versioning/creators.d.ts +3 -2
  246. package/dist/src/document-model/gen/versioning/creators.d.ts.map +1 -0
  247. package/dist/src/document-model/gen/versioning/creators.js +13 -0
  248. package/dist/src/document-model/gen/versioning/creators.js.map +1 -0
  249. package/dist/src/document-model/gen/versioning/object.d.ts +13 -0
  250. package/dist/src/document-model/gen/versioning/object.d.ts.map +1 -0
  251. package/dist/src/document-model/gen/versioning/object.js +20 -0
  252. package/dist/src/document-model/gen/versioning/object.js.map +1 -0
  253. package/dist/{browser/src → src}/document-model/gen/versioning/operations.d.ts +3 -2
  254. package/dist/src/document-model/gen/versioning/operations.d.ts.map +1 -0
  255. package/dist/src/document-model/gen/versioning/operations.js +2 -0
  256. package/dist/src/document-model/gen/versioning/operations.js.map +1 -0
  257. package/dist/src/document-model/module.d.ts +3 -0
  258. package/dist/src/document-model/module.d.ts.map +1 -0
  259. package/dist/src/document-model/module.js +13 -0
  260. package/dist/src/document-model/module.js.map +1 -0
  261. package/dist/src/document-model/types.d.ts +4 -0
  262. package/dist/src/document-model/types.d.ts.map +1 -0
  263. package/dist/src/document-model/types.js +2 -0
  264. package/dist/src/document-model/types.js.map +1 -0
  265. package/dist/test/document/crypto.test.d.ts +2 -0
  266. package/dist/test/document/crypto.test.d.ts.map +1 -0
  267. package/dist/test/document/crypto.test.js +181 -0
  268. package/dist/test/document/crypto.test.js.map +1 -0
  269. package/dist/test/document/event-vs-command.test.d.ts +2 -0
  270. package/dist/test/document/event-vs-command.test.d.ts.map +1 -0
  271. package/dist/test/document/event-vs-command.test.js +169 -0
  272. package/dist/test/document/event-vs-command.test.js.map +1 -0
  273. package/dist/test/document/local.test.d.ts +2 -0
  274. package/dist/test/document/local.test.d.ts.map +1 -0
  275. package/dist/test/document/local.test.js +248 -0
  276. package/dist/test/document/local.test.js.map +1 -0
  277. package/dist/test/document/object.test.d.ts +2 -0
  278. package/dist/test/document/object.test.d.ts.map +1 -0
  279. package/dist/test/document/object.test.js +13 -0
  280. package/dist/test/document/object.test.js.map +1 -0
  281. package/dist/test/document/operation-id.test.d.ts +2 -0
  282. package/dist/test/document/operation-id.test.d.ts.map +1 -0
  283. package/dist/test/document/operation-id.test.js +159 -0
  284. package/dist/test/document/operation-id.test.js.map +1 -0
  285. package/dist/test/document/prune.test.d.ts +2 -0
  286. package/dist/test/document/prune.test.d.ts.map +1 -0
  287. package/dist/test/document/prune.test.js +177 -0
  288. package/dist/test/document/prune.test.js.map +1 -0
  289. package/dist/test/document/reducer.test.d.ts +2 -0
  290. package/dist/test/document/reducer.test.d.ts.map +1 -0
  291. package/dist/test/document/reducer.test.js +270 -0
  292. package/dist/test/document/reducer.test.js.map +1 -0
  293. package/dist/test/document/skip-operations.test.d.ts +2 -0
  294. package/dist/test/document/skip-operations.test.d.ts.map +1 -0
  295. package/dist/test/document/skip-operations.test.js +442 -0
  296. package/dist/test/document/skip-operations.test.js.map +1 -0
  297. package/dist/test/document/undo-redo.test.d.ts +2 -0
  298. package/dist/test/document/undo-redo.test.d.ts.map +1 -0
  299. package/dist/test/document/undo-redo.test.js +377 -0
  300. package/dist/test/document/undo-redo.test.js.map +1 -0
  301. package/dist/test/document/utils.test.d.ts +2 -0
  302. package/dist/test/document/utils.test.d.ts.map +1 -0
  303. package/dist/test/document/utils.test.js +152 -0
  304. package/dist/test/document/utils.test.js.map +1 -0
  305. package/dist/test/document-helpers/addUndo.test.d.ts +2 -0
  306. package/dist/test/document-helpers/addUndo.test.d.ts.map +1 -0
  307. package/dist/test/document-helpers/addUndo.test.js +120 -0
  308. package/dist/test/document-helpers/addUndo.test.js.map +1 -0
  309. package/dist/test/document-helpers/attachBranch.test.d.ts +2 -0
  310. package/dist/test/document-helpers/attachBranch.test.d.ts.map +1 -0
  311. package/dist/test/document-helpers/attachBranch.test.js +364 -0
  312. package/dist/test/document-helpers/attachBranch.test.js.map +1 -0
  313. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +2 -0
  314. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts.map +1 -0
  315. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js +252 -0
  316. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js.map +1 -0
  317. package/dist/test/document-helpers/conflictResolution.test.d.ts +2 -0
  318. package/dist/test/document-helpers/conflictResolution.test.d.ts.map +1 -0
  319. package/dist/test/document-helpers/conflictResolution.test.js +109 -0
  320. package/dist/test/document-helpers/conflictResolution.test.js.map +1 -0
  321. package/dist/test/document-helpers/filterDuplicatedOperations.test.d.ts +2 -0
  322. package/dist/test/document-helpers/filterDuplicatedOperations.test.d.ts.map +1 -0
  323. package/dist/test/document-helpers/filterDuplicatedOperations.test.js +126 -0
  324. package/dist/test/document-helpers/filterDuplicatedOperations.test.js.map +1 -0
  325. package/dist/test/document-helpers/garbageCollect.test.d.ts +2 -0
  326. package/dist/test/document-helpers/garbageCollect.test.d.ts.map +1 -0
  327. package/dist/test/document-helpers/garbageCollect.test.js +136 -0
  328. package/dist/test/document-helpers/garbageCollect.test.js.map +1 -0
  329. package/dist/test/document-helpers/groupOperationsByScope.test.d.ts +2 -0
  330. package/dist/test/document-helpers/groupOperationsByScope.test.d.ts.map +1 -0
  331. package/dist/test/document-helpers/groupOperationsByScope.test.js +98 -0
  332. package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -0
  333. package/dist/test/document-helpers/merge.test.d.ts +2 -0
  334. package/dist/test/document-helpers/merge.test.d.ts.map +1 -0
  335. package/dist/test/document-helpers/merge.test.js +906 -0
  336. package/dist/test/document-helpers/merge.test.js.map +1 -0
  337. package/dist/test/document-helpers/nextSkipNumber.test.d.ts +2 -0
  338. package/dist/test/document-helpers/nextSkipNumber.test.d.ts.map +1 -0
  339. package/dist/test/document-helpers/nextSkipNumber.test.js +135 -0
  340. package/dist/test/document-helpers/nextSkipNumber.test.js.map +1 -0
  341. package/dist/test/document-helpers/prepareOperations.test.d.ts +2 -0
  342. package/dist/test/document-helpers/prepareOperations.test.d.ts.map +1 -0
  343. package/dist/test/document-helpers/prepareOperations.test.js +304 -0
  344. package/dist/test/document-helpers/prepareOperations.test.js.map +1 -0
  345. package/dist/test/document-helpers/removeExistingOperations.test.d.ts +2 -0
  346. package/dist/test/document-helpers/removeExistingOperations.test.d.ts.map +1 -0
  347. package/dist/test/document-helpers/removeExistingOperations.test.js +150 -0
  348. package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -0
  349. package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts +2 -0
  350. package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts.map +1 -0
  351. package/dist/test/document-helpers/reshuffleByTimestamp.test.js +148 -0
  352. package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -0
  353. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +2 -0
  354. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts.map +1 -0
  355. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +200 -0
  356. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -0
  357. package/dist/test/document-helpers/skipHeaderOperations.test.d.ts +2 -0
  358. package/dist/test/document-helpers/skipHeaderOperations.test.d.ts.map +1 -0
  359. package/dist/test/document-helpers/skipHeaderOperations.test.js +74 -0
  360. package/dist/test/document-helpers/skipHeaderOperations.test.js.map +1 -0
  361. package/dist/test/document-helpers/sortOperations.test.d.ts +2 -0
  362. package/dist/test/document-helpers/sortOperations.test.d.ts.map +1 -0
  363. package/dist/test/document-helpers/sortOperations.test.js +101 -0
  364. package/dist/test/document-helpers/sortOperations.test.js.map +1 -0
  365. package/dist/test/document-helpers/split.test.d.ts +2 -0
  366. package/dist/test/document-helpers/split.test.d.ts.map +1 -0
  367. package/dist/test/document-helpers/split.test.js +121 -0
  368. package/dist/test/document-helpers/split.test.js.map +1 -0
  369. package/dist/{browser/test → test}/document-helpers/utils.d.ts +2 -1
  370. package/dist/test/document-helpers/utils.d.ts.map +1 -0
  371. package/dist/test/document-helpers/utils.js +22 -0
  372. package/dist/test/document-helpers/utils.js.map +1 -0
  373. package/dist/test/document-model/object.test.d.ts +2 -0
  374. package/dist/test/document-model/object.test.d.ts.map +1 -0
  375. package/dist/test/document-model/object.test.js +243 -0
  376. package/dist/test/document-model/object.test.js.map +1 -0
  377. package/dist/test/document-model/replay.test.d.ts +2 -0
  378. package/dist/test/document-model/replay.test.d.ts.map +1 -0
  379. package/dist/test/document-model/replay.test.js +149 -0
  380. package/dist/test/document-model/replay.test.js.map +1 -0
  381. package/dist/test/document-model/skip-operations.test.d.ts +2 -0
  382. package/dist/test/document-model/skip-operations.test.d.ts.map +1 -0
  383. package/dist/test/document-model/skip-operations.test.js +220 -0
  384. package/dist/test/document-model/skip-operations.test.js.map +1 -0
  385. package/dist/test/document-model/validation.test.d.ts +2 -0
  386. package/dist/test/document-model/validation.test.d.ts.map +1 -0
  387. package/dist/test/document-model/validation.test.js +258 -0
  388. package/dist/test/document-model/validation.test.js.map +1 -0
  389. package/dist/test/document-model/zip.test.d.ts +2 -0
  390. package/dist/test/document-model/zip.test.d.ts.map +1 -0
  391. package/dist/test/document-model/zip.test.js +80 -0
  392. package/dist/test/document-model/zip.test.js.map +1 -0
  393. package/dist/test/helpers.d.ts +31 -0
  394. package/dist/test/helpers.d.ts.map +1 -0
  395. package/dist/test/helpers.js +71 -0
  396. package/dist/test/helpers.js.map +1 -0
  397. package/dist/tsconfig.tsbuildinfo +1 -0
  398. package/dist/vitest.config.d.ts +3 -0
  399. package/dist/vitest.config.d.ts.map +1 -0
  400. package/dist/vitest.config.js +13 -0
  401. package/dist/vitest.config.js.map +1 -0
  402. package/package.json +27 -53
  403. package/dist/browser/cjs/document-model.js +0 -20
  404. package/dist/browser/cjs/document-model.js.map +0 -1
  405. package/dist/browser/cjs/document.js +0 -15
  406. package/dist/browser/cjs/document.js.map +0 -1
  407. package/dist/browser/cjs/index.js +0 -14
  408. package/dist/browser/cjs/index.js.map +0 -1
  409. package/dist/browser/cjs/internal/index-DyKphRZa.js +0 -2215
  410. package/dist/browser/cjs/internal/index-DyKphRZa.js.map +0 -1
  411. package/dist/browser/cjs/internal/index-y9w_m1Lo.js +0 -57
  412. package/dist/browser/cjs/internal/index-y9w_m1Lo.js.map +0 -1
  413. package/dist/browser/cjs/internal/object-Dbc1GbBl.js +0 -2694
  414. package/dist/browser/cjs/internal/object-Dbc1GbBl.js.map +0 -1
  415. package/dist/browser/cjs/package.json +0 -1
  416. package/dist/browser/document-model.d.ts +0 -2
  417. package/dist/browser/document.d.ts +0 -2
  418. package/dist/browser/es/document-model.js +0 -20
  419. package/dist/browser/es/document-model.js.map +0 -1
  420. package/dist/browser/es/document.js +0 -15
  421. package/dist/browser/es/document.js.map +0 -1
  422. package/dist/browser/es/index.js +0 -14
  423. package/dist/browser/es/index.js.map +0 -1
  424. package/dist/browser/es/internal/index-BI16PNmr.js +0 -58
  425. package/dist/browser/es/internal/index-BI16PNmr.js.map +0 -1
  426. package/dist/browser/es/internal/index-CiQX4huJ.js +0 -2216
  427. package/dist/browser/es/internal/index-CiQX4huJ.js.map +0 -1
  428. package/dist/browser/es/internal/object-BTIqCvb-.js +0 -2695
  429. package/dist/browser/es/internal/object-BTIqCvb-.js.map +0 -1
  430. package/dist/browser/es/package.json +0 -1
  431. package/dist/browser/index.d.ts +0 -6
  432. package/dist/browser/src/document/actions/index.d.ts +0 -14
  433. package/dist/browser/src/document/actions/types.d.ts +0 -15
  434. package/dist/browser/src/document/index.d.ts +0 -6
  435. package/dist/browser/src/document/reducer.d.ts +0 -65
  436. package/dist/browser/src/document/schema/index.d.ts +0 -2
  437. package/dist/browser/src/document/signal.d.ts +0 -29
  438. package/dist/browser/src/document/types.d.ts +0 -271
  439. package/dist/browser/src/document/utils/base.d.ts +0 -87
  440. package/dist/browser/src/document/utils/crypto.d.ts +0 -9
  441. package/dist/browser/src/document/utils/document-helpers.d.ts +0 -73
  442. package/dist/browser/src/document/utils/file.d.ts +0 -48
  443. package/dist/browser/src/document/utils/index.d.ts +0 -6
  444. package/dist/browser/src/document/utils/node.d.ts +0 -9
  445. package/dist/browser/src/document/utils/validation.d.ts +0 -2
  446. package/dist/browser/src/document-model/custom/reducers/header.d.ts +0 -2
  447. package/dist/browser/src/document-model/custom/reducers/module.d.ts +0 -2
  448. package/dist/browser/src/document-model/custom/reducers/operation-error.d.ts +0 -2
  449. package/dist/browser/src/document-model/custom/reducers/operation-example.d.ts +0 -2
  450. package/dist/browser/src/document-model/custom/reducers/operation.d.ts +0 -2
  451. package/dist/browser/src/document-model/custom/reducers/state.d.ts +0 -2
  452. package/dist/browser/src/document-model/custom/reducers/versioning.d.ts +0 -2
  453. package/dist/browser/src/document-model/gen/actions.d.ts +0 -15
  454. package/dist/browser/src/document-model/gen/creators.d.ts +0 -7
  455. package/dist/browser/src/document-model/gen/document-model.d.ts +0 -2
  456. package/dist/browser/src/document-model/gen/header/actions.d.ts +0 -9
  457. package/dist/browser/src/document-model/gen/header/creators.d.ts +0 -8
  458. package/dist/browser/src/document-model/gen/header/object.d.ts +0 -12
  459. package/dist/browser/src/document-model/gen/header/operations.d.ts +0 -10
  460. package/dist/browser/src/document-model/gen/index.d.ts +0 -5
  461. package/dist/browser/src/document-model/gen/module/actions.d.ts +0 -8
  462. package/dist/browser/src/document-model/gen/module/creators.d.ts +0 -7
  463. package/dist/browser/src/document-model/gen/module/object.d.ts +0 -11
  464. package/dist/browser/src/document-model/gen/object.d.ts +0 -28
  465. package/dist/browser/src/document-model/gen/operation/actions.d.ts +0 -13
  466. package/dist/browser/src/document-model/gen/operation/object.d.ts +0 -16
  467. package/dist/browser/src/document-model/gen/operation/operations.d.ts +0 -14
  468. package/dist/browser/src/document-model/gen/operation-error/actions.d.ts +0 -10
  469. package/dist/browser/src/document-model/gen/operation-error/creators.d.ts +0 -9
  470. package/dist/browser/src/document-model/gen/operation-error/object.d.ts +0 -13
  471. package/dist/browser/src/document-model/gen/operation-example/actions.d.ts +0 -7
  472. package/dist/browser/src/document-model/gen/operation-example/object.d.ts +0 -10
  473. package/dist/browser/src/document-model/gen/reducer.d.ts +0 -5
  474. package/dist/browser/src/document-model/gen/schema/index.d.ts +0 -2
  475. package/dist/browser/src/document-model/gen/schema/zod.d.ts +0 -453
  476. package/dist/browser/src/document-model/gen/state/actions.d.ts +0 -9
  477. package/dist/browser/src/document-model/gen/state/object.d.ts +0 -12
  478. package/dist/browser/src/document-model/gen/types.d.ts +0 -8
  479. package/dist/browser/src/document-model/gen/utils.d.ts +0 -6
  480. package/dist/browser/src/document-model/gen/versioning/actions.d.ts +0 -8
  481. package/dist/browser/src/document-model/gen/versioning/object.d.ts +0 -11
  482. package/dist/browser/src/document-model/index.d.ts +0 -76
  483. package/dist/browser/src/index.d.ts +0 -24
  484. package/dist/browser/test/document/crypto.test.d.ts +0 -1
  485. package/dist/browser/test/document/event-vs-command.test.d.ts +0 -1
  486. package/dist/browser/test/document/local.test.d.ts +0 -1
  487. package/dist/browser/test/document/object.test.d.ts +0 -1
  488. package/dist/browser/test/document/operation-id.test.d.ts +0 -1
  489. package/dist/browser/test/document/prune.test.d.ts +0 -1
  490. package/dist/browser/test/document/reducer.test.d.ts +0 -1
  491. package/dist/browser/test/document/skip-operations.test.d.ts +0 -1
  492. package/dist/browser/test/document/undo-redo.test.d.ts +0 -1
  493. package/dist/browser/test/document/utils.test.d.ts +0 -1
  494. package/dist/browser/test/document-helpers/addUndo.test.d.ts +0 -1
  495. package/dist/browser/test/document-helpers/attachBranch.test.d.ts +0 -1
  496. package/dist/browser/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +0 -1
  497. package/dist/browser/test/document-helpers/conflictResolution.test.d.ts +0 -1
  498. package/dist/browser/test/document-helpers/filterDuplicatedOperations.test.d.ts +0 -1
  499. package/dist/browser/test/document-helpers/garbageCollect.test.d.ts +0 -1
  500. package/dist/browser/test/document-helpers/groupOperationsByScope.test.d.ts +0 -1
  501. package/dist/browser/test/document-helpers/merge.test.d.ts +0 -1
  502. package/dist/browser/test/document-helpers/nextSkipNumber.test.d.ts +0 -1
  503. package/dist/browser/test/document-helpers/prepareOperations.test.d.ts +0 -1
  504. package/dist/browser/test/document-helpers/removeExistingOperations.test.d.ts +0 -1
  505. package/dist/browser/test/document-helpers/reshuffleByTimestamp.test.d.ts +0 -1
  506. package/dist/browser/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +0 -1
  507. package/dist/browser/test/document-helpers/skipHeaderOperations.test.d.ts +0 -1
  508. package/dist/browser/test/document-helpers/sortOperations.test.d.ts +0 -1
  509. package/dist/browser/test/document-helpers/split.test.d.ts +0 -1
  510. package/dist/browser/test/document-model/object.test.d.ts +0 -1
  511. package/dist/browser/test/document-model/replay.test.d.ts +0 -1
  512. package/dist/browser/test/document-model/skip-operations.test.d.ts +0 -1
  513. package/dist/browser/test/document-model/validation.test.d.ts +0 -1
  514. package/dist/browser/test/document-model/zip.test.d.ts +0 -1
  515. package/dist/browser/test/helpers.d.ts +0 -39
  516. package/dist/browser/vite.config.d.ts +0 -2
  517. package/dist/browser/vitest.config.d.ts +0 -2
  518. package/dist/node/cjs/document-model.js +0 -24
  519. package/dist/node/cjs/document-model.js.map +0 -1
  520. package/dist/node/cjs/document.js +0 -15
  521. package/dist/node/cjs/document.js.map +0 -1
  522. package/dist/node/cjs/index.js +0 -14
  523. package/dist/node/cjs/index.js.map +0 -1
  524. package/dist/node/cjs/internal/index-CLCVBs4I.js +0 -57
  525. package/dist/node/cjs/internal/index-CLCVBs4I.js.map +0 -1
  526. package/dist/node/cjs/internal/index-Cp37sm40.js +0 -2219
  527. package/dist/node/cjs/internal/index-Cp37sm40.js.map +0 -1
  528. package/dist/node/cjs/internal/object-ByNZ3G_j.js +0 -2480
  529. package/dist/node/cjs/internal/object-ByNZ3G_j.js.map +0 -1
  530. package/dist/node/cjs/package.json +0 -1
  531. package/dist/node/document-model.d.ts +0 -2
  532. package/dist/node/document.d.ts +0 -2
  533. package/dist/node/es/document-model.js +0 -24
  534. package/dist/node/es/document-model.js.map +0 -1
  535. package/dist/node/es/document.js +0 -15
  536. package/dist/node/es/document.js.map +0 -1
  537. package/dist/node/es/index.js +0 -14
  538. package/dist/node/es/index.js.map +0 -1
  539. package/dist/node/es/internal/index-BXfMlE4L.js +0 -58
  540. package/dist/node/es/internal/index-BXfMlE4L.js.map +0 -1
  541. package/dist/node/es/internal/index-ppDSDiFU.js +0 -2220
  542. package/dist/node/es/internal/index-ppDSDiFU.js.map +0 -1
  543. package/dist/node/es/internal/object-C8sca9DR.js +0 -2481
  544. package/dist/node/es/internal/object-C8sca9DR.js.map +0 -1
  545. package/dist/node/es/package.json +0 -1
  546. package/dist/node/index.d.ts +0 -6
  547. package/dist/node/src/document/actions/index.d.ts +0 -14
  548. package/dist/node/src/document/actions/types.d.ts +0 -15
  549. package/dist/node/src/document/index.d.ts +0 -6
  550. package/dist/node/src/document/reducer.d.ts +0 -65
  551. package/dist/node/src/document/schema/index.d.ts +0 -2
  552. package/dist/node/src/document/schema/types.d.ts +0 -176
  553. package/dist/node/src/document/schema/zod.d.ts +0 -116
  554. package/dist/node/src/document/types.d.ts +0 -271
  555. package/dist/node/src/document/utils/base.d.ts +0 -87
  556. package/dist/node/src/document/utils/crypto.d.ts +0 -9
  557. package/dist/node/src/document/utils/document-helpers.d.ts +0 -73
  558. package/dist/node/src/document/utils/index.d.ts +0 -6
  559. package/dist/node/src/document/utils/node.d.ts +0 -9
  560. package/dist/node/src/document/utils/validation.d.ts +0 -2
  561. package/dist/node/src/document-model/custom/reducers/header.d.ts +0 -2
  562. package/dist/node/src/document-model/custom/reducers/module.d.ts +0 -2
  563. package/dist/node/src/document-model/custom/reducers/operation-error.d.ts +0 -2
  564. package/dist/node/src/document-model/custom/reducers/operation-example.d.ts +0 -2
  565. package/dist/node/src/document-model/custom/reducers/operation.d.ts +0 -2
  566. package/dist/node/src/document-model/custom/reducers/state.d.ts +0 -2
  567. package/dist/node/src/document-model/custom/reducers/versioning.d.ts +0 -2
  568. package/dist/node/src/document-model/custom/utils.d.ts +0 -7
  569. package/dist/node/src/document-model/gen/actions.d.ts +0 -15
  570. package/dist/node/src/document-model/gen/creators.d.ts +0 -7
  571. package/dist/node/src/document-model/gen/document-model.d.ts +0 -2
  572. package/dist/node/src/document-model/gen/header/actions.d.ts +0 -9
  573. package/dist/node/src/document-model/gen/header/object.d.ts +0 -12
  574. package/dist/node/src/document-model/gen/index.d.ts +0 -5
  575. package/dist/node/src/document-model/gen/module/actions.d.ts +0 -8
  576. package/dist/node/src/document-model/gen/module/object.d.ts +0 -11
  577. package/dist/node/src/document-model/gen/module/operations.d.ts +0 -9
  578. package/dist/node/src/document-model/gen/object.d.ts +0 -28
  579. package/dist/node/src/document-model/gen/operation/actions.d.ts +0 -13
  580. package/dist/node/src/document-model/gen/operation/creators.d.ts +0 -12
  581. package/dist/node/src/document-model/gen/operation-error/actions.d.ts +0 -10
  582. package/dist/node/src/document-model/gen/operation-error/operations.d.ts +0 -11
  583. package/dist/node/src/document-model/gen/operation-example/actions.d.ts +0 -7
  584. package/dist/node/src/document-model/gen/operation-example/creators.d.ts +0 -6
  585. package/dist/node/src/document-model/gen/operation-example/object.d.ts +0 -10
  586. package/dist/node/src/document-model/gen/operation-example/operations.d.ts +0 -8
  587. package/dist/node/src/document-model/gen/reducer.d.ts +0 -5
  588. package/dist/node/src/document-model/gen/schema/index.d.ts +0 -2
  589. package/dist/node/src/document-model/gen/schema/types.d.ts +0 -453
  590. package/dist/node/src/document-model/gen/schema/zod.d.ts +0 -453
  591. package/dist/node/src/document-model/gen/state/actions.d.ts +0 -9
  592. package/dist/node/src/document-model/gen/state/creators.d.ts +0 -8
  593. package/dist/node/src/document-model/gen/state/object.d.ts +0 -12
  594. package/dist/node/src/document-model/gen/state/operations.d.ts +0 -10
  595. package/dist/node/src/document-model/gen/types.d.ts +0 -8
  596. package/dist/node/src/document-model/gen/utils.d.ts +0 -6
  597. package/dist/node/src/document-model/gen/versioning/actions.d.ts +0 -8
  598. package/dist/node/src/document-model/gen/versioning/creators.d.ts +0 -7
  599. package/dist/node/src/document-model/gen/versioning/object.d.ts +0 -11
  600. package/dist/node/src/document-model/gen/versioning/operations.d.ts +0 -9
  601. package/dist/node/src/document-model/index.d.ts +0 -76
  602. package/dist/node/src/index.d.ts +0 -24
  603. package/dist/node/test/document/crypto.test.d.ts +0 -1
  604. package/dist/node/test/document/event-vs-command.test.d.ts +0 -1
  605. package/dist/node/test/document/local.test.d.ts +0 -1
  606. package/dist/node/test/document/object.test.d.ts +0 -1
  607. package/dist/node/test/document/operation-id.test.d.ts +0 -1
  608. package/dist/node/test/document/prune.test.d.ts +0 -1
  609. package/dist/node/test/document/reducer.test.d.ts +0 -1
  610. package/dist/node/test/document/skip-operations.test.d.ts +0 -1
  611. package/dist/node/test/document/undo-redo.test.d.ts +0 -1
  612. package/dist/node/test/document/utils.test.d.ts +0 -1
  613. package/dist/node/test/document-helpers/addUndo.test.d.ts +0 -1
  614. package/dist/node/test/document-helpers/attachBranch.test.d.ts +0 -1
  615. package/dist/node/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +0 -1
  616. package/dist/node/test/document-helpers/conflictResolution.test.d.ts +0 -1
  617. package/dist/node/test/document-helpers/filterDuplicatedOperations.test.d.ts +0 -1
  618. package/dist/node/test/document-helpers/garbageCollect.test.d.ts +0 -1
  619. package/dist/node/test/document-helpers/groupOperationsByScope.test.d.ts +0 -1
  620. package/dist/node/test/document-helpers/merge.test.d.ts +0 -1
  621. package/dist/node/test/document-helpers/nextSkipNumber.test.d.ts +0 -1
  622. package/dist/node/test/document-helpers/prepareOperations.test.d.ts +0 -1
  623. package/dist/node/test/document-helpers/removeExistingOperations.test.d.ts +0 -1
  624. package/dist/node/test/document-helpers/reshuffleByTimestamp.test.d.ts +0 -1
  625. package/dist/node/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +0 -1
  626. package/dist/node/test/document-helpers/skipHeaderOperations.test.d.ts +0 -1
  627. package/dist/node/test/document-helpers/sortOperations.test.d.ts +0 -1
  628. package/dist/node/test/document-helpers/split.test.d.ts +0 -1
  629. package/dist/node/test/document-helpers/utils.d.ts +0 -7
  630. package/dist/node/test/document-model/object.test.d.ts +0 -1
  631. package/dist/node/test/document-model/replay.test.d.ts +0 -1
  632. package/dist/node/test/document-model/skip-operations.test.d.ts +0 -1
  633. package/dist/node/test/document-model/validation.test.d.ts +0 -1
  634. package/dist/node/test/document-model/zip.test.d.ts +0 -1
  635. package/dist/node/test/helpers.d.ts +0 -39
  636. package/dist/node/vite.config.d.ts +0 -2
  637. package/dist/node/vitest.config.d.ts +0 -2
@@ -1,116 +1,167 @@
1
- import { BaseAction } from './actions/types';
2
- import { SignalDispatch } from './signal';
3
- import { Action, AttachmentRef, Document, ExtendedState, OperationScope, Reducer, ReducerOptions } from './types';
1
+ import { loadState, prune, redo, setName, undo } from "./actions/creators.js";
2
+ import { readOnly } from "./utils/base.js";
3
+ import { baseLoadFromFile, baseSaveToFile } from "./utils/file.js";
4
4
  /**
5
5
  * This is an abstract class representing a document and provides methods
6
6
  * for creating and manipulating documents.
7
7
  * @typeparam T - The type of data stored in the document.
8
8
  * @typeparam A - The type of action the document can take.
9
9
  */
10
- export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
11
- protected _document: Document<T, A, L>;
12
- private _reducer;
13
- private _signalDispatch?;
10
+ export class BaseDocumentClass {
11
+ _document;
12
+ _reducer;
13
+ _signalDispatch;
14
14
  /**
15
15
  * Constructs a BaseDocument instance with an initial state.
16
16
  * @param reducer - The reducer function that updates the state.
17
17
  * @param document - The initial state of the document.
18
18
  */
19
- constructor(reducer: Reducer<T, A, L>, document: Document<T, A, L>, signalDispatch?: SignalDispatch);
19
+ constructor(reducer, document, signalDispatch) {
20
+ this._reducer = reducer;
21
+ this._document = document;
22
+ this._signalDispatch = signalDispatch;
23
+ }
20
24
  /**
21
25
  * Dispatches an action to update the state of the document.
22
26
  * @param action - The action to dispatch.
23
27
  * @returns The Document instance.
24
28
  */
25
- protected dispatch(action: A | BaseAction, options?: ReducerOptions): this;
29
+ dispatch(action, options) {
30
+ this._document = this._reducer(this._document, action, this._signalDispatch, options);
31
+ return this;
32
+ }
26
33
  /**
27
34
  * Saves the state of the document to a file.
28
35
  * @param path - The file path where the state should be saved.
29
36
  * @param extension - The file extension to use when saving the state.
30
37
  * @returns The file path where the state was saved.
31
38
  */
32
- protected saveToFile(path: string, extension: string, name?: string): Promise<string>;
39
+ saveToFile(path, extension, name) {
40
+ return baseSaveToFile(this._document, path, extension, name);
41
+ }
33
42
  /**
34
43
  * Loads the state of the document from a file.
35
44
  * @param path - The file path where the state is stored.
36
45
  */
37
- loadFromFile(path: string): Promise<void>;
46
+ async loadFromFile(path) {
47
+ this._document = await baseLoadFromFile(path, this._reducer);
48
+ }
38
49
  /**
39
50
  * Loads the state of the document from a file and returns it.
40
51
  * @param path - The file path where the state is stored.
41
52
  * @param reducer - The reducer function that updates the state.
42
53
  * @returns The state of the document.
43
54
  */
44
- protected static stateFromFile<T, A extends Action, L>(path: string, reducer: Reducer<T, A, L>): Promise<Document<T, A, L>>;
55
+ static async stateFromFile(path, reducer) {
56
+ const state = await baseLoadFromFile(path, reducer);
57
+ return state;
58
+ }
45
59
  /**
46
60
  * Gets the current state of the document.
47
61
  */
48
- get state(): Readonly<import('./types').State<T, L>>;
62
+ get state() {
63
+ return readOnly(this._document.state);
64
+ }
49
65
  /**
50
66
  * Gets the list of operations performed on the document.
51
67
  */
52
- get operations(): Readonly<Required<Record<OperationScope, import('./types').Operation<BaseAction | A>[]>>>;
68
+ get operations() {
69
+ return readOnly(this._document.operations);
70
+ }
53
71
  /**
54
72
  * Gets the name of the document.
55
73
  */
56
- get name(): string;
74
+ get name() {
75
+ return this._document.name;
76
+ }
57
77
  /**
58
78
  * Gets the type of document.
59
79
  */
60
- get documentType(): string;
80
+ get documentType() {
81
+ return this._document.documentType;
82
+ }
61
83
  /**
62
84
  * Gets the timestamp of the date the document was created.
63
85
  */
64
- get created(): string;
86
+ get created() {
87
+ return this._document.created;
88
+ }
65
89
  /**
66
90
  * Gets the timestamp of the date the document was last modified.
67
91
  */
68
- get lastModified(): string;
92
+ get lastModified() {
93
+ return this._document.lastModified;
94
+ }
69
95
  /**
70
96
  * Gets the global revision number of the document.
71
97
  */
72
- get revision(): number;
73
- getRevision(scope: OperationScope): number;
98
+ get revision() {
99
+ return this._document.revision.global;
100
+ }
101
+ getRevision(scope) {
102
+ return this._document.revision[scope];
103
+ }
74
104
  /**
75
105
  * Gets the initial state of the document.
76
106
  */
77
- get initialState(): Readonly<ExtendedState<T, L>>;
107
+ get initialState() {
108
+ return readOnly(this._document.initialState);
109
+ }
78
110
  /**
79
111
  * Returns the current document as an object
80
112
  */
81
- toDocument(): Readonly<Document<T, A, L>>;
113
+ toDocument() {
114
+ return readOnly(this._document);
115
+ }
82
116
  /**
83
117
  * Gets the attachment associated with the given key.
84
118
  * @param attachment - The key of the attachment to retrieve.
85
119
  */
86
- getAttachment(attachment: AttachmentRef): import('./types').Attachment;
120
+ getAttachment(attachment) {
121
+ return this._document.attachments?.[attachment];
122
+ }
87
123
  /**
88
124
  * Sets the name of the document.
89
125
  * @param name - The new name of the document.
90
126
  */
91
- setName(name: string): this;
127
+ setName(name) {
128
+ this.dispatch(setName(name));
129
+ return this;
130
+ }
92
131
  /**
93
132
  * Reverts a number of actions from the document.
94
133
  * @param count - The number of actions to revert.
95
134
  */
96
- undo(count: number): this;
135
+ undo(count) {
136
+ this.dispatch(undo(count));
137
+ return this;
138
+ }
97
139
  /**
98
140
  * Reapplies a number of actions to the document.
99
141
  * @param count - The number of actions to reapply.
100
142
  */
101
- redo(count: number): this;
143
+ redo(count) {
144
+ this.dispatch(redo(count));
145
+ return this;
146
+ }
102
147
  /**
103
148
  * Removes a range of operations from the document.
104
149
  * @param start - The starting index of the range to remove.
105
150
  * @param end - The ending index of the range to remove.
106
151
  */
107
- prune(start?: number | undefined, end?: number | undefined): this;
152
+ prune(start, end) {
153
+ this.dispatch(prune(start, end));
154
+ return this;
155
+ }
108
156
  /**
109
157
  * Loads a document state and a set of operations.
110
158
  * @param state - The state to load.
111
159
  * @param operations - The operations to apply to the document.
112
160
  */
113
- loadState(state: Pick<ExtendedState<T, L>, "state" | "name">, operations: number): this;
161
+ loadState(state, operations) {
162
+ this.dispatch(loadState(state, operations));
163
+ return this;
164
+ }
114
165
  }
115
166
  /**
116
167
  * Applies multiple mixins to a base class.
@@ -122,4 +173,17 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
122
173
  * @param derivedCtor - The class to apply the mixins to.
123
174
  * @param constructors - The constructors of the mixins.
124
175
  */
125
- export declare function applyMixins(derivedCtor: any, constructors: any[]): void;
176
+ export function applyMixins(derivedCtor, constructors) {
177
+ constructors.forEach((baseCtor) => {
178
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
179
+ Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {
180
+ Object.defineProperty(
181
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
182
+ derivedCtor.prototype, name,
183
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
184
+ Object.getOwnPropertyDescriptor(baseCtor.prototype, name) ||
185
+ Object.create(null));
186
+ });
187
+ });
188
+ }
189
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/document/object.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { type SignalDispatch } from "./signal.js";
2
+ import { type Action, type ActionFromDocument, type DefaultAction, type Operation, type OperationFromDocument, type PHDocument, type ReducerOptions, type StateReducer } from "./types.js";
3
+ /**
4
+ * Updates the document header with the latest revision number and
5
+ * date of last modification.
6
+ *
7
+ * @param state The current state of the document.
8
+ * @param operation The action being applied to the document.
9
+ * @returns The updated document state.
10
+ */
11
+ export declare function updateHeader<TDocument extends PHDocument>(document: TDocument, action: Action | DefaultAction | Operation): TDocument;
12
+ /**
13
+ * Updates the document state based on the provided action.
14
+ *
15
+ * @param state The current state of the document.
16
+ * @param action The action being applied to the document.
17
+ * @param skip The number of operations to skip before applying the action.
18
+ * @param reuseLastOperationIndex Whether to reuse the last operation index (used when a an UNDO operation is performed after an existing one).
19
+ * @returns The updated document state.
20
+ */
21
+ export declare function updateDocument<TDocument extends PHDocument>(document: TDocument, action: Action | Operation, skip?: number, reuseLastOperationIndex?: boolean): TDocument;
22
+ /**
23
+ * Processes an UNDO or REDO action.
24
+ *
25
+ * @param document The current state of the document.
26
+ * @param action The action being applied to the document.
27
+ * @param skip The number of operations to skip before applying the action.
28
+ * @returns The updated document, calculated skip value and transformed action (if applied).
29
+ */
30
+ export declare function processUndoRedo<TDocument extends PHDocument>(document: TDocument, action: ActionFromDocument<TDocument> | OperationFromDocument<TDocument> | DefaultAction, skip: number): {
31
+ document: TDocument;
32
+ action: ActionFromDocument<TDocument> | OperationFromDocument<TDocument>;
33
+ skip: number;
34
+ reuseLastOperationIndex: boolean;
35
+ };
36
+ /**
37
+ * Base document reducer that wraps a custom document reducer and handles
38
+ * document-level actions such as undo, redo, prune, and set name.
39
+ *
40
+ * @template TGlobalState - The type of the state of the custom reducer.
41
+ * @template TAction - The type of the actions of the custom reducer.
42
+ * @param state - The current state of the document.
43
+ * @param action - The action object to apply to the state.
44
+ * @param customReducer - The custom reducer that implements the application logic
45
+ * specific to the document's state.
46
+ * @returns The new state of the document.
47
+ */
48
+ export declare function baseReducer<TDocument extends PHDocument>(document: TDocument, action: Action | Operation, customReducer: StateReducer<TDocument>, dispatch?: SignalDispatch, options?: ReducerOptions): TDocument;
49
+ //# sourceMappingURL=reducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../src/document/reducer.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAE1B,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AA0CpB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,SAAS,SAAS,UAAU,EACvD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GACzC,SAAS,CASX;AA4ED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,SAAS,SAAS,UAAU,EACzD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,SAAI,EACR,uBAAuB,UAAQ,GAC9B,SAAS,CASX;AAiCD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,SAAS,UAAU,EAC1D,QAAQ,EAAE,SAAS,EACnB,MAAM,EACF,kBAAkB,CAAC,SAAS,CAAC,GAC7B,qBAAqB,CAAC,SAAS,CAAC,GAChC,aAAa,EACjB,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CASA;AAuGD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,SAAS,SAAS,UAAU,EACtD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,EACtC,QAAQ,CAAC,EAAE,cAAc,EACzB,OAAO,GAAE,cAAmB,GAC3B,SAAS,CA2KX"}
@@ -0,0 +1,342 @@
1
+ import { castDraft, create, unsafe } from "mutative";
2
+ import { loadStateOperation, pruneOperation, redoOperation, setNameOperation, undoOperation, } from "./actions/operations.js";
3
+ import { LOAD_STATE, PRUNE, REDO, SET_NAME, UNDO } from "./actions/types.js";
4
+ import { DocumentActionSchema } from "./schema/zod.js";
5
+ import { getDocumentLastModified, hashDocumentStateForScope, isDocumentAction, isUndo, isUndoRedo, parseResultingState, replayOperations, } from "./utils/base.js";
6
+ import { generateId } from "./utils/crypto.js";
7
+ import { diffOperations, garbageCollect, garbageCollectDocumentOperations, skipHeaderOperations, sortOperations, } from "./utils/document-helpers.js";
8
+ /**
9
+ * Gets the next revision number based on the provided action.
10
+ *
11
+ * @param state The current state of the document.
12
+ * @param operation The action being applied to the document.
13
+ * @returns The next revision number.
14
+ */
15
+ function getNextRevision(document, operation) {
16
+ let latestOperationIndex;
17
+ if ("index" in operation) {
18
+ latestOperationIndex = operation.index;
19
+ }
20
+ else {
21
+ latestOperationIndex =
22
+ document.operations[operation.scope].at(-1)?.index ?? -1;
23
+ }
24
+ return (latestOperationIndex ?? -1) + 1;
25
+ }
26
+ /**
27
+ * Updates the document header with the latest revision number and
28
+ * date of last modification.
29
+ *
30
+ * @param state The current state of the document.
31
+ * @param operation The action being applied to the document.
32
+ * @returns The updated document state.
33
+ */
34
+ export function updateHeader(document, action) {
35
+ return {
36
+ ...document,
37
+ revision: {
38
+ ...document.revision,
39
+ [action.scope]: getNextRevision(document, action),
40
+ },
41
+ lastModified: getDocumentLastModified(document),
42
+ };
43
+ }
44
+ /**
45
+ * Updates the operations history of the document based on the provided action.
46
+ *
47
+ * @param state The current state of the document.
48
+ * @param actionOrOperation The action being applied to the document.
49
+ * @param skip The number of operations to skip before applying the action.
50
+ * @param reuseLastOperationIndex Whether to reuse the last operation index (used when a an UNDO operation is performed after an existing one).
51
+ * @returns The updated document state.
52
+ */
53
+ function updateOperations(document, actionOrOperation, skip = 0, reuseLastOperationIndex = false) {
54
+ // UNDO, REDO and PRUNE are meta operations
55
+ // that alter the operations history themselves
56
+ if ("type" in actionOrOperation &&
57
+ [UNDO, REDO, PRUNE].includes(actionOrOperation.type)) {
58
+ return document;
59
+ }
60
+ const { scope } = actionOrOperation;
61
+ const operations = document.operations[scope].slice();
62
+ let operationId;
63
+ const latestOperation = operations.at(-1);
64
+ const lastOperationIndex = latestOperation?.index ?? -1;
65
+ let nextIndex = reuseLastOperationIndex
66
+ ? lastOperationIndex
67
+ : lastOperationIndex + 1;
68
+ let timestamp = new Date().toISOString();
69
+ if ("index" in actionOrOperation) {
70
+ if (actionOrOperation.index - skip > nextIndex) {
71
+ throw new Error(`Missing operations: expected ${nextIndex} with skip 0 or equivalent, got index ${actionOrOperation.index} with skip ${skip}`);
72
+ }
73
+ nextIndex = actionOrOperation.index;
74
+ operationId = actionOrOperation.id;
75
+ timestamp = actionOrOperation.timestamp;
76
+ }
77
+ else {
78
+ operationId =
79
+ "id" in actionOrOperation
80
+ ? actionOrOperation.id
81
+ : generateId();
82
+ }
83
+ operations.push({
84
+ ...actionOrOperation,
85
+ id: operationId,
86
+ index: nextIndex,
87
+ timestamp,
88
+ hash: "",
89
+ scope,
90
+ skip,
91
+ error: undefined,
92
+ });
93
+ // adds the action to the operations history with
94
+ // the latest index and current timestamp
95
+ return {
96
+ ...document,
97
+ operations: { ...document.operations, [scope]: operations },
98
+ };
99
+ }
100
+ /**
101
+ * Updates the document state based on the provided action.
102
+ *
103
+ * @param state The current state of the document.
104
+ * @param action The action being applied to the document.
105
+ * @param skip The number of operations to skip before applying the action.
106
+ * @param reuseLastOperationIndex Whether to reuse the last operation index (used when a an UNDO operation is performed after an existing one).
107
+ * @returns The updated document state.
108
+ */
109
+ export function updateDocument(document, action, skip = 0, reuseLastOperationIndex = false) {
110
+ let newDocument = updateOperations(document, action, skip, reuseLastOperationIndex);
111
+ newDocument = updateHeader(newDocument, action);
112
+ return newDocument;
113
+ }
114
+ /**
115
+ * The base document reducer function that wraps a custom reducer function.
116
+ *
117
+ * @param state The current state of the document.
118
+ * @param action The action being applied to the document.
119
+ * @param wrappedReducer The custom reducer function being wrapped by the base reducer.
120
+ * @returns The updated document state.
121
+ */
122
+ function _baseReducer(document, action, wrappedReducer) {
123
+ // throws if action is not valid base action
124
+ const parsedAction = DocumentActionSchema().parse(action);
125
+ switch (parsedAction.type) {
126
+ case SET_NAME:
127
+ return setNameOperation(document, parsedAction.input);
128
+ case PRUNE:
129
+ return pruneOperation(document, parsedAction.input, wrappedReducer);
130
+ case LOAD_STATE:
131
+ return loadStateOperation(document, parsedAction.input.state);
132
+ default:
133
+ return document;
134
+ }
135
+ }
136
+ /**
137
+ * Processes an UNDO or REDO action.
138
+ *
139
+ * @param document The current state of the document.
140
+ * @param action The action being applied to the document.
141
+ * @param skip The number of operations to skip before applying the action.
142
+ * @returns The updated document, calculated skip value and transformed action (if applied).
143
+ */
144
+ export function processUndoRedo(document, action, skip) {
145
+ switch (action.type) {
146
+ case UNDO:
147
+ return undoOperation(document, action, skip);
148
+ case REDO:
149
+ return redoOperation(document, action, skip);
150
+ default:
151
+ return { document, action, skip, reuseLastOperationIndex: false };
152
+ }
153
+ }
154
+ function processSkipOperation(document, action, customReducer, skipValue, reuseOperationResultingState = false, resultingStateParser = parseResultingState) {
155
+ const scope = action.scope;
156
+ const latestOperation = document.operations[scope].at(-1);
157
+ if (!latestOperation)
158
+ return document;
159
+ const documentOperations = garbageCollectDocumentOperations({
160
+ ...document.operations,
161
+ [scope]: skipHeaderOperations(document.operations[scope], latestOperation),
162
+ });
163
+ let scopeState = undefined;
164
+ const lastRemainingOperation = documentOperations[scope].at(-1);
165
+ // if the last operation has the resulting state and
166
+ // reuseOperationResultingState is true then reuses it
167
+ // instead of replaying the operations from the beginning
168
+ if (reuseOperationResultingState && lastRemainingOperation?.resultingState) {
169
+ scopeState = resultingStateParser(lastRemainingOperation.resultingState);
170
+ }
171
+ else {
172
+ const { state } = replayOperations(document.initialState, documentOperations, customReducer, undefined, undefined, undefined, undefined, {
173
+ reuseHash: true,
174
+ reuseOperationResultingState,
175
+ operationResultingStateParser: resultingStateParser,
176
+ });
177
+ scopeState = state[scope];
178
+ }
179
+ return {
180
+ ...document,
181
+ state: {
182
+ ...document.state,
183
+ [scope]: scopeState,
184
+ },
185
+ operations: garbageCollectDocumentOperations({
186
+ ...document.operations,
187
+ }),
188
+ };
189
+ }
190
+ function processUndoOperation(document, scope, customReducer, reuseOperationResultingState = false, resultingStateParser = parseResultingState) {
191
+ const operations = [...document.operations[scope]];
192
+ const sortedOperations = sortOperations(operations);
193
+ sortedOperations.pop();
194
+ const documentOperations = garbageCollectDocumentOperations({
195
+ ...document.operations,
196
+ });
197
+ const clearedOperations = [...documentOperations[scope]];
198
+ const diff = diffOperations(garbageCollect(sortedOperations), clearedOperations);
199
+ const doc = replayOperations(document.initialState, documentOperations, customReducer, undefined, undefined, undefined, undefined, {
200
+ reuseHash: true,
201
+ reuseOperationResultingState,
202
+ operationResultingStateParser: resultingStateParser,
203
+ });
204
+ const clipboard = sortOperations([...document.clipboard, ...diff].filter((op) => op.type !== "NOOP")).reverse();
205
+ return { ...doc, clipboard };
206
+ }
207
+ /**
208
+ * Base document reducer that wraps a custom document reducer and handles
209
+ * document-level actions such as undo, redo, prune, and set name.
210
+ *
211
+ * @template TGlobalState - The type of the state of the custom reducer.
212
+ * @template TAction - The type of the actions of the custom reducer.
213
+ * @param state - The current state of the document.
214
+ * @param action - The action object to apply to the state.
215
+ * @param customReducer - The custom reducer that implements the application logic
216
+ * specific to the document's state.
217
+ * @returns The new state of the document.
218
+ */
219
+ export function baseReducer(document, action, customReducer, dispatch, options = {}) {
220
+ const { skip, ignoreSkipOperations = false, reuseHash = false, reuseOperationResultingState = false, operationResultingStateParser, } = options;
221
+ let _action = { ...action };
222
+ let skipValue = skip || 0;
223
+ let newDocument = {
224
+ ...document,
225
+ };
226
+ let reuseLastOperationIndex = false;
227
+ const shouldProcessSkipOperation = !ignoreSkipOperations &&
228
+ (skipValue > 0 ||
229
+ ("index" in _action &&
230
+ "skip" in _action &&
231
+ typeof _action.skip === "number" &&
232
+ _action.skip > 0));
233
+ if (isUndoRedo(_action)) {
234
+ const { skip: calculatedSkip, action: transformedAction, document: processedDocument, reuseLastOperationIndex: reuseIndex, } = processUndoRedo(document, _action, skipValue);
235
+ _action = transformedAction;
236
+ skipValue = calculatedSkip;
237
+ newDocument = processedDocument;
238
+ reuseLastOperationIndex = reuseIndex;
239
+ }
240
+ else {
241
+ newDocument = {
242
+ ...newDocument,
243
+ clipboard: [],
244
+ };
245
+ }
246
+ // if the action is one the base document actions (SET_NAME, UNDO, REDO, PRUNE)
247
+ // then runs the base reducer first
248
+ if (isDocumentAction(_action)) {
249
+ newDocument = _baseReducer(newDocument, _action, customReducer);
250
+ }
251
+ // updates the document revision number, last modified date
252
+ // and operation history
253
+ newDocument = updateDocument(newDocument, _action, skipValue, reuseLastOperationIndex);
254
+ const isUndoAction = isUndo(action);
255
+ if (isUndoAction) {
256
+ const result = processUndoOperation(newDocument, action.scope, customReducer);
257
+ return result;
258
+ }
259
+ if (shouldProcessSkipOperation) {
260
+ newDocument = processSkipOperation(newDocument, _action, customReducer, skipValue, reuseOperationResultingState, operationResultingStateParser);
261
+ }
262
+ // wraps the custom reducer with Mutative to avoid
263
+ // mutation bugs and allow writing reducers with
264
+ // mutating code
265
+ newDocument = create(newDocument, (draft) => {
266
+ // the reducer runs on a immutable version of
267
+ // provided state
268
+ try {
269
+ const newState = customReducer(draft.state, _action, dispatch);
270
+ // const clipboardValue = isUndoRedo(action) ? [...clipboard] : [];
271
+ // if the reducer creates a new state object instead
272
+ // of mutating the draft then returns the new state
273
+ if (newState) {
274
+ // Object.assign(draft.state, newState);
275
+ unsafe(() => {
276
+ // casts new state as draft to comply with typescript
277
+ draft.state = castDraft(newState);
278
+ // clipboard: [...clipboardValue],
279
+ });
280
+ }
281
+ else {
282
+ // unsafe(() => {
283
+ // draft.clipboard = castDraft([...clipboardValue]);
284
+ // });
285
+ }
286
+ }
287
+ catch (error) {
288
+ // if the reducer throws an error then we should keep the previous state (before replayOperations)
289
+ // and remove skip number from action/operation
290
+ const lastOperationIndex = newDocument.operations[_action.scope].length - 1;
291
+ draft.operations[_action.scope][lastOperationIndex].error = error.message;
292
+ draft.operations[_action.scope][lastOperationIndex].skip = 0;
293
+ if (shouldProcessSkipOperation) {
294
+ draft.state = castDraft({
295
+ ...document.state,
296
+ });
297
+ draft.operations = castDraft({
298
+ ...document.operations,
299
+ [_action.scope]: [
300
+ ...document.operations[_action.scope],
301
+ {
302
+ ...draft.operations[_action.scope][lastOperationIndex],
303
+ },
304
+ ],
305
+ });
306
+ }
307
+ }
308
+ });
309
+ // updates the document history
310
+ // meta operations are not added to the operations history
311
+ if ([UNDO, REDO, PRUNE].includes(_action.type)) {
312
+ return newDocument;
313
+ }
314
+ // if reuseHash is true, checks if the action has
315
+ // an hash and uses it instead of generating it
316
+ const scope = _action.scope || "global";
317
+ const hash = reuseHash && Object.prototype.hasOwnProperty.call(_action, "hash")
318
+ ? _action.hash
319
+ : hashDocumentStateForScope(newDocument, scope);
320
+ // updates the last operation with the hash of the resulting state
321
+ const lastOperation = newDocument.operations[scope].at(-1);
322
+ if (lastOperation) {
323
+ lastOperation.hash = hash;
324
+ if (reuseOperationResultingState) {
325
+ lastOperation.resultingState = JSON.stringify(newDocument.state[scope]);
326
+ }
327
+ // if the action has attachments then adds them to the document
328
+ if (!isDocumentAction(_action) && _action.attachments) {
329
+ _action.attachments.forEach((attachment) => {
330
+ const { hash, ...file } = attachment;
331
+ if (!newDocument.attachments) {
332
+ newDocument.attachments = {};
333
+ }
334
+ newDocument.attachments[hash] = {
335
+ ...file,
336
+ };
337
+ });
338
+ }
339
+ }
340
+ return newDocument;
341
+ }
342
+ //# sourceMappingURL=reducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../src/document/reducer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { OperationScope } from '..';
1
+ import { type OperationScope } from "../types.js";
2
2
  export type Maybe<T> = T | null;
3
3
  export type InputMaybe<T> = T | null | undefined;
4
4
  export type Exact<T extends Record<string, unknown>> = {
@@ -174,3 +174,4 @@ export type NOOPAction = {
174
174
  type: NOOP;
175
175
  scope: OperationScope;
176
176
  };
177
+ //# sourceMappingURL=types.d.ts.map