document-model 1.1.0-debug.1 → 1.1.0-debug.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/dist/browser/cjs/document-model.js +15 -35
  2. package/dist/browser/cjs/document-model.js.map +1 -1
  3. package/dist/browser/cjs/document.js +10 -10
  4. package/dist/browser/cjs/index.js +11 -7
  5. package/dist/browser/cjs/index.js.map +1 -1
  6. package/dist/browser/cjs/internal/index-CaJbS06G.js +2339 -0
  7. package/dist/browser/cjs/internal/index-CaJbS06G.js.map +1 -0
  8. package/dist/browser/cjs/internal/index-kKIg6qNB.js +44 -0
  9. package/dist/browser/cjs/internal/index-kKIg6qNB.js.map +1 -0
  10. package/dist/browser/cjs/internal/object-B6dSDhtS.js +4109 -0
  11. package/dist/browser/cjs/internal/object-B6dSDhtS.js.map +1 -0
  12. package/dist/browser/es/document-model.js +16 -37
  13. package/dist/browser/es/document-model.js.map +1 -1
  14. package/dist/browser/es/document.js +12 -12
  15. package/dist/browser/es/index.js +11 -7
  16. package/dist/browser/es/index.js.map +1 -1
  17. package/dist/browser/es/internal/index-B1lQN59e.js +2340 -0
  18. package/dist/browser/es/internal/index-B1lQN59e.js.map +1 -0
  19. package/dist/browser/es/internal/index-Bu0CkmrW.js +45 -0
  20. package/dist/browser/es/internal/index-Bu0CkmrW.js.map +1 -0
  21. package/dist/browser/es/internal/object-9mR1JlXD.js +4110 -0
  22. package/dist/browser/es/internal/object-9mR1JlXD.js.map +1 -0
  23. package/dist/node/cjs/document-model.js +15 -33
  24. package/dist/node/cjs/document-model.js.map +1 -1
  25. package/dist/node/cjs/document.js +14 -10
  26. package/dist/node/cjs/document.js.map +1 -1
  27. package/dist/node/cjs/index.js +15 -7
  28. package/dist/node/cjs/index.js.map +1 -1
  29. package/dist/node/cjs/internal/index-AqiVmL0w.js +44 -0
  30. package/dist/node/cjs/internal/index-AqiVmL0w.js.map +1 -0
  31. package/dist/node/cjs/internal/index-ajqhOWQ1.js +2343 -0
  32. package/dist/node/cjs/internal/index-ajqhOWQ1.js.map +1 -0
  33. package/dist/node/cjs/internal/object-D_9h7jBN.js +2111 -0
  34. package/dist/node/cjs/internal/object-D_9h7jBN.js.map +1 -0
  35. package/dist/node/es/document-model.js +16 -35
  36. package/dist/node/es/document-model.js.map +1 -1
  37. package/dist/node/es/document.js +16 -12
  38. package/dist/node/es/document.js.map +1 -1
  39. package/dist/node/es/index.js +15 -7
  40. package/dist/node/es/index.js.map +1 -1
  41. package/dist/node/es/internal/index-Bh_09edy.js +2344 -0
  42. package/dist/node/es/internal/index-Bh_09edy.js.map +1 -0
  43. package/dist/node/es/internal/index-s6NFw7Kq.js +45 -0
  44. package/dist/node/es/internal/index-s6NFw7Kq.js.map +1 -0
  45. package/dist/node/es/internal/object-CbITi4iq.js +2112 -0
  46. package/dist/node/es/internal/object-CbITi4iq.js.map +1 -0
  47. package/dist/src/document/reducer.d.ts +13 -2
  48. package/dist/src/document/utils/base.d.ts +1 -1
  49. package/dist/src/document/utils/document-helpers.d.ts +53 -0
  50. package/dist/src/document/utils/index.d.ts +1 -0
  51. package/package.json +1 -1
  52. package/dist/browser/cjs/_virtual/_commonjsHelpers.js +0 -7
  53. package/dist/browser/cjs/_virtual/_commonjsHelpers.js.map +0 -1
  54. package/dist/browser/cjs/_virtual/browser.js +0 -35
  55. package/dist/browser/cjs/_virtual/browser.js.map +0 -1
  56. package/dist/browser/cjs/_virtual/index.js +0 -5
  57. package/dist/browser/cjs/_virtual/index.js.map +0 -1
  58. package/dist/browser/cjs/_virtual/index2.js +0 -5
  59. package/dist/browser/cjs/_virtual/index2.js.map +0 -1
  60. package/dist/browser/cjs/_virtual/index3.js +0 -5
  61. package/dist/browser/cjs/_virtual/index3.js.map +0 -1
  62. package/dist/browser/cjs/_virtual/index4.js +0 -5
  63. package/dist/browser/cjs/_virtual/index4.js.map +0 -1
  64. package/dist/browser/cjs/_virtual/index5.js +0 -5
  65. package/dist/browser/cjs/_virtual/index5.js.map +0 -1
  66. package/dist/browser/cjs/_virtual/inherits_browser.js +0 -5
  67. package/dist/browser/cjs/_virtual/inherits_browser.js.map +0 -1
  68. package/dist/browser/cjs/src/document/actions/creators.js +0 -46
  69. package/dist/browser/cjs/src/document/actions/creators.js.map +0 -1
  70. package/dist/browser/cjs/src/document/actions/index.js +0 -173
  71. package/dist/browser/cjs/src/document/actions/index.js.map +0 -1
  72. package/dist/browser/cjs/src/document/actions/types.js +0 -15
  73. package/dist/browser/cjs/src/document/actions/types.js.map +0 -1
  74. package/dist/browser/cjs/src/document/object.js +0 -190
  75. package/dist/browser/cjs/src/document/object.js.map +0 -1
  76. package/dist/browser/cjs/src/document/reducer.js +0 -192
  77. package/dist/browser/cjs/src/document/reducer.js.map +0 -1
  78. package/dist/browser/cjs/src/document/schema/zod.js +0 -137
  79. package/dist/browser/cjs/src/document/schema/zod.js.map +0 -1
  80. package/dist/browser/cjs/src/document/utils/base.js +0 -220
  81. package/dist/browser/cjs/src/document/utils/base.js.map +0 -1
  82. package/dist/browser/cjs/src/document/utils/document-helpers.js +0 -324
  83. package/dist/browser/cjs/src/document/utils/document-helpers.js.map +0 -1
  84. package/dist/browser/cjs/src/document/utils/file.js +0 -135
  85. package/dist/browser/cjs/src/document/utils/file.js.map +0 -1
  86. package/dist/browser/cjs/src/document/utils/index.js +0 -33
  87. package/dist/browser/cjs/src/document/utils/index.js.map +0 -1
  88. package/dist/browser/cjs/src/document/utils/validation.js +0 -24
  89. package/dist/browser/cjs/src/document/utils/validation.js.map +0 -1
  90. package/dist/browser/cjs/src/document-model/custom/reducers/header.js +0 -26
  91. package/dist/browser/cjs/src/document-model/custom/reducers/header.js.map +0 -1
  92. package/dist/browser/cjs/src/document-model/custom/reducers/module.js +0 -46
  93. package/dist/browser/cjs/src/document-model/custom/reducers/module.js.map +0 -1
  94. package/dist/browser/cjs/src/document-model/custom/reducers/operation-error.js +0 -95
  95. package/dist/browser/cjs/src/document-model/custom/reducers/operation-error.js.map +0 -1
  96. package/dist/browser/cjs/src/document-model/custom/reducers/operation-example.js +0 -58
  97. package/dist/browser/cjs/src/document-model/custom/reducers/operation-example.js.map +0 -1
  98. package/dist/browser/cjs/src/document-model/custom/reducers/operation.js +0 -123
  99. package/dist/browser/cjs/src/document-model/custom/reducers/operation.js.map +0 -1
  100. package/dist/browser/cjs/src/document-model/custom/reducers/state.js +0 -66
  101. package/dist/browser/cjs/src/document-model/custom/reducers/state.js.map +0 -1
  102. package/dist/browser/cjs/src/document-model/custom/reducers/versioning.js +0 -31
  103. package/dist/browser/cjs/src/document-model/custom/reducers/versioning.js.map +0 -1
  104. package/dist/browser/cjs/src/document-model/custom/utils.js +0 -117
  105. package/dist/browser/cjs/src/document-model/custom/utils.js.map +0 -1
  106. package/dist/browser/cjs/src/document-model/gen/creators.js +0 -53
  107. package/dist/browser/cjs/src/document-model/gen/creators.js.map +0 -1
  108. package/dist/browser/cjs/src/document-model/gen/document-model.js +0 -545
  109. package/dist/browser/cjs/src/document-model/gen/document-model.js.map +0 -1
  110. package/dist/browser/cjs/src/document-model/gen/header/creators.js +0 -39
  111. package/dist/browser/cjs/src/document-model/gen/header/creators.js.map +0 -1
  112. package/dist/browser/cjs/src/document-model/gen/header/object.js +0 -26
  113. package/dist/browser/cjs/src/document-model/gen/header/object.js.map +0 -1
  114. package/dist/browser/cjs/src/document-model/gen/module/creators.js +0 -34
  115. package/dist/browser/cjs/src/document-model/gen/module/creators.js.map +0 -1
  116. package/dist/browser/cjs/src/document-model/gen/module/object.js +0 -23
  117. package/dist/browser/cjs/src/document-model/gen/module/object.js.map +0 -1
  118. package/dist/browser/cjs/src/document-model/gen/object.js +0 -47
  119. package/dist/browser/cjs/src/document-model/gen/object.js.map +0 -1
  120. package/dist/browser/cjs/src/document-model/gen/operation/creators.js +0 -59
  121. package/dist/browser/cjs/src/document-model/gen/operation/creators.js.map +0 -1
  122. package/dist/browser/cjs/src/document-model/gen/operation/object.js +0 -38
  123. package/dist/browser/cjs/src/document-model/gen/operation/object.js.map +0 -1
  124. package/dist/browser/cjs/src/document-model/gen/operation-error/creators.js +0 -44
  125. package/dist/browser/cjs/src/document-model/gen/operation-error/creators.js.map +0 -1
  126. package/dist/browser/cjs/src/document-model/gen/operation-error/object.js +0 -29
  127. package/dist/browser/cjs/src/document-model/gen/operation-error/object.js.map +0 -1
  128. package/dist/browser/cjs/src/document-model/gen/operation-example/creators.js +0 -29
  129. package/dist/browser/cjs/src/document-model/gen/operation-example/creators.js.map +0 -1
  130. package/dist/browser/cjs/src/document-model/gen/operation-example/object.js +0 -20
  131. package/dist/browser/cjs/src/document-model/gen/operation-example/object.js.map +0 -1
  132. package/dist/browser/cjs/src/document-model/gen/reducer.js +0 -255
  133. package/dist/browser/cjs/src/document-model/gen/reducer.js.map +0 -1
  134. package/dist/browser/cjs/src/document-model/gen/schema/zod.js +0 -449
  135. package/dist/browser/cjs/src/document-model/gen/schema/zod.js.map +0 -1
  136. package/dist/browser/cjs/src/document-model/gen/state/creators.js +0 -39
  137. package/dist/browser/cjs/src/document-model/gen/state/creators.js.map +0 -1
  138. package/dist/browser/cjs/src/document-model/gen/state/object.js +0 -26
  139. package/dist/browser/cjs/src/document-model/gen/state/object.js.map +0 -1
  140. package/dist/browser/cjs/src/document-model/gen/utils.js +0 -75
  141. package/dist/browser/cjs/src/document-model/gen/utils.js.map +0 -1
  142. package/dist/browser/cjs/src/document-model/gen/versioning/creators.js +0 -33
  143. package/dist/browser/cjs/src/document-model/gen/versioning/creators.js.map +0 -1
  144. package/dist/browser/cjs/src/document-model/gen/versioning/object.js +0 -23
  145. package/dist/browser/cjs/src/document-model/gen/versioning/object.js.map +0 -1
  146. package/dist/browser/es/_virtual/_commonjsHelpers.js +0 -7
  147. package/dist/browser/es/_virtual/_commonjsHelpers.js.map +0 -1
  148. package/dist/browser/es/_virtual/browser.js +0 -35
  149. package/dist/browser/es/_virtual/browser.js.map +0 -1
  150. package/dist/browser/es/_virtual/index.js +0 -5
  151. package/dist/browser/es/_virtual/index.js.map +0 -1
  152. package/dist/browser/es/_virtual/index2.js +0 -5
  153. package/dist/browser/es/_virtual/index2.js.map +0 -1
  154. package/dist/browser/es/_virtual/index3.js +0 -5
  155. package/dist/browser/es/_virtual/index3.js.map +0 -1
  156. package/dist/browser/es/_virtual/index4.js +0 -5
  157. package/dist/browser/es/_virtual/index4.js.map +0 -1
  158. package/dist/browser/es/_virtual/index5.js +0 -5
  159. package/dist/browser/es/_virtual/index5.js.map +0 -1
  160. package/dist/browser/es/_virtual/inherits_browser.js +0 -5
  161. package/dist/browser/es/_virtual/inherits_browser.js.map +0 -1
  162. package/dist/browser/es/src/document/actions/creators.js +0 -46
  163. package/dist/browser/es/src/document/actions/creators.js.map +0 -1
  164. package/dist/browser/es/src/document/actions/index.js +0 -174
  165. package/dist/browser/es/src/document/actions/index.js.map +0 -1
  166. package/dist/browser/es/src/document/actions/types.js +0 -15
  167. package/dist/browser/es/src/document/actions/types.js.map +0 -1
  168. package/dist/browser/es/src/document/object.js +0 -190
  169. package/dist/browser/es/src/document/object.js.map +0 -1
  170. package/dist/browser/es/src/document/reducer.js +0 -192
  171. package/dist/browser/es/src/document/reducer.js.map +0 -1
  172. package/dist/browser/es/src/document/schema/zod.js +0 -137
  173. package/dist/browser/es/src/document/schema/zod.js.map +0 -1
  174. package/dist/browser/es/src/document/utils/base.js +0 -220
  175. package/dist/browser/es/src/document/utils/base.js.map +0 -1
  176. package/dist/browser/es/src/document/utils/document-helpers.js +0 -324
  177. package/dist/browser/es/src/document/utils/document-helpers.js.map +0 -1
  178. package/dist/browser/es/src/document/utils/file.js +0 -135
  179. package/dist/browser/es/src/document/utils/file.js.map +0 -1
  180. package/dist/browser/es/src/document/utils/index.js +0 -33
  181. package/dist/browser/es/src/document/utils/index.js.map +0 -1
  182. package/dist/browser/es/src/document/utils/validation.js +0 -24
  183. package/dist/browser/es/src/document/utils/validation.js.map +0 -1
  184. package/dist/browser/es/src/document-model/custom/reducers/header.js +0 -26
  185. package/dist/browser/es/src/document-model/custom/reducers/header.js.map +0 -1
  186. package/dist/browser/es/src/document-model/custom/reducers/module.js +0 -46
  187. package/dist/browser/es/src/document-model/custom/reducers/module.js.map +0 -1
  188. package/dist/browser/es/src/document-model/custom/reducers/operation-error.js +0 -95
  189. package/dist/browser/es/src/document-model/custom/reducers/operation-error.js.map +0 -1
  190. package/dist/browser/es/src/document-model/custom/reducers/operation-example.js +0 -58
  191. package/dist/browser/es/src/document-model/custom/reducers/operation-example.js.map +0 -1
  192. package/dist/browser/es/src/document-model/custom/reducers/operation.js +0 -123
  193. package/dist/browser/es/src/document-model/custom/reducers/operation.js.map +0 -1
  194. package/dist/browser/es/src/document-model/custom/reducers/state.js +0 -66
  195. package/dist/browser/es/src/document-model/custom/reducers/state.js.map +0 -1
  196. package/dist/browser/es/src/document-model/custom/reducers/versioning.js +0 -31
  197. package/dist/browser/es/src/document-model/custom/reducers/versioning.js.map +0 -1
  198. package/dist/browser/es/src/document-model/custom/utils.js +0 -117
  199. package/dist/browser/es/src/document-model/custom/utils.js.map +0 -1
  200. package/dist/browser/es/src/document-model/gen/creators.js +0 -53
  201. package/dist/browser/es/src/document-model/gen/creators.js.map +0 -1
  202. package/dist/browser/es/src/document-model/gen/document-model.js +0 -545
  203. package/dist/browser/es/src/document-model/gen/document-model.js.map +0 -1
  204. package/dist/browser/es/src/document-model/gen/header/creators.js +0 -39
  205. package/dist/browser/es/src/document-model/gen/header/creators.js.map +0 -1
  206. package/dist/browser/es/src/document-model/gen/header/object.js +0 -26
  207. package/dist/browser/es/src/document-model/gen/header/object.js.map +0 -1
  208. package/dist/browser/es/src/document-model/gen/module/creators.js +0 -34
  209. package/dist/browser/es/src/document-model/gen/module/creators.js.map +0 -1
  210. package/dist/browser/es/src/document-model/gen/module/object.js +0 -23
  211. package/dist/browser/es/src/document-model/gen/module/object.js.map +0 -1
  212. package/dist/browser/es/src/document-model/gen/object.js +0 -47
  213. package/dist/browser/es/src/document-model/gen/object.js.map +0 -1
  214. package/dist/browser/es/src/document-model/gen/operation/creators.js +0 -59
  215. package/dist/browser/es/src/document-model/gen/operation/creators.js.map +0 -1
  216. package/dist/browser/es/src/document-model/gen/operation/object.js +0 -38
  217. package/dist/browser/es/src/document-model/gen/operation/object.js.map +0 -1
  218. package/dist/browser/es/src/document-model/gen/operation-error/creators.js +0 -44
  219. package/dist/browser/es/src/document-model/gen/operation-error/creators.js.map +0 -1
  220. package/dist/browser/es/src/document-model/gen/operation-error/object.js +0 -29
  221. package/dist/browser/es/src/document-model/gen/operation-error/object.js.map +0 -1
  222. package/dist/browser/es/src/document-model/gen/operation-example/creators.js +0 -29
  223. package/dist/browser/es/src/document-model/gen/operation-example/creators.js.map +0 -1
  224. package/dist/browser/es/src/document-model/gen/operation-example/object.js +0 -20
  225. package/dist/browser/es/src/document-model/gen/operation-example/object.js.map +0 -1
  226. package/dist/browser/es/src/document-model/gen/reducer.js +0 -255
  227. package/dist/browser/es/src/document-model/gen/reducer.js.map +0 -1
  228. package/dist/browser/es/src/document-model/gen/schema/zod.js +0 -449
  229. package/dist/browser/es/src/document-model/gen/schema/zod.js.map +0 -1
  230. package/dist/browser/es/src/document-model/gen/state/creators.js +0 -39
  231. package/dist/browser/es/src/document-model/gen/state/creators.js.map +0 -1
  232. package/dist/browser/es/src/document-model/gen/state/object.js +0 -26
  233. package/dist/browser/es/src/document-model/gen/state/object.js.map +0 -1
  234. package/dist/browser/es/src/document-model/gen/utils.js +0 -75
  235. package/dist/browser/es/src/document-model/gen/utils.js.map +0 -1
  236. package/dist/browser/es/src/document-model/gen/versioning/creators.js +0 -33
  237. package/dist/browser/es/src/document-model/gen/versioning/creators.js.map +0 -1
  238. package/dist/browser/es/src/document-model/gen/versioning/object.js +0 -23
  239. package/dist/browser/es/src/document-model/gen/versioning/object.js.map +0 -1
  240. package/dist/node/cjs/_virtual/_commonjsHelpers.js +0 -7
  241. package/dist/node/cjs/_virtual/_commonjsHelpers.js.map +0 -1
  242. package/dist/node/cjs/_virtual/index.js +0 -5
  243. package/dist/node/cjs/_virtual/index.js.map +0 -1
  244. package/dist/node/cjs/src/document/actions/creators.js +0 -46
  245. package/dist/node/cjs/src/document/actions/creators.js.map +0 -1
  246. package/dist/node/cjs/src/document/actions/index.js +0 -173
  247. package/dist/node/cjs/src/document/actions/index.js.map +0 -1
  248. package/dist/node/cjs/src/document/actions/types.js +0 -15
  249. package/dist/node/cjs/src/document/actions/types.js.map +0 -1
  250. package/dist/node/cjs/src/document/object.js +0 -190
  251. package/dist/node/cjs/src/document/object.js.map +0 -1
  252. package/dist/node/cjs/src/document/reducer.js +0 -194
  253. package/dist/node/cjs/src/document/reducer.js.map +0 -1
  254. package/dist/node/cjs/src/document/schema/zod.js +0 -137
  255. package/dist/node/cjs/src/document/schema/zod.js.map +0 -1
  256. package/dist/node/cjs/src/document/utils/base.js +0 -220
  257. package/dist/node/cjs/src/document/utils/base.js.map +0 -1
  258. package/dist/node/cjs/src/document/utils/document-helpers.js +0 -324
  259. package/dist/node/cjs/src/document/utils/document-helpers.js.map +0 -1
  260. package/dist/node/cjs/src/document/utils/file.js +0 -136
  261. package/dist/node/cjs/src/document/utils/file.js.map +0 -1
  262. package/dist/node/cjs/src/document/utils/index.js +0 -33
  263. package/dist/node/cjs/src/document/utils/index.js.map +0 -1
  264. package/dist/node/cjs/src/document/utils/node.js +0 -54
  265. package/dist/node/cjs/src/document/utils/node.js.map +0 -1
  266. package/dist/node/cjs/src/document/utils/validation.js +0 -24
  267. package/dist/node/cjs/src/document/utils/validation.js.map +0 -1
  268. package/dist/node/cjs/src/document-model/custom/reducers/header.js +0 -26
  269. package/dist/node/cjs/src/document-model/custom/reducers/header.js.map +0 -1
  270. package/dist/node/cjs/src/document-model/custom/reducers/module.js +0 -46
  271. package/dist/node/cjs/src/document-model/custom/reducers/module.js.map +0 -1
  272. package/dist/node/cjs/src/document-model/custom/reducers/operation-error.js +0 -95
  273. package/dist/node/cjs/src/document-model/custom/reducers/operation-error.js.map +0 -1
  274. package/dist/node/cjs/src/document-model/custom/reducers/operation-example.js +0 -58
  275. package/dist/node/cjs/src/document-model/custom/reducers/operation-example.js.map +0 -1
  276. package/dist/node/cjs/src/document-model/custom/reducers/operation.js +0 -123
  277. package/dist/node/cjs/src/document-model/custom/reducers/operation.js.map +0 -1
  278. package/dist/node/cjs/src/document-model/custom/reducers/state.js +0 -66
  279. package/dist/node/cjs/src/document-model/custom/reducers/state.js.map +0 -1
  280. package/dist/node/cjs/src/document-model/custom/reducers/versioning.js +0 -31
  281. package/dist/node/cjs/src/document-model/custom/reducers/versioning.js.map +0 -1
  282. package/dist/node/cjs/src/document-model/custom/utils.js +0 -117
  283. package/dist/node/cjs/src/document-model/custom/utils.js.map +0 -1
  284. package/dist/node/cjs/src/document-model/gen/creators.js +0 -53
  285. package/dist/node/cjs/src/document-model/gen/creators.js.map +0 -1
  286. package/dist/node/cjs/src/document-model/gen/document-model.js +0 -545
  287. package/dist/node/cjs/src/document-model/gen/document-model.js.map +0 -1
  288. package/dist/node/cjs/src/document-model/gen/header/creators.js +0 -41
  289. package/dist/node/cjs/src/document-model/gen/header/creators.js.map +0 -1
  290. package/dist/node/cjs/src/document-model/gen/header/object.js +0 -26
  291. package/dist/node/cjs/src/document-model/gen/header/object.js.map +0 -1
  292. package/dist/node/cjs/src/document-model/gen/module/creators.js +0 -36
  293. package/dist/node/cjs/src/document-model/gen/module/creators.js.map +0 -1
  294. package/dist/node/cjs/src/document-model/gen/module/object.js +0 -23
  295. package/dist/node/cjs/src/document-model/gen/module/object.js.map +0 -1
  296. package/dist/node/cjs/src/document-model/gen/object.js +0 -47
  297. package/dist/node/cjs/src/document-model/gen/object.js.map +0 -1
  298. package/dist/node/cjs/src/document-model/gen/operation/creators.js +0 -61
  299. package/dist/node/cjs/src/document-model/gen/operation/creators.js.map +0 -1
  300. package/dist/node/cjs/src/document-model/gen/operation/object.js +0 -38
  301. package/dist/node/cjs/src/document-model/gen/operation/object.js.map +0 -1
  302. package/dist/node/cjs/src/document-model/gen/operation-error/creators.js +0 -46
  303. package/dist/node/cjs/src/document-model/gen/operation-error/creators.js.map +0 -1
  304. package/dist/node/cjs/src/document-model/gen/operation-error/object.js +0 -29
  305. package/dist/node/cjs/src/document-model/gen/operation-error/object.js.map +0 -1
  306. package/dist/node/cjs/src/document-model/gen/operation-example/creators.js +0 -31
  307. package/dist/node/cjs/src/document-model/gen/operation-example/creators.js.map +0 -1
  308. package/dist/node/cjs/src/document-model/gen/operation-example/object.js +0 -20
  309. package/dist/node/cjs/src/document-model/gen/operation-example/object.js.map +0 -1
  310. package/dist/node/cjs/src/document-model/gen/reducer.js +0 -257
  311. package/dist/node/cjs/src/document-model/gen/reducer.js.map +0 -1
  312. package/dist/node/cjs/src/document-model/gen/schema/zod.js +0 -449
  313. package/dist/node/cjs/src/document-model/gen/schema/zod.js.map +0 -1
  314. package/dist/node/cjs/src/document-model/gen/state/creators.js +0 -41
  315. package/dist/node/cjs/src/document-model/gen/state/creators.js.map +0 -1
  316. package/dist/node/cjs/src/document-model/gen/state/object.js +0 -26
  317. package/dist/node/cjs/src/document-model/gen/state/object.js.map +0 -1
  318. package/dist/node/cjs/src/document-model/gen/utils.js +0 -75
  319. package/dist/node/cjs/src/document-model/gen/utils.js.map +0 -1
  320. package/dist/node/cjs/src/document-model/gen/versioning/creators.js +0 -35
  321. package/dist/node/cjs/src/document-model/gen/versioning/creators.js.map +0 -1
  322. package/dist/node/cjs/src/document-model/gen/versioning/object.js +0 -23
  323. package/dist/node/cjs/src/document-model/gen/versioning/object.js.map +0 -1
  324. package/dist/node/es/_virtual/_commonjsHelpers.js +0 -7
  325. package/dist/node/es/_virtual/_commonjsHelpers.js.map +0 -1
  326. package/dist/node/es/_virtual/index.js +0 -5
  327. package/dist/node/es/_virtual/index.js.map +0 -1
  328. package/dist/node/es/src/document/actions/creators.js +0 -46
  329. package/dist/node/es/src/document/actions/creators.js.map +0 -1
  330. package/dist/node/es/src/document/actions/index.js +0 -174
  331. package/dist/node/es/src/document/actions/index.js.map +0 -1
  332. package/dist/node/es/src/document/actions/types.js +0 -15
  333. package/dist/node/es/src/document/actions/types.js.map +0 -1
  334. package/dist/node/es/src/document/object.js +0 -190
  335. package/dist/node/es/src/document/object.js.map +0 -1
  336. package/dist/node/es/src/document/reducer.js +0 -194
  337. package/dist/node/es/src/document/reducer.js.map +0 -1
  338. package/dist/node/es/src/document/schema/zod.js +0 -137
  339. package/dist/node/es/src/document/schema/zod.js.map +0 -1
  340. package/dist/node/es/src/document/utils/base.js +0 -220
  341. package/dist/node/es/src/document/utils/base.js.map +0 -1
  342. package/dist/node/es/src/document/utils/document-helpers.js +0 -324
  343. package/dist/node/es/src/document/utils/document-helpers.js.map +0 -1
  344. package/dist/node/es/src/document/utils/file.js +0 -136
  345. package/dist/node/es/src/document/utils/file.js.map +0 -1
  346. package/dist/node/es/src/document/utils/index.js +0 -33
  347. package/dist/node/es/src/document/utils/index.js.map +0 -1
  348. package/dist/node/es/src/document/utils/node.js +0 -54
  349. package/dist/node/es/src/document/utils/node.js.map +0 -1
  350. package/dist/node/es/src/document/utils/validation.js +0 -24
  351. package/dist/node/es/src/document/utils/validation.js.map +0 -1
  352. package/dist/node/es/src/document-model/custom/reducers/header.js +0 -26
  353. package/dist/node/es/src/document-model/custom/reducers/header.js.map +0 -1
  354. package/dist/node/es/src/document-model/custom/reducers/module.js +0 -46
  355. package/dist/node/es/src/document-model/custom/reducers/module.js.map +0 -1
  356. package/dist/node/es/src/document-model/custom/reducers/operation-error.js +0 -95
  357. package/dist/node/es/src/document-model/custom/reducers/operation-error.js.map +0 -1
  358. package/dist/node/es/src/document-model/custom/reducers/operation-example.js +0 -58
  359. package/dist/node/es/src/document-model/custom/reducers/operation-example.js.map +0 -1
  360. package/dist/node/es/src/document-model/custom/reducers/operation.js +0 -123
  361. package/dist/node/es/src/document-model/custom/reducers/operation.js.map +0 -1
  362. package/dist/node/es/src/document-model/custom/reducers/state.js +0 -66
  363. package/dist/node/es/src/document-model/custom/reducers/state.js.map +0 -1
  364. package/dist/node/es/src/document-model/custom/reducers/versioning.js +0 -31
  365. package/dist/node/es/src/document-model/custom/reducers/versioning.js.map +0 -1
  366. package/dist/node/es/src/document-model/custom/utils.js +0 -117
  367. package/dist/node/es/src/document-model/custom/utils.js.map +0 -1
  368. package/dist/node/es/src/document-model/gen/creators.js +0 -53
  369. package/dist/node/es/src/document-model/gen/creators.js.map +0 -1
  370. package/dist/node/es/src/document-model/gen/document-model.js +0 -545
  371. package/dist/node/es/src/document-model/gen/document-model.js.map +0 -1
  372. package/dist/node/es/src/document-model/gen/header/creators.js +0 -41
  373. package/dist/node/es/src/document-model/gen/header/creators.js.map +0 -1
  374. package/dist/node/es/src/document-model/gen/header/object.js +0 -26
  375. package/dist/node/es/src/document-model/gen/header/object.js.map +0 -1
  376. package/dist/node/es/src/document-model/gen/module/creators.js +0 -36
  377. package/dist/node/es/src/document-model/gen/module/creators.js.map +0 -1
  378. package/dist/node/es/src/document-model/gen/module/object.js +0 -23
  379. package/dist/node/es/src/document-model/gen/module/object.js.map +0 -1
  380. package/dist/node/es/src/document-model/gen/object.js +0 -47
  381. package/dist/node/es/src/document-model/gen/object.js.map +0 -1
  382. package/dist/node/es/src/document-model/gen/operation/creators.js +0 -61
  383. package/dist/node/es/src/document-model/gen/operation/creators.js.map +0 -1
  384. package/dist/node/es/src/document-model/gen/operation/object.js +0 -38
  385. package/dist/node/es/src/document-model/gen/operation/object.js.map +0 -1
  386. package/dist/node/es/src/document-model/gen/operation-error/creators.js +0 -46
  387. package/dist/node/es/src/document-model/gen/operation-error/creators.js.map +0 -1
  388. package/dist/node/es/src/document-model/gen/operation-error/object.js +0 -29
  389. package/dist/node/es/src/document-model/gen/operation-error/object.js.map +0 -1
  390. package/dist/node/es/src/document-model/gen/operation-example/creators.js +0 -31
  391. package/dist/node/es/src/document-model/gen/operation-example/creators.js.map +0 -1
  392. package/dist/node/es/src/document-model/gen/operation-example/object.js +0 -20
  393. package/dist/node/es/src/document-model/gen/operation-example/object.js.map +0 -1
  394. package/dist/node/es/src/document-model/gen/reducer.js +0 -257
  395. package/dist/node/es/src/document-model/gen/reducer.js.map +0 -1
  396. package/dist/node/es/src/document-model/gen/schema/zod.js +0 -449
  397. package/dist/node/es/src/document-model/gen/schema/zod.js.map +0 -1
  398. package/dist/node/es/src/document-model/gen/state/creators.js +0 -41
  399. package/dist/node/es/src/document-model/gen/state/creators.js.map +0 -1
  400. package/dist/node/es/src/document-model/gen/state/object.js +0 -26
  401. package/dist/node/es/src/document-model/gen/state/object.js.map +0 -1
  402. package/dist/node/es/src/document-model/gen/utils.js +0 -75
  403. package/dist/node/es/src/document-model/gen/utils.js.map +0 -1
  404. package/dist/node/es/src/document-model/gen/versioning/creators.js +0 -35
  405. package/dist/node/es/src/document-model/gen/versioning/creators.js.map +0 -1
  406. package/dist/node/es/src/document-model/gen/versioning/object.js +0 -23
  407. package/dist/node/es/src/document-model/gen/versioning/object.js.map +0 -1
@@ -1,33 +0,0 @@
1
- import { createAction } from "../../../document/utils/base.js";
2
- import "jszip";
3
- import "../../../../node_modules/.pnpm/mime@4.0.1/node_modules/mime/dist/src/index_lite.js";
4
- import "../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha1.js";
5
- import "../../../../node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha256.js";
6
- import "../../../../node_modules/.pnpm/safe-stable-stringify@2.4.3/node_modules/safe-stable-stringify/esm/wrapper.js";
7
- const addChangeLogItem = (input) => createAction(
8
- "ADD_CHANGE_LOG_ITEM",
9
- { ...input }
10
- );
11
- const updateChangeLogItem = (input) => createAction(
12
- "UPDATE_CHANGE_LOG_ITEM",
13
- { ...input }
14
- );
15
- const deleteChangeLogItem = (input) => createAction(
16
- "DELETE_CHANGE_LOG_ITEM",
17
- { ...input }
18
- );
19
- const reorderChangeLogItems = (input) => createAction(
20
- "REORDER_CHANGE_LOG_ITEMS",
21
- { ...input }
22
- );
23
- const releaseNewVersion = () => createAction(
24
- "RELEASE_NEW_VERSION"
25
- );
26
- export {
27
- addChangeLogItem,
28
- deleteChangeLogItem,
29
- releaseNewVersion,
30
- reorderChangeLogItems,
31
- updateChangeLogItem
32
- };
33
- //# sourceMappingURL=creators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"creators.js","sources":["../../../../../../../src/document-model/gen/versioning/creators.ts"],"sourcesContent":["import { createAction } from '../../../document/utils';\n\nimport {\n AddChangeLogItemInput,\n UpdateChangeLogItemInput,\n DeleteChangeLogItemInput,\n ReorderChangeLogItemsInput,\n} from '../types';\nimport {\n AddChangeLogItemAction,\n UpdateChangeLogItemAction,\n DeleteChangeLogItemAction,\n ReorderChangeLogItemsAction,\n ReleaseNewVersionAction,\n} from './actions';\n\nexport const addChangeLogItem = (input: AddChangeLogItemInput) =>\n createAction<AddChangeLogItemAction>(\n 'ADD_CHANGE_LOG_ITEM',\n {...input},\n );\n\nexport const updateChangeLogItem = (input: UpdateChangeLogItemInput) =>\n createAction<UpdateChangeLogItemAction>(\n 'UPDATE_CHANGE_LOG_ITEM',\n {...input},\n );\n\nexport const deleteChangeLogItem = (input: DeleteChangeLogItemInput) =>\n createAction<DeleteChangeLogItemAction>(\n 'DELETE_CHANGE_LOG_ITEM',\n {...input},\n );\n\nexport const reorderChangeLogItems = (input: ReorderChangeLogItemsInput) =>\n createAction<ReorderChangeLogItemsAction>(\n 'REORDER_CHANGE_LOG_ITEMS',\n {...input},\n );\n\n\nexport const releaseNewVersion = () =>\n createAction<ReleaseNewVersionAction>(\n 'RELEASE_NEW_VERSION',\n );\n"],"names":[],"mappings":";;;;;;AAgBa,MAAA,mBAAmB,CAAC,UAC7B;AAAA,EACI;AAAA,EACA,EAAC,GAAG,MAAK;AACb;AAES,MAAA,sBAAsB,CAAC,UAChC;AAAA,EACI;AAAA,EACA,EAAC,GAAG,MAAK;AACb;AAES,MAAA,sBAAsB,CAAC,UAChC;AAAA,EACI;AAAA,EACA,EAAC,GAAG,MAAK;AACb;AAES,MAAA,wBAAwB,CAAC,UAClC;AAAA,EACI;AAAA,EACA,EAAC,GAAG,MAAK;AACb;AAGG,MAAM,oBAAoB,MAC7B;AAAA,EACI;AACJ;"}
@@ -1,23 +0,0 @@
1
- import { BaseDocument } from "../../../document/object.js";
2
- import { addChangeLogItem, updateChangeLogItem, deleteChangeLogItem, reorderChangeLogItems, releaseNewVersion } from "./creators.js";
3
- class DocumentModel_Versioning extends BaseDocument {
4
- addChangeLogItem(input, options) {
5
- return this.dispatch(addChangeLogItem(input), options);
6
- }
7
- updateChangeLogItem(input, options) {
8
- return this.dispatch(updateChangeLogItem(input), options);
9
- }
10
- deleteChangeLogItem(input, options) {
11
- return this.dispatch(deleteChangeLogItem(input), options);
12
- }
13
- reorderChangeLogItems(input, options) {
14
- return this.dispatch(reorderChangeLogItems(input), options);
15
- }
16
- releaseNewVersion(options) {
17
- return this.dispatch(releaseNewVersion(), options);
18
- }
19
- }
20
- export {
21
- DocumentModel_Versioning as default
22
- };
23
- //# sourceMappingURL=object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.js","sources":["../../../../../../../src/document-model/gen/versioning/object.ts"],"sourcesContent":["import { BaseDocument } from '../../../document/object';\n\nimport {\n AddChangeLogItemInput,\n UpdateChangeLogItemInput,\n DeleteChangeLogItemInput,\n ReorderChangeLogItemsInput,\n DocumentModelState,\n DocumentModelLocalState,\n} from '../types';\nimport {\n addChangeLogItem,\n updateChangeLogItem,\n deleteChangeLogItem,\n reorderChangeLogItems,\n releaseNewVersion,\n} from './creators';\nimport { DocumentModelAction } from '../actions';\nimport { ReducerOptions } from '../../../document';\n\nexport default class DocumentModel_Versioning extends BaseDocument<\n DocumentModelState,\n DocumentModelAction,\n DocumentModelLocalState\n> {\n public addChangeLogItem(input: AddChangeLogItemInput, options?: ReducerOptions) {\n return this.dispatch(addChangeLogItem(input), options);\n }\n\n public updateChangeLogItem(input: UpdateChangeLogItemInput, options?: ReducerOptions) {\n return this.dispatch(updateChangeLogItem(input), options);\n }\n\n public deleteChangeLogItem(input: DeleteChangeLogItemInput, options?: ReducerOptions) {\n return this.dispatch(deleteChangeLogItem(input), options);\n }\n\n public reorderChangeLogItems(input: ReorderChangeLogItemsInput, options?: ReducerOptions) {\n return this.dispatch(reorderChangeLogItems(input), options);\n }\n\n public releaseNewVersion(options?: ReducerOptions) {\n return this.dispatch(releaseNewVersion(), options);\n }\n}\n"],"names":[],"mappings":";;AAoBA,MAAqB,iCAAiC,aAIpD;AAAA,EACS,iBAAiB,OAA8B,SAA0B;AAC5E,WAAO,KAAK,SAAS,iBAAiB,KAAK,GAAG,OAAO;AAAA,EACzD;AAAA,EAEO,oBAAoB,OAAiC,SAA0B;AAClF,WAAO,KAAK,SAAS,oBAAoB,KAAK,GAAG,OAAO;AAAA,EAC5D;AAAA,EAEO,oBAAoB,OAAiC,SAA0B;AAClF,WAAO,KAAK,SAAS,oBAAoB,KAAK,GAAG,OAAO;AAAA,EAC5D;AAAA,EAEO,sBAAsB,OAAmC,SAA0B;AACtF,WAAO,KAAK,SAAS,sBAAsB,KAAK,GAAG,OAAO;AAAA,EAC9D;AAAA,EAEO,kBAAkB,SAA0B;AAC/C,WAAO,KAAK,SAAS,kBAAkB,GAAG,OAAO;AAAA,EACrD;AACJ;"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- function getDefaultExportFromCjs(x) {
4
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
5
- }
6
- exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
7
- //# sourceMappingURL=_commonjsHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- var safeStableStringify = { exports: {} };
4
- exports.__module = safeStableStringify;
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const zod = require("../schema/zod.js");
4
- const base = require("../utils/base.js");
5
- const setName = (name) => base.createAction(
6
- "SET_NAME",
7
- name,
8
- void 0,
9
- zod.SetNameActionInputSchema,
10
- void 0
11
- );
12
- const undo = (skip = 1, scope = "global") => base.createAction(
13
- "UNDO",
14
- skip,
15
- void 0,
16
- zod.UndoActionInputSchema,
17
- scope
18
- );
19
- const redo = (count = 1, scope = "global") => base.createAction(
20
- "REDO",
21
- count,
22
- void 0,
23
- zod.RedoActionInputSchema,
24
- scope
25
- );
26
- const prune = (start, end, scope = "global") => base.createAction(
27
- "PRUNE",
28
- { start, end },
29
- void 0,
30
- zod.PruneActionInputSchema,
31
- scope
32
- );
33
- const loadState = (state, operations) => base.createAction(
34
- "LOAD_STATE",
35
- { state, operations },
36
- void 0,
37
- zod.LoadStateActionInputSchema
38
- );
39
- const noop = (scope = "global") => base.createAction("NOOP", {}, void 0, void 0, scope);
40
- exports.loadState = loadState;
41
- exports.noop = noop;
42
- exports.prune = prune;
43
- exports.redo = redo;
44
- exports.setName = setName;
45
- exports.undo = undo;
46
- //# sourceMappingURL=creators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"creators.js","sources":["../../../../../../src/document/actions/creators.ts"],"sourcesContent":["import { ExtendedState, OperationScope, z } from '../types';\nimport { createAction } from '../utils/base';\nimport {\n LoadStateAction,\n PruneAction,\n RedoAction,\n SetNameAction,\n UndoAction,\n NOOPAction,\n} from './types';\n\n/**\n * Changes the name of the document.\n *\n * @param name - The name to be set in the document.\n * @category Actions\n */\nexport const setName = (name: string) =>\n createAction<SetNameAction>(\n 'SET_NAME',\n name,\n undefined,\n z.SetNameActionInputSchema,\n undefined,\n );\n\n/**\n * Cancels the last `count` operations.\n *\n * @param count - Number of operations to cancel\n * @category Actions\n */\nexport const undo = (skip = 1, scope: OperationScope = 'global') =>\n createAction<UndoAction>(\n 'UNDO',\n skip,\n undefined,\n z.UndoActionInputSchema,\n scope,\n );\n\n/**\n * Cancels the last `count` {@link undo | UNDO} operations.\n *\n * @param count - Number of UNDO operations to cancel\n * @category Actions\n */\nexport const redo = (count = 1, scope: OperationScope = 'global') =>\n createAction<RedoAction>(\n 'REDO',\n count,\n undefined,\n z.RedoActionInputSchema,\n scope,\n );\n\n/**\n * Joins multiple operations into a single {@link loadState | LOAD_STATE} operation.\n *\n * @remarks\n * Useful to keep operations history smaller. Operations to prune are selected by index,\n * similar to the {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice | slice} method in Arrays.\n *\n * @param start - Index of the first operation to prune\n * @param end - Index of the last operation to prune\n * @category Actions\n */\nexport const prune = (\n start?: number | undefined,\n end?: number | undefined,\n scope: OperationScope = 'global',\n) =>\n createAction<PruneAction>(\n 'PRUNE',\n { start, end },\n undefined,\n z.PruneActionInputSchema,\n scope,\n );\n\n/**\n * Replaces the state of the document.\n *\n * @remarks\n * This action shouldn't be used directly. It is dispatched by the {@link prune} action.\n *\n * @param state - State to be set in the document.\n * @param operations - Number of operations that were removed from the previous state.\n * @category Actions\n */\nexport const loadState = <S, T>(\n state: Pick<ExtendedState<S, T>, 'state' | 'name'>,\n operations: number,\n) =>\n createAction<LoadStateAction>(\n 'LOAD_STATE',\n { state, operations },\n undefined,\n z.LoadStateActionInputSchema,\n );\n\nexport const noop = (scope: OperationScope = 'global') =>\n createAction<NOOPAction>('NOOP', {}, undefined, undefined, scope);\n"],"names":["createAction","z.SetNameActionInputSchema","z.UndoActionInputSchema","z.RedoActionInputSchema","z.PruneActionInputSchema","z.LoadStateActionInputSchema"],"mappings":";;;;AAiBa,MAAA,UAAU,CAAC,SACpBA,KAAA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACAC,IAAE;AAAA,EACF;AACJ;AAQG,MAAM,OAAO,CAAC,OAAO,GAAG,QAAwB,aACnDD,KAAA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACAE,IAAE;AAAA,EACF;AACJ;AAQG,MAAM,OAAO,CAAC,QAAQ,GAAG,QAAwB,aACpDF,KAAA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACAG,IAAE;AAAA,EACF;AACJ;AAaG,MAAM,QAAQ,CACjB,OACA,KACA,QAAwB,aAExBH,KAAA;AAAA,EACI;AAAA,EACA,EAAE,OAAO,IAAI;AAAA,EACb;AAAA,EACAI,IAAE;AAAA,EACF;AACJ;AAYS,MAAA,YAAY,CACrB,OACA,eAEAJ,KAAA;AAAA,EACI;AAAA,EACA,EAAE,OAAO,WAAW;AAAA,EACpB;AAAA,EACAK,IAAE;AACN;AAES,MAAA,OAAO,CAAC,QAAwB,aACzCL,KAAA,aAAyB,QAAQ,CAAA,GAAI,QAAW,QAAW,KAAK;;;;;;;"}
@@ -1,173 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const immer = require("immer");
4
- const base = require("../utils/base.js");
5
- const creators = require("./creators.js");
6
- function setNameOperation(document, name) {
7
- return { ...document, name };
8
- }
9
- function undoOperation(document, action, skip) {
10
- const { scope, input } = action;
11
- const defaultResult = {
12
- document,
13
- action,
14
- skip
15
- };
16
- return immer.produce(defaultResult, (draft) => {
17
- if (draft.document.operations[scope].length < 1) {
18
- throw new Error(
19
- `Cannot undo: no operations in history for scope "${scope}"`
20
- );
21
- }
22
- if (input < 1) {
23
- throw new Error(
24
- `Invalid UNDO action: input value must be greater than 0`
25
- );
26
- }
27
- if (draft.skip > 0) {
28
- throw new Error(
29
- `Cannot undo: skip value from reducer cannot be used with UNDO action`
30
- );
31
- }
32
- const lastOperation = draft.document.operations[scope].at(-1);
33
- const isLatestOpNOOP = lastOperation && lastOperation.type === "NOOP" && lastOperation.skip > 0;
34
- draft.skip += input;
35
- if (isLatestOpNOOP) {
36
- draft.skip += lastOperation.skip;
37
- const preLastOperation = draft.document.operations[scope][draft.document.operations[scope].length - 2];
38
- if (preLastOperation && lastOperation.index - preLastOperation.index === 1) {
39
- draft.document.operations[scope].pop();
40
- }
41
- }
42
- if (draft.document.operations[scope].length < draft.skip) {
43
- throw new Error(
44
- `Cannot undo: you can't undo more operations than the ones in the scope history`
45
- );
46
- }
47
- const operationsLastIndex = draft.document.operations[scope].length - 1;
48
- let skippedOpsLeft = input;
49
- let index = isLatestOpNOOP ? operationsLastIndex - lastOperation.skip : operationsLastIndex;
50
- while (skippedOpsLeft > 0 && index >= 0) {
51
- const op = draft.document.operations[scope][index];
52
- if (!op) {
53
- skippedOpsLeft--;
54
- index--;
55
- continue;
56
- }
57
- if (op.type === "NOOP" && op.skip > 0) {
58
- index = index - (op.skip + 1);
59
- draft.skip += op.skip + 1;
60
- } else {
61
- draft.document.clipboard.push({ ...op });
62
- skippedOpsLeft--;
63
- index--;
64
- }
65
- }
66
- draft.action = creators.noop(scope);
67
- });
68
- }
69
- function redoOperation(document, action, skip) {
70
- const { scope, input } = action;
71
- const defaultResult = {
72
- document,
73
- action,
74
- skip
75
- };
76
- return immer.produce(defaultResult, (draft) => {
77
- if (draft.skip > 0) {
78
- throw new Error(
79
- `Cannot redo: skip value from reducer cannot be used with REDO action`
80
- );
81
- }
82
- if (input > 1) {
83
- throw new Error(
84
- `Cannot redo: you can only redo one operation at a time`
85
- );
86
- }
87
- if (input < 1) {
88
- throw new Error(`Invalid REDO action: invalid redo input value`);
89
- }
90
- if (draft.document.clipboard.length < 1) {
91
- throw new Error(`Cannot redo: no operations in the clipboard`);
92
- }
93
- const operationIndex = draft.document.clipboard.findLastIndex(
94
- (op) => op.scope === scope
95
- );
96
- if (operationIndex < 0) {
97
- throw new Error(
98
- `Cannot redo: no operations in clipboard for scope "${scope}"`
99
- );
100
- }
101
- const operation = draft.document.clipboard.splice(operationIndex, 1)[0];
102
- draft.action = immer.castDraft({
103
- type: operation.type,
104
- scope: operation.scope,
105
- input: operation.input
106
- });
107
- });
108
- }
109
- function pruneOperation(document, action, wrappedReducer) {
110
- const { scope } = action;
111
- const operations = document.operations[scope];
112
- let {
113
- input: { start, end }
114
- } = action;
115
- start = start || 0;
116
- end = end || operations.length;
117
- const actionsToPrune = operations.slice(start, end);
118
- const actionsToKeepStart = operations.slice(0, start);
119
- const actionsToKeepEnd = operations.slice(end);
120
- const newDocument = base.replayOperations(
121
- document.initialState,
122
- {
123
- ...document.operations,
124
- [scope]: actionsToKeepStart.concat(actionsToPrune)
125
- },
126
- wrappedReducer
127
- );
128
- const { name, state: newState } = newDocument;
129
- const loadStateIndex = actionsToKeepStart.length;
130
- const loadStateTimestamp = actionsToKeepStart.length ? actionsToKeepStart[actionsToKeepStart.length - 1].timestamp : actionsToKeepEnd.length ? actionsToKeepEnd[0].timestamp : (/* @__PURE__ */ new Date()).toISOString();
131
- return base.replayOperations(
132
- document.initialState,
133
- {
134
- ...document.operations,
135
- [scope]: [
136
- ...actionsToKeepStart,
137
- {
138
- ...creators.loadState(
139
- { name, state: newState },
140
- actionsToPrune.length
141
- ),
142
- timestamp: loadStateTimestamp,
143
- index: loadStateIndex,
144
- hash: base.hashDocument({ state: newState }, "global")
145
- },
146
- ...actionsToKeepEnd.map((action2, index) => ({
147
- ...action2,
148
- index: loadStateIndex + index + 1
149
- }))
150
- ]
151
- },
152
- wrappedReducer
153
- );
154
- }
155
- function loadStateOperation(oldDocument, newDocument) {
156
- return {
157
- ...oldDocument,
158
- name: newDocument.name,
159
- state: newDocument.state ?? { global: {}, local: {} }
160
- };
161
- }
162
- exports.loadState = creators.loadState;
163
- exports.noop = creators.noop;
164
- exports.prune = creators.prune;
165
- exports.redo = creators.redo;
166
- exports.setName = creators.setName;
167
- exports.undo = creators.undo;
168
- exports.loadStateOperation = loadStateOperation;
169
- exports.pruneOperation = pruneOperation;
170
- exports.redoOperation = redoOperation;
171
- exports.setNameOperation = setNameOperation;
172
- exports.undoOperation = undoOperation;
173
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/document/actions/index.ts"],"sourcesContent":["import { castDraft, produce } from 'immer';\nimport {\n Action,\n Document,\n ImmutableStateReducer,\n Operation,\n PruneAction,\n RedoAction,\n State,\n UndoAction,\n UndoRedoProcessResult,\n} from '../types';\nimport { hashDocument, replayOperations } from '../utils/base';\nimport { loadState, noop } from './creators';\n\n// updates the name of the document\nexport function setNameOperation<T>(document: T, name: string): T {\n return { ...document, name };\n}\n\nexport function noopOperation<T, A extends Action, L>(\n document: Document<T, A, L>,\n action: Partial<Operation>,\n skip: number,\n) {\n const defaultValues = {\n skip,\n document,\n };\n\n const { scope } = action;\n\n if (!scope) return defaultValues;\n if (action.skip === undefined) return defaultValues;\n\n return produce(defaultValues, draft => {\n const lastOperation = draft.document.operations[scope].at(-1);\n\n if (action.skip && action.skip > 0) {\n draft.skip = action.skip;\n }\n\n if (\n lastOperation &&\n lastOperation.type === 'NOOP' &&\n action.index === lastOperation.index &&\n draft.skip > lastOperation.skip\n ) {\n draft.document.operations[scope].pop();\n }\n });\n}\n\nexport function undoOperation<T, A extends Action, L>(\n document: Document<T, A, L>,\n action: UndoAction,\n skip: number,\n): UndoRedoProcessResult<T, A, L> {\n // const scope = action.scope;\n const { scope, input } = action;\n\n const defaultResult: UndoRedoProcessResult<T, A, L> = {\n document,\n action,\n skip,\n };\n\n return produce(defaultResult, draft => {\n if (draft.document.operations[scope].length < 1) {\n throw new Error(\n `Cannot undo: no operations in history for scope \"${scope}\"`,\n );\n }\n\n if (input < 1) {\n throw new Error(\n `Invalid UNDO action: input value must be greater than 0`,\n );\n }\n\n if (draft.skip > 0) {\n throw new Error(\n `Cannot undo: skip value from reducer cannot be used with UNDO action`,\n );\n }\n\n const lastOperation = draft.document.operations[scope].at(-1);\n\n const isLatestOpNOOP =\n lastOperation &&\n lastOperation.type === 'NOOP' &&\n lastOperation.skip > 0;\n\n draft.skip += input;\n\n if (isLatestOpNOOP) {\n draft.skip += lastOperation.skip;\n\n const preLastOperation =\n draft.document.operations[scope][\n draft.document.operations[scope].length - 2\n ];\n if (\n preLastOperation &&\n lastOperation.index - preLastOperation.index === 1\n ) {\n draft.document.operations[scope].pop();\n }\n }\n\n if (draft.document.operations[scope].length < draft.skip) {\n throw new Error(\n `Cannot undo: you can't undo more operations than the ones in the scope history`,\n );\n }\n\n const operationsLastIndex = draft.document.operations[scope].length - 1;\n let skippedOpsLeft = input;\n let index = isLatestOpNOOP\n ? operationsLastIndex - lastOperation.skip\n : operationsLastIndex;\n\n while (skippedOpsLeft > 0 && index >= 0) {\n const op = draft.document.operations[scope][index];\n\n if (!op) {\n skippedOpsLeft--;\n index--;\n continue;\n }\n\n if (op.type === 'NOOP' && op.skip > 0) {\n index = index - (op.skip + 1);\n draft.skip += op.skip + 1;\n } else {\n draft.document.clipboard.push({ ...op });\n skippedOpsLeft--;\n index--;\n }\n }\n\n draft.action = noop(scope);\n });\n}\n\nexport function redoOperation<T, A extends Action, L>(\n document: Document<T, A, L>,\n action: RedoAction,\n skip: number,\n): UndoRedoProcessResult<T, A, L> {\n const { scope, input } = action;\n\n const defaultResult: UndoRedoProcessResult<T, A, L> = {\n document,\n action,\n skip,\n };\n\n return produce(defaultResult, draft => {\n if (draft.skip > 0) {\n throw new Error(\n `Cannot redo: skip value from reducer cannot be used with REDO action`,\n );\n }\n\n if (input > 1) {\n throw new Error(\n `Cannot redo: you can only redo one operation at a time`,\n );\n }\n\n if (input < 1) {\n throw new Error(`Invalid REDO action: invalid redo input value`);\n }\n\n if (draft.document.clipboard.length < 1) {\n throw new Error(`Cannot redo: no operations in the clipboard`);\n }\n\n const operationIndex = draft.document.clipboard.findLastIndex(\n op => op.scope === scope,\n );\n if (operationIndex < 0) {\n throw new Error(\n `Cannot redo: no operations in clipboard for scope \"${scope}\"`,\n );\n }\n\n const operation = draft.document.clipboard.splice(operationIndex, 1)[0];\n\n draft.action = castDraft({\n type: operation.type,\n scope: operation.scope,\n input: operation.input,\n } as A);\n });\n}\n\nexport function pruneOperation<T, A extends Action, L>(\n document: Document<T, A, L>,\n action: PruneAction,\n wrappedReducer: ImmutableStateReducer<T, A, L>,\n): Document<T, A, L> {\n const { scope } = action;\n const operations = document.operations[scope];\n\n let {\n input: { start, end },\n } = action;\n start = start || 0;\n end = end || operations.length;\n\n const actionsToPrune = operations.slice(start, end);\n const actionsToKeepStart = operations.slice(0, start);\n const actionsToKeepEnd = operations.slice(end);\n\n // runs all operations from the initial state to\n // the end of prune to get name and data\n const newDocument = replayOperations(\n document.initialState,\n {\n ...document.operations,\n [scope]: actionsToKeepStart.concat(actionsToPrune),\n },\n wrappedReducer,\n );\n\n const { name, state: newState } = newDocument;\n\n // the new operation has the index of the first pruned operation\n const loadStateIndex = actionsToKeepStart.length;\n\n // if and operation is pruned then reuses the timestamp of the last operation\n // if not then assigns the timestamp of the following unpruned operation\n const loadStateTimestamp = actionsToKeepStart.length\n ? actionsToKeepStart[actionsToKeepStart.length - 1].timestamp\n : actionsToKeepEnd.length\n ? actionsToKeepEnd[0].timestamp\n : new Date().toISOString();\n\n // replaces pruned operations with LOAD_STATE\n return replayOperations(\n document.initialState,\n {\n ...document.operations,\n [scope]: [\n ...actionsToKeepStart,\n {\n ...loadState(\n { name, state: newState },\n actionsToPrune.length,\n ),\n timestamp: loadStateTimestamp,\n index: loadStateIndex,\n hash: hashDocument({ state: newState }, 'global'),\n },\n ...actionsToKeepEnd\n // updates the index for all the following operations\n .map((action, index) => ({\n ...action,\n index: loadStateIndex + index + 1,\n })),\n ],\n },\n wrappedReducer,\n );\n}\n\nexport function loadStateOperation<T, A extends Action, L>(\n oldDocument: Document<T, A, L>,\n newDocument: { name: string; state?: State<T, L> },\n): Document<T, A, L> {\n return {\n ...oldDocument,\n name: newDocument.name,\n state: newDocument.state ?? ({ global: {}, local: {} } as State<T, L>),\n };\n}\n\nexport * from './creators';\n"],"names":["produce","noop","castDraft","replayOperations","loadState","hashDocument","action"],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const SET_NAME = "SET_NAME";
4
- const UNDO = "UNDO";
5
- const REDO = "REDO";
6
- const PRUNE = "PRUNE";
7
- const LOAD_STATE = "LOAD_STATE";
8
- const NOOP = "NOOP";
9
- exports.LOAD_STATE = LOAD_STATE;
10
- exports.NOOP = NOOP;
11
- exports.PRUNE = PRUNE;
12
- exports.REDO = REDO;
13
- exports.SET_NAME = SET_NAME;
14
- exports.UNDO = UNDO;
15
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../src/document/actions/types.ts"],"sourcesContent":["import type { Action } from '../types';\nimport type {\n LoadStateActionInput,\n PruneActionInput,\n RedoAction as _RedoAction,\n SetNameAction as _SetNameAction,\n UndoAction as _UndoAction,\n} from '../schema/types';\n\nexport const SET_NAME = 'SET_NAME';\nexport const UNDO = 'UNDO';\nexport const REDO = 'REDO';\nexport const PRUNE = 'PRUNE';\nexport const LOAD_STATE = 'LOAD_STATE';\nexport const NOOP = 'NOOP';\n\nexport type LoadStateAction = Action<'LOAD_STATE', LoadStateActionInput>;\nexport type PruneAction = Action<'PRUNE', PruneActionInput>;\nexport type RedoAction = Action<'REDO', _RedoAction['input']>;\nexport type SetNameAction = Action<'SET_NAME', _SetNameAction['input']>;\nexport type UndoAction = Action<'UNDO', _UndoAction['input']>;\nexport type NOOPAction = Action<'NOOP'>;\n\nexport type BaseAction =\n | LoadStateAction\n | PruneAction\n | RedoAction\n | SetNameAction\n | UndoAction\n | NOOPAction;\n"],"names":[],"mappings":";;AASO,MAAM,WAAW;AACjB,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,QAAQ;AACd,MAAM,aAAa;AACnB,MAAM,OAAO;;;;;;;"}
@@ -1,190 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
- var __publicField = (obj, key, value) => {
5
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
- return value;
7
- };
8
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
9
- require("immer");
10
- const base = require("./utils/base.js");
11
- const creators = require("./actions/creators.js");
12
- const file = require("./utils/file.js");
13
- require("../../node_modules/.pnpm/safe-stable-stringify@2.4.3/node_modules/safe-stable-stringify/esm/wrapper.js");
14
- class BaseDocument {
15
- /**
16
- * Constructs a BaseDocument instance with an initial state.
17
- * @param reducer - The reducer function that updates the state.
18
- * @param document - The initial state of the document.
19
- */
20
- constructor(reducer, document, signalDispatch) {
21
- __publicField(this, "_document");
22
- __publicField(this, "_reducer");
23
- __publicField(this, "_signalDispatch");
24
- this._reducer = reducer;
25
- this._document = document;
26
- this._signalDispatch = signalDispatch;
27
- }
28
- /**
29
- * Dispatches an action to update the state of the document.
30
- * @param action - The action to dispatch.
31
- * @returns The Document instance.
32
- */
33
- dispatch(action, options) {
34
- this._document = this._reducer(
35
- this._document,
36
- action,
37
- this._signalDispatch,
38
- options
39
- );
40
- return this;
41
- }
42
- /**
43
- * Saves the state of the document to a file.
44
- * @param path - The file path where the state should be saved.
45
- * @param extension - The file extension to use when saving the state.
46
- * @returns The file path where the state was saved.
47
- */
48
- saveToFile(path, extension, name) {
49
- return file.saveToFile(this._document, path, extension, name);
50
- }
51
- /**
52
- * Loads the state of the document from a file.
53
- * @param path - The file path where the state is stored.
54
- */
55
- async loadFromFile(path) {
56
- this._document = await file.loadFromFile(path, this._reducer);
57
- }
58
- /**
59
- * Loads the state of the document from a file and returns it.
60
- * @param path - The file path where the state is stored.
61
- * @param reducer - The reducer function that updates the state.
62
- * @returns The state of the document.
63
- */
64
- static async stateFromFile(path, reducer) {
65
- const state = await file.loadFromFile(path, reducer);
66
- return state;
67
- }
68
- /**
69
- * Gets the current state of the document.
70
- */
71
- get state() {
72
- return base.readOnly(this._document.state);
73
- }
74
- /**
75
- * Gets the list of operations performed on the document.
76
- */
77
- get operations() {
78
- return base.readOnly(this._document.operations);
79
- }
80
- /**
81
- * Gets the name of the document.
82
- */
83
- get name() {
84
- return this._document.name;
85
- }
86
- /**
87
- * Gets the type of document.
88
- */
89
- get documentType() {
90
- return this._document.documentType;
91
- }
92
- /**
93
- * Gets the timestamp of the date the document was created.
94
- */
95
- get created() {
96
- return this._document.created;
97
- }
98
- /**
99
- * Gets the timestamp of the date the document was last modified.
100
- */
101
- get lastModified() {
102
- return this._document.lastModified;
103
- }
104
- /**
105
- * Gets the global revision number of the document.
106
- */
107
- get revision() {
108
- return this._document.revision.global;
109
- }
110
- getRevision(scope) {
111
- return this._document.revision[scope];
112
- }
113
- /**
114
- * Gets the initial state of the document.
115
- */
116
- get initialState() {
117
- return base.readOnly(this._document.initialState);
118
- }
119
- /**
120
- * Returns the current document as an object
121
- */
122
- toDocument() {
123
- return base.readOnly(this._document);
124
- }
125
- /**
126
- * Gets the attachment associated with the given key.
127
- * @param attachment - The key of the attachment to retrieve.
128
- */
129
- getAttachment(attachment) {
130
- return this._document.attachments[attachment];
131
- }
132
- /**
133
- * Sets the name of the document.
134
- * @param name - The new name of the document.
135
- */
136
- setName(name) {
137
- this.dispatch(creators.setName(name));
138
- return this;
139
- }
140
- /**
141
- * Reverts a number of actions from the document.
142
- * @param count - The number of actions to revert.
143
- */
144
- undo(count) {
145
- this.dispatch(creators.undo(count));
146
- return this;
147
- }
148
- /**
149
- * Reapplies a number of actions to the document.
150
- * @param count - The number of actions to reapply.
151
- */
152
- redo(count) {
153
- this.dispatch(creators.redo(count));
154
- return this;
155
- }
156
- /**
157
- * Removes a range of operations from the document.
158
- * @param start - The starting index of the range to remove.
159
- * @param end - The ending index of the range to remove.
160
- */
161
- prune(start, end) {
162
- this.dispatch(creators.prune(start, end));
163
- return this;
164
- }
165
- /**
166
- * Loads a document state and a set of operations.
167
- * @param state - The state to load.
168
- * @param operations - The operations to apply to the document.
169
- */
170
- loadState(state, operations) {
171
- this.dispatch(creators.loadState(state, operations));
172
- return this;
173
- }
174
- }
175
- function applyMixins(derivedCtor, constructors) {
176
- constructors.forEach((baseCtor) => {
177
- Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {
178
- Object.defineProperty(
179
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
180
- derivedCtor.prototype,
181
- name,
182
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
183
- Object.getOwnPropertyDescriptor(baseCtor.prototype, name) || /* @__PURE__ */ Object.create(null)
184
- );
185
- });
186
- });
187
- }
188
- exports.BaseDocument = BaseDocument;
189
- exports.applyMixins = applyMixins;
190
- //# sourceMappingURL=object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.js","sources":["../../../../../src/document/object.ts"],"sourcesContent":["import { loadState, prune, redo, setName, undo } from './actions';\nimport type { BaseAction } from './actions/types';\nimport type { SignalDispatch } from './signal';\nimport type {\n Action,\n AttachmentRef,\n Document,\n ExtendedState,\n OperationScope,\n Reducer,\n ReducerOptions,\n} from './types';\nimport { loadFromFile, readOnly, saveToFile } from './utils';\n\n/**\n * This is an abstract class representing a document and provides methods\n * for creating and manipulating documents.\n * @typeparam T - The type of data stored in the document.\n * @typeparam A - The type of action the document can take.\n */\nexport abstract class BaseDocument<T, A extends Action, L = unknown> {\n protected _document: Document<T, A, L>;\n private _reducer: Reducer<T, A, L>;\n private _signalDispatch?: SignalDispatch;\n\n /**\n * Constructs a BaseDocument instance with an initial state.\n * @param reducer - The reducer function that updates the state.\n * @param document - The initial state of the document.\n */\n constructor(\n reducer: Reducer<T, A, L>,\n document: Document<T, A, L>,\n signalDispatch?: SignalDispatch,\n ) {\n this._reducer = reducer;\n this._document = document;\n this._signalDispatch = signalDispatch;\n }\n\n /**\n * Dispatches an action to update the state of the document.\n * @param action - The action to dispatch.\n * @returns The Document instance.\n */\n protected dispatch(action: A | BaseAction, options?: ReducerOptions) {\n this._document = this._reducer(\n this._document,\n action,\n this._signalDispatch,\n options,\n );\n return this;\n }\n\n /**\n * Saves the state of the document to a file.\n * @param path - The file path where the state should be saved.\n * @param extension - The file extension to use when saving the state.\n * @returns The file path where the state was saved.\n */\n protected saveToFile(path: string, extension: string, name?: string) {\n return saveToFile(this._document, path, extension, name);\n }\n\n /**\n * Loads the state of the document from a file.\n * @param path - The file path where the state is stored.\n */\n async loadFromFile(path: string) {\n this._document = await loadFromFile<T, A, L>(path, this._reducer);\n }\n\n /**\n * Loads the state of the document from a file and returns it.\n * @param path - The file path where the state is stored.\n * @param reducer - The reducer function that updates the state.\n * @returns The state of the document.\n */\n protected static async stateFromFile<T, A extends Action, L>(\n path: string,\n reducer: Reducer<T, A, L>,\n ) {\n const state = await loadFromFile<T, A, L>(path, reducer);\n return state;\n }\n\n /**\n * Gets the current state of the document.\n */\n get state() {\n return readOnly(this._document.state);\n }\n\n /**\n * Gets the list of operations performed on the document.\n */\n get operations() {\n return readOnly(this._document.operations);\n }\n\n /**\n * Gets the name of the document.\n */\n get name() {\n return this._document.name;\n }\n\n /**\n * Gets the type of document.\n */\n get documentType() {\n return this._document.documentType;\n }\n\n /**\n * Gets the timestamp of the date the document was created.\n */\n get created() {\n return this._document.created;\n }\n\n /**\n * Gets the timestamp of the date the document was last modified.\n */\n get lastModified() {\n return this._document.lastModified;\n }\n\n /**\n * Gets the global revision number of the document.\n */\n get revision() {\n return this._document.revision.global;\n }\n\n getRevision(scope: OperationScope) {\n return this._document.revision[scope];\n }\n\n /**\n * Gets the initial state of the document.\n */\n get initialState() {\n return readOnly(this._document.initialState);\n }\n\n /**\n * Returns the current document as an object\n */\n public toDocument() {\n return readOnly(this._document);\n }\n\n /**\n * Gets the attachment associated with the given key.\n * @param attachment - The key of the attachment to retrieve.\n */\n public getAttachment(attachment: AttachmentRef) {\n return this._document.attachments[attachment];\n }\n\n /**\n * Sets the name of the document.\n * @param name - The new name of the document.\n */\n public setName(name: string) {\n this.dispatch(setName(name));\n return this;\n }\n\n /**\n * Reverts a number of actions from the document.\n * @param count - The number of actions to revert.\n */\n public undo(count: number) {\n this.dispatch(undo(count));\n return this;\n }\n\n /**\n * Reapplies a number of actions to the document.\n * @param count - The number of actions to reapply.\n */\n public redo(count: number) {\n this.dispatch(redo(count));\n return this;\n }\n /**\n * Removes a range of operations from the document.\n * @param start - The starting index of the range to remove.\n * @param end - The ending index of the range to remove.\n */\n public prune(start?: number | undefined, end?: number | undefined) {\n this.dispatch(prune(start, end));\n return this;\n }\n\n /**\n * Loads a document state and a set of operations.\n * @param state - The state to load.\n * @param operations - The operations to apply to the document.\n */\n public loadState(\n state: Pick<ExtendedState<T, L>, 'state' | 'name'>,\n operations: number,\n ) {\n this.dispatch(loadState(state, operations));\n return this;\n }\n}\n/**\n * Applies multiple mixins to a base class.\n * Used to have separate mixins to group methods by actions.\n *\n * @remarks\n * {@link https://www.typescriptlang.org/docs/handbook/mixins.html#alternative-pattern}\n *\n * @param derivedCtor - The class to apply the mixins to.\n * @param constructors - The constructors of the mixins.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function applyMixins(derivedCtor: any, constructors: any[]) {\n constructors.forEach(baseCtor => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n derivedCtor.prototype,\n name,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n Object.getOwnPropertyDescriptor(baseCtor.prototype, name) ||\n Object.create(null),\n );\n });\n });\n}\n"],"names":["saveToFile","loadFromFile","readOnly","setName","undo","redo","prune","loadState"],"mappings":"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"}