document-model 1.0.54 → 1.1.0-debug.1

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 (402) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/browser/cjs/_virtual/_commonjsHelpers.js +7 -0
  3. package/dist/browser/cjs/_virtual/_commonjsHelpers.js.map +1 -0
  4. package/dist/browser/cjs/_virtual/browser.js +35 -0
  5. package/dist/browser/cjs/_virtual/browser.js.map +1 -0
  6. package/dist/browser/cjs/_virtual/index.js +5 -0
  7. package/dist/browser/cjs/_virtual/index.js.map +1 -0
  8. package/dist/browser/cjs/_virtual/index2.js +5 -0
  9. package/dist/browser/cjs/_virtual/index2.js.map +1 -0
  10. package/dist/browser/cjs/_virtual/index3.js +5 -0
  11. package/dist/browser/cjs/_virtual/index3.js.map +1 -0
  12. package/dist/browser/cjs/_virtual/index4.js +5 -0
  13. package/dist/browser/cjs/_virtual/index4.js.map +1 -0
  14. package/dist/browser/cjs/_virtual/index5.js +5 -0
  15. package/dist/browser/cjs/_virtual/index5.js.map +1 -0
  16. package/dist/browser/cjs/_virtual/inherits_browser.js +5 -0
  17. package/dist/browser/cjs/_virtual/inherits_browser.js.map +1 -0
  18. package/dist/browser/cjs/document-model.js +41 -1
  19. package/dist/browser/cjs/document-model.js.map +1 -0
  20. package/dist/browser/cjs/document.js +15 -1
  21. package/dist/browser/cjs/document.js.map +1 -0
  22. package/dist/browser/cjs/index.js +14 -1
  23. package/dist/browser/cjs/index.js.map +1 -0
  24. package/dist/browser/cjs/src/document/actions/creators.js +46 -0
  25. package/dist/browser/cjs/src/document/actions/creators.js.map +1 -0
  26. package/dist/browser/cjs/src/document/actions/index.js +173 -0
  27. package/dist/browser/cjs/src/document/actions/index.js.map +1 -0
  28. package/dist/browser/cjs/src/document/actions/types.js +15 -0
  29. package/dist/browser/cjs/src/document/actions/types.js.map +1 -0
  30. package/dist/browser/cjs/src/document/object.js +190 -0
  31. package/dist/browser/cjs/src/document/object.js.map +1 -0
  32. package/dist/browser/cjs/src/document/reducer.js +192 -0
  33. package/dist/browser/cjs/src/document/reducer.js.map +1 -0
  34. package/dist/browser/cjs/src/document/schema/zod.js +137 -0
  35. package/dist/browser/cjs/src/document/schema/zod.js.map +1 -0
  36. package/dist/browser/cjs/src/document/utils/base.js +220 -0
  37. package/dist/browser/cjs/src/document/utils/base.js.map +1 -0
  38. package/dist/browser/cjs/src/document/utils/document-helpers.js +324 -0
  39. package/dist/browser/cjs/src/document/utils/document-helpers.js.map +1 -0
  40. package/dist/browser/cjs/src/document/utils/file.js +135 -0
  41. package/dist/browser/cjs/src/document/utils/file.js.map +1 -0
  42. package/dist/browser/cjs/src/document/utils/index.js +33 -0
  43. package/dist/browser/cjs/src/document/utils/index.js.map +1 -0
  44. package/dist/browser/cjs/src/document/utils/validation.js +24 -0
  45. package/dist/browser/cjs/src/document/utils/validation.js.map +1 -0
  46. package/dist/browser/cjs/src/document-model/custom/reducers/header.js +26 -0
  47. package/dist/browser/cjs/src/document-model/custom/reducers/header.js.map +1 -0
  48. package/dist/browser/cjs/src/document-model/custom/reducers/module.js +46 -0
  49. package/dist/browser/cjs/src/document-model/custom/reducers/module.js.map +1 -0
  50. package/dist/browser/cjs/src/document-model/custom/reducers/operation-error.js +95 -0
  51. package/dist/browser/cjs/src/document-model/custom/reducers/operation-error.js.map +1 -0
  52. package/dist/browser/cjs/src/document-model/custom/reducers/operation-example.js +58 -0
  53. package/dist/browser/cjs/src/document-model/custom/reducers/operation-example.js.map +1 -0
  54. package/dist/browser/cjs/src/document-model/custom/reducers/operation.js +123 -0
  55. package/dist/browser/cjs/src/document-model/custom/reducers/operation.js.map +1 -0
  56. package/dist/browser/cjs/src/document-model/custom/reducers/state.js +66 -0
  57. package/dist/browser/cjs/src/document-model/custom/reducers/state.js.map +1 -0
  58. package/dist/browser/cjs/src/document-model/custom/reducers/versioning.js +31 -0
  59. package/dist/browser/cjs/src/document-model/custom/reducers/versioning.js.map +1 -0
  60. package/dist/browser/cjs/src/document-model/custom/utils.js +117 -0
  61. package/dist/browser/cjs/src/document-model/custom/utils.js.map +1 -0
  62. package/dist/browser/cjs/src/document-model/gen/creators.js +53 -0
  63. package/dist/browser/cjs/src/document-model/gen/creators.js.map +1 -0
  64. package/dist/browser/cjs/src/document-model/gen/document-model.js +545 -0
  65. package/dist/browser/cjs/src/document-model/gen/document-model.js.map +1 -0
  66. package/dist/browser/cjs/src/document-model/gen/header/creators.js +39 -0
  67. package/dist/browser/cjs/src/document-model/gen/header/creators.js.map +1 -0
  68. package/dist/browser/cjs/src/document-model/gen/header/object.js +26 -0
  69. package/dist/browser/cjs/src/document-model/gen/header/object.js.map +1 -0
  70. package/dist/browser/cjs/src/document-model/gen/module/creators.js +34 -0
  71. package/dist/browser/cjs/src/document-model/gen/module/creators.js.map +1 -0
  72. package/dist/browser/cjs/src/document-model/gen/module/object.js +23 -0
  73. package/dist/browser/cjs/src/document-model/gen/module/object.js.map +1 -0
  74. package/dist/browser/cjs/src/document-model/gen/object.js +47 -0
  75. package/dist/browser/cjs/src/document-model/gen/object.js.map +1 -0
  76. package/dist/browser/cjs/src/document-model/gen/operation/creators.js +59 -0
  77. package/dist/browser/cjs/src/document-model/gen/operation/creators.js.map +1 -0
  78. package/dist/browser/cjs/src/document-model/gen/operation/object.js +38 -0
  79. package/dist/browser/cjs/src/document-model/gen/operation/object.js.map +1 -0
  80. package/dist/browser/cjs/src/document-model/gen/operation-error/creators.js +44 -0
  81. package/dist/browser/cjs/src/document-model/gen/operation-error/creators.js.map +1 -0
  82. package/dist/browser/cjs/src/document-model/gen/operation-error/object.js +29 -0
  83. package/dist/browser/cjs/src/document-model/gen/operation-error/object.js.map +1 -0
  84. package/dist/browser/cjs/src/document-model/gen/operation-example/creators.js +29 -0
  85. package/dist/browser/cjs/src/document-model/gen/operation-example/creators.js.map +1 -0
  86. package/dist/browser/cjs/src/document-model/gen/operation-example/object.js +20 -0
  87. package/dist/browser/cjs/src/document-model/gen/operation-example/object.js.map +1 -0
  88. package/dist/browser/cjs/src/document-model/gen/reducer.js +255 -0
  89. package/dist/browser/cjs/src/document-model/gen/reducer.js.map +1 -0
  90. package/dist/browser/cjs/src/document-model/gen/schema/zod.js +449 -0
  91. package/dist/browser/cjs/src/document-model/gen/schema/zod.js.map +1 -0
  92. package/dist/browser/cjs/src/document-model/gen/state/creators.js +39 -0
  93. package/dist/browser/cjs/src/document-model/gen/state/creators.js.map +1 -0
  94. package/dist/browser/cjs/src/document-model/gen/state/object.js +26 -0
  95. package/dist/browser/cjs/src/document-model/gen/state/object.js.map +1 -0
  96. package/dist/browser/cjs/src/document-model/gen/utils.js +75 -0
  97. package/dist/browser/cjs/src/document-model/gen/utils.js.map +1 -0
  98. package/dist/browser/cjs/src/document-model/gen/versioning/creators.js +33 -0
  99. package/dist/browser/cjs/src/document-model/gen/versioning/creators.js.map +1 -0
  100. package/dist/browser/cjs/src/document-model/gen/versioning/object.js +23 -0
  101. package/dist/browser/cjs/src/document-model/gen/versioning/object.js.map +1 -0
  102. package/dist/browser/es/_virtual/_commonjsHelpers.js +7 -0
  103. package/dist/browser/es/_virtual/_commonjsHelpers.js.map +1 -0
  104. package/dist/browser/es/_virtual/browser.js +35 -0
  105. package/dist/browser/es/_virtual/browser.js.map +1 -0
  106. package/dist/browser/es/_virtual/index.js +5 -0
  107. package/dist/browser/es/_virtual/index.js.map +1 -0
  108. package/dist/browser/es/_virtual/index2.js +5 -0
  109. package/dist/browser/es/_virtual/index2.js.map +1 -0
  110. package/dist/browser/es/_virtual/index3.js +5 -0
  111. package/dist/browser/es/_virtual/index3.js.map +1 -0
  112. package/dist/browser/es/_virtual/index4.js +5 -0
  113. package/dist/browser/es/_virtual/index4.js.map +1 -0
  114. package/dist/browser/es/_virtual/index5.js +5 -0
  115. package/dist/browser/es/_virtual/index5.js.map +1 -0
  116. package/dist/browser/es/_virtual/inherits_browser.js +5 -0
  117. package/dist/browser/es/_virtual/inherits_browser.js.map +1 -0
  118. package/dist/browser/es/document-model.js +38 -16
  119. package/dist/browser/es/document-model.js.map +1 -0
  120. package/dist/browser/es/document.js +13 -12
  121. package/dist/browser/es/document.js.map +1 -0
  122. package/dist/browser/es/index.js +12 -14
  123. package/dist/browser/es/index.js.map +1 -0
  124. package/dist/browser/es/src/document/actions/creators.js +46 -0
  125. package/dist/browser/es/src/document/actions/creators.js.map +1 -0
  126. package/dist/browser/es/src/document/actions/index.js +174 -0
  127. package/dist/browser/es/src/document/actions/index.js.map +1 -0
  128. package/dist/browser/es/src/document/actions/types.js +15 -0
  129. package/dist/browser/es/src/document/actions/types.js.map +1 -0
  130. package/dist/browser/es/src/document/object.js +190 -0
  131. package/dist/browser/es/src/document/object.js.map +1 -0
  132. package/dist/browser/es/src/document/reducer.js +192 -0
  133. package/dist/browser/es/src/document/reducer.js.map +1 -0
  134. package/dist/browser/es/src/document/schema/zod.js +137 -0
  135. package/dist/browser/es/src/document/schema/zod.js.map +1 -0
  136. package/dist/browser/es/src/document/utils/base.js +220 -0
  137. package/dist/browser/es/src/document/utils/base.js.map +1 -0
  138. package/dist/browser/es/src/document/utils/document-helpers.js +324 -0
  139. package/dist/browser/es/src/document/utils/document-helpers.js.map +1 -0
  140. package/dist/browser/es/src/document/utils/file.js +135 -0
  141. package/dist/browser/es/src/document/utils/file.js.map +1 -0
  142. package/dist/browser/es/src/document/utils/index.js +33 -0
  143. package/dist/browser/es/src/document/utils/index.js.map +1 -0
  144. package/dist/browser/es/src/document/utils/validation.js +24 -0
  145. package/dist/browser/es/src/document/utils/validation.js.map +1 -0
  146. package/dist/browser/es/src/document-model/custom/reducers/header.js +26 -0
  147. package/dist/browser/es/src/document-model/custom/reducers/header.js.map +1 -0
  148. package/dist/browser/es/src/document-model/custom/reducers/module.js +46 -0
  149. package/dist/browser/es/src/document-model/custom/reducers/module.js.map +1 -0
  150. package/dist/browser/es/src/document-model/custom/reducers/operation-error.js +95 -0
  151. package/dist/browser/es/src/document-model/custom/reducers/operation-error.js.map +1 -0
  152. package/dist/browser/es/src/document-model/custom/reducers/operation-example.js +58 -0
  153. package/dist/browser/es/src/document-model/custom/reducers/operation-example.js.map +1 -0
  154. package/dist/browser/es/src/document-model/custom/reducers/operation.js +123 -0
  155. package/dist/browser/es/src/document-model/custom/reducers/operation.js.map +1 -0
  156. package/dist/browser/es/src/document-model/custom/reducers/state.js +66 -0
  157. package/dist/browser/es/src/document-model/custom/reducers/state.js.map +1 -0
  158. package/dist/browser/es/src/document-model/custom/reducers/versioning.js +31 -0
  159. package/dist/browser/es/src/document-model/custom/reducers/versioning.js.map +1 -0
  160. package/dist/browser/es/src/document-model/custom/utils.js +117 -0
  161. package/dist/browser/es/src/document-model/custom/utils.js.map +1 -0
  162. package/dist/browser/es/src/document-model/gen/creators.js +53 -0
  163. package/dist/browser/es/src/document-model/gen/creators.js.map +1 -0
  164. package/dist/browser/es/src/document-model/gen/document-model.js +545 -0
  165. package/dist/browser/es/src/document-model/gen/document-model.js.map +1 -0
  166. package/dist/browser/es/src/document-model/gen/header/creators.js +39 -0
  167. package/dist/browser/es/src/document-model/gen/header/creators.js.map +1 -0
  168. package/dist/browser/es/src/document-model/gen/header/object.js +26 -0
  169. package/dist/browser/es/src/document-model/gen/header/object.js.map +1 -0
  170. package/dist/browser/es/src/document-model/gen/module/creators.js +34 -0
  171. package/dist/browser/es/src/document-model/gen/module/creators.js.map +1 -0
  172. package/dist/browser/es/src/document-model/gen/module/object.js +23 -0
  173. package/dist/browser/es/src/document-model/gen/module/object.js.map +1 -0
  174. package/dist/browser/es/src/document-model/gen/object.js +47 -0
  175. package/dist/browser/es/src/document-model/gen/object.js.map +1 -0
  176. package/dist/browser/es/src/document-model/gen/operation/creators.js +59 -0
  177. package/dist/browser/es/src/document-model/gen/operation/creators.js.map +1 -0
  178. package/dist/browser/es/src/document-model/gen/operation/object.js +38 -0
  179. package/dist/browser/es/src/document-model/gen/operation/object.js.map +1 -0
  180. package/dist/browser/es/src/document-model/gen/operation-error/creators.js +44 -0
  181. package/dist/browser/es/src/document-model/gen/operation-error/creators.js.map +1 -0
  182. package/dist/browser/es/src/document-model/gen/operation-error/object.js +29 -0
  183. package/dist/browser/es/src/document-model/gen/operation-error/object.js.map +1 -0
  184. package/dist/browser/es/src/document-model/gen/operation-example/creators.js +29 -0
  185. package/dist/browser/es/src/document-model/gen/operation-example/creators.js.map +1 -0
  186. package/dist/browser/es/src/document-model/gen/operation-example/object.js +20 -0
  187. package/dist/browser/es/src/document-model/gen/operation-example/object.js.map +1 -0
  188. package/dist/browser/es/src/document-model/gen/reducer.js +255 -0
  189. package/dist/browser/es/src/document-model/gen/reducer.js.map +1 -0
  190. package/dist/browser/es/src/document-model/gen/schema/zod.js +449 -0
  191. package/dist/browser/es/src/document-model/gen/schema/zod.js.map +1 -0
  192. package/dist/browser/es/src/document-model/gen/state/creators.js +39 -0
  193. package/dist/browser/es/src/document-model/gen/state/creators.js.map +1 -0
  194. package/dist/browser/es/src/document-model/gen/state/object.js +26 -0
  195. package/dist/browser/es/src/document-model/gen/state/object.js.map +1 -0
  196. package/dist/browser/es/src/document-model/gen/utils.js +75 -0
  197. package/dist/browser/es/src/document-model/gen/utils.js.map +1 -0
  198. package/dist/browser/es/src/document-model/gen/versioning/creators.js +33 -0
  199. package/dist/browser/es/src/document-model/gen/versioning/creators.js.map +1 -0
  200. package/dist/browser/es/src/document-model/gen/versioning/object.js +23 -0
  201. package/dist/browser/es/src/document-model/gen/versioning/object.js.map +1 -0
  202. package/dist/browser/src/document/reducer.d.ts +13 -2
  203. package/dist/browser/src/document/utils/base.d.ts +1 -1
  204. package/dist/browser/src/document/utils/document-helpers.d.ts +53 -0
  205. package/dist/browser/src/document/utils/index.d.ts +1 -0
  206. package/dist/node/cjs/_virtual/_commonjsHelpers.js +7 -0
  207. package/dist/node/cjs/_virtual/_commonjsHelpers.js.map +1 -0
  208. package/dist/node/cjs/_virtual/index.js +5 -0
  209. package/dist/node/cjs/_virtual/index.js.map +1 -0
  210. package/dist/node/cjs/document-model.js +43 -1
  211. package/dist/node/cjs/document-model.js.map +1 -0
  212. package/dist/node/cjs/document.js +15 -1
  213. package/dist/node/cjs/document.js.map +1 -0
  214. package/dist/node/cjs/index.js +14 -1
  215. package/dist/node/cjs/index.js.map +1 -0
  216. package/dist/node/cjs/src/document/actions/creators.js +46 -0
  217. package/dist/node/cjs/src/document/actions/creators.js.map +1 -0
  218. package/dist/node/cjs/src/document/actions/index.js +173 -0
  219. package/dist/node/cjs/src/document/actions/index.js.map +1 -0
  220. package/dist/node/cjs/src/document/actions/types.js +15 -0
  221. package/dist/node/cjs/src/document/actions/types.js.map +1 -0
  222. package/dist/node/cjs/src/document/object.js +190 -0
  223. package/dist/node/cjs/src/document/object.js.map +1 -0
  224. package/dist/node/cjs/src/document/reducer.js +194 -0
  225. package/dist/node/cjs/src/document/reducer.js.map +1 -0
  226. package/dist/node/cjs/src/document/schema/zod.js +137 -0
  227. package/dist/node/cjs/src/document/schema/zod.js.map +1 -0
  228. package/dist/node/cjs/src/document/utils/base.js +220 -0
  229. package/dist/node/cjs/src/document/utils/base.js.map +1 -0
  230. package/dist/node/cjs/src/document/utils/document-helpers.js +324 -0
  231. package/dist/node/cjs/src/document/utils/document-helpers.js.map +1 -0
  232. package/dist/node/cjs/src/document/utils/file.js +136 -0
  233. package/dist/node/cjs/src/document/utils/file.js.map +1 -0
  234. package/dist/node/cjs/src/document/utils/index.js +33 -0
  235. package/dist/node/cjs/src/document/utils/index.js.map +1 -0
  236. package/dist/node/cjs/src/document/utils/node.js +54 -0
  237. package/dist/node/cjs/src/document/utils/node.js.map +1 -0
  238. package/dist/node/cjs/src/document/utils/validation.js +24 -0
  239. package/dist/node/cjs/src/document/utils/validation.js.map +1 -0
  240. package/dist/node/cjs/src/document-model/custom/reducers/header.js +26 -0
  241. package/dist/node/cjs/src/document-model/custom/reducers/header.js.map +1 -0
  242. package/dist/node/cjs/src/document-model/custom/reducers/module.js +46 -0
  243. package/dist/node/cjs/src/document-model/custom/reducers/module.js.map +1 -0
  244. package/dist/node/cjs/src/document-model/custom/reducers/operation-error.js +95 -0
  245. package/dist/node/cjs/src/document-model/custom/reducers/operation-error.js.map +1 -0
  246. package/dist/node/cjs/src/document-model/custom/reducers/operation-example.js +58 -0
  247. package/dist/node/cjs/src/document-model/custom/reducers/operation-example.js.map +1 -0
  248. package/dist/node/cjs/src/document-model/custom/reducers/operation.js +123 -0
  249. package/dist/node/cjs/src/document-model/custom/reducers/operation.js.map +1 -0
  250. package/dist/node/cjs/src/document-model/custom/reducers/state.js +66 -0
  251. package/dist/node/cjs/src/document-model/custom/reducers/state.js.map +1 -0
  252. package/dist/node/cjs/src/document-model/custom/reducers/versioning.js +31 -0
  253. package/dist/node/cjs/src/document-model/custom/reducers/versioning.js.map +1 -0
  254. package/dist/node/cjs/src/document-model/custom/utils.js +117 -0
  255. package/dist/node/cjs/src/document-model/custom/utils.js.map +1 -0
  256. package/dist/node/cjs/src/document-model/gen/creators.js +53 -0
  257. package/dist/node/cjs/src/document-model/gen/creators.js.map +1 -0
  258. package/dist/node/cjs/src/document-model/gen/document-model.js +545 -0
  259. package/dist/node/cjs/src/document-model/gen/document-model.js.map +1 -0
  260. package/dist/node/cjs/src/document-model/gen/header/creators.js +41 -0
  261. package/dist/node/cjs/src/document-model/gen/header/creators.js.map +1 -0
  262. package/dist/node/cjs/src/document-model/gen/header/object.js +26 -0
  263. package/dist/node/cjs/src/document-model/gen/header/object.js.map +1 -0
  264. package/dist/node/cjs/src/document-model/gen/module/creators.js +36 -0
  265. package/dist/node/cjs/src/document-model/gen/module/creators.js.map +1 -0
  266. package/dist/node/cjs/src/document-model/gen/module/object.js +23 -0
  267. package/dist/node/cjs/src/document-model/gen/module/object.js.map +1 -0
  268. package/dist/node/cjs/src/document-model/gen/object.js +47 -0
  269. package/dist/node/cjs/src/document-model/gen/object.js.map +1 -0
  270. package/dist/node/cjs/src/document-model/gen/operation/creators.js +61 -0
  271. package/dist/node/cjs/src/document-model/gen/operation/creators.js.map +1 -0
  272. package/dist/node/cjs/src/document-model/gen/operation/object.js +38 -0
  273. package/dist/node/cjs/src/document-model/gen/operation/object.js.map +1 -0
  274. package/dist/node/cjs/src/document-model/gen/operation-error/creators.js +46 -0
  275. package/dist/node/cjs/src/document-model/gen/operation-error/creators.js.map +1 -0
  276. package/dist/node/cjs/src/document-model/gen/operation-error/object.js +29 -0
  277. package/dist/node/cjs/src/document-model/gen/operation-error/object.js.map +1 -0
  278. package/dist/node/cjs/src/document-model/gen/operation-example/creators.js +31 -0
  279. package/dist/node/cjs/src/document-model/gen/operation-example/creators.js.map +1 -0
  280. package/dist/node/cjs/src/document-model/gen/operation-example/object.js +20 -0
  281. package/dist/node/cjs/src/document-model/gen/operation-example/object.js.map +1 -0
  282. package/dist/node/cjs/src/document-model/gen/reducer.js +257 -0
  283. package/dist/node/cjs/src/document-model/gen/reducer.js.map +1 -0
  284. package/dist/node/cjs/src/document-model/gen/schema/zod.js +449 -0
  285. package/dist/node/cjs/src/document-model/gen/schema/zod.js.map +1 -0
  286. package/dist/node/cjs/src/document-model/gen/state/creators.js +41 -0
  287. package/dist/node/cjs/src/document-model/gen/state/creators.js.map +1 -0
  288. package/dist/node/cjs/src/document-model/gen/state/object.js +26 -0
  289. package/dist/node/cjs/src/document-model/gen/state/object.js.map +1 -0
  290. package/dist/node/cjs/src/document-model/gen/utils.js +75 -0
  291. package/dist/node/cjs/src/document-model/gen/utils.js.map +1 -0
  292. package/dist/node/cjs/src/document-model/gen/versioning/creators.js +35 -0
  293. package/dist/node/cjs/src/document-model/gen/versioning/creators.js.map +1 -0
  294. package/dist/node/cjs/src/document-model/gen/versioning/object.js +23 -0
  295. package/dist/node/cjs/src/document-model/gen/versioning/object.js.map +1 -0
  296. package/dist/node/es/_virtual/_commonjsHelpers.js +7 -0
  297. package/dist/node/es/_virtual/_commonjsHelpers.js.map +1 -0
  298. package/dist/node/es/_virtual/index.js +5 -0
  299. package/dist/node/es/_virtual/index.js.map +1 -0
  300. package/dist/node/es/document-model.js +37 -17
  301. package/dist/node/es/document-model.js.map +1 -0
  302. package/dist/node/es/document.js +13 -16
  303. package/dist/node/es/document.js.map +1 -0
  304. package/dist/node/es/index.js +12 -18
  305. package/dist/node/es/index.js.map +1 -0
  306. package/dist/node/es/src/document/actions/creators.js +46 -0
  307. package/dist/node/es/src/document/actions/creators.js.map +1 -0
  308. package/dist/node/es/src/document/actions/index.js +174 -0
  309. package/dist/node/es/src/document/actions/index.js.map +1 -0
  310. package/dist/node/es/src/document/actions/types.js +15 -0
  311. package/dist/node/es/src/document/actions/types.js.map +1 -0
  312. package/dist/node/es/src/document/object.js +190 -0
  313. package/dist/node/es/src/document/object.js.map +1 -0
  314. package/dist/node/es/src/document/reducer.js +194 -0
  315. package/dist/node/es/src/document/reducer.js.map +1 -0
  316. package/dist/node/es/src/document/schema/zod.js +137 -0
  317. package/dist/node/es/src/document/schema/zod.js.map +1 -0
  318. package/dist/node/es/src/document/utils/base.js +220 -0
  319. package/dist/node/es/src/document/utils/base.js.map +1 -0
  320. package/dist/node/es/src/document/utils/document-helpers.js +324 -0
  321. package/dist/node/es/src/document/utils/document-helpers.js.map +1 -0
  322. package/dist/node/es/src/document/utils/file.js +136 -0
  323. package/dist/node/es/src/document/utils/file.js.map +1 -0
  324. package/dist/node/es/src/document/utils/index.js +33 -0
  325. package/dist/node/es/src/document/utils/index.js.map +1 -0
  326. package/dist/node/es/src/document/utils/node.js +54 -0
  327. package/dist/node/es/src/document/utils/node.js.map +1 -0
  328. package/dist/node/es/src/document/utils/validation.js +24 -0
  329. package/dist/node/es/src/document/utils/validation.js.map +1 -0
  330. package/dist/node/es/src/document-model/custom/reducers/header.js +26 -0
  331. package/dist/node/es/src/document-model/custom/reducers/header.js.map +1 -0
  332. package/dist/node/es/src/document-model/custom/reducers/module.js +46 -0
  333. package/dist/node/es/src/document-model/custom/reducers/module.js.map +1 -0
  334. package/dist/node/es/src/document-model/custom/reducers/operation-error.js +95 -0
  335. package/dist/node/es/src/document-model/custom/reducers/operation-error.js.map +1 -0
  336. package/dist/node/es/src/document-model/custom/reducers/operation-example.js +58 -0
  337. package/dist/node/es/src/document-model/custom/reducers/operation-example.js.map +1 -0
  338. package/dist/node/es/src/document-model/custom/reducers/operation.js +123 -0
  339. package/dist/node/es/src/document-model/custom/reducers/operation.js.map +1 -0
  340. package/dist/node/es/src/document-model/custom/reducers/state.js +66 -0
  341. package/dist/node/es/src/document-model/custom/reducers/state.js.map +1 -0
  342. package/dist/node/es/src/document-model/custom/reducers/versioning.js +31 -0
  343. package/dist/node/es/src/document-model/custom/reducers/versioning.js.map +1 -0
  344. package/dist/node/es/src/document-model/custom/utils.js +117 -0
  345. package/dist/node/es/src/document-model/custom/utils.js.map +1 -0
  346. package/dist/node/es/src/document-model/gen/creators.js +53 -0
  347. package/dist/node/es/src/document-model/gen/creators.js.map +1 -0
  348. package/dist/node/es/src/document-model/gen/document-model.js +545 -0
  349. package/dist/node/es/src/document-model/gen/document-model.js.map +1 -0
  350. package/dist/node/es/src/document-model/gen/header/creators.js +41 -0
  351. package/dist/node/es/src/document-model/gen/header/creators.js.map +1 -0
  352. package/dist/node/es/src/document-model/gen/header/object.js +26 -0
  353. package/dist/node/es/src/document-model/gen/header/object.js.map +1 -0
  354. package/dist/node/es/src/document-model/gen/module/creators.js +36 -0
  355. package/dist/node/es/src/document-model/gen/module/creators.js.map +1 -0
  356. package/dist/node/es/src/document-model/gen/module/object.js +23 -0
  357. package/dist/node/es/src/document-model/gen/module/object.js.map +1 -0
  358. package/dist/node/es/src/document-model/gen/object.js +47 -0
  359. package/dist/node/es/src/document-model/gen/object.js.map +1 -0
  360. package/dist/node/es/src/document-model/gen/operation/creators.js +61 -0
  361. package/dist/node/es/src/document-model/gen/operation/creators.js.map +1 -0
  362. package/dist/node/es/src/document-model/gen/operation/object.js +38 -0
  363. package/dist/node/es/src/document-model/gen/operation/object.js.map +1 -0
  364. package/dist/node/es/src/document-model/gen/operation-error/creators.js +46 -0
  365. package/dist/node/es/src/document-model/gen/operation-error/creators.js.map +1 -0
  366. package/dist/node/es/src/document-model/gen/operation-error/object.js +29 -0
  367. package/dist/node/es/src/document-model/gen/operation-error/object.js.map +1 -0
  368. package/dist/node/es/src/document-model/gen/operation-example/creators.js +31 -0
  369. package/dist/node/es/src/document-model/gen/operation-example/creators.js.map +1 -0
  370. package/dist/node/es/src/document-model/gen/operation-example/object.js +20 -0
  371. package/dist/node/es/src/document-model/gen/operation-example/object.js.map +1 -0
  372. package/dist/node/es/src/document-model/gen/reducer.js +257 -0
  373. package/dist/node/es/src/document-model/gen/reducer.js.map +1 -0
  374. package/dist/node/es/src/document-model/gen/schema/zod.js +449 -0
  375. package/dist/node/es/src/document-model/gen/schema/zod.js.map +1 -0
  376. package/dist/node/es/src/document-model/gen/state/creators.js +41 -0
  377. package/dist/node/es/src/document-model/gen/state/creators.js.map +1 -0
  378. package/dist/node/es/src/document-model/gen/state/object.js +26 -0
  379. package/dist/node/es/src/document-model/gen/state/object.js.map +1 -0
  380. package/dist/node/es/src/document-model/gen/utils.js +75 -0
  381. package/dist/node/es/src/document-model/gen/utils.js.map +1 -0
  382. package/dist/node/es/src/document-model/gen/versioning/creators.js +35 -0
  383. package/dist/node/es/src/document-model/gen/versioning/creators.js.map +1 -0
  384. package/dist/node/es/src/document-model/gen/versioning/object.js +23 -0
  385. package/dist/node/es/src/document-model/gen/versioning/object.js.map +1 -0
  386. package/dist/node/src/document/reducer.d.ts +13 -2
  387. package/dist/node/src/document/utils/base.d.ts +1 -1
  388. package/dist/node/src/document/utils/document-helpers.d.ts +53 -0
  389. package/dist/node/src/document/utils/index.d.ts +1 -0
  390. package/package.json +7 -2
  391. package/dist/browser/cjs/internal/index-BVWyYyNE.js +0 -1
  392. package/dist/browser/cjs/internal/index-CnVGNZ9_.js +0 -22
  393. package/dist/browser/cjs/internal/object-5l5_pTNL.js +0 -25
  394. package/dist/browser/es/internal/index-CF0d1_Cg.js +0 -42
  395. package/dist/browser/es/internal/index-aS_vqu4O.js +0 -2104
  396. package/dist/browser/es/internal/object-BdaEhPk1.js +0 -2507
  397. package/dist/node/cjs/internal/index-B9gc2lPN.js +0 -1
  398. package/dist/node/cjs/internal/index-JtuONOcD.js +0 -22
  399. package/dist/node/cjs/internal/object-D6wRzEDN.js +0 -20
  400. package/dist/node/es/internal/index-BclkoIYP.js +0 -2108
  401. package/dist/node/es/internal/index-EY0PPZnJ.js +0 -42
  402. package/dist/node/es/internal/object-BxC3xMqY.js +0 -1405
@@ -0,0 +1,136 @@
1
+ import JSZip from "jszip";
2
+ import mime from "../../../node_modules/.pnpm/mime@4.0.1/node_modules/mime/dist/src/index_lite.js";
3
+ import { writeFile, readFile, fetchFile, hash, getFile } from "./node.js";
4
+ import { replayDocument } from "./base.js";
5
+ import { validateOperations } from "./validation.js";
6
+ const createZip = async (document) => {
7
+ const zip = new JSZip();
8
+ const { name, revision, documentType, created, lastModified } = document;
9
+ const header = {
10
+ name,
11
+ revision,
12
+ documentType,
13
+ created,
14
+ lastModified
15
+ };
16
+ zip.file("header.json", JSON.stringify(header, null, 2));
17
+ zip.file(
18
+ "state.json",
19
+ JSON.stringify(document.initialState || {}, null, 2)
20
+ );
21
+ zip.file("operations.json", JSON.stringify(document.operations, null, 2));
22
+ const attachments = Object.keys(document.attachments);
23
+ attachments.forEach((key) => {
24
+ const { data, ...attributes } = document.attachments[key];
25
+ zip.file(key, data, {
26
+ base64: true,
27
+ createFolders: true,
28
+ comment: JSON.stringify(attributes)
29
+ });
30
+ });
31
+ return zip;
32
+ };
33
+ const saveToFile = async (document, path, extension, name) => {
34
+ const zip = await createZip(document);
35
+ const file = await zip.generateAsync({
36
+ type: "uint8array",
37
+ streamFiles: true
38
+ });
39
+ const fileName = name ?? document.name;
40
+ const fileExtension = `.${extension}.zip`;
41
+ return writeFile(
42
+ path,
43
+ fileName.endsWith(fileExtension) ? fileName : `${fileName}${fileExtension}`,
44
+ file
45
+ );
46
+ };
47
+ const saveToFileHandle = async (document, input) => {
48
+ const zip = await createZip(document);
49
+ const blob = await zip.generateAsync({ type: "blob" });
50
+ const writable = await input.createWritable();
51
+ await writable.write(blob);
52
+ await writable.close();
53
+ };
54
+ const loadFromFile = async (path, reducer, options) => {
55
+ const file = readFile(path);
56
+ return loadFromInput(file, reducer, options);
57
+ };
58
+ const loadFromInput = async (input, reducer, options) => {
59
+ const zip = new JSZip();
60
+ await zip.loadAsync(input);
61
+ return loadFromZip(zip, reducer, options);
62
+ };
63
+ async function loadFromZip(zip, reducer, options) {
64
+ const initialStateZip = zip.file("state.json");
65
+ if (!initialStateZip) {
66
+ throw new Error("Initial state not found");
67
+ }
68
+ const initialStateStr = await initialStateZip.async("string");
69
+ const initialState = JSON.parse(initialStateStr);
70
+ const headerZip = zip.file("header.json");
71
+ let header = void 0;
72
+ if (headerZip) {
73
+ header = JSON.parse(await headerZip.async("string"));
74
+ }
75
+ const operationsZip = zip.file("operations.json");
76
+ if (!operationsZip) {
77
+ throw new Error("Operations history not found");
78
+ }
79
+ const operations = JSON.parse(
80
+ await operationsZip.async("string")
81
+ );
82
+ const operationsError = validateOperations(operations);
83
+ if (operationsError.length) {
84
+ const errorMessages = operationsError.map((err) => err.message);
85
+ throw new Error(errorMessages.join("\n"));
86
+ }
87
+ let result = replayDocument(
88
+ initialState,
89
+ operations,
90
+ reducer,
91
+ void 0,
92
+ header,
93
+ {},
94
+ options
95
+ );
96
+ if (header) {
97
+ result = {
98
+ ...result,
99
+ ...header
100
+ };
101
+ }
102
+ return result;
103
+ }
104
+ function getFileAttributes(file) {
105
+ const extension = file.replace(/^.*\./, "") || void 0;
106
+ const fileName = file.replace(/^.*[/\\]/, "") || void 0;
107
+ return { extension, fileName };
108
+ }
109
+ async function getRemoteFile(url) {
110
+ const { buffer, mimeType = "application/octet-stream" } = await fetchFile(url);
111
+ const attributes = getFileAttributes(url);
112
+ const data = buffer.toString("base64");
113
+ return {
114
+ data,
115
+ hash: hash(data),
116
+ mimeType,
117
+ ...attributes
118
+ };
119
+ }
120
+ async function getLocalFile(path) {
121
+ const buffer = await getFile(path);
122
+ const mimeType = mime.getType(path) || "application/octet-stream";
123
+ const attributes = getFileAttributes(path);
124
+ const data = buffer.toString("base64");
125
+ return { data, hash: hash(data), mimeType, ...attributes };
126
+ }
127
+ export {
128
+ createZip,
129
+ getLocalFile,
130
+ getRemoteFile,
131
+ loadFromFile,
132
+ loadFromInput,
133
+ saveToFile,
134
+ saveToFileHandle
135
+ };
136
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sources":["../../../../../../src/document/utils/file.ts"],"sourcesContent":["import JSZip from 'jszip';\nimport mime from 'mime/lite';\nimport type {\n Action,\n Attachment,\n AttachmentInput,\n Document,\n DocumentHeader,\n DocumentOperations,\n ExtendedState,\n Reducer,\n} from '../types';\nimport { fetchFile, getFile, hash, readFile, writeFile } from './node';\nimport { replayDocument, ReplayDocumentOptions } from './base';\nimport { validateOperations } from './validation';\n\nexport type FileInput = string | number[] | Uint8Array | ArrayBuffer | Blob;\n\nexport const createZip = async (document: Document) => {\n // create zip file\n const zip = new JSZip();\n\n const { name, revision, documentType, created, lastModified } = document;\n const header: DocumentHeader = {\n name,\n revision,\n documentType,\n created,\n lastModified,\n };\n zip.file('header.json', JSON.stringify(header, null, 2));\n zip.file(\n 'state.json',\n JSON.stringify(document.initialState || {}, null, 2),\n );\n zip.file('operations.json', JSON.stringify(document.operations, null, 2));\n\n const attachments = Object.keys(document.attachments);\n attachments.forEach(key => {\n const { data, ...attributes } = document.attachments[key];\n zip.file(key, data, {\n base64: true,\n createFolders: true,\n comment: JSON.stringify(attributes),\n });\n });\n return zip;\n};\n\n/**\n * Saves a document to a ZIP file.\n *\n * @remarks\n * This function creates a ZIP file containing the document's state, operations,\n * and file attachments. The file is saved to the specified path.\n *\n * @param document - The document to save to the file.\n * @param path - The path to save the file to.\n * @param extension - The extension to use for the file.\n * @returns A promise that resolves to the path of the saved file.\n */\nexport const saveToFile = async (\n document: Document,\n path: string,\n extension: string,\n name?: string,\n): Promise<string> => {\n // create zip file\n const zip = await createZip(document);\n const file = await zip.generateAsync({\n type: 'uint8array',\n streamFiles: true,\n });\n const fileName = name ?? document.name;\n const fileExtension = `.${extension}.zip`;\n\n return writeFile(\n path,\n fileName.endsWith(fileExtension)\n ? fileName\n : `${fileName}${fileExtension}`,\n file,\n );\n};\n\nexport const saveToFileHandle = async (\n document: Document,\n input: FileSystemFileHandle,\n) => {\n const zip = await createZip(document);\n const blob = await zip.generateAsync({ type: 'blob' });\n const writable = await input.createWritable();\n await writable.write(blob);\n await writable.close();\n};\n\n/**\n * Loads a document from a ZIP file.\n *\n * @remarks\n * This function reads a ZIP file and returns the document state after\n * applying all the operations. The reducer is used to apply the operations.\n *\n * @typeParam S - The type of the state object.\n * @typeParam A - The type of the actions that can be applied to the state object.\n *\n * @param path - The path to the ZIP file.\n * @param reducer - The reducer to apply the operations to the state object.\n * @returns A promise that resolves to the document state after applying all the operations.\n * @throws An error if the initial state or the operations history is not found in the ZIP file.\n */\nexport const loadFromFile = async <S, A extends Action, L>(\n path: string,\n reducer: Reducer<S, A, L>,\n options?: ReplayDocumentOptions,\n) => {\n const file = readFile(path);\n return loadFromInput(file, reducer, options);\n};\n\nexport const loadFromInput = async <S, A extends Action, L>(\n input: FileInput,\n reducer: Reducer<S, A, L>,\n options?: ReplayDocumentOptions,\n) => {\n const zip = new JSZip();\n await zip.loadAsync(input);\n return loadFromZip(zip, reducer, options);\n};\n\nasync function loadFromZip<S, A extends Action, L>(\n zip: JSZip,\n reducer: Reducer<S, A, L>,\n options?: ReplayDocumentOptions,\n) {\n const initialStateZip = zip.file('state.json');\n if (!initialStateZip) {\n throw new Error('Initial state not found');\n }\n const initialStateStr = await initialStateZip.async('string');\n const initialState = JSON.parse(initialStateStr) as ExtendedState<S, L>;\n\n const headerZip = zip.file('header.json');\n let header: DocumentHeader | undefined = undefined;\n if (headerZip) {\n header = JSON.parse(await headerZip.async('string')) as DocumentHeader;\n }\n\n const operationsZip = zip.file('operations.json');\n if (!operationsZip) {\n throw new Error('Operations history not found');\n }\n\n const operations = JSON.parse(\n await operationsZip.async('string'),\n ) as DocumentOperations<A>;\n\n const operationsError = validateOperations(operations);\n if (operationsError.length) {\n const errorMessages = operationsError.map(err => err.message);\n throw new Error(errorMessages.join('\\n'));\n }\n\n let result = replayDocument(\n initialState,\n operations,\n reducer,\n undefined,\n header,\n {},\n options,\n );\n if (header) {\n result = {\n ...result,\n ...header,\n };\n }\n return result;\n}\n\nfunction getFileAttributes(\n file: string,\n): Omit<Attachment, 'data' | 'mimeType'> {\n const extension = file.replace(/^.*\\./, '') || undefined;\n const fileName = file.replace(/^.*[/\\\\]/, '') || undefined;\n return { extension, fileName };\n}\n\n/**\n * Fetches an attachment from a URL and returns its base64-encoded data and MIME type.\n * @param url - The URL of the attachment to fetch.\n * @returns A Promise that resolves to an object containing the base64-encoded data and MIME type of the attachment.\n */\nexport async function getRemoteFile(url: string): Promise<AttachmentInput> {\n const { buffer, mimeType = 'application/octet-stream' } =\n await fetchFile(url);\n const attributes = getFileAttributes(url);\n const data = buffer.toString('base64');\n return {\n data,\n hash: hash(data),\n mimeType,\n ...attributes,\n };\n}\n\n/**\n * Reads an attachment from a file and returns its base64-encoded data and MIME type.\n * @param path - The path of the attachment file to read.\n * @returns A Promise that resolves to an object containing the base64-encoded data and MIME type of the attachment.\n */\nexport async function getLocalFile(path: string): Promise<AttachmentInput> {\n const buffer = await getFile(path);\n const mimeType = mime.getType(path) || 'application/octet-stream';\n const attributes = getFileAttributes(path);\n const data = buffer.toString('base64');\n return { data, hash: hash(data), mimeType, ...attributes };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { calculateSkipsLeft, createAction, createDocument, createExtendedState, createReducer, hashDocument, hashKey, isBaseAction, isNoopOperation, isSameDocument, isUndoRedo, mapSkippedOperations, readOnly, replayDocument, replayOperations, sortMappedOperations, sortOperations } from "./base.js";
2
+ import { createZip, getLocalFile, getRemoteFile, loadFromFile, loadFromInput, saveToFile, saveToFileHandle } from "./file.js";
3
+ import { validateOperations } from "./validation.js";
4
+ import * as documentHelpers from "./document-helpers.js";
5
+ export {
6
+ calculateSkipsLeft,
7
+ createAction,
8
+ createDocument,
9
+ createExtendedState,
10
+ createReducer,
11
+ createZip,
12
+ documentHelpers,
13
+ getLocalFile,
14
+ getRemoteFile,
15
+ hashDocument,
16
+ hashKey,
17
+ isBaseAction,
18
+ isNoopOperation,
19
+ isSameDocument,
20
+ isUndoRedo,
21
+ loadFromFile,
22
+ loadFromInput,
23
+ mapSkippedOperations,
24
+ readOnly,
25
+ replayDocument,
26
+ replayOperations,
27
+ saveToFile,
28
+ saveToFileHandle,
29
+ sortMappedOperations,
30
+ sortOperations,
31
+ validateOperations
32
+ };
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,54 @@
1
+ import crypto from "crypto";
2
+ import fs from "fs";
3
+ import https from "https";
4
+ import { join } from "path";
5
+ function writeFile(path, name, data) {
6
+ const filePath = join(path, name);
7
+ fs.mkdirSync(path, { recursive: true });
8
+ return new Promise((resolve, reject) => {
9
+ try {
10
+ fs.writeFile(filePath, data, {}, (err) => {
11
+ if (err) {
12
+ reject(err);
13
+ } else {
14
+ resolve(filePath);
15
+ }
16
+ });
17
+ } catch (error) {
18
+ reject(error);
19
+ }
20
+ });
21
+ }
22
+ function readFile(path) {
23
+ return fs.readFileSync(path);
24
+ }
25
+ function fetchFile(url) {
26
+ return new Promise((resolve, reject) => {
27
+ https.get(url, (resp) => {
28
+ const data = [];
29
+ const mimeType = resp.headers["content-type"];
30
+ resp.on("data", (chunk) => {
31
+ data.push(chunk);
32
+ });
33
+ resp.on("end", () => {
34
+ resolve({ buffer: Buffer.concat(data), mimeType });
35
+ });
36
+ }).on("error", (err) => {
37
+ reject(err);
38
+ });
39
+ });
40
+ }
41
+ const getFile = async (file) => {
42
+ return readFile(file);
43
+ };
44
+ const hash = (data, algorithm = "sha1") => {
45
+ return crypto.createHash(algorithm).update(data).digest("base64");
46
+ };
47
+ export {
48
+ fetchFile,
49
+ getFile,
50
+ hash,
51
+ readFile,
52
+ writeFile
53
+ };
54
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sources":["../../../../../../src/document/utils/node.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport https from 'https';\nimport { join } from 'path';\n\nexport function writeFile(\n path: string,\n name: string,\n data: Uint8Array,\n): Promise<string> {\n const filePath = join(path, name);\n fs.mkdirSync(path, { recursive: true });\n\n return new Promise((resolve, reject) => {\n try {\n fs.writeFile(filePath, data, {}, err => {\n if (err) {\n reject(err);\n } else {\n resolve(filePath);\n }\n });\n } catch (error) {\n reject(error);\n }\n });\n}\n\nexport function readFile(path: string) {\n return fs.readFileSync(path);\n}\n\nexport function fetchFile(\n url: string,\n): Promise<{ buffer: Buffer; mimeType?: string }> {\n return new Promise((resolve, reject) => {\n https\n .get(url, resp => {\n const data: Uint8Array[] = [];\n const mimeType = resp.headers['content-type'];\n resp.on('data', (chunk: Uint8Array) => {\n data.push(chunk);\n });\n\n resp.on('end', () => {\n resolve({ buffer: Buffer.concat(data), mimeType });\n });\n })\n .on('error', err => {\n reject(err);\n });\n });\n}\n\nexport const getFile = async (file: string) => {\n return readFile(file);\n};\n\nexport const hash = (data: string, algorithm = 'sha1') => {\n return crypto.createHash(algorithm).update(data).digest('base64');\n};\n"],"names":[],"mappings":";;;;AAKgB,SAAA,UACZ,MACA,MACA,MACe;AACT,QAAA,WAAW,KAAK,MAAM,IAAI;AAChC,KAAG,UAAU,MAAM,EAAE,WAAW,KAAM,CAAA;AAEtC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAChC,QAAA;AACA,SAAG,UAAU,UAAU,MAAM,IAAI,CAAO,QAAA;AACpC,YAAI,KAAK;AACL,iBAAO,GAAG;AAAA,QAAA,OACP;AACH,kBAAQ,QAAQ;AAAA,QACpB;AAAA,MAAA,CACH;AAAA,aACI,OAAO;AACZ,aAAO,KAAK;AAAA,IAChB;AAAA,EAAA,CACH;AACL;AAEO,SAAS,SAAS,MAAc;AAC5B,SAAA,GAAG,aAAa,IAAI;AAC/B;AAEO,SAAS,UACZ,KAC8C;AAC9C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAE/B,UAAA,IAAI,KAAK,CAAQ,SAAA;AACd,YAAM,OAAqB,CAAA;AACrB,YAAA,WAAW,KAAK,QAAQ,cAAc;AACvC,WAAA,GAAG,QAAQ,CAAC,UAAsB;AACnC,aAAK,KAAK,KAAK;AAAA,MAAA,CAClB;AAEI,WAAA,GAAG,OAAO,MAAM;AACjB,gBAAQ,EAAE,QAAQ,OAAO,OAAO,IAAI,GAAG,UAAU;AAAA,MAAA,CACpD;AAAA,IACJ,CAAA,EACA,GAAG,SAAS,CAAO,QAAA;AAChB,aAAO,GAAG;AAAA,IAAA,CACb;AAAA,EAAA,CACR;AACL;AAEa,MAAA,UAAU,OAAO,SAAiB;AAC3C,SAAO,SAAS,IAAI;AACxB;AAEO,MAAM,OAAO,CAAC,MAAc,YAAY,WAAW;AAC/C,SAAA,OAAO,WAAW,SAAS,EAAE,OAAO,IAAI,EAAE,OAAO,QAAQ;AACpE;"}
@@ -0,0 +1,24 @@
1
+ function validateOperations(operations) {
2
+ const errors = [];
3
+ const scopes = Object.keys(operations);
4
+ for (const scope of scopes) {
5
+ const ops = operations[scope].sort((a, b) => a.index - b.index);
6
+ for (let i = 0; i < ops.length; i++) {
7
+ if (ops[i].index !== i) {
8
+ errors.push({
9
+ message: `Invalid operation index ${ops[i].index} at position ${i}`,
10
+ details: {
11
+ position: i,
12
+ operation: ops[i],
13
+ scope: ops[i].scope
14
+ }
15
+ });
16
+ }
17
+ }
18
+ }
19
+ return errors;
20
+ }
21
+ export {
22
+ validateOperations
23
+ };
24
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sources":["../../../../../../src/document/utils/validation.ts"],"sourcesContent":["import {\n DocumentOperations,\n Action,\n ValidationError,\n OperationScope,\n} from '../types';\n\nexport function validateOperations<A extends Action>(\n operations: DocumentOperations<A>,\n) {\n const errors: ValidationError[] = [];\n const scopes = Object.keys(operations) as OperationScope[];\n\n for (const scope of scopes) {\n const ops = operations[scope].sort((a, b) => a.index - b.index);\n\n for (let i = 0; i < ops.length; i++) {\n if (ops[i].index !== i) {\n errors.push({\n message: `Invalid operation index ${ops[i].index} at position ${i}`,\n details: {\n position: i,\n operation: ops[i],\n scope: ops[i].scope,\n },\n });\n }\n }\n }\n\n return errors;\n}\n"],"names":[],"mappings":"AAOO,SAAS,mBACZ,YACF;AACE,QAAM,SAA4B,CAAA;AAC5B,QAAA,SAAS,OAAO,KAAK,UAAU;AAErC,aAAW,SAAS,QAAQ;AAClB,UAAA,MAAM,WAAW,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;AAE9D,aAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACjC,UAAI,IAAI,CAAC,EAAE,UAAU,GAAG;AACpB,eAAO,KAAK;AAAA,UACR,SAAS,2BAA2B,IAAI,CAAC,EAAE,KAAK,gBAAgB,CAAC;AAAA,UACjE,SAAS;AAAA,YACL,UAAU;AAAA,YACV,WAAW,IAAI,CAAC;AAAA,YAChB,OAAO,IAAI,CAAC,EAAE;AAAA,UAClB;AAAA,QAAA,CACH;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAEO,SAAA;AACX;"}
@@ -0,0 +1,26 @@
1
+ const reducer = {
2
+ setModelNameOperation(state, action) {
3
+ state.name = action.input.name;
4
+ },
5
+ setModelIdOperation(state, action) {
6
+ state.id = action.input.id;
7
+ },
8
+ setModelExtensionOperation(state, action) {
9
+ state.extension = action.input.extension;
10
+ },
11
+ setModelDescriptionOperation(state, action) {
12
+ state.description = action.input.description;
13
+ },
14
+ setAuthorNameOperation(state, action) {
15
+ state.author = state.author || { name: "", website: null };
16
+ state.author.name = action.input.authorName;
17
+ },
18
+ setAuthorWebsiteOperation(state, action) {
19
+ state.author = state.author || { name: "", website: null };
20
+ state.author.website = action.input.authorWebsite;
21
+ }
22
+ };
23
+ export {
24
+ reducer
25
+ };
26
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sources":["../../../../../../../src/document-model/custom/reducers/header.ts"],"sourcesContent":["import { DocumentModelHeaderOperations } from '../../gen/header/operations';\n\nexport const reducer: DocumentModelHeaderOperations = {\n setModelNameOperation(state, action) {\n state.name = action.input.name;\n },\n\n setModelIdOperation(state, action) {\n state.id = action.input.id;\n },\n\n setModelExtensionOperation(state, action) {\n state.extension = action.input.extension;\n },\n\n setModelDescriptionOperation(state, action) {\n state.description = action.input.description;\n },\n\n setAuthorNameOperation(state, action) {\n state.author = state.author || { name: '', website: null };\n state.author.name = action.input.authorName;\n },\n\n setAuthorWebsiteOperation(state, action) {\n state.author = state.author || { name: '', website: null };\n state.author.website = action.input.authorWebsite;\n },\n};\n"],"names":[],"mappings":"AAEO,MAAM,UAAyC;AAAA,EAClD,sBAAsB,OAAO,QAAQ;AAC3B,UAAA,OAAO,OAAO,MAAM;AAAA,EAC9B;AAAA,EAEA,oBAAoB,OAAO,QAAQ;AACzB,UAAA,KAAK,OAAO,MAAM;AAAA,EAC5B;AAAA,EAEA,2BAA2B,OAAO,QAAQ;AAChC,UAAA,YAAY,OAAO,MAAM;AAAA,EACnC;AAAA,EAEA,6BAA6B,OAAO,QAAQ;AAClC,UAAA,cAAc,OAAO,MAAM;AAAA,EACrC;AAAA,EAEA,uBAAuB,OAAO,QAAQ;AAClC,UAAM,SAAS,MAAM,UAAU,EAAE,MAAM,IAAI,SAAS;AAC9C,UAAA,OAAO,OAAO,OAAO,MAAM;AAAA,EACrC;AAAA,EAEA,0BAA0B,OAAO,QAAQ;AACrC,UAAM,SAAS,MAAM,UAAU,EAAE,MAAM,IAAI,SAAS;AAC9C,UAAA,OAAO,UAAU,OAAO,MAAM;AAAA,EACxC;AACJ;"}
@@ -0,0 +1,46 @@
1
+ const moduleSorter = (order) => {
2
+ const mapping = {};
3
+ order.forEach((key, index) => mapping[key] = index);
4
+ return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);
5
+ };
6
+ const reducer = {
7
+ addModuleOperation(state, action) {
8
+ const latestSpec = state.specifications[state.specifications.length - 1];
9
+ latestSpec.modules.push({
10
+ id: action.input.id,
11
+ name: action.input.name,
12
+ description: action.input.description || "",
13
+ operations: []
14
+ });
15
+ },
16
+ setModuleNameOperation(state, action) {
17
+ const latestSpec = state.specifications[state.specifications.length - 1];
18
+ for (let i = 0; i < latestSpec.modules.length; i++) {
19
+ if (latestSpec.modules[i].id === action.input.id) {
20
+ latestSpec.modules[i].name = action.input.name || "";
21
+ }
22
+ }
23
+ },
24
+ setModuleDescriptionOperation(state, action) {
25
+ const latestSpec = state.specifications[state.specifications.length - 1];
26
+ for (let i = 0; i < latestSpec.modules.length; i++) {
27
+ if (latestSpec.modules[i].id === action.input.id) {
28
+ latestSpec.modules[i].description = action.input.description || "";
29
+ }
30
+ }
31
+ },
32
+ deleteModuleOperation(state, action) {
33
+ const latestSpec = state.specifications[state.specifications.length - 1];
34
+ latestSpec.modules = latestSpec.modules.filter(
35
+ (m) => m.id != action.input.id
36
+ );
37
+ },
38
+ reorderModulesOperation(state, action) {
39
+ const latestSpec = state.specifications[state.specifications.length - 1];
40
+ latestSpec.modules.sort(moduleSorter(action.input.order));
41
+ }
42
+ };
43
+ export {
44
+ reducer
45
+ };
46
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sources":["../../../../../../../src/document-model/custom/reducers/module.ts"],"sourcesContent":["import { Module } from '../../gen';\nimport { DocumentModelModuleOperations } from '../../gen/module/operations';\n\nconst moduleSorter = (order: string[]) => {\n const mapping: Record<string, number> = {};\n order.forEach((key, index) => (mapping[key] = index));\n return (a: Module, b: Module) =>\n (mapping[b.id] || 999999) - (mapping[a.id] || 999999);\n};\n\nexport const reducer: DocumentModelModuleOperations = {\n addModuleOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n latestSpec.modules.push({\n id: action.input.id,\n name: action.input.name,\n description: action.input.description || '',\n operations: [],\n });\n },\n\n setModuleNameOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n if (latestSpec.modules[i].id === action.input.id) {\n latestSpec.modules[i].name = action.input.name || '';\n }\n }\n },\n\n setModuleDescriptionOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n if (latestSpec.modules[i].id === action.input.id) {\n latestSpec.modules[i].description =\n action.input.description || '';\n }\n }\n },\n\n deleteModuleOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n latestSpec.modules = latestSpec.modules.filter(\n m => m.id != action.input.id,\n );\n },\n\n reorderModulesOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n latestSpec.modules.sort(moduleSorter(action.input.order));\n },\n};\n"],"names":[],"mappings":"AAGA,MAAM,eAAe,CAAC,UAAoB;AACtC,QAAM,UAAkC,CAAA;AACxC,QAAM,QAAQ,CAAC,KAAK,UAAW,QAAQ,GAAG,IAAI,KAAM;AAC7C,SAAA,CAAC,GAAW,OACd,QAAQ,EAAE,EAAE,KAAK,WAAW,QAAQ,EAAE,EAAE,KAAK;AACtD;AAEO,MAAM,UAAyC;AAAA,EAClD,mBAAmB,OAAO,QAAQ;AAC9B,UAAM,aACF,MAAM,eAAe,MAAM,eAAe,SAAS,CAAC;AACxD,eAAW,QAAQ,KAAK;AAAA,MACpB,IAAI,OAAO,MAAM;AAAA,MACjB,MAAM,OAAO,MAAM;AAAA,MACnB,aAAa,OAAO,MAAM,eAAe;AAAA,MACzC,YAAY,CAAC;AAAA,IAAA,CAChB;AAAA,EACL;AAAA,EAEA,uBAAuB,OAAO,QAAQ;AAClC,UAAM,aACF,MAAM,eAAe,MAAM,eAAe,SAAS,CAAC;AACxD,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,QAAQ,KAAK;AAChD,UAAI,WAAW,QAAQ,CAAC,EAAE,OAAO,OAAO,MAAM,IAAI;AAC9C,mBAAW,QAAQ,CAAC,EAAE,OAAO,OAAO,MAAM,QAAQ;AAAA,MACtD;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,8BAA8B,OAAO,QAAQ;AACzC,UAAM,aACF,MAAM,eAAe,MAAM,eAAe,SAAS,CAAC;AACxD,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,QAAQ,KAAK;AAChD,UAAI,WAAW,QAAQ,CAAC,EAAE,OAAO,OAAO,MAAM,IAAI;AAC9C,mBAAW,QAAQ,CAAC,EAAE,cAClB,OAAO,MAAM,eAAe;AAAA,MACpC;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,sBAAsB,OAAO,QAAQ;AACjC,UAAM,aACF,MAAM,eAAe,MAAM,eAAe,SAAS,CAAC;AAC7C,eAAA,UAAU,WAAW,QAAQ;AAAA,MACpC,CAAK,MAAA,EAAE,MAAM,OAAO,MAAM;AAAA,IAAA;AAAA,EAElC;AAAA,EAEA,wBAAwB,OAAO,QAAQ;AACnC,UAAM,aACF,MAAM,eAAe,MAAM,eAAe,SAAS,CAAC;AACxD,eAAW,QAAQ,KAAK,aAAa,OAAO,MAAM,KAAK,CAAC;AAAA,EAC5D;AACJ;"}
@@ -0,0 +1,95 @@
1
+ const errorSorter = (order) => {
2
+ const mapping = {};
3
+ order.forEach((key, index) => mapping[key] = index);
4
+ return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);
5
+ };
6
+ const reducer = {
7
+ addOperationErrorOperation(state, action) {
8
+ const latestSpec = state.specifications[state.specifications.length - 1];
9
+ for (let i = 0; i < latestSpec.modules.length; i++) {
10
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
11
+ if (latestSpec.modules[i].operations[j].id == action.input.operationId) {
12
+ latestSpec.modules[i].operations[j].errors.push({
13
+ id: action.input.id,
14
+ name: action.input.errorName || "",
15
+ code: action.input.errorCode || "",
16
+ description: action.input.errorDescription || "",
17
+ template: action.input.errorTemplate || ""
18
+ });
19
+ }
20
+ }
21
+ }
22
+ },
23
+ setOperationErrorCodeOperation(state, action) {
24
+ const latestSpec = state.specifications[state.specifications.length - 1];
25
+ for (let i = 0; i < latestSpec.modules.length; i++) {
26
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
27
+ for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {
28
+ if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) {
29
+ latestSpec.modules[i].operations[j].errors[k].code = action.input.errorCode || "";
30
+ }
31
+ }
32
+ }
33
+ }
34
+ },
35
+ setOperationErrorNameOperation(state, action) {
36
+ const latestSpec = state.specifications[state.specifications.length - 1];
37
+ for (let i = 0; i < latestSpec.modules.length; i++) {
38
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
39
+ for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {
40
+ if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) {
41
+ latestSpec.modules[i].operations[j].errors[k].name = action.input.errorName || "";
42
+ }
43
+ }
44
+ }
45
+ }
46
+ },
47
+ setOperationErrorDescriptionOperation(state, action) {
48
+ const latestSpec = state.specifications[state.specifications.length - 1];
49
+ for (let i = 0; i < latestSpec.modules.length; i++) {
50
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
51
+ for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {
52
+ if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) {
53
+ latestSpec.modules[i].operations[j].errors[k].description = action.input.errorDescription || "";
54
+ }
55
+ }
56
+ }
57
+ }
58
+ },
59
+ setOperationErrorTemplateOperation(state, action) {
60
+ const latestSpec = state.specifications[state.specifications.length - 1];
61
+ for (let i = 0; i < latestSpec.modules.length; i++) {
62
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
63
+ for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {
64
+ if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) {
65
+ latestSpec.modules[i].operations[j].errors[k].template = action.input.errorTemplate || "";
66
+ }
67
+ }
68
+ }
69
+ }
70
+ },
71
+ deleteOperationErrorOperation(state, action) {
72
+ const latestSpec = state.specifications[state.specifications.length - 1];
73
+ for (let i = 0; i < latestSpec.modules.length; i++) {
74
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
75
+ latestSpec.modules[i].operations[j].errors = latestSpec.modules[i].operations[j].errors.filter((e) => e.id != action.input.id);
76
+ }
77
+ }
78
+ },
79
+ reorderOperationErrorsOperation(state, action) {
80
+ const latestSpec = state.specifications[state.specifications.length - 1];
81
+ for (let i = 0; i < latestSpec.modules.length; i++) {
82
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
83
+ if (latestSpec.modules[i].operations[j].id == action.input.operationId) {
84
+ latestSpec.modules[i].operations[j].errors.sort(
85
+ errorSorter(action.input.order)
86
+ );
87
+ }
88
+ }
89
+ }
90
+ }
91
+ };
92
+ export {
93
+ reducer
94
+ };
95
+ //# sourceMappingURL=operation-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-error.js","sources":["../../../../../../../src/document-model/custom/reducers/operation-error.ts"],"sourcesContent":["import { OperationError } from '../../gen';\nimport { DocumentModelOperationErrorOperations } from '../../gen/operation-error/operations';\n\nconst errorSorter = (order: string[]) => {\n const mapping: Record<string, number> = {};\n order.forEach((key, index) => (mapping[key] = index));\n return (a: OperationError, b: OperationError) =>\n (mapping[b.id] || 999999) - (mapping[a.id] || 999999);\n};\n\nexport const reducer: DocumentModelOperationErrorOperations = {\n addOperationErrorOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (\n latestSpec.modules[i].operations[j].id ==\n action.input.operationId\n ) {\n latestSpec.modules[i].operations[j].errors.push({\n id: action.input.id,\n name: action.input.errorName || '',\n code: action.input.errorCode || '',\n description: action.input.errorDescription || '',\n template: action.input.errorTemplate || '',\n });\n }\n }\n }\n },\n\n setOperationErrorCodeOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n for (\n let k = 0;\n k < latestSpec.modules[i].operations[j].errors.length;\n k++\n ) {\n if (\n latestSpec.modules[i].operations[j].errors[k].id ==\n action.input.id\n ) {\n latestSpec.modules[i].operations[j].errors[k].code =\n action.input.errorCode || '';\n }\n }\n }\n }\n },\n\n setOperationErrorNameOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n for (\n let k = 0;\n k < latestSpec.modules[i].operations[j].errors.length;\n k++\n ) {\n if (\n latestSpec.modules[i].operations[j].errors[k].id ==\n action.input.id\n ) {\n latestSpec.modules[i].operations[j].errors[k].name =\n action.input.errorName || '';\n }\n }\n }\n }\n },\n\n setOperationErrorDescriptionOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n for (\n let k = 0;\n k < latestSpec.modules[i].operations[j].errors.length;\n k++\n ) {\n if (\n latestSpec.modules[i].operations[j].errors[k].id ==\n action.input.id\n ) {\n latestSpec.modules[i].operations[j].errors[\n k\n ].description = action.input.errorDescription || '';\n }\n }\n }\n }\n },\n\n setOperationErrorTemplateOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n for (\n let k = 0;\n k < latestSpec.modules[i].operations[j].errors.length;\n k++\n ) {\n if (\n latestSpec.modules[i].operations[j].errors[k].id ==\n action.input.id\n ) {\n latestSpec.modules[i].operations[j].errors[k].template =\n action.input.errorTemplate || '';\n }\n }\n }\n }\n },\n\n deleteOperationErrorOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n latestSpec.modules[i].operations[j].errors = latestSpec.modules[\n i\n ].operations[j].errors.filter(e => e.id != action.input.id);\n }\n }\n },\n\n reorderOperationErrorsOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (\n latestSpec.modules[i].operations[j].id ==\n action.input.operationId\n ) {\n latestSpec.modules[i].operations[j].errors.sort(\n errorSorter(action.input.order),\n );\n }\n }\n }\n },\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ const exampleSorter = (order) => {
2
+ const mapping = {};
3
+ order.forEach((key, index) => mapping[key] = index);
4
+ return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);
5
+ };
6
+ const reducer = {
7
+ addOperationExampleOperation(state, action) {
8
+ const latestSpec = state.specifications[state.specifications.length - 1];
9
+ for (let i = 0; i < latestSpec.modules.length; i++) {
10
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
11
+ if (latestSpec.modules[i].operations[j].id == action.input.operationId) {
12
+ latestSpec.modules[i].operations[j].examples.push({
13
+ id: action.input.id,
14
+ value: action.input.example
15
+ });
16
+ }
17
+ }
18
+ }
19
+ },
20
+ updateOperationExampleOperation(state, action) {
21
+ const latestSpec = state.specifications[state.specifications.length - 1];
22
+ for (let i = 0; i < latestSpec.modules.length; i++) {
23
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
24
+ for (let k = 0; k < latestSpec.modules[i].operations[j].examples.length; k++) {
25
+ if (latestSpec.modules[i].operations[j].examples[k].id == action.input.id) {
26
+ latestSpec.modules[i].operations[j].examples[k].value = action.input.example;
27
+ }
28
+ }
29
+ }
30
+ }
31
+ },
32
+ deleteOperationExampleOperation(state, action) {
33
+ const latestSpec = state.specifications[state.specifications.length - 1];
34
+ for (let i = 0; i < latestSpec.modules.length; i++) {
35
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
36
+ latestSpec.modules[i].operations[j].examples = latestSpec.modules[i].operations[j].examples.filter(
37
+ (e) => e.id != action.input.id
38
+ );
39
+ }
40
+ }
41
+ },
42
+ reorderOperationExamplesOperation(state, action) {
43
+ const latestSpec = state.specifications[state.specifications.length - 1];
44
+ for (let i = 0; i < latestSpec.modules.length; i++) {
45
+ for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {
46
+ if (latestSpec.modules[i].operations[j].id == action.input.operationId) {
47
+ latestSpec.modules[i].operations[j].examples.sort(
48
+ exampleSorter(action.input.order)
49
+ );
50
+ }
51
+ }
52
+ }
53
+ }
54
+ };
55
+ export {
56
+ reducer
57
+ };
58
+ //# sourceMappingURL=operation-example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-example.js","sources":["../../../../../../../src/document-model/custom/reducers/operation-example.ts"],"sourcesContent":["import { CodeExample } from '../../gen';\nimport { DocumentModelOperationExampleOperations } from '../../gen/operation-example/operations';\n\nconst exampleSorter = (order: string[]) => {\n const mapping: Record<string, number> = {};\n order.forEach((key, index) => (mapping[key] = index));\n return (a: CodeExample, b: CodeExample) =>\n (mapping[b.id] || 999999) - (mapping[a.id] || 999999);\n};\n\nexport const reducer: DocumentModelOperationExampleOperations = {\n addOperationExampleOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (\n latestSpec.modules[i].operations[j].id ==\n action.input.operationId\n ) {\n latestSpec.modules[i].operations[j].examples.push({\n id: action.input.id,\n value: action.input.example,\n });\n }\n }\n }\n },\n\n updateOperationExampleOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n for (\n let k = 0;\n k < latestSpec.modules[i].operations[j].examples.length;\n k++\n ) {\n if (\n latestSpec.modules[i].operations[j].examples[k].id ==\n action.input.id\n ) {\n latestSpec.modules[i].operations[j].examples[k].value =\n action.input.example;\n }\n }\n }\n }\n },\n\n deleteOperationExampleOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n latestSpec.modules[i].operations[j].examples =\n latestSpec.modules[i].operations[j].examples.filter(\n e => e.id != action.input.id,\n );\n }\n }\n },\n\n reorderOperationExamplesOperation(state, action) {\n const latestSpec =\n state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (\n latestSpec.modules[i].operations[j].id ==\n action.input.operationId\n ) {\n latestSpec.modules[i].operations[j].examples.sort(\n exampleSorter(action.input.order),\n );\n }\n }\n }\n },\n};\n"],"names":[],"mappings":"AAGA,MAAM,gBAAgB,CAAC,UAAoB;AACvC,QAAM,UAAkC,CAAA;AACxC,QAAM,QAAQ,CAAC,KAAK,UAAW,QAAQ,GAAG,IAAI,KAAM;AAC7C,SAAA,CAAC,GAAgB,OACnB,QAAQ,EAAE,EAAE,KAAK,WAAW,QAAQ,EAAE,EAAE,KAAK;AACtD;AAEO,MAAM,UAAmD;AAAA,EAC5D,6BAA6B,OAAO,QAAQ;AACxC,UAAM,aACF,MAAM,eAAe,MAAM,eAAe,SAAS,CAAC;AACxD,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,QAAQ,KAAK;AACvC,eAAA,IAAI,GAAG,IAAI,WAAW,QAAQ,CAAC,EAAE,WAAW,QAAQ,KAAK;AAE1D,YAAA,WAAW,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,MACpC,OAAO,MAAM,aACf;AACE,qBAAW,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS,KAAK;AAAA,YAC9C,IAAI,OAAO,MAAM;AAAA,YACjB,OAAO,OAAO,MAAM;AAAA,UAAA,CACvB;AAAA,QACL;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,gCAAgC,OAAO,QAAQ;AAC3C,UAAM,aACF,MAAM,eAAe,MAAM,eAAe,SAAS,CAAC;AACxD,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,QAAQ,KAAK;AACvC,eAAA,IAAI,GAAG,IAAI,WAAW,QAAQ,CAAC,EAAE,WAAW,QAAQ,KAAK;AAC9D,iBACQ,IAAI,GACR,IAAI,WAAW,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS,QACjD,KACF;AACE,cACI,WAAW,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,MAChD,OAAO,MAAM,IACf;AACa,uBAAA,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,QAC5C,OAAO,MAAM;AAAA,UACrB;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,gCAAgC,OAAO,QAAQ;AAC3C,UAAM,aACF,MAAM,eAAe,MAAM,eAAe,SAAS,CAAC;AACxD,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,QAAQ,KAAK;AACvC,eAAA,IAAI,GAAG,IAAI,WAAW,QAAQ,CAAC,EAAE,WAAW,QAAQ,KAAK;AAC9D,mBAAW,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,WAChC,WAAW,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS;AAAA,UACzC,CAAK,MAAA,EAAE,MAAM,OAAO,MAAM;AAAA,QAAA;AAAA,MAEtC;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,kCAAkC,OAAO,QAAQ;AAC7C,UAAM,aACF,MAAM,eAAe,MAAM,eAAe,SAAS,CAAC;AACxD,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,QAAQ,KAAK;AACvC,eAAA,IAAI,GAAG,IAAI,WAAW,QAAQ,CAAC,EAAE,WAAW,QAAQ,KAAK;AAE1D,YAAA,WAAW,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,MACpC,OAAO,MAAM,aACf;AACE,qBAAW,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS;AAAA,YACzC,cAAc,OAAO,MAAM,KAAK;AAAA,UAAA;AAAA,QAExC;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ;"}