document-model 5.0.0-staging.9 → 5.0.1-staging.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 (447) hide show
  1. package/README.md +24 -24
  2. package/dist/src/core/actions.d.ts +79 -0
  3. package/dist/src/core/actions.d.ts.map +1 -0
  4. package/dist/src/core/actions.js +183 -0
  5. package/dist/src/core/actions.js.map +1 -0
  6. package/dist/src/core/crypto.d.ts +17 -0
  7. package/dist/src/core/crypto.d.ts.map +1 -0
  8. package/dist/src/core/crypto.js +87 -0
  9. package/dist/src/core/crypto.js.map +1 -0
  10. package/dist/src/{document/utils/document-helpers.d.ts → core/documents.d.ts} +51 -11
  11. package/dist/src/core/documents.d.ts.map +1 -0
  12. package/dist/src/{document/utils/document-helpers.js → core/documents.js} +320 -12
  13. package/dist/src/core/documents.js.map +1 -0
  14. package/dist/src/core/errors.d.ts +21 -0
  15. package/dist/src/core/errors.d.ts.map +1 -0
  16. package/dist/src/core/errors.js +47 -0
  17. package/dist/src/core/errors.js.map +1 -0
  18. package/dist/src/core/files.d.ts +14 -0
  19. package/dist/src/core/files.d.ts.map +1 -0
  20. package/dist/src/core/files.js +74 -0
  21. package/dist/src/core/files.js.map +1 -0
  22. package/dist/src/{document/utils → core}/header.d.ts +3 -35
  23. package/dist/src/core/header.d.ts.map +1 -0
  24. package/dist/src/{document/utils → core}/header.js +6 -19
  25. package/dist/src/core/header.js.map +1 -0
  26. package/dist/src/core/index.d.ts +12 -0
  27. package/dist/src/core/index.d.ts.map +1 -0
  28. package/dist/src/core/index.js +12 -0
  29. package/dist/src/core/index.js.map +1 -0
  30. package/dist/src/{document/utils/file.d.ts → core/node.d.ts} +40 -30
  31. package/dist/src/core/node.d.ts.map +1 -0
  32. package/dist/src/core/node.js +149 -0
  33. package/dist/src/core/node.js.map +1 -0
  34. package/dist/src/{document/actions → core}/operations.d.ts +4 -6
  35. package/dist/src/core/operations.d.ts.map +1 -0
  36. package/dist/src/{document/actions → core}/operations.js +2 -51
  37. package/dist/src/core/operations.js.map +1 -0
  38. package/dist/src/core/ph-types.d.ts +259 -0
  39. package/dist/src/core/ph-types.d.ts.map +1 -0
  40. package/dist/src/core/ph-types.js +15 -0
  41. package/dist/src/core/ph-types.js.map +1 -0
  42. package/dist/src/{document → core}/reducer.d.ts +23 -12
  43. package/dist/src/core/reducer.d.ts.map +1 -0
  44. package/dist/src/{document → core}/reducer.js +138 -74
  45. package/dist/src/core/reducer.js.map +1 -0
  46. package/dist/src/{document/schema/zod.d.ts → core/schemas.d.ts} +37 -39
  47. package/dist/src/core/schemas.d.ts.map +1 -0
  48. package/dist/src/{document/schema/zod.js → core/schemas.js} +1 -16
  49. package/dist/src/core/schemas.js.map +1 -0
  50. package/dist/src/core/state.d.ts +26 -0
  51. package/dist/src/core/state.d.ts.map +1 -0
  52. package/dist/src/core/state.js +56 -0
  53. package/dist/src/core/state.js.map +1 -0
  54. package/dist/src/core/types.d.ts +481 -0
  55. package/dist/src/core/types.d.ts.map +1 -0
  56. package/dist/src/{document → core}/types.js.map +1 -1
  57. package/dist/src/core/validation.d.ts +4 -0
  58. package/dist/src/core/validation.d.ts.map +1 -0
  59. package/dist/src/{document/utils → core}/validation.js +5 -1
  60. package/dist/src/core/validation.js.map +1 -0
  61. package/dist/src/document-model/actions.d.ts +158 -0
  62. package/dist/src/document-model/actions.d.ts.map +1 -0
  63. package/dist/src/document-model/actions.js +109 -0
  64. package/dist/src/document-model/actions.js.map +1 -0
  65. package/dist/src/document-model/constants.d.ts +7 -0
  66. package/dist/src/document-model/constants.d.ts.map +1 -0
  67. package/dist/src/document-model/{gen/document-model.js → constants.js} +35 -3
  68. package/dist/src/document-model/constants.js.map +1 -0
  69. package/dist/src/document-model/files.d.ts +5 -0
  70. package/dist/src/document-model/files.d.ts.map +1 -0
  71. package/dist/src/document-model/files.js +9 -0
  72. package/dist/src/document-model/files.js.map +1 -0
  73. package/dist/src/document-model/index.d.ts +9 -0
  74. package/dist/src/document-model/index.d.ts.map +1 -0
  75. package/dist/src/document-model/index.js +9 -0
  76. package/dist/src/document-model/index.js.map +1 -0
  77. package/dist/src/document-model/module.d.ts +1 -1
  78. package/dist/src/document-model/module.d.ts.map +1 -1
  79. package/dist/src/document-model/module.js +17 -10
  80. package/dist/src/document-model/module.js.map +1 -1
  81. package/dist/src/document-model/reducers.d.ts +11 -0
  82. package/dist/src/document-model/reducers.d.ts.map +1 -0
  83. package/dist/src/document-model/reducers.js +588 -0
  84. package/dist/src/document-model/reducers.js.map +1 -0
  85. package/dist/src/document-model/schemas.d.ts +449 -0
  86. package/dist/src/document-model/schemas.d.ts.map +1 -0
  87. package/dist/src/document-model/{gen/schema/zod.js → schemas.js} +9 -15
  88. package/dist/src/document-model/schemas.js.map +1 -0
  89. package/dist/src/document-model/state.d.ts +11 -0
  90. package/dist/src/document-model/state.d.ts.map +1 -0
  91. package/dist/src/document-model/{gen/ph-factories.js → state.js} +16 -15
  92. package/dist/src/document-model/state.js.map +1 -0
  93. package/dist/src/document-model/types.d.ts +670 -2
  94. package/dist/src/document-model/types.d.ts.map +1 -1
  95. package/dist/src/document-model/validation.d.ts +7 -0
  96. package/dist/src/document-model/validation.d.ts.map +1 -0
  97. package/dist/src/document-model/{custom/utils.js → validation.js} +1 -1
  98. package/dist/src/document-model/validation.js.map +1 -0
  99. package/dist/src/index.d.ts +5 -0
  100. package/dist/src/index.d.ts.map +1 -0
  101. package/dist/src/index.js +2 -0
  102. package/dist/src/index.js.map +1 -0
  103. package/dist/test/document/crypto.test.js +4 -8
  104. package/dist/test/document/crypto.test.js.map +1 -1
  105. package/dist/test/document/event-vs-command.test.js +2 -2
  106. package/dist/test/document/event-vs-command.test.js.map +1 -1
  107. package/dist/test/document/local.test.js +2 -3
  108. package/dist/test/document/local.test.js.map +1 -1
  109. package/dist/test/document/operation-id.test.js +3 -4
  110. package/dist/test/document/operation-id.test.js.map +1 -1
  111. package/dist/test/document/prune.test.js +12 -12
  112. package/dist/test/document/prune.test.js.map +1 -1
  113. package/dist/test/document/reducer.test.js +8 -10
  114. package/dist/test/document/reducer.test.js.map +1 -1
  115. package/dist/test/document/skip-operations.test.js +10 -10
  116. package/dist/test/document/skip-operations.test.js.map +1 -1
  117. package/dist/test/document/undo-redo.test.js +5 -7
  118. package/dist/test/document/undo-redo.test.js.map +1 -1
  119. package/dist/test/document/utils.test.js +5 -8
  120. package/dist/test/document/utils.test.js.map +1 -1
  121. package/dist/test/document-helpers/addUndo.test.js +1 -1
  122. package/dist/test/document-helpers/addUndo.test.js.map +1 -1
  123. package/dist/test/document-helpers/attachBranch.test.js +1 -1
  124. package/dist/test/document-helpers/attachBranch.test.js.map +1 -1
  125. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js +1 -1
  126. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js.map +1 -1
  127. package/dist/test/document-helpers/conflictResolution.test.js +1 -1
  128. package/dist/test/document-helpers/conflictResolution.test.js.map +1 -1
  129. package/dist/test/document-helpers/filterDuplicatedOperations.test.js +1 -1
  130. package/dist/test/document-helpers/filterDuplicatedOperations.test.js.map +1 -1
  131. package/dist/test/document-helpers/garbageCollect.test.js +1 -1
  132. package/dist/test/document-helpers/garbageCollect.test.js.map +1 -1
  133. package/dist/test/document-helpers/groupOperationsByScope.test.js +2 -2
  134. package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -1
  135. package/dist/test/document-helpers/merge.test.js +1 -1
  136. package/dist/test/document-helpers/merge.test.js.map +1 -1
  137. package/dist/test/document-helpers/nextSkipNumber.test.js +1 -1
  138. package/dist/test/document-helpers/nextSkipNumber.test.js.map +1 -1
  139. package/dist/test/document-helpers/prepareOperations.test.js +1 -1
  140. package/dist/test/document-helpers/prepareOperations.test.js.map +1 -1
  141. package/dist/test/document-helpers/removeExistingOperations.test.js +2 -3
  142. package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -1
  143. package/dist/test/document-helpers/reshuffleByTimestamp.test.js +1 -1
  144. package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -1
  145. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +1 -1
  146. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -1
  147. package/dist/test/document-helpers/skipHeaderOperations.test.js +1 -1
  148. package/dist/test/document-helpers/skipHeaderOperations.test.js.map +1 -1
  149. package/dist/test/document-helpers/sortOperations.test.js +1 -1
  150. package/dist/test/document-helpers/sortOperations.test.js.map +1 -1
  151. package/dist/test/document-helpers/split.test.js +1 -1
  152. package/dist/test/document-helpers/split.test.js.map +1 -1
  153. package/dist/test/document-helpers/utils.d.ts +1 -1
  154. package/dist/test/document-helpers/utils.d.ts.map +1 -1
  155. package/dist/test/document-helpers/utils.js +1 -1
  156. package/dist/test/document-helpers/utils.js.map +1 -1
  157. package/dist/test/document-model/replay.test.js +19 -6
  158. package/dist/test/document-model/replay.test.js.map +1 -1
  159. package/dist/test/document-model/skip-operations.test.js +93 -95
  160. package/dist/test/document-model/skip-operations.test.js.map +1 -1
  161. package/dist/test/document-model/validation.test.js +16 -28
  162. package/dist/test/document-model/validation.test.js.map +1 -1
  163. package/dist/test/document-model/zip.test.js +19 -20
  164. package/dist/test/document-model/zip.test.js.map +1 -1
  165. package/dist/test/helpers.d.ts +9 -9
  166. package/dist/test/helpers.d.ts.map +1 -1
  167. package/dist/test/helpers.js +3 -5
  168. package/dist/test/helpers.js.map +1 -1
  169. package/dist/test/index.d.ts +4 -0
  170. package/dist/test/index.d.ts.map +1 -0
  171. package/dist/test/index.js +3 -0
  172. package/dist/test/index.js.map +1 -0
  173. package/dist/test/types.d.ts +6 -0
  174. package/dist/test/types.d.ts.map +1 -0
  175. package/dist/{src/document/schema → test}/types.js.map +1 -1
  176. package/dist/tsconfig.tsbuildinfo +1 -1
  177. package/dist/vitest.config.d.ts +1 -1
  178. package/dist/vitest.config.d.ts.map +1 -1
  179. package/dist/vitest.config.js +2 -8
  180. package/dist/vitest.config.js.map +1 -1
  181. package/package.json +25 -24
  182. package/dist/index.d.ts +0 -21
  183. package/dist/index.d.ts.map +0 -1
  184. package/dist/index.js +0 -15
  185. package/dist/index.js.map +0 -1
  186. package/dist/src/document/actions/creators.d.ts +0 -52
  187. package/dist/src/document/actions/creators.d.ts.map +0 -1
  188. package/dist/src/document/actions/creators.js +0 -57
  189. package/dist/src/document/actions/creators.js.map +0 -1
  190. package/dist/src/document/actions/operations.d.ts.map +0 -1
  191. package/dist/src/document/actions/operations.js.map +0 -1
  192. package/dist/src/document/actions/types.d.ts +0 -34
  193. package/dist/src/document/actions/types.d.ts.map +0 -1
  194. package/dist/src/document/actions/types.js +0 -7
  195. package/dist/src/document/actions/types.js.map +0 -1
  196. package/dist/src/document/object.d.ts +0 -125
  197. package/dist/src/document/object.d.ts.map +0 -1
  198. package/dist/src/document/object.js +0 -183
  199. package/dist/src/document/object.js.map +0 -1
  200. package/dist/src/document/ph-factories.d.ts +0 -37
  201. package/dist/src/document/ph-factories.d.ts.map +0 -1
  202. package/dist/src/document/ph-factories.js +0 -93
  203. package/dist/src/document/ph-factories.js.map +0 -1
  204. package/dist/src/document/ph-types.d.ts +0 -76
  205. package/dist/src/document/ph-types.d.ts.map +0 -1
  206. package/dist/src/document/ph-types.js +0 -2
  207. package/dist/src/document/ph-types.js.map +0 -1
  208. package/dist/src/document/reducer.d.ts.map +0 -1
  209. package/dist/src/document/reducer.js.map +0 -1
  210. package/dist/src/document/schema/types.d.ts +0 -188
  211. package/dist/src/document/schema/types.d.ts.map +0 -1
  212. package/dist/src/document/schema/types.js +0 -2
  213. package/dist/src/document/schema/zod.d.ts.map +0 -1
  214. package/dist/src/document/schema/zod.js.map +0 -1
  215. package/dist/src/document/signal.d.ts +0 -36
  216. package/dist/src/document/signal.d.ts.map +0 -1
  217. package/dist/src/document/signal.js +0 -2
  218. package/dist/src/document/signal.js.map +0 -1
  219. package/dist/src/document/types.d.ts +0 -314
  220. package/dist/src/document/types.d.ts.map +0 -1
  221. package/dist/src/document/types.js +0 -2
  222. package/dist/src/document/utils/base.d.ts +0 -87
  223. package/dist/src/document/utils/base.d.ts.map +0 -1
  224. package/dist/src/document/utils/base.js +0 -336
  225. package/dist/src/document/utils/base.js.map +0 -1
  226. package/dist/src/document/utils/browser.d.ts +0 -18
  227. package/dist/src/document/utils/browser.d.ts.map +0 -1
  228. package/dist/src/document/utils/browser.js +0 -54
  229. package/dist/src/document/utils/browser.js.map +0 -1
  230. package/dist/src/document/utils/crypto.d.ts +0 -12
  231. package/dist/src/document/utils/crypto.d.ts.map +0 -1
  232. package/dist/src/document/utils/crypto.js +0 -81
  233. package/dist/src/document/utils/crypto.js.map +0 -1
  234. package/dist/src/document/utils/document-helpers.d.ts.map +0 -1
  235. package/dist/src/document/utils/document-helpers.js.map +0 -1
  236. package/dist/src/document/utils/errors.d.ts +0 -10
  237. package/dist/src/document/utils/errors.d.ts.map +0 -1
  238. package/dist/src/document/utils/errors.js +0 -19
  239. package/dist/src/document/utils/errors.js.map +0 -1
  240. package/dist/src/document/utils/file.d.ts.map +0 -1
  241. package/dist/src/document/utils/file.js +0 -152
  242. package/dist/src/document/utils/file.js.map +0 -1
  243. package/dist/src/document/utils/header.d.ts.map +0 -1
  244. package/dist/src/document/utils/header.js.map +0 -1
  245. package/dist/src/document/utils/node.d.ts +0 -18
  246. package/dist/src/document/utils/node.d.ts.map +0 -1
  247. package/dist/src/document/utils/node.js +0 -62
  248. package/dist/src/document/utils/node.js.map +0 -1
  249. package/dist/src/document/utils/validation.d.ts +0 -3
  250. package/dist/src/document/utils/validation.d.ts.map +0 -1
  251. package/dist/src/document/utils/validation.js.map +0 -1
  252. package/dist/src/document-model/custom/reducers/header.d.ts +0 -3
  253. package/dist/src/document-model/custom/reducers/header.d.ts.map +0 -1
  254. package/dist/src/document-model/custom/reducers/header.js +0 -23
  255. package/dist/src/document-model/custom/reducers/header.js.map +0 -1
  256. package/dist/src/document-model/custom/reducers/module.d.ts +0 -3
  257. package/dist/src/document-model/custom/reducers/module.d.ts.map +0 -1
  258. package/dist/src/document-model/custom/reducers/module.js +0 -41
  259. package/dist/src/document-model/custom/reducers/module.js.map +0 -1
  260. package/dist/src/document-model/custom/reducers/operation-error.d.ts +0 -3
  261. package/dist/src/document-model/custom/reducers/operation-error.d.ts.map +0 -1
  262. package/dist/src/document-model/custom/reducers/operation-error.js +0 -94
  263. package/dist/src/document-model/custom/reducers/operation-error.js.map +0 -1
  264. package/dist/src/document-model/custom/reducers/operation-example.d.ts +0 -3
  265. package/dist/src/document-model/custom/reducers/operation-example.d.ts.map +0 -1
  266. package/dist/src/document-model/custom/reducers/operation-example.js +0 -53
  267. package/dist/src/document-model/custom/reducers/operation-example.js.map +0 -1
  268. package/dist/src/document-model/custom/reducers/operation.d.ts +0 -3
  269. package/dist/src/document-model/custom/reducers/operation.d.ts.map +0 -1
  270. package/dist/src/document-model/custom/reducers/operation.js +0 -125
  271. package/dist/src/document-model/custom/reducers/operation.js.map +0 -1
  272. package/dist/src/document-model/custom/reducers/state.d.ts +0 -3
  273. package/dist/src/document-model/custom/reducers/state.d.ts.map +0 -1
  274. package/dist/src/document-model/custom/reducers/state.js +0 -71
  275. package/dist/src/document-model/custom/reducers/state.js.map +0 -1
  276. package/dist/src/document-model/custom/reducers/versioning.d.ts +0 -8
  277. package/dist/src/document-model/custom/reducers/versioning.d.ts.map +0 -1
  278. package/dist/src/document-model/custom/reducers/versioning.js +0 -23
  279. package/dist/src/document-model/custom/reducers/versioning.js.map +0 -1
  280. package/dist/src/document-model/custom/utils.d.ts +0 -8
  281. package/dist/src/document-model/custom/utils.d.ts.map +0 -1
  282. package/dist/src/document-model/custom/utils.js.map +0 -1
  283. package/dist/src/document-model/gen/actions.d.ts +0 -16
  284. package/dist/src/document-model/gen/actions.d.ts.map +0 -1
  285. package/dist/src/document-model/gen/actions.js +0 -8
  286. package/dist/src/document-model/gen/actions.js.map +0 -1
  287. package/dist/src/document-model/gen/constants.d.ts +0 -7
  288. package/dist/src/document-model/gen/constants.d.ts.map +0 -1
  289. package/dist/src/document-model/gen/constants.js +0 -34
  290. package/dist/src/document-model/gen/constants.js.map +0 -1
  291. package/dist/src/document-model/gen/creators.d.ts +0 -8
  292. package/dist/src/document-model/gen/creators.d.ts.map +0 -1
  293. package/dist/src/document-model/gen/creators.js +0 -8
  294. package/dist/src/document-model/gen/creators.js.map +0 -1
  295. package/dist/src/document-model/gen/document-model.d.ts +0 -3
  296. package/dist/src/document-model/gen/document-model.d.ts.map +0 -1
  297. package/dist/src/document-model/gen/document-model.js.map +0 -1
  298. package/dist/src/document-model/gen/header/actions.d.ts +0 -28
  299. package/dist/src/document-model/gen/header/actions.d.ts.map +0 -1
  300. package/dist/src/document-model/gen/header/actions.js +0 -2
  301. package/dist/src/document-model/gen/header/actions.js.map +0 -1
  302. package/dist/src/document-model/gen/header/creators.d.ts +0 -9
  303. package/dist/src/document-model/gen/header/creators.d.ts.map +0 -1
  304. package/dist/src/document-model/gen/header/creators.js +0 -9
  305. package/dist/src/document-model/gen/header/creators.js.map +0 -1
  306. package/dist/src/document-model/gen/header/object.d.ts +0 -13
  307. package/dist/src/document-model/gen/header/object.d.ts.map +0 -1
  308. package/dist/src/document-model/gen/header/object.js +0 -23
  309. package/dist/src/document-model/gen/header/object.js.map +0 -1
  310. package/dist/src/document-model/gen/header/operations.d.ts +0 -11
  311. package/dist/src/document-model/gen/header/operations.d.ts.map +0 -1
  312. package/dist/src/document-model/gen/header/operations.js +0 -2
  313. package/dist/src/document-model/gen/header/operations.js.map +0 -1
  314. package/dist/src/document-model/gen/module/actions.d.ts +0 -24
  315. package/dist/src/document-model/gen/module/actions.d.ts.map +0 -1
  316. package/dist/src/document-model/gen/module/actions.js +0 -2
  317. package/dist/src/document-model/gen/module/actions.js.map +0 -1
  318. package/dist/src/document-model/gen/module/creators.d.ts +0 -8
  319. package/dist/src/document-model/gen/module/creators.d.ts.map +0 -1
  320. package/dist/src/document-model/gen/module/creators.js +0 -8
  321. package/dist/src/document-model/gen/module/creators.js.map +0 -1
  322. package/dist/src/document-model/gen/module/object.d.ts +0 -12
  323. package/dist/src/document-model/gen/module/object.d.ts.map +0 -1
  324. package/dist/src/document-model/gen/module/object.js +0 -20
  325. package/dist/src/document-model/gen/module/object.js.map +0 -1
  326. package/dist/src/document-model/gen/module/operations.d.ts +0 -10
  327. package/dist/src/document-model/gen/module/operations.d.ts.map +0 -1
  328. package/dist/src/document-model/gen/module/operations.js +0 -2
  329. package/dist/src/document-model/gen/module/operations.js.map +0 -1
  330. package/dist/src/document-model/gen/object.d.ts +0 -28
  331. package/dist/src/document-model/gen/object.d.ts.map +0 -1
  332. package/dist/src/document-model/gen/object.js +0 -46
  333. package/dist/src/document-model/gen/object.js.map +0 -1
  334. package/dist/src/document-model/gen/operation/actions.d.ts +0 -44
  335. package/dist/src/document-model/gen/operation/actions.d.ts.map +0 -1
  336. package/dist/src/document-model/gen/operation/actions.js +0 -2
  337. package/dist/src/document-model/gen/operation/actions.js.map +0 -1
  338. package/dist/src/document-model/gen/operation/creators.d.ts +0 -13
  339. package/dist/src/document-model/gen/operation/creators.d.ts.map +0 -1
  340. package/dist/src/document-model/gen/operation/creators.js +0 -13
  341. package/dist/src/document-model/gen/operation/creators.js.map +0 -1
  342. package/dist/src/document-model/gen/operation/object.d.ts +0 -17
  343. package/dist/src/document-model/gen/operation/object.d.ts.map +0 -1
  344. package/dist/src/document-model/gen/operation/object.js +0 -35
  345. package/dist/src/document-model/gen/operation/object.js.map +0 -1
  346. package/dist/src/document-model/gen/operation/operations.d.ts +0 -15
  347. package/dist/src/document-model/gen/operation/operations.d.ts.map +0 -1
  348. package/dist/src/document-model/gen/operation/operations.js +0 -2
  349. package/dist/src/document-model/gen/operation/operations.js.map +0 -1
  350. package/dist/src/document-model/gen/operation-error/actions.d.ts +0 -32
  351. package/dist/src/document-model/gen/operation-error/actions.d.ts.map +0 -1
  352. package/dist/src/document-model/gen/operation-error/actions.js +0 -2
  353. package/dist/src/document-model/gen/operation-error/actions.js.map +0 -1
  354. package/dist/src/document-model/gen/operation-error/creators.d.ts +0 -10
  355. package/dist/src/document-model/gen/operation-error/creators.d.ts.map +0 -1
  356. package/dist/src/document-model/gen/operation-error/creators.js +0 -10
  357. package/dist/src/document-model/gen/operation-error/creators.js.map +0 -1
  358. package/dist/src/document-model/gen/operation-error/object.d.ts +0 -14
  359. package/dist/src/document-model/gen/operation-error/object.d.ts.map +0 -1
  360. package/dist/src/document-model/gen/operation-error/object.js +0 -26
  361. package/dist/src/document-model/gen/operation-error/object.js.map +0 -1
  362. package/dist/src/document-model/gen/operation-error/operations.d.ts +0 -12
  363. package/dist/src/document-model/gen/operation-error/operations.d.ts.map +0 -1
  364. package/dist/src/document-model/gen/operation-error/operations.js +0 -2
  365. package/dist/src/document-model/gen/operation-error/operations.js.map +0 -1
  366. package/dist/src/document-model/gen/operation-example/actions.d.ts +0 -20
  367. package/dist/src/document-model/gen/operation-example/actions.d.ts.map +0 -1
  368. package/dist/src/document-model/gen/operation-example/actions.js +0 -2
  369. package/dist/src/document-model/gen/operation-example/actions.js.map +0 -1
  370. package/dist/src/document-model/gen/operation-example/creators.d.ts +0 -7
  371. package/dist/src/document-model/gen/operation-example/creators.d.ts.map +0 -1
  372. package/dist/src/document-model/gen/operation-example/creators.js +0 -7
  373. package/dist/src/document-model/gen/operation-example/creators.js.map +0 -1
  374. package/dist/src/document-model/gen/operation-example/object.d.ts +0 -11
  375. package/dist/src/document-model/gen/operation-example/object.d.ts.map +0 -1
  376. package/dist/src/document-model/gen/operation-example/object.js +0 -17
  377. package/dist/src/document-model/gen/operation-example/object.js.map +0 -1
  378. package/dist/src/document-model/gen/operation-example/operations.d.ts +0 -9
  379. package/dist/src/document-model/gen/operation-example/operations.d.ts.map +0 -1
  380. package/dist/src/document-model/gen/operation-example/operations.js +0 -2
  381. package/dist/src/document-model/gen/operation-example/operations.js.map +0 -1
  382. package/dist/src/document-model/gen/ph-factories.d.ts +0 -27
  383. package/dist/src/document-model/gen/ph-factories.d.ts.map +0 -1
  384. package/dist/src/document-model/gen/ph-factories.js.map +0 -1
  385. package/dist/src/document-model/gen/reducer.d.ts +0 -5
  386. package/dist/src/document-model/gen/reducer.d.ts.map +0 -1
  387. package/dist/src/document-model/gen/reducer.js +0 -193
  388. package/dist/src/document-model/gen/reducer.js.map +0 -1
  389. package/dist/src/document-model/gen/schema/index.d.ts +0 -3
  390. package/dist/src/document-model/gen/schema/index.d.ts.map +0 -1
  391. package/dist/src/document-model/gen/schema/index.js +0 -3
  392. package/dist/src/document-model/gen/schema/index.js.map +0 -1
  393. package/dist/src/document-model/gen/schema/types.d.ts +0 -457
  394. package/dist/src/document-model/gen/schema/types.d.ts.map +0 -1
  395. package/dist/src/document-model/gen/schema/types.js.map +0 -1
  396. package/dist/src/document-model/gen/schema/zod.d.ts +0 -453
  397. package/dist/src/document-model/gen/schema/zod.d.ts.map +0 -1
  398. package/dist/src/document-model/gen/schema/zod.js.map +0 -1
  399. package/dist/src/document-model/gen/state/actions.d.ts +0 -28
  400. package/dist/src/document-model/gen/state/actions.d.ts.map +0 -1
  401. package/dist/src/document-model/gen/state/actions.js +0 -2
  402. package/dist/src/document-model/gen/state/actions.js.map +0 -1
  403. package/dist/src/document-model/gen/state/creators.d.ts +0 -9
  404. package/dist/src/document-model/gen/state/creators.d.ts.map +0 -1
  405. package/dist/src/document-model/gen/state/creators.js +0 -9
  406. package/dist/src/document-model/gen/state/creators.js.map +0 -1
  407. package/dist/src/document-model/gen/state/object.d.ts +0 -13
  408. package/dist/src/document-model/gen/state/object.d.ts.map +0 -1
  409. package/dist/src/document-model/gen/state/object.js +0 -23
  410. package/dist/src/document-model/gen/state/object.js.map +0 -1
  411. package/dist/src/document-model/gen/state/operations.d.ts +0 -11
  412. package/dist/src/document-model/gen/state/operations.d.ts.map +0 -1
  413. package/dist/src/document-model/gen/state/operations.js +0 -2
  414. package/dist/src/document-model/gen/state/operations.js.map +0 -1
  415. package/dist/src/document-model/gen/types.d.ts +0 -7
  416. package/dist/src/document-model/gen/types.d.ts.map +0 -1
  417. package/dist/src/document-model/gen/types.js.map +0 -1
  418. package/dist/src/document-model/gen/utils.d.ts +0 -10
  419. package/dist/src/document-model/gen/utils.d.ts.map +0 -1
  420. package/dist/src/document-model/gen/utils.js +0 -31
  421. package/dist/src/document-model/gen/utils.js.map +0 -1
  422. package/dist/src/document-model/gen/versioning/actions.d.ts +0 -24
  423. package/dist/src/document-model/gen/versioning/actions.d.ts.map +0 -1
  424. package/dist/src/document-model/gen/versioning/actions.js +0 -2
  425. package/dist/src/document-model/gen/versioning/actions.js.map +0 -1
  426. package/dist/src/document-model/gen/versioning/creators.d.ts +0 -8
  427. package/dist/src/document-model/gen/versioning/creators.d.ts.map +0 -1
  428. package/dist/src/document-model/gen/versioning/creators.js +0 -8
  429. package/dist/src/document-model/gen/versioning/creators.js.map +0 -1
  430. package/dist/src/document-model/gen/versioning/object.d.ts +0 -12
  431. package/dist/src/document-model/gen/versioning/object.d.ts.map +0 -1
  432. package/dist/src/document-model/gen/versioning/object.js +0 -20
  433. package/dist/src/document-model/gen/versioning/object.js.map +0 -1
  434. package/dist/src/document-model/gen/versioning/operations.d.ts +0 -10
  435. package/dist/src/document-model/gen/versioning/operations.d.ts.map +0 -1
  436. package/dist/src/document-model/gen/versioning/operations.js +0 -2
  437. package/dist/src/document-model/gen/versioning/operations.js.map +0 -1
  438. package/dist/test/document/object.test.d.ts +0 -2
  439. package/dist/test/document/object.test.d.ts.map +0 -1
  440. package/dist/test/document/object.test.js +0 -13
  441. package/dist/test/document/object.test.js.map +0 -1
  442. package/dist/test/document-model/object.test.d.ts +0 -2
  443. package/dist/test/document-model/object.test.d.ts.map +0 -1
  444. package/dist/test/document-model/object.test.js +0 -243
  445. package/dist/test/document-model/object.test.js.map +0 -1
  446. /package/dist/src/{document-model/gen/schema → core}/types.js +0 -0
  447. /package/dist/{src/document-model/gen → test}/types.js +0 -0
@@ -0,0 +1,588 @@
1
+ import { createReducer, isDocumentAction } from "document-model/core";
2
+ import { AddChangeLogItemInputSchema, AddModuleInputSchema, AddOperationErrorInputSchema, AddOperationExampleInputSchema, AddOperationInputSchema, AddStateExampleInputSchema, DeleteChangeLogItemInputSchema, DeleteModuleInputSchema, DeleteOperationErrorInputSchema, DeleteOperationExampleInputSchema, DeleteOperationInputSchema, DeleteStateExampleInputSchema, MoveOperationInputSchema, ReorderChangeLogItemsInputSchema, ReorderModuleOperationsInputSchema, ReorderModulesInputSchema, ReorderOperationErrorsInputSchema, ReorderOperationExamplesInputSchema, ReorderStateExamplesInputSchema, SetAuthorNameInputSchema, SetAuthorWebsiteInputSchema, SetInitialStateInputSchema, SetModelDescriptionInputSchema, SetModelExtensionInputSchema, SetModelIdInputSchema, SetModelNameInputSchema, SetModuleDescriptionInputSchema, SetModuleNameInputSchema, SetOperationDescriptionInputSchema, SetOperationErrorCodeInputSchema, SetOperationErrorDescriptionInputSchema, SetOperationErrorNameInputSchema, SetOperationErrorTemplateInputSchema, SetOperationNameInputSchema, SetOperationReducerInputSchema, SetOperationSchemaInputSchema, SetOperationScopeInputSchema, SetOperationTemplateInputSchema, SetStateSchemaInputSchema, UpdateChangeLogItemInputSchema, UpdateOperationExampleInputSchema, UpdateStateExampleInputSchema, } from "./schemas.js";
3
+ function sorter(order) {
4
+ const mapping = {};
5
+ order.forEach((key, index) => (mapping[key] = index));
6
+ return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);
7
+ }
8
+ export const documentModelHeaderReducer = {
9
+ setModelNameOperation(state, action) {
10
+ state.name = action.input.name;
11
+ },
12
+ setModelIdOperation(state, action) {
13
+ state.id = action.input.id;
14
+ },
15
+ setModelExtensionOperation(state, action) {
16
+ state.extension = action.input.extension;
17
+ },
18
+ setModelDescriptionOperation(state, action) {
19
+ state.description = action.input.description;
20
+ },
21
+ setAuthorNameOperation(state, action) {
22
+ state.author = state.author || { name: "", website: null };
23
+ state.author.name = action.input.authorName;
24
+ },
25
+ setAuthorWebsiteOperation(state, action) {
26
+ state.author = state.author || { name: "", website: null };
27
+ state.author.website = action.input.authorWebsite;
28
+ },
29
+ };
30
+ export const documentModelModuleReducer = {
31
+ addModuleOperation(state, action) {
32
+ const latestSpec = state.specifications[state.specifications.length - 1];
33
+ latestSpec.modules.push({
34
+ id: action.input.id,
35
+ name: action.input.name,
36
+ description: action.input.description || "",
37
+ operations: [],
38
+ });
39
+ },
40
+ setModuleNameOperation(state, action) {
41
+ const latestSpec = state.specifications[state.specifications.length - 1];
42
+ for (let i = 0; i < latestSpec.modules.length; i++) {
43
+ if (latestSpec.modules[i].id === action.input.id) {
44
+ latestSpec.modules[i].name = action.input.name || "";
45
+ }
46
+ }
47
+ },
48
+ setModuleDescriptionOperation(state, action) {
49
+ const latestSpec = state.specifications[state.specifications.length - 1];
50
+ for (let i = 0; i < latestSpec.modules.length; i++) {
51
+ if (latestSpec.modules[i].id === action.input.id) {
52
+ latestSpec.modules[i].description = action.input.description || "";
53
+ }
54
+ }
55
+ },
56
+ deleteModuleOperation(state, action) {
57
+ const latestSpec = state.specifications[state.specifications.length - 1];
58
+ latestSpec.modules = latestSpec.modules.filter((m) => m.id != action.input.id);
59
+ },
60
+ reorderModulesOperation(state, action) {
61
+ const latestSpec = state.specifications[state.specifications.length - 1];
62
+ latestSpec.modules.sort(sorter(action.input.order));
63
+ },
64
+ };
65
+ export const documentModelOperationErrorReducer = {
66
+ addOperationErrorOperation(state, action) {
67
+ const latestSpec = state.specifications[state.specifications.length - 1];
68
+ for (let i = 0; i < latestSpec.modules.length; i++) {
69
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
70
+ if (latestSpec.modules[i].operations[j].id == action.input.operationId) {
71
+ latestSpec.modules[i].operations[j].errors.push({
72
+ id: action.input.id,
73
+ name: action.input.errorName || "",
74
+ code: action.input.errorCode || "",
75
+ description: action.input.errorDescription || "",
76
+ template: action.input.errorTemplate || "",
77
+ });
78
+ }
79
+ }
80
+ }
81
+ },
82
+ setOperationErrorCodeOperation(state, action) {
83
+ const latestSpec = state.specifications[state.specifications.length - 1];
84
+ for (let i = 0; i < latestSpec.modules.length; i++) {
85
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
86
+ for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {
87
+ if (latestSpec.modules[i].operations[j].errors[k].id ==
88
+ action.input.id) {
89
+ latestSpec.modules[i].operations[j].errors[k].code =
90
+ action.input.errorCode || "";
91
+ }
92
+ }
93
+ }
94
+ }
95
+ },
96
+ setOperationErrorNameOperation(state, action) {
97
+ const latestSpec = state.specifications[state.specifications.length - 1];
98
+ for (let i = 0; i < latestSpec.modules.length; i++) {
99
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
100
+ for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {
101
+ if (latestSpec.modules[i].operations[j].errors[k].id ==
102
+ action.input.id) {
103
+ latestSpec.modules[i].operations[j].errors[k].name =
104
+ action.input.errorName || "";
105
+ }
106
+ }
107
+ }
108
+ }
109
+ },
110
+ setOperationErrorDescriptionOperation(state, action) {
111
+ const latestSpec = state.specifications[state.specifications.length - 1];
112
+ for (let i = 0; i < latestSpec.modules.length; i++) {
113
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
114
+ for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {
115
+ if (latestSpec.modules[i].operations[j].errors[k].id ==
116
+ action.input.id) {
117
+ latestSpec.modules[i].operations[j].errors[k].description =
118
+ action.input.errorDescription || "";
119
+ }
120
+ }
121
+ }
122
+ }
123
+ },
124
+ setOperationErrorTemplateOperation(state, action) {
125
+ const latestSpec = state.specifications[state.specifications.length - 1];
126
+ for (let i = 0; i < latestSpec.modules.length; i++) {
127
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
128
+ for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {
129
+ if (latestSpec.modules[i].operations[j].errors[k].id ==
130
+ action.input.id) {
131
+ latestSpec.modules[i].operations[j].errors[k].template =
132
+ action.input.errorTemplate || "";
133
+ }
134
+ }
135
+ }
136
+ }
137
+ },
138
+ deleteOperationErrorOperation(state, action) {
139
+ const latestSpec = state.specifications[state.specifications.length - 1];
140
+ for (let i = 0; i < latestSpec.modules.length; i++) {
141
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
142
+ latestSpec.modules[i].operations[j].errors = latestSpec.modules[i].operations[j].errors.filter((e) => e.id != action.input.id);
143
+ }
144
+ }
145
+ },
146
+ reorderOperationErrorsOperation(state, action) {
147
+ const latestSpec = state.specifications[state.specifications.length - 1];
148
+ for (let i = 0; i < latestSpec.modules.length; i++) {
149
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
150
+ if (latestSpec.modules[i].operations[j].id == action.input.operationId) {
151
+ latestSpec.modules[i].operations[j].errors.sort(sorter(action.input.order));
152
+ }
153
+ }
154
+ }
155
+ },
156
+ };
157
+ export const documentModelOperationExampleReducer = {
158
+ addOperationExampleOperation(state, action) {
159
+ const latestSpec = state.specifications[state.specifications.length - 1];
160
+ for (let i = 0; i < latestSpec.modules.length; i++) {
161
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
162
+ if (latestSpec.modules[i].operations[j].id == action.input.operationId) {
163
+ latestSpec.modules[i].operations[j].examples.push({
164
+ id: action.input.id,
165
+ value: action.input.example,
166
+ });
167
+ }
168
+ }
169
+ }
170
+ },
171
+ updateOperationExampleOperation(state, action) {
172
+ const latestSpec = state.specifications[state.specifications.length - 1];
173
+ for (let i = 0; i < latestSpec.modules.length; i++) {
174
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
175
+ for (let k = 0; k < latestSpec.modules[i].operations[j].examples.length; k++) {
176
+ if (latestSpec.modules[i].operations[j].examples[k].id ==
177
+ action.input.id) {
178
+ latestSpec.modules[i].operations[j].examples[k].value =
179
+ action.input.example;
180
+ }
181
+ }
182
+ }
183
+ }
184
+ },
185
+ deleteOperationExampleOperation(state, action) {
186
+ const latestSpec = state.specifications[state.specifications.length - 1];
187
+ for (let i = 0; i < latestSpec.modules.length; i++) {
188
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
189
+ latestSpec.modules[i].operations[j].examples = latestSpec.modules[i].operations[j].examples.filter((e) => e.id != action.input.id);
190
+ }
191
+ }
192
+ },
193
+ reorderOperationExamplesOperation(state, action) {
194
+ const latestSpec = state.specifications[state.specifications.length - 1];
195
+ for (let i = 0; i < latestSpec.modules.length; i++) {
196
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
197
+ if (latestSpec.modules[i].operations[j].id == action.input.operationId) {
198
+ latestSpec.modules[i].operations[j].examples.sort(sorter(action.input.order));
199
+ }
200
+ }
201
+ }
202
+ },
203
+ };
204
+ export const documentModelOperationReducer = {
205
+ addOperationOperation(state, action) {
206
+ const latestSpec = state.specifications[state.specifications.length - 1];
207
+ for (let i = 0; i < latestSpec.modules.length; i++) {
208
+ if (latestSpec.modules[i].id == action.input.moduleId) {
209
+ latestSpec.modules[i].operations.push({
210
+ id: action.input.id,
211
+ name: action.input.name,
212
+ description: action.input.description || "",
213
+ schema: action.input.schema || "",
214
+ template: action.input.template || action.input.description || "",
215
+ reducer: action.input.reducer || "",
216
+ errors: [],
217
+ examples: [],
218
+ scope: action.input.scope || "global",
219
+ });
220
+ }
221
+ }
222
+ },
223
+ setOperationNameOperation(state, action) {
224
+ const latestSpec = state.specifications[state.specifications.length - 1];
225
+ for (let i = 0; i < latestSpec.modules.length; i++) {
226
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
227
+ if (latestSpec.modules[i].operations[j].id == action.input.id) {
228
+ latestSpec.modules[i].operations[j].name = action.input.name || "";
229
+ }
230
+ }
231
+ }
232
+ },
233
+ setOperationScopeOperation(state, action) {
234
+ const latestSpec = state.specifications[state.specifications.length - 1];
235
+ for (let i = 0; i < latestSpec.modules.length; i++) {
236
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
237
+ if (latestSpec.modules[i].operations[j].id == action.input.id) {
238
+ latestSpec.modules[i].operations[j].scope =
239
+ action.input.scope || "global";
240
+ }
241
+ }
242
+ }
243
+ },
244
+ setOperationSchemaOperation(state, action) {
245
+ const latestSpec = state.specifications[state.specifications.length - 1];
246
+ for (let i = 0; i < latestSpec.modules.length; i++) {
247
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
248
+ if (latestSpec.modules[i].operations[j].id == action.input.id) {
249
+ latestSpec.modules[i].operations[j].schema =
250
+ action.input.schema || "";
251
+ }
252
+ }
253
+ }
254
+ },
255
+ setOperationDescriptionOperation(state, action) {
256
+ const latestSpec = state.specifications[state.specifications.length - 1];
257
+ for (let i = 0; i < latestSpec.modules.length; i++) {
258
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
259
+ if (latestSpec.modules[i].operations[j].id == action.input.id) {
260
+ latestSpec.modules[i].operations[j].description =
261
+ action.input.description || "";
262
+ }
263
+ }
264
+ }
265
+ },
266
+ setOperationTemplateOperation(state, action) {
267
+ const latestSpec = state.specifications[state.specifications.length - 1];
268
+ for (let i = 0; i < latestSpec.modules.length; i++) {
269
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
270
+ if (latestSpec.modules[i].operations[j].id == action.input.id) {
271
+ latestSpec.modules[i].operations[j].template =
272
+ action.input.template || "";
273
+ }
274
+ }
275
+ }
276
+ },
277
+ setOperationReducerOperation(state, action) {
278
+ const latestSpec = state.specifications[state.specifications.length - 1];
279
+ for (let i = 0; i < latestSpec.modules.length; i++) {
280
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
281
+ if (latestSpec.modules[i].operations[j].id == action.input.id) {
282
+ latestSpec.modules[i].operations[j].reducer =
283
+ action.input.reducer || "";
284
+ }
285
+ }
286
+ }
287
+ },
288
+ moveOperationOperation(state, action) {
289
+ const moveOperations = [];
290
+ const latestSpec = state.specifications[state.specifications.length - 1];
291
+ // Filter and collect
292
+ for (let i = 0; i < latestSpec.modules.length; i++) {
293
+ latestSpec.modules[i].operations = latestSpec.modules[i].operations.filter((operation) => {
294
+ if (operation.id == action.input.operationId) {
295
+ moveOperations.push(operation);
296
+ return false;
297
+ }
298
+ return true;
299
+ });
300
+ }
301
+ // Inject in target modules
302
+ for (let i = 0; i < latestSpec.modules.length; i++) {
303
+ if (latestSpec.modules[i].id == action.input.newModuleId) {
304
+ latestSpec.modules[i].operations.push(...moveOperations);
305
+ }
306
+ }
307
+ },
308
+ deleteOperationOperation(state, action) {
309
+ const latestSpec = state.specifications[state.specifications.length - 1];
310
+ for (let i = 0; i < latestSpec.modules.length; i++) {
311
+ latestSpec.modules[i].operations = latestSpec.modules[i].operations.filter((operation) => operation.id != action.input.id);
312
+ }
313
+ },
314
+ reorderModuleOperationsOperation(state, action) {
315
+ const latestSpec = state.specifications[state.specifications.length - 1];
316
+ for (let i = 0; i < latestSpec.modules.length; i++) {
317
+ if (latestSpec.modules[i].id == action.input.moduleId) {
318
+ latestSpec.modules[i].operations.sort(sorter(action.input.order));
319
+ }
320
+ }
321
+ },
322
+ };
323
+ export const documentModelStateSchemaReducer = {
324
+ setStateSchemaOperation(state, action) {
325
+ const latestSpec = state.specifications[state.specifications.length - 1];
326
+ if (Object.keys(latestSpec.state).includes(action.input.scope)) {
327
+ latestSpec.state[action.input.scope].schema =
328
+ action.input.schema;
329
+ }
330
+ else {
331
+ throw new Error(`Invalid scope: ${action.input.scope}`);
332
+ }
333
+ },
334
+ setInitialStateOperation(state, action) {
335
+ const latestSpec = state.specifications[state.specifications.length - 1];
336
+ if (Object.keys(latestSpec.state).includes(action.input.scope)) {
337
+ latestSpec.state[action.input.scope].initialValue =
338
+ action.input.initialValue;
339
+ }
340
+ else {
341
+ throw new Error(`Invalid scope: ${action.input.scope}`);
342
+ }
343
+ },
344
+ addStateExampleOperation(state, action) {
345
+ const latestSpec = state.specifications[state.specifications.length - 1];
346
+ if (Object.keys(latestSpec.state).includes(action.input.scope)) {
347
+ latestSpec.state[action.input.scope].examples.push({
348
+ id: action.input.id,
349
+ value: action.input.example,
350
+ });
351
+ }
352
+ else {
353
+ throw new Error(`Invalid scope: ${action.input.scope}`);
354
+ }
355
+ },
356
+ updateStateExampleOperation(state, action) {
357
+ const latestSpec = state.specifications[state.specifications.length - 1];
358
+ if (!Object.keys(latestSpec.state).includes(action.input.scope)) {
359
+ throw new Error(`Invalid scope: ${action.input.scope}`);
360
+ }
361
+ const examples = latestSpec.state[action.input.scope].examples;
362
+ for (let i = 0; i < examples.length; i++) {
363
+ if (examples[i].id == action.input.id) {
364
+ examples[i].value = action.input.newExample;
365
+ }
366
+ }
367
+ },
368
+ deleteStateExampleOperation(state, action) {
369
+ const latestSpec = state.specifications[state.specifications.length - 1];
370
+ if (Object.keys(latestSpec.state).includes(action.input.scope)) {
371
+ latestSpec.state[action.input.scope].examples =
372
+ latestSpec.state[action.input.scope].examples.filter((e) => e.id != action.input.id);
373
+ }
374
+ else {
375
+ throw new Error(`Invalid scope: ${action.input.scope}`);
376
+ }
377
+ },
378
+ reorderStateExamplesOperation(state, action) {
379
+ const latestSpec = state.specifications[state.specifications.length - 1];
380
+ if (Object.keys(latestSpec.state).includes(action.input.scope)) {
381
+ latestSpec.state[action.input.scope].examples.sort(sorter(action.input.order));
382
+ }
383
+ else {
384
+ throw new Error(`Invalid scope: ${action.input.scope}`);
385
+ }
386
+ },
387
+ };
388
+ export const documentModelVersioningReducer = {
389
+ addChangeLogItemOperation(state, action) {
390
+ throw new Error('Reducer "addChangeLogItemOperation" not yet implemented');
391
+ },
392
+ updateChangeLogItemOperation(state, action) {
393
+ throw new Error('Reducer "updateChangeLogItemOperation" not yet implemented');
394
+ },
395
+ deleteChangeLogItemOperation(state, action) {
396
+ throw new Error('Reducer "deleteChangeLogItemOperation" not yet implemented');
397
+ },
398
+ reorderChangeLogItemsOperation(state, action) {
399
+ throw new Error('Reducer "reorderChangeLogItemsOperation" not yet implemented');
400
+ },
401
+ releaseNewVersionOperation(state, action) {
402
+ throw new Error('Reducer "releaseNewVersionOperation" not yet implemented');
403
+ },
404
+ };
405
+ export const documentModelStateReducer = (state, action) => {
406
+ if (isDocumentAction(action)) {
407
+ return state;
408
+ }
409
+ switch (action.type) {
410
+ case "SET_MODEL_NAME":
411
+ SetModelNameInputSchema().parse(action.input);
412
+ documentModelHeaderReducer.setModelNameOperation(state.global, action);
413
+ break;
414
+ case "SET_MODEL_ID":
415
+ SetModelIdInputSchema().parse(action.input);
416
+ documentModelHeaderReducer.setModelIdOperation(state.global, action);
417
+ break;
418
+ case "SET_MODEL_EXTENSION":
419
+ SetModelExtensionInputSchema().parse(action.input);
420
+ documentModelHeaderReducer.setModelExtensionOperation(state.global, action);
421
+ break;
422
+ case "SET_MODEL_DESCRIPTION":
423
+ SetModelDescriptionInputSchema().parse(action.input);
424
+ documentModelHeaderReducer.setModelDescriptionOperation(state.global, action);
425
+ break;
426
+ case "SET_AUTHOR_NAME":
427
+ SetAuthorNameInputSchema().parse(action.input);
428
+ documentModelHeaderReducer.setAuthorNameOperation(state.global, action);
429
+ break;
430
+ case "SET_AUTHOR_WEBSITE":
431
+ SetAuthorWebsiteInputSchema().parse(action.input);
432
+ documentModelHeaderReducer.setAuthorWebsiteOperation(state.global, action);
433
+ break;
434
+ case "ADD_CHANGE_LOG_ITEM":
435
+ AddChangeLogItemInputSchema().parse(action.input);
436
+ documentModelVersioningReducer.addChangeLogItemOperation(state.global, action);
437
+ break;
438
+ case "UPDATE_CHANGE_LOG_ITEM":
439
+ UpdateChangeLogItemInputSchema().parse(action.input);
440
+ documentModelVersioningReducer.updateChangeLogItemOperation(state.global, action);
441
+ break;
442
+ case "DELETE_CHANGE_LOG_ITEM":
443
+ DeleteChangeLogItemInputSchema().parse(action.input);
444
+ documentModelVersioningReducer.deleteChangeLogItemOperation(state.global, action);
445
+ break;
446
+ case "REORDER_CHANGE_LOG_ITEMS":
447
+ ReorderChangeLogItemsInputSchema().parse(action.input);
448
+ documentModelVersioningReducer.reorderChangeLogItemsOperation(state.global, action);
449
+ break;
450
+ case "RELEASE_NEW_VERSION":
451
+ if (Object.keys(action.input).length > 0)
452
+ throw new Error("Expected empty input for action RELEASE_NEW_VERSION");
453
+ documentModelVersioningReducer.releaseNewVersionOperation(state.global, action);
454
+ break;
455
+ case "ADD_MODULE":
456
+ AddModuleInputSchema().parse(action.input);
457
+ documentModelModuleReducer.addModuleOperation(state.global, action);
458
+ break;
459
+ case "SET_MODULE_NAME":
460
+ SetModuleNameInputSchema().parse(action.input);
461
+ documentModelModuleReducer.setModuleNameOperation(state.global, action);
462
+ break;
463
+ case "SET_MODULE_DESCRIPTION":
464
+ SetModuleDescriptionInputSchema().parse(action.input);
465
+ documentModelModuleReducer.setModuleDescriptionOperation(state.global, action);
466
+ break;
467
+ case "DELETE_MODULE":
468
+ DeleteModuleInputSchema().parse(action.input);
469
+ documentModelModuleReducer.deleteModuleOperation(state.global, action);
470
+ break;
471
+ case "REORDER_MODULES":
472
+ ReorderModulesInputSchema().parse(action.input);
473
+ documentModelModuleReducer.reorderModulesOperation(state.global, action);
474
+ break;
475
+ case "ADD_OPERATION_ERROR":
476
+ AddOperationErrorInputSchema().parse(action.input);
477
+ documentModelOperationErrorReducer.addOperationErrorOperation(state.global, action);
478
+ break;
479
+ case "SET_OPERATION_ERROR_CODE":
480
+ SetOperationErrorCodeInputSchema().parse(action.input);
481
+ documentModelOperationErrorReducer.setOperationErrorCodeOperation(state.global, action);
482
+ break;
483
+ case "SET_OPERATION_ERROR_NAME":
484
+ SetOperationErrorNameInputSchema().parse(action.input);
485
+ documentModelOperationErrorReducer.setOperationErrorNameOperation(state.global, action);
486
+ break;
487
+ case "SET_OPERATION_ERROR_DESCRIPTION":
488
+ SetOperationErrorDescriptionInputSchema().parse(action.input);
489
+ documentModelOperationErrorReducer.setOperationErrorDescriptionOperation(state.global, action);
490
+ break;
491
+ case "SET_OPERATION_ERROR_TEMPLATE":
492
+ SetOperationErrorTemplateInputSchema().parse(action.input);
493
+ documentModelOperationErrorReducer.setOperationErrorTemplateOperation(state.global, action);
494
+ break;
495
+ case "DELETE_OPERATION_ERROR":
496
+ DeleteOperationErrorInputSchema().parse(action.input);
497
+ documentModelOperationErrorReducer.deleteOperationErrorOperation(state.global, action);
498
+ break;
499
+ case "REORDER_OPERATION_ERRORS":
500
+ ReorderOperationErrorsInputSchema().parse(action.input);
501
+ documentModelOperationErrorReducer.reorderOperationErrorsOperation(state.global, action);
502
+ break;
503
+ case "ADD_OPERATION_EXAMPLE":
504
+ AddOperationExampleInputSchema().parse(action.input);
505
+ documentModelOperationExampleReducer.addOperationExampleOperation(state.global, action);
506
+ break;
507
+ case "UPDATE_OPERATION_EXAMPLE":
508
+ UpdateOperationExampleInputSchema().parse(action.input);
509
+ documentModelOperationExampleReducer.updateOperationExampleOperation(state.global, action);
510
+ break;
511
+ case "DELETE_OPERATION_EXAMPLE":
512
+ DeleteOperationExampleInputSchema().parse(action.input);
513
+ documentModelOperationExampleReducer.deleteOperationExampleOperation(state.global, action);
514
+ break;
515
+ case "REORDER_OPERATION_EXAMPLES":
516
+ ReorderOperationExamplesInputSchema().parse(action.input);
517
+ documentModelOperationExampleReducer.reorderOperationExamplesOperation(state.global, action);
518
+ break;
519
+ case "ADD_OPERATION":
520
+ AddOperationInputSchema().parse(action.input);
521
+ documentModelOperationReducer.addOperationOperation(state.global, action);
522
+ break;
523
+ case "SET_OPERATION_NAME":
524
+ SetOperationNameInputSchema().parse(action.input);
525
+ documentModelOperationReducer.setOperationNameOperation(state.global, action);
526
+ break;
527
+ case "SET_OPERATION_SCOPE":
528
+ SetOperationScopeInputSchema().parse(action.input);
529
+ documentModelOperationReducer.setOperationScopeOperation(state.global, action);
530
+ break;
531
+ case "SET_OPERATION_SCHEMA":
532
+ SetOperationSchemaInputSchema().parse(action.input);
533
+ documentModelOperationReducer.setOperationSchemaOperation(state.global, action);
534
+ break;
535
+ case "SET_OPERATION_DESCRIPTION":
536
+ SetOperationDescriptionInputSchema().parse(action.input);
537
+ documentModelOperationReducer.setOperationDescriptionOperation(state.global, action);
538
+ break;
539
+ case "SET_OPERATION_TEMPLATE":
540
+ SetOperationTemplateInputSchema().parse(action.input);
541
+ documentModelOperationReducer.setOperationTemplateOperation(state.global, action);
542
+ break;
543
+ case "SET_OPERATION_REDUCER":
544
+ SetOperationReducerInputSchema().parse(action.input);
545
+ documentModelOperationReducer.setOperationReducerOperation(state.global, action);
546
+ break;
547
+ case "MOVE_OPERATION":
548
+ MoveOperationInputSchema().parse(action.input);
549
+ documentModelOperationReducer.moveOperationOperation(state.global, action);
550
+ break;
551
+ case "DELETE_OPERATION":
552
+ DeleteOperationInputSchema().parse(action.input);
553
+ documentModelOperationReducer.deleteOperationOperation(state.global, action);
554
+ break;
555
+ case "REORDER_MODULE_OPERATIONS":
556
+ ReorderModuleOperationsInputSchema().parse(action.input);
557
+ documentModelOperationReducer.reorderModuleOperationsOperation(state.global, action);
558
+ break;
559
+ case "SET_STATE_SCHEMA":
560
+ SetStateSchemaInputSchema().parse(action.input);
561
+ documentModelStateSchemaReducer.setStateSchemaOperation(state.global, action);
562
+ break;
563
+ case "SET_INITIAL_STATE":
564
+ SetInitialStateInputSchema().parse(action.input);
565
+ documentModelStateSchemaReducer.setInitialStateOperation(state.global, action);
566
+ break;
567
+ case "ADD_STATE_EXAMPLE":
568
+ AddStateExampleInputSchema().parse(action.input);
569
+ documentModelStateSchemaReducer.addStateExampleOperation(state.global, action);
570
+ break;
571
+ case "UPDATE_STATE_EXAMPLE":
572
+ UpdateStateExampleInputSchema().parse(action.input);
573
+ documentModelStateSchemaReducer.updateStateExampleOperation(state.global, action);
574
+ break;
575
+ case "DELETE_STATE_EXAMPLE":
576
+ DeleteStateExampleInputSchema().parse(action.input);
577
+ documentModelStateSchemaReducer.deleteStateExampleOperation(state.global, action);
578
+ break;
579
+ case "REORDER_STATE_EXAMPLES":
580
+ ReorderStateExamplesInputSchema().parse(action.input);
581
+ documentModelStateSchemaReducer.reorderStateExamplesOperation(state.global, action);
582
+ break;
583
+ default:
584
+ return state;
585
+ }
586
+ };
587
+ export const documentModelReducer = createReducer(documentModelStateReducer);
588
+ //# sourceMappingURL=reducers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducers.js","sourceRoot":"","sources":["../../../src/document-model/reducers.ts"],"names":[],"mappings":"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"}