@prismicio/types-internal 3.17.0 → 4.0.0-canary.65d3262

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 (758) hide show
  1. package/README.md +41 -25
  2. package/dist/_virtual/_rolldown/runtime.js +13 -0
  3. package/dist/common/asset.d.ts +22 -0
  4. package/dist/common/asset.d.ts.map +1 -0
  5. package/dist/common/asset.js +21 -0
  6. package/dist/common/asset.js.map +1 -0
  7. package/dist/common/embed.d.ts +21 -0
  8. package/dist/common/embed.d.ts.map +1 -0
  9. package/dist/common/embed.js +20 -0
  10. package/dist/common/embed.js.map +1 -0
  11. package/dist/common/hexaColorCode.d.ts +8 -0
  12. package/dist/common/hexaColorCode.d.ts.map +1 -0
  13. package/dist/common/hexaColorCode.js +8 -0
  14. package/dist/common/hexaColorCode.js.map +1 -0
  15. package/dist/common/nonEmptyString.d.ts +8 -0
  16. package/dist/common/nonEmptyString.d.ts.map +1 -0
  17. package/dist/common/nonEmptyString.js +7 -0
  18. package/dist/common/nonEmptyString.js.map +1 -0
  19. package/dist/common/widgetKey.d.ts +8 -0
  20. package/dist/common/widgetKey.d.ts.map +1 -0
  21. package/dist/common/widgetKey.js +8 -0
  22. package/dist/common/widgetKey.js.map +1 -0
  23. package/dist/content/boolean.d.ts +11 -0
  24. package/dist/content/boolean.d.ts.map +1 -0
  25. package/dist/content/boolean.js +11 -0
  26. package/dist/content/boolean.js.map +1 -0
  27. package/dist/content/codec/boolean.js +31 -0
  28. package/dist/content/codec/boolean.js.map +1 -0
  29. package/dist/content/codec/document.js +49 -0
  30. package/dist/content/codec/document.js.map +1 -0
  31. package/dist/content/codec/embed.js +42 -0
  32. package/dist/content/codec/embed.js.map +1 -0
  33. package/dist/content/codec/empty.js +35 -0
  34. package/dist/content/codec/empty.js.map +1 -0
  35. package/dist/content/codec/field.js +41 -0
  36. package/dist/content/codec/field.js.map +1 -0
  37. package/dist/content/codec/geopoint.js +32 -0
  38. package/dist/content/codec/geopoint.js.map +1 -0
  39. package/dist/content/codec/group.js +127 -0
  40. package/dist/content/codec/group.js.map +1 -0
  41. package/dist/content/codec/image.js +44 -0
  42. package/dist/content/codec/image.js.map +1 -0
  43. package/dist/content/codec/integrationField.js +31 -0
  44. package/dist/content/codec/integrationField.js.map +1 -0
  45. package/dist/content/codec/legacyContentCtx.d.ts +50 -0
  46. package/dist/content/codec/legacyContentCtx.d.ts.map +1 -0
  47. package/dist/content/codec/legacyContentCtx.js +68 -0
  48. package/dist/content/codec/legacyContentCtx.js.map +1 -0
  49. package/dist/content/codec/link.js +93 -0
  50. package/dist/content/codec/link.js.map +1 -0
  51. package/dist/content/codec/nestable.js +91 -0
  52. package/dist/content/codec/nestable.js.map +1 -0
  53. package/dist/content/codec/repeatable.js +56 -0
  54. package/dist/content/codec/repeatable.js.map +1 -0
  55. package/dist/content/codec/richText.js +87 -0
  56. package/dist/content/codec/richText.js.map +1 -0
  57. package/dist/content/codec/separator.js +26 -0
  58. package/dist/content/codec/separator.js.map +1 -0
  59. package/dist/content/codec/slice.js +220 -0
  60. package/dist/content/codec/slice.js.map +1 -0
  61. package/dist/content/codec/slices.js +106 -0
  62. package/dist/content/codec/slices.js.map +1 -0
  63. package/dist/content/codec/table.js +56 -0
  64. package/dist/content/codec/table.js.map +1 -0
  65. package/dist/content/codec/uid.js +31 -0
  66. package/dist/content/codec/uid.js.map +1 -0
  67. package/dist/content/codec/widget.js +39 -0
  68. package/dist/content/codec/widget.js.map +1 -0
  69. package/dist/content/document.d.ts +9 -0
  70. package/dist/content/document.d.ts.map +1 -0
  71. package/dist/content/document.js +9 -0
  72. package/dist/content/document.js.map +1 -0
  73. package/dist/content/embed.d.ts +24 -0
  74. package/dist/content/embed.d.ts.map +1 -0
  75. package/dist/content/embed.js +12 -0
  76. package/dist/content/embed.js.map +1 -0
  77. package/dist/content/empty.d.ts +11 -0
  78. package/dist/content/empty.d.ts.map +1 -0
  79. package/dist/content/empty.js +11 -0
  80. package/dist/content/empty.js.map +1 -0
  81. package/dist/content/field.d.ts +49 -0
  82. package/dist/content/field.d.ts.map +1 -0
  83. package/dist/content/field.js +52 -0
  84. package/dist/content/field.js.map +1 -0
  85. package/dist/content/geopoint.d.ts +14 -0
  86. package/dist/content/geopoint.d.ts.map +1 -0
  87. package/dist/content/geopoint.js +9 -0
  88. package/dist/content/geopoint.js.map +1 -0
  89. package/dist/content/group.d.ts +19 -0
  90. package/dist/content/group.d.ts.map +1 -0
  91. package/dist/content/group.js +19 -0
  92. package/dist/content/group.js.map +1 -0
  93. package/dist/content/image.d.ts +52 -0
  94. package/dist/content/image.d.ts.map +1 -0
  95. package/dist/content/image.js +10 -0
  96. package/dist/content/image.js.map +1 -0
  97. package/dist/content/integrationField.d.ts +11 -0
  98. package/dist/content/integrationField.d.ts.map +1 -0
  99. package/dist/content/integrationField.js +11 -0
  100. package/dist/content/integrationField.js.map +1 -0
  101. package/dist/content/legacy/boolean.d.ts +1 -0
  102. package/dist/content/legacy/boolean.js +7 -0
  103. package/dist/content/legacy/boolean.js.map +1 -0
  104. package/dist/content/legacy/document.d.ts +8 -0
  105. package/dist/content/legacy/document.d.ts.map +1 -0
  106. package/dist/content/legacy/document.js +15 -0
  107. package/dist/content/legacy/document.js.map +1 -0
  108. package/dist/content/legacy/embed.d.ts +1 -0
  109. package/dist/content/legacy/embed.js +23 -0
  110. package/dist/content/legacy/embed.js.map +1 -0
  111. package/dist/content/legacy/empty.d.ts +1 -0
  112. package/dist/content/legacy/empty.js +7 -0
  113. package/dist/content/legacy/empty.js.map +1 -0
  114. package/dist/content/legacy/field.d.ts +1 -0
  115. package/dist/content/legacy/field.js +7 -0
  116. package/dist/content/legacy/field.js.map +1 -0
  117. package/dist/content/legacy/geopoint.d.ts +1 -0
  118. package/dist/content/legacy/geopoint.js +10 -0
  119. package/dist/content/legacy/geopoint.js.map +1 -0
  120. package/dist/content/legacy/group.d.ts +9 -0
  121. package/dist/content/legacy/group.d.ts.map +1 -0
  122. package/dist/content/legacy/group.js +10 -0
  123. package/dist/content/legacy/group.js.map +1 -0
  124. package/dist/content/legacy/image.d.ts +1 -0
  125. package/dist/content/legacy/image.js +33 -0
  126. package/dist/content/legacy/image.js.map +1 -0
  127. package/dist/content/legacy/integrationField.d.ts +1 -0
  128. package/dist/content/legacy/integrationField.js +7 -0
  129. package/dist/content/legacy/integrationField.js.map +1 -0
  130. package/dist/content/legacy/link.d.ts +41 -0
  131. package/dist/content/legacy/link.d.ts.map +1 -0
  132. package/dist/content/legacy/link.js +88 -0
  133. package/dist/content/legacy/link.js.map +1 -0
  134. package/dist/content/legacy/nestable.d.ts +1 -0
  135. package/dist/content/legacy/nestable.js +32 -0
  136. package/dist/content/legacy/nestable.js.map +1 -0
  137. package/dist/content/legacy/repeatable.d.ts +1 -0
  138. package/dist/content/legacy/repeatable.js +7 -0
  139. package/dist/content/legacy/repeatable.js.map +1 -0
  140. package/dist/content/legacy/richText.d.ts +109 -0
  141. package/dist/content/legacy/richText.d.ts.map +1 -0
  142. package/dist/content/legacy/richText.js +100 -0
  143. package/dist/content/legacy/richText.js.map +1 -0
  144. package/dist/content/legacy/separator.d.ts +1 -0
  145. package/dist/content/legacy/separator.js +7 -0
  146. package/dist/content/legacy/separator.js.map +1 -0
  147. package/dist/content/legacy/slice.js +22 -0
  148. package/dist/content/legacy/slice.js.map +1 -0
  149. package/dist/content/legacy/slices.js +13 -0
  150. package/dist/content/legacy/slices.js.map +1 -0
  151. package/dist/content/legacy/table.d.ts +1 -0
  152. package/dist/content/legacy/table.js +19 -0
  153. package/dist/content/legacy/table.js.map +1 -0
  154. package/dist/content/legacy/uid.js +7 -0
  155. package/dist/content/legacy/uid.js.map +1 -0
  156. package/dist/content/link.d.ts +163 -0
  157. package/dist/content/link.d.ts.map +1 -0
  158. package/dist/content/link.js +50 -0
  159. package/dist/content/link.js.map +1 -0
  160. package/dist/content/nestable.d.ts +19 -0
  161. package/dist/content/nestable.d.ts.map +1 -0
  162. package/dist/content/nestable.js +56 -0
  163. package/dist/content/nestable.js.map +1 -0
  164. package/dist/content/repeatable.d.ts +97 -0
  165. package/dist/content/repeatable.d.ts.map +1 -0
  166. package/dist/content/repeatable.js +17 -0
  167. package/dist/content/repeatable.js.map +1 -0
  168. package/dist/content/richText.d.ts +91 -0
  169. package/dist/content/richText.d.ts.map +1 -0
  170. package/dist/content/richText.js +24 -0
  171. package/dist/content/richText.js.map +1 -0
  172. package/dist/content/separator.d.ts +10 -0
  173. package/dist/content/separator.d.ts.map +1 -0
  174. package/dist/content/separator.js +8 -0
  175. package/dist/content/separator.js.map +1 -0
  176. package/dist/content/slice.d.ts +24 -0
  177. package/dist/content/slice.d.ts.map +1 -0
  178. package/dist/content/slice.js +27 -0
  179. package/dist/content/slice.js.map +1 -0
  180. package/dist/content/slices.d.ts +56 -0
  181. package/dist/content/slices.d.ts.map +1 -0
  182. package/dist/content/slices.js +24 -0
  183. package/dist/content/slices.js.map +1 -0
  184. package/dist/content/table.d.ts +21 -0
  185. package/dist/content/table.d.ts.map +1 -0
  186. package/dist/content/table.js +13 -0
  187. package/dist/content/table.js.map +1 -0
  188. package/dist/content/uid.d.ts +11 -0
  189. package/dist/content/uid.d.ts.map +1 -0
  190. package/dist/content/uid.js +11 -0
  191. package/dist/content/uid.js.map +1 -0
  192. package/dist/content/widget.d.ts +11 -0
  193. package/dist/content/widget.d.ts.map +1 -0
  194. package/dist/content/widget.js +16 -0
  195. package/dist/content/widget.js.map +1 -0
  196. package/dist/helpers/contentPath.d.ts +15 -0
  197. package/dist/helpers/contentPath.d.ts.map +1 -0
  198. package/dist/helpers/contentPath.js +30 -0
  199. package/dist/helpers/contentPath.js.map +1 -0
  200. package/dist/helpers/customTypeModel.d.ts +14 -0
  201. package/dist/helpers/customTypeModel.d.ts.map +1 -0
  202. package/dist/helpers/customTypeModel.js +55 -0
  203. package/dist/helpers/customTypeModel.js.map +1 -0
  204. package/dist/helpers/documentContent.d.ts +20 -0
  205. package/dist/helpers/documentContent.d.ts.map +1 -0
  206. package/dist/helpers/documentContent.js +64 -0
  207. package/dist/helpers/documentContent.js.map +1 -0
  208. package/dist/helpers/sliceContent.d.ts +12 -0
  209. package/dist/helpers/sliceContent.d.ts.map +1 -0
  210. package/dist/helpers/sliceContent.js +60 -0
  211. package/dist/helpers/sliceContent.js.map +1 -0
  212. package/dist/helpers/traverseContent.d.ts +84 -0
  213. package/dist/helpers/traverseContent.d.ts.map +1 -0
  214. package/dist/helpers/traverseContent.js +374 -0
  215. package/dist/helpers/traverseContent.js.map +1 -0
  216. package/dist/helpers/traverseContentWithModel.d.ts +84 -0
  217. package/dist/helpers/traverseContentWithModel.d.ts.map +1 -0
  218. package/dist/helpers/traverseContentWithModel.js +388 -0
  219. package/dist/helpers/traverseContentWithModel.js.map +1 -0
  220. package/dist/index.d.ts +56 -0
  221. package/dist/index.js +9 -0
  222. package/dist/io-ts.d.ts +4363 -0
  223. package/dist/io-ts.d.ts.map +1 -0
  224. package/dist/io-ts.js +220 -0
  225. package/dist/io-ts.js.map +1 -0
  226. package/dist/model/boolean.d.ts +16 -0
  227. package/dist/model/boolean.d.ts.map +1 -0
  228. package/dist/model/boolean.js +16 -0
  229. package/dist/model/boolean.js.map +1 -0
  230. package/dist/model/color.d.ts +15 -0
  231. package/dist/model/color.d.ts.map +1 -0
  232. package/dist/model/color.js +15 -0
  233. package/dist/model/color.js.map +1 -0
  234. package/dist/model/customType.d.ts +31 -0
  235. package/dist/model/customType.d.ts.map +1 -0
  236. package/dist/model/customType.js +18 -0
  237. package/dist/model/customType.js.map +1 -0
  238. package/dist/model/date.d.ts +16 -0
  239. package/dist/model/date.d.ts.map +1 -0
  240. package/dist/model/date.js +16 -0
  241. package/dist/model/date.js.map +1 -0
  242. package/dist/model/embed.d.ts +16 -0
  243. package/dist/model/embed.d.ts.map +1 -0
  244. package/dist/model/embed.js +16 -0
  245. package/dist/model/embed.js.map +1 -0
  246. package/dist/model/geopoint.d.ts +14 -0
  247. package/dist/model/geopoint.d.ts.map +1 -0
  248. package/dist/model/geopoint.js +12 -0
  249. package/dist/model/geopoint.js.map +1 -0
  250. package/dist/model/group.d.ts +567 -0
  251. package/dist/model/group.d.ts.map +1 -0
  252. package/dist/model/group.js +23 -0
  253. package/dist/model/group.js.map +1 -0
  254. package/dist/model/image.d.ts +24 -0
  255. package/dist/model/image.d.ts.map +1 -0
  256. package/dist/model/image.js +41 -0
  257. package/dist/model/image.js.map +1 -0
  258. package/dist/model/integrationField.d.ts +16 -0
  259. package/dist/model/integrationField.d.ts.map +1 -0
  260. package/dist/model/integrationField.js +16 -0
  261. package/dist/model/integrationField.js.map +1 -0
  262. package/dist/model/link.d.ts +48 -0
  263. package/dist/model/link.d.ts.map +1 -0
  264. package/dist/model/link.js +94 -0
  265. package/dist/model/link.js.map +1 -0
  266. package/dist/model/nestable.d.ts +23 -0
  267. package/dist/model/nestable.d.ts.map +1 -0
  268. package/dist/model/nestable.js +40 -0
  269. package/dist/model/nestable.js.map +1 -0
  270. package/dist/model/number.d.ts +18 -0
  271. package/dist/model/number.d.ts.map +1 -0
  272. package/dist/model/number.js +19 -0
  273. package/dist/model/number.js.map +1 -0
  274. package/dist/model/range.d.ts +18 -0
  275. package/dist/model/range.d.ts.map +1 -0
  276. package/dist/model/range.js +19 -0
  277. package/dist/model/range.js.map +1 -0
  278. package/dist/model/richText.d.ts +24 -0
  279. package/dist/model/richText.d.ts.map +1 -0
  280. package/dist/model/richText.js +73 -0
  281. package/dist/model/richText.js.map +1 -0
  282. package/dist/model/section.d.ts +11 -0
  283. package/dist/model/section.d.ts.map +1 -0
  284. package/dist/model/section.js +10 -0
  285. package/dist/model/section.js.map +1 -0
  286. package/dist/model/select.d.ts +17 -0
  287. package/dist/model/select.d.ts.map +1 -0
  288. package/dist/model/select.js +22 -0
  289. package/dist/model/select.js.map +1 -0
  290. package/dist/model/separator.d.ts +13 -0
  291. package/dist/model/separator.d.ts.map +1 -0
  292. package/dist/model/separator.js +11 -0
  293. package/dist/model/separator.js.map +1 -0
  294. package/dist/model/slice.d.ts +1476 -0
  295. package/dist/model/slice.d.ts.map +1 -0
  296. package/dist/model/slice.js +68 -0
  297. package/dist/model/slice.js.map +1 -0
  298. package/dist/model/slices.d.ts +33 -0
  299. package/dist/model/slices.d.ts.map +1 -0
  300. package/dist/model/slices.js +29 -0
  301. package/dist/model/slices.js.map +1 -0
  302. package/dist/model/table.d.ts +14 -0
  303. package/dist/model/table.d.ts.map +1 -0
  304. package/dist/model/table.js +22 -0
  305. package/dist/model/table.js.map +1 -0
  306. package/dist/model/text.d.ts +16 -0
  307. package/dist/model/text.d.ts.map +1 -0
  308. package/dist/model/text.js +16 -0
  309. package/dist/model/text.js.map +1 -0
  310. package/dist/model/timestamp.d.ts +16 -0
  311. package/dist/model/timestamp.d.ts.map +1 -0
  312. package/dist/model/timestamp.js +16 -0
  313. package/dist/model/timestamp.js.map +1 -0
  314. package/dist/model/uid.d.ts +16 -0
  315. package/dist/model/uid.d.ts.map +1 -0
  316. package/dist/model/uid.js +16 -0
  317. package/dist/model/uid.js.map +1 -0
  318. package/dist/model/widget.d.ts +60 -0
  319. package/dist/model/widget.d.ts.map +1 -0
  320. package/dist/model/widget.js +47 -0
  321. package/dist/model/widget.js.map +1 -0
  322. package/dist/zod4.d.ts +2321 -0
  323. package/dist/zod4.d.ts.map +1 -0
  324. package/dist/zod4.js +132 -0
  325. package/dist/zod4.js.map +1 -0
  326. package/package.json +55 -58
  327. package/src/common/asset.ts +29 -0
  328. package/src/common/embed.ts +27 -0
  329. package/src/common/hexaColorCode.ts +11 -0
  330. package/src/common/nonEmptyString.ts +9 -0
  331. package/src/common/widgetKey.ts +11 -0
  332. package/src/content/boolean.ts +23 -0
  333. package/src/content/codec/boolean.ts +38 -0
  334. package/src/content/codec/document.ts +60 -0
  335. package/src/content/codec/embed.ts +55 -0
  336. package/src/content/codec/empty.ts +49 -0
  337. package/src/content/codec/field.ts +96 -0
  338. package/src/content/codec/geopoint.ts +40 -0
  339. package/src/content/codec/group.ts +163 -0
  340. package/src/content/codec/image.ts +50 -0
  341. package/src/content/codec/integrationField.ts +38 -0
  342. package/src/content/{LegacyContentCtx.ts → codec/legacyContentCtx.ts} +17 -17
  343. package/src/content/codec/link.ts +103 -0
  344. package/src/content/codec/nestable.ts +146 -0
  345. package/src/content/codec/repeatable.ts +68 -0
  346. package/src/content/codec/richText.ts +117 -0
  347. package/src/content/codec/separator.ts +33 -0
  348. package/src/content/codec/slice.ts +276 -0
  349. package/src/content/codec/slices.ts +130 -0
  350. package/src/content/codec/table.ts +65 -0
  351. package/src/content/codec/uid.ts +36 -0
  352. package/src/content/codec/widget.ts +58 -0
  353. package/src/content/document.ts +8 -0
  354. package/src/content/embed.ts +12 -0
  355. package/src/content/empty.ts +10 -0
  356. package/src/content/field.ts +94 -0
  357. package/src/content/geopoint.ts +11 -0
  358. package/src/content/group.ts +99 -0
  359. package/src/content/image.ts +103 -0
  360. package/src/content/integrationField.ts +10 -0
  361. package/src/content/legacy/boolean.ts +5 -0
  362. package/src/content/legacy/document.ts +25 -0
  363. package/src/content/legacy/embed.ts +23 -0
  364. package/src/content/legacy/empty.ts +10 -0
  365. package/src/content/legacy/field.ts +8 -0
  366. package/src/content/legacy/geopoint.ts +10 -0
  367. package/src/content/legacy/group.ts +23 -0
  368. package/src/content/legacy/image.ts +43 -0
  369. package/src/content/legacy/integrationField.ts +5 -0
  370. package/src/content/legacy/link.ts +194 -0
  371. package/src/content/legacy/nestable.ts +55 -0
  372. package/src/content/legacy/repeatable.ts +7 -0
  373. package/src/content/legacy/richText.ts +198 -0
  374. package/src/content/legacy/separator.ts +6 -0
  375. package/src/content/legacy/slice.ts +38 -0
  376. package/src/content/legacy/slices.ts +17 -0
  377. package/src/content/legacy/table.ts +39 -0
  378. package/src/content/legacy/uid.ts +6 -0
  379. package/src/content/legacy/widget.ts +19 -0
  380. package/src/content/link.ts +154 -0
  381. package/src/content/nestable.ts +126 -0
  382. package/src/content/repeatable.ts +21 -0
  383. package/src/content/richText.ts +54 -0
  384. package/src/content/separator.ts +9 -0
  385. package/src/content/slice.ts +41 -0
  386. package/src/content/slices.ts +57 -0
  387. package/src/content/table.ts +14 -0
  388. package/src/content/uid.ts +10 -0
  389. package/src/content/widget.ts +21 -0
  390. package/src/content/{fields/withDefaultValues.ts → withDefaultValues.ts} +34 -39
  391. package/src/helpers/contentPath.ts +35 -0
  392. package/src/helpers/customTypeModel.ts +69 -0
  393. package/src/helpers/documentContent.ts +108 -0
  394. package/src/helpers/sliceContent.ts +86 -0
  395. package/src/helpers/traverseContent.ts +594 -0
  396. package/src/helpers/traverseContentWithModel.ts +616 -0
  397. package/src/index.ts +123 -0
  398. package/src/io-ts.ts +351 -0
  399. package/src/model/boolean.ts +15 -0
  400. package/src/model/color.ts +14 -0
  401. package/src/model/customType.ts +26 -0
  402. package/src/model/date.ts +15 -0
  403. package/src/model/diff/index.ts +4 -0
  404. package/src/{customtypes/diff/SharedSlice.ts → model/diff/sharedSlice.ts} +16 -18
  405. package/src/model/diff/utils.ts +45 -0
  406. package/src/model/diff/variation.ts +155 -0
  407. package/src/model/diff/widgets.ts +15 -0
  408. package/src/model/embed.ts +15 -0
  409. package/src/model/geopoint.ts +13 -0
  410. package/src/model/group.ts +39 -0
  411. package/src/model/image.ts +54 -0
  412. package/src/model/integrationField.ts +15 -0
  413. package/src/model/link.ts +141 -0
  414. package/src/model/nestable.ts +71 -0
  415. package/src/model/number.ts +26 -0
  416. package/src/model/range.ts +26 -0
  417. package/src/model/richText.ts +106 -0
  418. package/src/model/section.ts +12 -0
  419. package/src/model/select.ts +30 -0
  420. package/src/model/separator.ts +12 -0
  421. package/src/model/slice.ts +133 -0
  422. package/src/model/slices.ts +54 -0
  423. package/src/model/table.ts +29 -0
  424. package/src/model/text.ts +15 -0
  425. package/src/model/timestamp.ts +15 -0
  426. package/src/model/uid.ts +15 -0
  427. package/src/model/widget.ts +63 -0
  428. package/src/zod4.ts +187 -0
  429. package/lib/common/Asset.d.ts +0 -16
  430. package/lib/common/Asset.js +0 -11
  431. package/lib/common/Embed.d.ts +0 -15
  432. package/lib/common/Embed.js +0 -10
  433. package/lib/common/HexaColorCode.d.ts +0 -4
  434. package/lib/common/HexaColorCode.js +0 -7
  435. package/lib/common/UUID.d.ts +0 -6
  436. package/lib/common/UUID.js +0 -8
  437. package/lib/common/WidgetKey.d.ts +0 -3
  438. package/lib/common/WidgetKey.js +0 -8
  439. package/lib/common/index.d.ts +0 -3
  440. package/lib/common/index.js +0 -6
  441. package/lib/content/Document.d.ts +0 -11813
  442. package/lib/content/Document.js +0 -364
  443. package/lib/content/LegacyContentCtx.d.ts +0 -64
  444. package/lib/content/LegacyContentCtx.js +0 -130
  445. package/lib/content/fields/EmptyContent.d.ts +0 -16
  446. package/lib/content/fields/EmptyContent.js +0 -30
  447. package/lib/content/fields/GroupContent.d.ts +0 -53
  448. package/lib/content/fields/GroupContent.js +0 -307
  449. package/lib/content/fields/UIDContent.d.ts +0 -16
  450. package/lib/content/fields/UIDContent.js +0 -25
  451. package/lib/content/fields/WidgetContent.d.ts +0 -11749
  452. package/lib/content/fields/WidgetContent.js +0 -57
  453. package/lib/content/fields/index.d.ts +0 -6
  454. package/lib/content/fields/index.js +0 -9
  455. package/lib/content/fields/nestable/BooleanContent.d.ts +0 -18
  456. package/lib/content/fields/nestable/BooleanContent.js +0 -35
  457. package/lib/content/fields/nestable/EmbedContent.d.ts +0 -78
  458. package/lib/content/fields/nestable/EmbedContent.js +0 -56
  459. package/lib/content/fields/nestable/FieldContent/ColorContent.d.ts +0 -18
  460. package/lib/content/fields/nestable/FieldContent/ColorContent.js +0 -35
  461. package/lib/content/fields/nestable/FieldContent/DateContent.d.ts +0 -18
  462. package/lib/content/fields/nestable/FieldContent/DateContent.js +0 -35
  463. package/lib/content/fields/nestable/FieldContent/NumberContent.d.ts +0 -18
  464. package/lib/content/fields/nestable/FieldContent/NumberContent.js +0 -35
  465. package/lib/content/fields/nestable/FieldContent/RangeContent.d.ts +0 -18
  466. package/lib/content/fields/nestable/FieldContent/RangeContent.js +0 -35
  467. package/lib/content/fields/nestable/FieldContent/SelectContent.d.ts +0 -20
  468. package/lib/content/fields/nestable/FieldContent/SelectContent.js +0 -46
  469. package/lib/content/fields/nestable/FieldContent/TextContent.d.ts +0 -18
  470. package/lib/content/fields/nestable/FieldContent/TextContent.js +0 -35
  471. package/lib/content/fields/nestable/FieldContent/TimestampContent.d.ts +0 -18
  472. package/lib/content/fields/nestable/FieldContent/TimestampContent.js +0 -35
  473. package/lib/content/fields/nestable/FieldContent/common.d.ts +0 -1
  474. package/lib/content/fields/nestable/FieldContent/common.js +0 -4
  475. package/lib/content/fields/nestable/FieldContent/index.d.ts +0 -49
  476. package/lib/content/fields/nestable/FieldContent/index.js +0 -38
  477. package/lib/content/fields/nestable/GeoPointContent.d.ts +0 -33
  478. package/lib/content/fields/nestable/GeoPointContent.js +0 -31
  479. package/lib/content/fields/nestable/ImageContent.d.ts +0 -252
  480. package/lib/content/fields/nestable/ImageContent.js +0 -122
  481. package/lib/content/fields/nestable/IntegrationFieldContent.d.ts +0 -16
  482. package/lib/content/fields/nestable/IntegrationFieldContent.js +0 -28
  483. package/lib/content/fields/nestable/LinkContent.d.ts +0 -919
  484. package/lib/content/fields/nestable/LinkContent.js +0 -399
  485. package/lib/content/fields/nestable/NestableContent.d.ts +0 -1953
  486. package/lib/content/fields/nestable/NestableContent.js +0 -167
  487. package/lib/content/fields/nestable/RepeatableContent.d.ts +0 -182
  488. package/lib/content/fields/nestable/RepeatableContent.js +0 -146
  489. package/lib/content/fields/nestable/RichTextContent/Blocks.d.ts +0 -1261
  490. package/lib/content/fields/nestable/RichTextContent/Blocks.js +0 -170
  491. package/lib/content/fields/nestable/RichTextContent/index.d.ts +0 -1004
  492. package/lib/content/fields/nestable/RichTextContent/index.js +0 -28
  493. package/lib/content/fields/nestable/SeparatorContent.d.ts +0 -13
  494. package/lib/content/fields/nestable/SeparatorContent.js +0 -22
  495. package/lib/content/fields/nestable/TableContent.d.ts +0 -776
  496. package/lib/content/fields/nestable/TableContent.js +0 -167
  497. package/lib/content/fields/nestable/index.d.ts +0 -12
  498. package/lib/content/fields/nestable/index.js +0 -15
  499. package/lib/content/fields/slices/Slice/CompositeSliceContent.d.ts +0 -3934
  500. package/lib/content/fields/slices/Slice/CompositeSliceContent.js +0 -195
  501. package/lib/content/fields/slices/Slice/RepeatableContent.d.ts +0 -774
  502. package/lib/content/fields/slices/Slice/RepeatableContent.js +0 -21
  503. package/lib/content/fields/slices/Slice/SharedSliceContent.d.ts +0 -3937
  504. package/lib/content/fields/slices/Slice/SharedSliceContent.js +0 -215
  505. package/lib/content/fields/slices/Slice/SimpleSliceContent.d.ts +0 -1962
  506. package/lib/content/fields/slices/Slice/SimpleSliceContent.js +0 -130
  507. package/lib/content/fields/slices/Slice/SlicePrimaryContent.d.ts +0 -1952
  508. package/lib/content/fields/slices/Slice/SlicePrimaryContent.js +0 -30
  509. package/lib/content/fields/slices/Slice/index.d.ts +0 -6810
  510. package/lib/content/fields/slices/Slice/index.js +0 -45
  511. package/lib/content/fields/slices/SliceItem.d.ts +0 -6846
  512. package/lib/content/fields/slices/SliceItem.js +0 -116
  513. package/lib/content/fields/slices/SlicesContent.d.ts +0 -9827
  514. package/lib/content/fields/slices/SlicesContent.js +0 -465
  515. package/lib/content/fields/slices/index.d.ts +0 -3
  516. package/lib/content/fields/slices/index.js +0 -6
  517. package/lib/content/fields/withDefaultValues.d.ts +0 -9
  518. package/lib/content/fields/withDefaultValues.js +0 -79
  519. package/lib/content/helpers.d.ts +0 -9
  520. package/lib/content/helpers.js +0 -22
  521. package/lib/content/index.d.ts +0 -4
  522. package/lib/content/index.js +0 -7
  523. package/lib/content/utils.d.ts +0 -50
  524. package/lib/content/utils.js +0 -35
  525. package/lib/customtypes/CustomType.d.ts +0 -3680
  526. package/lib/customtypes/CustomType.js +0 -184
  527. package/lib/customtypes/Section.d.ts +0 -3635
  528. package/lib/customtypes/Section.js +0 -66
  529. package/lib/customtypes/diff/Changes.d.ts +0 -17
  530. package/lib/customtypes/diff/Changes.js +0 -9
  531. package/lib/customtypes/diff/SharedSlice.d.ts +0 -1624
  532. package/lib/customtypes/diff/SharedSlice.js +0 -55
  533. package/lib/customtypes/diff/Variation.d.ts +0 -1605
  534. package/lib/customtypes/diff/Variation.js +0 -113
  535. package/lib/customtypes/diff/Widgets.d.ts +0 -11
  536. package/lib/customtypes/diff/Widgets.js +0 -2
  537. package/lib/customtypes/diff/index.d.ts +0 -4
  538. package/lib/customtypes/diff/index.js +0 -7
  539. package/lib/customtypes/index.d.ts +0 -4
  540. package/lib/customtypes/index.js +0 -7
  541. package/lib/customtypes/widgets/Group.d.ts +0 -1352
  542. package/lib/customtypes/widgets/Group.js +0 -92
  543. package/lib/customtypes/widgets/UID.d.ts +0 -19
  544. package/lib/customtypes/widgets/UID.js +0 -21
  545. package/lib/customtypes/widgets/Widget.d.ts +0 -4457
  546. package/lib/customtypes/widgets/Widget.js +0 -49
  547. package/lib/customtypes/widgets/index.d.ts +0 -6
  548. package/lib/customtypes/widgets/index.js +0 -9
  549. package/lib/customtypes/widgets/nestable/BooleanField.d.ts +0 -20
  550. package/lib/customtypes/widgets/nestable/BooleanField.js +0 -21
  551. package/lib/customtypes/widgets/nestable/Color.d.ts +0 -17
  552. package/lib/customtypes/widgets/nestable/Color.js +0 -20
  553. package/lib/customtypes/widgets/nestable/Date.d.ts +0 -19
  554. package/lib/customtypes/widgets/nestable/Date.js +0 -21
  555. package/lib/customtypes/widgets/nestable/Embed.d.ts +0 -19
  556. package/lib/customtypes/widgets/nestable/Embed.js +0 -21
  557. package/lib/customtypes/widgets/nestable/GeoPoint.d.ts +0 -15
  558. package/lib/customtypes/widgets/nestable/GeoPoint.js +0 -19
  559. package/lib/customtypes/widgets/nestable/Image.d.ts +0 -44
  560. package/lib/customtypes/widgets/nestable/Image.js +0 -29
  561. package/lib/customtypes/widgets/nestable/IntegrationField.d.ts +0 -19
  562. package/lib/customtypes/widgets/nestable/IntegrationField.js +0 -21
  563. package/lib/customtypes/widgets/nestable/Link.d.ts +0 -196
  564. package/lib/customtypes/widgets/nestable/Link.js +0 -167
  565. package/lib/customtypes/widgets/nestable/NestableWidget.d.ts +0 -217
  566. package/lib/customtypes/widgets/nestable/NestableWidget.js +0 -39
  567. package/lib/customtypes/widgets/nestable/Number.d.ts +0 -23
  568. package/lib/customtypes/widgets/nestable/Number.js +0 -24
  569. package/lib/customtypes/widgets/nestable/Range.d.ts +0 -23
  570. package/lib/customtypes/widgets/nestable/Range.js +0 -24
  571. package/lib/customtypes/widgets/nestable/RichText.d.ts +0 -73
  572. package/lib/customtypes/widgets/nestable/RichText.js +0 -131
  573. package/lib/customtypes/widgets/nestable/Select.d.ts +0 -21
  574. package/lib/customtypes/widgets/nestable/Select.js +0 -22
  575. package/lib/customtypes/widgets/nestable/Separator.d.ts +0 -14
  576. package/lib/customtypes/widgets/nestable/Separator.js +0 -18
  577. package/lib/customtypes/widgets/nestable/Table.d.ts +0 -21
  578. package/lib/customtypes/widgets/nestable/Table.js +0 -30
  579. package/lib/customtypes/widgets/nestable/Text.d.ts +0 -19
  580. package/lib/customtypes/widgets/nestable/Text.js +0 -21
  581. package/lib/customtypes/widgets/nestable/Timestamp.d.ts +0 -19
  582. package/lib/customtypes/widgets/nestable/Timestamp.js +0 -21
  583. package/lib/customtypes/widgets/nestable/index.d.ts +0 -17
  584. package/lib/customtypes/widgets/nestable/index.js +0 -20
  585. package/lib/customtypes/widgets/shared/ImageConstraint.d.ts +0 -7
  586. package/lib/customtypes/widgets/shared/ImageConstraint.js +0 -31
  587. package/lib/customtypes/widgets/shared/index.d.ts +0 -1
  588. package/lib/customtypes/widgets/shared/index.js +0 -8
  589. package/lib/customtypes/widgets/slices/CompositeSlice.d.ts +0 -455
  590. package/lib/customtypes/widgets/slices/CompositeSlice.js +0 -63
  591. package/lib/customtypes/widgets/slices/LegacySlice.d.ts +0 -442
  592. package/lib/customtypes/widgets/slices/LegacySlice.js +0 -12
  593. package/lib/customtypes/widgets/slices/SharedSlice.d.ts +0 -1807
  594. package/lib/customtypes/widgets/slices/SharedSlice.js +0 -118
  595. package/lib/customtypes/widgets/slices/SharedSliceRef.d.ts +0 -5
  596. package/lib/customtypes/widgets/slices/SharedSliceRef.js +0 -9
  597. package/lib/customtypes/widgets/slices/Slice.d.ts +0 -6
  598. package/lib/customtypes/widgets/slices/Slice.js +0 -2
  599. package/lib/customtypes/widgets/slices/SlicePrimaryWidget.d.ts +0 -1259
  600. package/lib/customtypes/widgets/slices/SlicePrimaryWidget.js +0 -10
  601. package/lib/customtypes/widgets/slices/Slices.d.ts +0 -5917
  602. package/lib/customtypes/widgets/slices/Slices.js +0 -146
  603. package/lib/customtypes/widgets/slices/SlicesTypes.d.ts +0 -6
  604. package/lib/customtypes/widgets/slices/SlicesTypes.js +0 -11
  605. package/lib/customtypes/widgets/slices/index.d.ts +0 -8
  606. package/lib/customtypes/widgets/slices/index.js +0 -11
  607. package/lib/utils/Arrays.d.ts +0 -1
  608. package/lib/utils/Arrays.js +0 -13
  609. package/lib/utils/DocumentId.d.ts +0 -2
  610. package/lib/utils/DocumentId.js +0 -7
  611. package/lib/utils/Fields.d.ts +0 -6
  612. package/lib/utils/Fields.js +0 -2
  613. package/lib/utils/Objects.d.ts +0 -8
  614. package/lib/utils/Objects.js +0 -42
  615. package/lib/utils/index.d.ts +0 -4
  616. package/lib/utils/index.js +0 -8
  617. package/lib/validators/BasicTypes.d.ts +0 -10
  618. package/lib/validators/BasicTypes.js +0 -25
  619. package/lib/validators/DateFromString.d.ts +0 -3
  620. package/lib/validators/DateFromString.js +0 -11
  621. package/lib/validators/DateFromStringOrNumber.d.ts +0 -3
  622. package/lib/validators/DateFromStringOrNumber.js +0 -10
  623. package/lib/validators/DateFromTsMs.d.ts +0 -3
  624. package/lib/validators/DateFromTsMs.js +0 -10
  625. package/lib/validators/DefaultOrElse.d.ts +0 -5
  626. package/lib/validators/DefaultOrElse.js +0 -21
  627. package/lib/validators/IntFromNumber.d.ts +0 -5
  628. package/lib/validators/IntFromNumber.js +0 -14
  629. package/lib/validators/IntFromPixels.d.ts +0 -8
  630. package/lib/validators/IntFromPixels.js +0 -24
  631. package/lib/validators/NonEmptyString.d.ts +0 -3
  632. package/lib/validators/NonEmptyString.js +0 -6
  633. package/lib/validators/NonEmptyStringOrNull.d.ts +0 -3
  634. package/lib/validators/NonEmptyStringOrNull.js +0 -15
  635. package/lib/validators/NumberOrNull.d.ts +0 -3
  636. package/lib/validators/NumberOrNull.js +0 -6
  637. package/lib/validators/NumberRange.d.ts +0 -32
  638. package/lib/validators/NumberRange.js +0 -40
  639. package/lib/validators/StringFromBoolean.d.ts +0 -5
  640. package/lib/validators/StringFromBoolean.js +0 -10
  641. package/lib/validators/StringFromNumber.d.ts +0 -5
  642. package/lib/validators/StringFromNumber.js +0 -10
  643. package/lib/validators/StringOrNull.d.ts +0 -3
  644. package/lib/validators/StringOrNull.js +0 -6
  645. package/lib/validators/TrimmedString.d.ts +0 -5
  646. package/lib/validators/TrimmedString.js +0 -23
  647. package/lib/validators/function.d.ts +0 -34
  648. package/lib/validators/function.js +0 -100
  649. package/lib/validators/index.d.ts +0 -15
  650. package/lib/validators/index.js +0 -31
  651. package/src/common/Asset.ts +0 -25
  652. package/src/common/Embed.ts +0 -22
  653. package/src/common/HexaColorCode.ts +0 -11
  654. package/src/common/UUID.ts +0 -19
  655. package/src/common/WidgetKey.ts +0 -13
  656. package/src/common/index.ts +0 -3
  657. package/src/content/Document.ts +0 -539
  658. package/src/content/fields/EmptyContent.ts +0 -45
  659. package/src/content/fields/GroupContent.ts +0 -466
  660. package/src/content/fields/UIDContent.ts +0 -42
  661. package/src/content/fields/WidgetContent.ts +0 -76
  662. package/src/content/fields/index.ts +0 -6
  663. package/src/content/fields/nestable/BooleanContent.ts +0 -52
  664. package/src/content/fields/nestable/EmbedContent.ts +0 -74
  665. package/src/content/fields/nestable/FieldContent/ColorContent.ts +0 -49
  666. package/src/content/fields/nestable/FieldContent/DateContent.ts +0 -49
  667. package/src/content/fields/nestable/FieldContent/NumberContent.ts +0 -49
  668. package/src/content/fields/nestable/FieldContent/RangeContent.ts +0 -49
  669. package/src/content/fields/nestable/FieldContent/SelectContent.ts +0 -60
  670. package/src/content/fields/nestable/FieldContent/TextContent.ts +0 -49
  671. package/src/content/fields/nestable/FieldContent/TimestampContent.ts +0 -49
  672. package/src/content/fields/nestable/FieldContent/common.ts +0 -1
  673. package/src/content/fields/nestable/FieldContent/index.ts +0 -40
  674. package/src/content/fields/nestable/GeoPointContent.ts +0 -48
  675. package/src/content/fields/nestable/ImageContent.ts +0 -196
  676. package/src/content/fields/nestable/IntegrationFieldContent.ts +0 -51
  677. package/src/content/fields/nestable/LinkContent.ts +0 -651
  678. package/src/content/fields/nestable/NestableContent.ts +0 -241
  679. package/src/content/fields/nestable/RepeatableContent.ts +0 -224
  680. package/src/content/fields/nestable/RichTextContent/Blocks.ts +0 -238
  681. package/src/content/fields/nestable/RichTextContent/index.ts +0 -42
  682. package/src/content/fields/nestable/SeparatorContent.ts +0 -34
  683. package/src/content/fields/nestable/TableContent.ts +0 -234
  684. package/src/content/fields/nestable/index.ts +0 -12
  685. package/src/content/fields/slices/Slice/CompositeSliceContent.ts +0 -293
  686. package/src/content/fields/slices/Slice/RepeatableContent.ts +0 -29
  687. package/src/content/fields/slices/Slice/SharedSliceContent.ts +0 -305
  688. package/src/content/fields/slices/Slice/SimpleSliceContent.ts +0 -180
  689. package/src/content/fields/slices/Slice/SlicePrimaryContent.ts +0 -40
  690. package/src/content/fields/slices/Slice/index.ts +0 -52
  691. package/src/content/fields/slices/SliceItem.ts +0 -184
  692. package/src/content/fields/slices/SlicesContent.ts +0 -677
  693. package/src/content/fields/slices/index.ts +0 -3
  694. package/src/content/helpers.ts +0 -25
  695. package/src/content/index.ts +0 -4
  696. package/src/content/utils.ts +0 -145
  697. package/src/customtypes/CustomType.ts +0 -280
  698. package/src/customtypes/Section.ts +0 -98
  699. package/src/customtypes/diff/Variation.ts +0 -167
  700. package/src/customtypes/diff/Widgets.ts +0 -17
  701. package/src/customtypes/diff/index.ts +0 -4
  702. package/src/customtypes/index.ts +0 -4
  703. package/src/customtypes/widgets/Group.ts +0 -120
  704. package/src/customtypes/widgets/UID.ts +0 -27
  705. package/src/customtypes/widgets/Widget.ts +0 -83
  706. package/src/customtypes/widgets/index.ts +0 -6
  707. package/src/customtypes/widgets/nestable/BooleanField.ts +0 -29
  708. package/src/customtypes/widgets/nestable/Color.ts +0 -25
  709. package/src/customtypes/widgets/nestable/Date.ts +0 -27
  710. package/src/customtypes/widgets/nestable/Embed.ts +0 -27
  711. package/src/customtypes/widgets/nestable/GeoPoint.ts +0 -25
  712. package/src/customtypes/widgets/nestable/Image.ts +0 -39
  713. package/src/customtypes/widgets/nestable/IntegrationField.ts +0 -26
  714. package/src/customtypes/widgets/nestable/Link.ts +0 -313
  715. package/src/customtypes/widgets/nestable/NestableWidget.ts +0 -40
  716. package/src/customtypes/widgets/nestable/Number.ts +0 -30
  717. package/src/customtypes/widgets/nestable/Range.ts +0 -30
  718. package/src/customtypes/widgets/nestable/RichText.ts +0 -215
  719. package/src/customtypes/widgets/nestable/Select.ts +0 -34
  720. package/src/customtypes/widgets/nestable/Separator.ts +0 -24
  721. package/src/customtypes/widgets/nestable/Table.ts +0 -38
  722. package/src/customtypes/widgets/nestable/Text.ts +0 -27
  723. package/src/customtypes/widgets/nestable/Timestamp.ts +0 -27
  724. package/src/customtypes/widgets/nestable/index.ts +0 -17
  725. package/src/customtypes/widgets/shared/ImageConstraint.ts +0 -41
  726. package/src/customtypes/widgets/shared/index.ts +0 -1
  727. package/src/customtypes/widgets/slices/CompositeSlice.ts +0 -79
  728. package/src/customtypes/widgets/slices/LegacySlice.ts +0 -15
  729. package/src/customtypes/widgets/slices/SharedSlice.ts +0 -152
  730. package/src/customtypes/widgets/slices/SharedSliceRef.ts +0 -10
  731. package/src/customtypes/widgets/slices/Slice.ts +0 -7
  732. package/src/customtypes/widgets/slices/SlicePrimaryWidget.ts +0 -12
  733. package/src/customtypes/widgets/slices/Slices.ts +0 -184
  734. package/src/customtypes/widgets/slices/SlicesTypes.ts +0 -11
  735. package/src/customtypes/widgets/slices/index.ts +0 -8
  736. package/src/utils/Arrays.ts +0 -12
  737. package/src/utils/DocumentId.ts +0 -8
  738. package/src/utils/Fields.ts +0 -4
  739. package/src/utils/Objects.ts +0 -53
  740. package/src/utils/index.ts +0 -4
  741. package/src/validators/BasicTypes.ts +0 -55
  742. package/src/validators/DateFromString.ts +0 -19
  743. package/src/validators/DateFromStringOrNumber.ts +0 -17
  744. package/src/validators/DateFromTsMs.ts +0 -17
  745. package/src/validators/DefaultOrElse.ts +0 -24
  746. package/src/validators/IntFromNumber.ts +0 -22
  747. package/src/validators/IntFromPixels.ts +0 -32
  748. package/src/validators/NonEmptyString.ts +0 -8
  749. package/src/validators/NonEmptyStringOrNull.ts +0 -22
  750. package/src/validators/NumberOrNull.ts +0 -5
  751. package/src/validators/NumberRange.ts +0 -51
  752. package/src/validators/StringFromBoolean.ts +0 -19
  753. package/src/validators/StringFromNumber.ts +0 -19
  754. package/src/validators/StringOrNull.ts +0 -5
  755. package/src/validators/TrimmedString.ts +0 -33
  756. package/src/validators/function.ts +0 -115
  757. package/src/validators/index.ts +0 -15
  758. /package/src/{customtypes/diff/Changes.ts → model/diff/changes.ts} +0 -0
@@ -1,466 +0,0 @@
1
- import { array, either } from "fp-ts"
2
- import { isLeft } from "fp-ts/lib/Either"
3
- import { pipe } from "fp-ts/lib/function"
4
- import * as t from "io-ts"
5
-
6
- import {
7
- type Group,
8
- type NestableWidget,
9
- type NestedGroup,
10
- GroupFieldType,
11
- } from "../../customtypes"
12
- import {
13
- FieldOrSliceType,
14
- getFieldCtx,
15
- LegacyContentCtx,
16
- WithTypes,
17
- } from "../LegacyContentCtx"
18
- import {
19
- ContentPath,
20
- hasContentType,
21
- TraverseWidgetContentFn,
22
- TraverseWidgetContentWithModelFn,
23
- } from "../utils"
24
- import {
25
- isNestableContent,
26
- isRepeatableContent,
27
- isTableContent,
28
- NestableContent,
29
- NestableLegacy,
30
- traverseRepeatableContent,
31
- traverseRepeatableContentWithModel,
32
- traverseTableContent,
33
- traverseTableContentWithModel,
34
- } from "./nestable"
35
- import { repeatableContentWithDefaultNestableContentValues } from "./withDefaultValues"
36
-
37
- export const GroupItemContentType = "GroupItemContent" as const
38
- export const GroupContentType = "GroupContentType" as const
39
-
40
- export const GroupItemContent: t.Type<GroupItemContent> = t.recursion(
41
- "GroupItemContent",
42
- () =>
43
- t.strict({
44
- __TYPE__: t.literal(GroupItemContentType),
45
- key: t.string,
46
- value: t.array(
47
- t.tuple([t.string, t.union([NestableContent, GroupContent])]),
48
- ),
49
- }),
50
- )
51
- export type GroupItemContent = {
52
- __TYPE__: typeof GroupItemContentType
53
- key: string
54
- value: [string, NestableContent | GroupContent][]
55
- }
56
-
57
- export const GroupContent: t.Type<GroupContent> = t.recursion(
58
- "GroupContent",
59
- () =>
60
- t.strict({
61
- __TYPE__: t.literal(GroupContentType),
62
- value: t.array(GroupItemContent),
63
- }),
64
- )
65
- export type GroupContent = {
66
- __TYPE__: typeof GroupContentType
67
- value: GroupItemContent[]
68
- }
69
-
70
- export const isGroupContent = (u: unknown): u is GroupContent =>
71
- hasContentType(u) && u.__TYPE__ === GroupContentType
72
-
73
- export const GroupContentDefaultValue: GroupContent = {
74
- __TYPE__: GroupContentType,
75
- value: [],
76
- }
77
-
78
- const itemLegacyReader = t.record(t.string, t.unknown)
79
- export type GroupItemLegacy = t.TypeOf<typeof itemLegacyReader>
80
-
81
- export const GroupItemLegacy = (ctx: LegacyContentCtx, index: number) => {
82
- return new t.Type<GroupItemContent, WithTypes<GroupItemLegacy>>(
83
- "GroupItemLegacy",
84
- (u): u is GroupItemContent =>
85
- hasContentType(u) && u.__TYPE__ === GroupItemContentType,
86
- (u) => {
87
- const parsed = pipe(
88
- itemLegacyReader.decode(u),
89
- either.map((items) => {
90
- const groupItemCtx = ctx.withContentKey(`${index}`)
91
- const parsedItems = Object.entries(items).reduce<
92
- Array<[string, NestableContent | GroupContent]>
93
- >((acc, [itemKey, itemValue]) => {
94
- const itemCtx = getFieldCtx({
95
- fieldKey: itemKey,
96
- contentKey: itemKey,
97
- ctx: groupItemCtx,
98
- })
99
- const result =
100
- itemCtx.fieldType === GroupFieldType
101
- ? GroupLegacy(itemCtx).decode(itemValue)
102
- : NestableLegacy(itemCtx).decode(itemValue)
103
-
104
- if (!result) return acc
105
-
106
- if (isLeft(result)) return acc
107
- return [...acc, [itemKey, result.right]]
108
- }, [])
109
-
110
- return {
111
- value: parsedItems,
112
- __TYPE__: GroupItemContentType,
113
- key: groupItemCtx.fieldContentKey,
114
- }
115
- }),
116
- )
117
- return parsed
118
- },
119
- (item) => {
120
- const groupItemCtx = ctx.withContentKey(`${index}`)
121
- return item.value.reduce<WithTypes<GroupItemLegacy>>(
122
- (acc, [key, value]) => {
123
- const itemCtx = getFieldCtx({ fieldKey: key, ctx })
124
- const encoded = isGroupContent(value)
125
- ? GroupLegacy(itemCtx).encode(value)
126
- : NestableLegacy(itemCtx).encode(value)
127
-
128
- if (!encoded) return acc
129
-
130
- return {
131
- content: { ...acc.content, [key]: encoded.content },
132
- types: { ...acc.types, ...encoded.types },
133
- keys: { ...acc.keys, ...encoded.keys },
134
- }
135
- },
136
- { content: {}, types: {}, keys: { [groupItemCtx.keyOfKey]: item.key } },
137
- )
138
- },
139
- )
140
- }
141
-
142
- export function arrayWithIndexCodec<T, O>(
143
- f: (index: number) => t.Type<T, O, unknown>,
144
- ): t.Type<Array<T>, O[], unknown> {
145
- return new t.Type<Array<T>, O[], unknown>(
146
- "ArrayWithIndexCodec",
147
- (u): u is Array<T> => Array.isArray(u),
148
- (items) =>
149
- pipe(
150
- t.array(t.unknown).decode(items),
151
- either.chain((validItems) => {
152
- const decodedItems = validItems.map((item, index) => {
153
- return f(index).decode(item)
154
- })
155
- return array.sequence(either.Applicative)(decodedItems)
156
- }),
157
- ),
158
- (items) => items.map((item, index) => f(index).encode(item)),
159
- )
160
- }
161
-
162
- type GroupLegacy = Array<GroupItemLegacy>
163
- export const GroupLegacy = (
164
- ctx: LegacyContentCtx,
165
- ): t.Type<GroupContent, WithTypes<GroupLegacy>, unknown> => {
166
- const codecDecode = arrayWithIndexCodec<
167
- GroupItemContent | null,
168
- WithTypes<GroupItemLegacy> | null
169
- >((index) => t.union([GroupItemLegacy(ctx, index), t.null]))
170
-
171
- const codecEncode = (items: GroupItemContent[]) =>
172
- items.map((item, index) => GroupItemLegacy(ctx, index).encode(item))
173
-
174
- return new t.Type<GroupContent, WithTypes<GroupLegacy>, unknown>(
175
- "GroupLegacy",
176
- isGroupContent,
177
- (items) => {
178
- return pipe(
179
- codecDecode.decode(items),
180
- either.map((parsedItems) => {
181
- const value = parsedItems.map((i, index) => {
182
- if (i === null) {
183
- const key = ctx.withContentKey(`${index}`).fieldContentKey
184
- return { __TYPE__: GroupItemContentType, key, value: [] }
185
- }
186
- return i
187
- })
188
- return {
189
- value,
190
- __TYPE__: GroupContentType,
191
- }
192
- }),
193
- )
194
- },
195
- (g: GroupContent) => {
196
- const res = codecEncode(g.value)
197
- return {
198
- content: res.map((block) => block.content),
199
- types: res.reduce<Record<string, FieldOrSliceType>>(
200
- (acc, block) => {
201
- return { ...acc, ...block.types }
202
- },
203
- { [ctx.keyOfType]: GroupFieldType },
204
- ),
205
- keys: res.reduce<Record<string, string>>((acc, block) => {
206
- return { ...acc, ...block.keys }
207
- }, {}),
208
- }
209
- },
210
- )
211
- }
212
-
213
- export function groupContentWithDefaultValues(
214
- customType: Group,
215
- content: GroupContent,
216
- ): GroupContent {
217
- const fields = customType.config?.fields
218
- if (!fields) return content
219
- return {
220
- ...content,
221
- value: repeatableContentWithDefaultNestableContentValues(
222
- fields,
223
- content.value,
224
- ),
225
- }
226
- }
227
-
228
- export function traverseGroupContent({
229
- path,
230
- key,
231
- apiId,
232
- model,
233
- content,
234
- }: {
235
- path: ContentPath
236
- key: string
237
- apiId: string
238
- content: GroupContent
239
- model?: Group | undefined
240
- }) {
241
- return (transform: TraverseWidgetContentFn): GroupContent | undefined => {
242
- const groupItems = traverseGroupItemsContent({
243
- path,
244
- model: model?.config?.fields,
245
- content: content.value,
246
- })(transform)
247
-
248
- return transform({
249
- path,
250
- key,
251
- apiId,
252
- model,
253
- content: {
254
- __TYPE__: content.__TYPE__,
255
- value: groupItems,
256
- },
257
- })
258
- }
259
- }
260
-
261
- export function traverseGroupItemsContent({
262
- path,
263
- model,
264
- content,
265
- }: {
266
- path: ContentPath
267
- content: Array<GroupItemContent>
268
- model?: Record<string, Group | NestableWidget> | undefined
269
- }) {
270
- return (transform: TraverseWidgetContentFn): Array<GroupItemContent> => {
271
- return content.map((groupItem) => {
272
- const groupItemPath = path.concat([
273
- { key: groupItem.key, type: "GroupItem" },
274
- ])
275
-
276
- const groupItemFields = groupItem.value.reduce<GroupItemContent["value"]>(
277
- (acc, [fieldKey, fieldContent]) => {
278
- const fieldDef = model?.[fieldKey]
279
-
280
- let transformedField
281
- if (isGroupContent(fieldContent)) {
282
- transformedField = traverseGroupContent({
283
- path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
284
- key: fieldKey,
285
- apiId: fieldKey,
286
- model: fieldDef?.type === "Group" ? fieldDef : undefined,
287
- content: fieldContent,
288
- })(transform)
289
- } else if (isRepeatableContent(fieldContent)) {
290
- transformedField = traverseRepeatableContent({
291
- path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
292
- key: fieldKey,
293
- apiId: fieldKey,
294
- model: fieldDef?.type === "Link" ? fieldDef : undefined,
295
- content: fieldContent,
296
- })(transform)
297
- } else if (isTableContent(fieldContent)) {
298
- transformedField = traverseTableContent({
299
- path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
300
- key: fieldKey,
301
- apiId: fieldKey,
302
- model: fieldDef?.type === "Table" ? fieldDef : undefined,
303
- content: fieldContent,
304
- })(transform)
305
- } else {
306
- transformedField = transform({
307
- path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
308
- key: fieldKey,
309
- apiId: fieldKey,
310
- model: fieldDef,
311
- content: fieldContent,
312
- })
313
- }
314
-
315
- // Can happen if the transform function returns undefined to filter out a field
316
- if (
317
- !transformedField ||
318
- !(
319
- isNestableContent(transformedField) ||
320
- isGroupContent(transformedField)
321
- )
322
- )
323
- return acc
324
-
325
- return acc.concat([[fieldKey, transformedField]])
326
- },
327
- [],
328
- )
329
-
330
- return {
331
- __TYPE__: groupItem.__TYPE__,
332
- key: groupItem.key,
333
- value: groupItemFields,
334
- }
335
- })
336
- }
337
- }
338
-
339
- export function traverseGroupContentWithModel({
340
- path,
341
- key,
342
- model,
343
- content,
344
- }: {
345
- path: ContentPath
346
- key: string
347
- model: Group
348
- content: GroupContent | undefined
349
- }): (transform: TraverseWidgetContentWithModelFn) => GroupContent | undefined {
350
- return (transform) => {
351
- const groupItems = traverseGroupItemsContentWithModel({
352
- path,
353
- model: model.config?.fields ?? {},
354
- content: content?.value,
355
- })(transform)
356
-
357
- return transform({
358
- path,
359
- key,
360
- apiId: key,
361
- model,
362
- content: content
363
- ? {
364
- __TYPE__: content.__TYPE__,
365
- value: groupItems,
366
- }
367
- : undefined,
368
- })
369
- }
370
- }
371
-
372
- export function traverseGroupItemsContentWithModel({
373
- path,
374
- model,
375
- content,
376
- }: {
377
- path: ContentPath
378
- model: Record<string, NestableWidget | Group | NestedGroup>
379
- content: Array<GroupItemContent> | undefined
380
- }): (transform: TraverseWidgetContentWithModelFn) => Array<GroupItemContent> {
381
- return (transform) => {
382
- if (!content) return []
383
-
384
- return content.map((groupItem) => {
385
- const groupItemPath = path.concat([
386
- { key: groupItem.key, type: "GroupItem" },
387
- ])
388
-
389
- const groupItemFields = Object.entries(model).reduce<
390
- GroupItemContent["value"]
391
- >((acc, [fieldKey, fieldModel]) => {
392
- const fieldContent = groupItem.value.find(
393
- ([key]) => key === fieldKey,
394
- )?.[1]
395
-
396
- const fieldPath = groupItemPath.concat([
397
- { key: fieldKey, type: "Widget" },
398
- ])
399
-
400
- let transformedField: NestableContent | GroupContent | undefined
401
- if (fieldModel.type === "Group") {
402
- const groupContent = isGroupContent(fieldContent)
403
- ? fieldContent
404
- : undefined
405
- transformedField = traverseGroupContentWithModel({
406
- path: fieldPath,
407
- key: fieldKey,
408
- model: fieldModel,
409
- content: groupContent,
410
- })(transform)
411
- } else if (
412
- fieldModel.type === "Link" &&
413
- fieldModel.config?.repeat === true
414
- ) {
415
- const repeatableContent = isRepeatableContent(fieldContent)
416
- ? fieldContent
417
- : undefined
418
- transformedField = traverseRepeatableContentWithModel({
419
- path: fieldPath,
420
- key: fieldKey,
421
- model: fieldModel,
422
- content: repeatableContent,
423
- })(transform)
424
- } else if (fieldModel.type === "Table") {
425
- const tableContent = isTableContent(fieldContent)
426
- ? fieldContent
427
- : undefined
428
- transformedField = traverseTableContentWithModel({
429
- path: fieldPath,
430
- key: fieldKey,
431
- model: fieldModel,
432
- content: tableContent,
433
- })(transform)
434
- } else {
435
- const nestableContent = isNestableContent(fieldContent)
436
- ? fieldContent
437
- : undefined
438
- transformedField = transform({
439
- path: fieldPath,
440
- key: fieldKey,
441
- apiId: fieldKey,
442
- model: fieldModel,
443
- content: nestableContent,
444
- })
445
- }
446
-
447
- if (
448
- !transformedField ||
449
- !(
450
- isNestableContent(transformedField) ||
451
- isGroupContent(transformedField)
452
- )
453
- )
454
- return acc
455
-
456
- return acc.concat([[fieldKey, transformedField]])
457
- }, [])
458
-
459
- return {
460
- __TYPE__: groupItem.__TYPE__,
461
- key: groupItem.key,
462
- value: groupItemFields,
463
- }
464
- })
465
- }
466
- }
@@ -1,42 +0,0 @@
1
- import { either } from "fp-ts"
2
- import { pipe } from "fp-ts/lib/function"
3
- import * as t from "io-ts"
4
-
5
- import type { LegacyContentCtx, WithTypes } from "../LegacyContentCtx"
6
- import { hasContentType } from "../utils"
7
-
8
- export const UIDContentType = "UIDContent"
9
-
10
- export const isUIDContent = (u: unknown): u is UIDContent =>
11
- hasContentType(u) && u.__TYPE__ === UIDContentType
12
-
13
- type UIDLegacy = string
14
-
15
- export const UIDLegacy = (ctx: LegacyContentCtx) =>
16
- new t.Type<UIDContent, WithTypes<UIDLegacy>, unknown>(
17
- "UIDLegacy",
18
- isUIDContent,
19
- (u) => {
20
- return pipe(
21
- t.string.decode(u),
22
- either.map((uid) =>
23
- UIDContent.encode({ value: uid, __TYPE__: UIDContentType }),
24
- ),
25
- )
26
- },
27
-
28
- (uid: UIDContent) => {
29
- return {
30
- content: uid.value,
31
- types: { [ctx.keyOfType]: "UID" },
32
- keys: {},
33
- }
34
- },
35
- )
36
-
37
- export const UIDContent = t.type({
38
- __TYPE__: t.literal(UIDContentType),
39
- value: t.string,
40
- })
41
-
42
- export type UIDContent = t.TypeOf<typeof UIDContent>
@@ -1,76 +0,0 @@
1
- import * as t from "io-ts"
2
-
3
- import type { LegacyContentCtx } from "../LegacyContentCtx"
4
- import {
5
- GroupContent,
6
- GroupContentType,
7
- GroupLegacy,
8
- isGroupContent,
9
- } from "./GroupContent"
10
- import { isNestableContent, NestableContent, NestableLegacy } from "./nestable"
11
- import {
12
- isSlicesContent,
13
- SlicesContent,
14
- SlicesContentType,
15
- SlicesLegacy,
16
- } from "./slices"
17
- import {
18
- isUIDContent,
19
- UIDContent,
20
- UIDContentType,
21
- UIDLegacy,
22
- } from "./UIDContent"
23
-
24
- export const WidgetContent = t.union([
25
- GroupContent,
26
- NestableContent,
27
- UIDContent,
28
- SlicesContent,
29
- ])
30
-
31
- export const isWidgetContent = (u: unknown): u is WidgetContent =>
32
- isGroupContent(u) ||
33
- isNestableContent(u) ||
34
- isUIDContent(u) ||
35
- isSlicesContent(u)
36
-
37
- export type WidgetContent = t.TypeOf<typeof WidgetContent>
38
- export type ContentType = WidgetContent["__TYPE__"]
39
-
40
- export const WidgetLegacy = (ctx: LegacyContentCtx) => {
41
- return {
42
- decode(value: unknown) {
43
- if (!ctx.fieldType) return
44
-
45
- const codec = (() => {
46
- switch (ctx.fieldType) {
47
- case "UID":
48
- return UIDLegacy(ctx)
49
- case "Group":
50
- return GroupLegacy(ctx)
51
- case "Choice":
52
- case "Slices":
53
- return SlicesLegacy(ctx)
54
- default:
55
- return NestableLegacy(ctx)
56
- }
57
- })()
58
-
59
- if (!codec) return
60
-
61
- return codec.decode(value)
62
- },
63
- encode(value: WidgetContent) {
64
- switch (value.__TYPE__) {
65
- case UIDContentType:
66
- return UIDLegacy(ctx).encode(value)
67
- case GroupContentType:
68
- return GroupLegacy(ctx).encode(value)
69
- case SlicesContentType:
70
- return SlicesLegacy(ctx).encode(value)
71
- default:
72
- return NestableLegacy(ctx).encode(value)
73
- }
74
- },
75
- }
76
- }
@@ -1,6 +0,0 @@
1
- export * from "./EmptyContent"
2
- export * from "./GroupContent"
3
- export * from "./nestable"
4
- export * from "./slices"
5
- export * from "./UIDContent"
6
- export * from "./WidgetContent"
@@ -1,52 +0,0 @@
1
- import { either } from "fp-ts"
2
- import { pipe } from "fp-ts/lib/function"
3
- import * as t from "io-ts"
4
-
5
- import type { BooleanField } from "../../../customtypes"
6
- import type { LegacyContentCtx, WithTypes } from "../../LegacyContentCtx"
7
- import { hasContentType } from "../../utils"
8
-
9
- export const BooleanContentType = "BooleanContent"
10
- export const isBooleanContent = (u: unknown): u is BooleanContent =>
11
- hasContentType(u) && u.__TYPE__ === BooleanContentType
12
-
13
- type BooleanLegacy = boolean
14
-
15
- export const BooleanLegacy = (ctx: LegacyContentCtx) =>
16
- new t.Type<BooleanContent, WithTypes<BooleanLegacy>, unknown>(
17
- "BooleanLegacy",
18
- isBooleanContent,
19
- (u) => {
20
- return pipe(
21
- t.boolean.decode(u),
22
- either.map((b) =>
23
- BooleanContent.encode({ value: b, __TYPE__: BooleanContentType }),
24
- ),
25
- )
26
- },
27
-
28
- (b: BooleanContent) => {
29
- return {
30
- content: b.value,
31
- types: { [ctx.keyOfType]: "Boolean" },
32
- keys: {},
33
- }
34
- },
35
- )
36
-
37
- export const BooleanContent = t.strict({
38
- __TYPE__: t.literal(BooleanContentType),
39
- value: t.boolean,
40
- })
41
-
42
- export type BooleanContent = t.TypeOf<typeof BooleanContent>
43
-
44
- export const BooleanContentDefaultValue = (
45
- field: BooleanField,
46
- ): BooleanContent | undefined =>
47
- field.config?.default_value !== undefined
48
- ? {
49
- __TYPE__: BooleanContentType,
50
- value: field.config.default_value || false,
51
- }
52
- : undefined
@@ -1,74 +0,0 @@
1
- import { either } from "fp-ts"
2
- import { pipe } from "fp-ts/lib/function"
3
- import * as t from "io-ts"
4
-
5
- import { NumberOrNull, StringOrNull } from "../../../validators"
6
- import type { LegacyContentCtx, WithTypes } from "../../LegacyContentCtx"
7
- import { hasContentType } from "../../utils"
8
-
9
- export const EmbedContentType = "EmbedContent"
10
-
11
- export const isEmbedContent = (u: unknown): u is EmbedContent =>
12
- hasContentType(u) && u.__TYPE__ === EmbedContentType
13
-
14
- export const EmbedContentLegacy = t.exact(
15
- t.intersection([
16
- t.type({
17
- embed_url: t.string,
18
- type: t.string,
19
- }),
20
- t.partial({
21
- version: t.union([t.string, t.number, t.null]),
22
- title: StringOrNull,
23
- author_name: StringOrNull,
24
- author_url: StringOrNull,
25
- provider_name: StringOrNull,
26
- provider_url: StringOrNull,
27
- cache_age: t.union([t.string, t.number, t.null]),
28
- thumbnail_url: StringOrNull,
29
- thumbnail_width: NumberOrNull,
30
- thumbnail_height: NumberOrNull,
31
- html: StringOrNull,
32
- }),
33
- ]),
34
- )
35
-
36
- export type EmbedLegacy = t.TypeOf<typeof EmbedContentLegacy>
37
-
38
- export const EmbedLegacy = (ctx: LegacyContentCtx) =>
39
- new t.Type<EmbedContent, WithTypes<unknown>, unknown>(
40
- "EmbedLegacy",
41
- isEmbedContent,
42
- (u) => {
43
- return pipe(
44
- EmbedContentLegacy.decode(u),
45
- either.map((embed) => ({
46
- ...embed,
47
- all: u,
48
- __TYPE__: EmbedContentType,
49
- })),
50
- )
51
- },
52
-
53
- (embed: EmbedContent) => {
54
- return {
55
- /**
56
- * we cast here because actually in the all property
57
- * we can have extra keys that are never parsed and we don't want to loose them.
58
- **/
59
- content: embed.all,
60
- types: { [ctx.keyOfType]: "Embed" },
61
- keys: {},
62
- }
63
- },
64
- )
65
-
66
- export const EmbedContent = t.intersection([
67
- EmbedContentLegacy,
68
- t.strict({
69
- __TYPE__: t.literal(EmbedContentType),
70
- all: t.unknown,
71
- }),
72
- ])
73
-
74
- export type EmbedContent = t.TypeOf<typeof EmbedContent>