@prismicio/types-internal 3.17.0 → 4.0.0-canary.72def6d

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 (709) hide show
  1. package/README.md +41 -25
  2. package/dist/common/asset.d.ts +22 -0
  3. package/dist/common/asset.d.ts.map +1 -0
  4. package/dist/common/asset.js +21 -0
  5. package/dist/common/asset.js.map +1 -0
  6. package/dist/common/embed.d.ts +21 -0
  7. package/dist/common/embed.d.ts.map +1 -0
  8. package/dist/common/embed.js +20 -0
  9. package/dist/common/embed.js.map +1 -0
  10. package/dist/common/hexaColorCode.d.ts +8 -0
  11. package/dist/common/hexaColorCode.d.ts.map +1 -0
  12. package/dist/common/hexaColorCode.js +8 -0
  13. package/dist/common/hexaColorCode.js.map +1 -0
  14. package/dist/common/nonEmptyString.d.ts +8 -0
  15. package/dist/common/nonEmptyString.d.ts.map +1 -0
  16. package/dist/common/nonEmptyString.js +7 -0
  17. package/dist/common/nonEmptyString.js.map +1 -0
  18. package/dist/common/widgetKey.d.ts +8 -0
  19. package/dist/common/widgetKey.d.ts.map +1 -0
  20. package/dist/common/widgetKey.js +8 -0
  21. package/dist/common/widgetKey.js.map +1 -0
  22. package/dist/content/boolean.d.ts +11 -0
  23. package/dist/content/boolean.d.ts.map +1 -0
  24. package/dist/content/boolean.js +11 -0
  25. package/dist/content/boolean.js.map +1 -0
  26. package/dist/content/codec/boolean.js +31 -0
  27. package/dist/content/codec/boolean.js.map +1 -0
  28. package/dist/content/codec/document.js +49 -0
  29. package/dist/content/codec/document.js.map +1 -0
  30. package/dist/content/codec/embed.js +42 -0
  31. package/dist/content/codec/embed.js.map +1 -0
  32. package/dist/content/codec/empty.js +35 -0
  33. package/dist/content/codec/empty.js.map +1 -0
  34. package/dist/content/codec/field.js +41 -0
  35. package/dist/content/codec/field.js.map +1 -0
  36. package/dist/content/codec/geopoint.js +32 -0
  37. package/dist/content/codec/geopoint.js.map +1 -0
  38. package/dist/content/codec/group.js +127 -0
  39. package/dist/content/codec/group.js.map +1 -0
  40. package/dist/content/codec/image.js +44 -0
  41. package/dist/content/codec/image.js.map +1 -0
  42. package/dist/content/codec/integrationField.js +31 -0
  43. package/dist/content/codec/integrationField.js.map +1 -0
  44. package/dist/content/codec/legacyContentCtx.d.ts +72 -0
  45. package/dist/content/codec/legacyContentCtx.d.ts.map +1 -0
  46. package/dist/content/codec/legacyContentCtx.js +76 -0
  47. package/dist/content/codec/legacyContentCtx.js.map +1 -0
  48. package/dist/content/codec/link.js +93 -0
  49. package/dist/content/codec/link.js.map +1 -0
  50. package/dist/content/codec/nestable.js +91 -0
  51. package/dist/content/codec/nestable.js.map +1 -0
  52. package/dist/content/codec/repeatable.js +56 -0
  53. package/dist/content/codec/repeatable.js.map +1 -0
  54. package/dist/content/codec/richText.js +87 -0
  55. package/dist/content/codec/richText.js.map +1 -0
  56. package/dist/content/codec/separator.js +26 -0
  57. package/dist/content/codec/separator.js.map +1 -0
  58. package/dist/content/codec/slice.js +220 -0
  59. package/dist/content/codec/slice.js.map +1 -0
  60. package/dist/content/codec/slices.js +106 -0
  61. package/dist/content/codec/slices.js.map +1 -0
  62. package/dist/content/codec/table.js +56 -0
  63. package/dist/content/codec/table.js.map +1 -0
  64. package/dist/content/codec/uid.js +31 -0
  65. package/dist/content/codec/uid.js.map +1 -0
  66. package/dist/content/codec/widget.js +39 -0
  67. package/dist/content/codec/widget.js.map +1 -0
  68. package/dist/content/document.d.ts +3026 -0
  69. package/dist/content/document.d.ts.map +1 -0
  70. package/dist/content/document.js +9 -0
  71. package/dist/content/document.js.map +1 -0
  72. package/dist/content/embed.d.ts +24 -0
  73. package/dist/content/embed.d.ts.map +1 -0
  74. package/dist/content/embed.js +12 -0
  75. package/dist/content/embed.js.map +1 -0
  76. package/dist/content/empty.d.ts +11 -0
  77. package/dist/content/empty.d.ts.map +1 -0
  78. package/dist/content/empty.js +11 -0
  79. package/dist/content/empty.js.map +1 -0
  80. package/dist/content/field.d.ts +78 -0
  81. package/dist/content/field.d.ts.map +1 -0
  82. package/dist/content/field.js +52 -0
  83. package/dist/content/field.js.map +1 -0
  84. package/dist/content/geopoint.d.ts +14 -0
  85. package/dist/content/geopoint.d.ts.map +1 -0
  86. package/dist/content/geopoint.js +9 -0
  87. package/dist/content/geopoint.js.map +1 -0
  88. package/dist/content/group.d.ts +18 -0
  89. package/dist/content/group.d.ts.map +1 -0
  90. package/dist/content/group.js +19 -0
  91. package/dist/content/group.js.map +1 -0
  92. package/dist/content/image.d.ts +52 -0
  93. package/dist/content/image.d.ts.map +1 -0
  94. package/dist/content/image.js +10 -0
  95. package/dist/content/image.js.map +1 -0
  96. package/dist/content/integrationField.d.ts +11 -0
  97. package/dist/content/integrationField.d.ts.map +1 -0
  98. package/dist/content/integrationField.js +11 -0
  99. package/dist/content/integrationField.js.map +1 -0
  100. package/dist/content/legacy/boolean.js +7 -0
  101. package/dist/content/legacy/boolean.js.map +1 -0
  102. package/dist/content/legacy/document.js +15 -0
  103. package/dist/content/legacy/document.js.map +1 -0
  104. package/dist/content/legacy/embed.js +23 -0
  105. package/dist/content/legacy/embed.js.map +1 -0
  106. package/dist/content/legacy/empty.js +7 -0
  107. package/dist/content/legacy/empty.js.map +1 -0
  108. package/dist/content/legacy/field.js +7 -0
  109. package/dist/content/legacy/field.js.map +1 -0
  110. package/dist/content/legacy/geopoint.js +10 -0
  111. package/dist/content/legacy/geopoint.js.map +1 -0
  112. package/dist/content/legacy/group.js +10 -0
  113. package/dist/content/legacy/group.js.map +1 -0
  114. package/dist/content/legacy/image.d.ts +1 -0
  115. package/dist/content/legacy/image.js +33 -0
  116. package/dist/content/legacy/image.js.map +1 -0
  117. package/dist/content/legacy/integrationField.js +7 -0
  118. package/dist/content/legacy/integrationField.js.map +1 -0
  119. package/dist/content/legacy/link.js +88 -0
  120. package/dist/content/legacy/link.js.map +1 -0
  121. package/dist/content/legacy/nestable.js +32 -0
  122. package/dist/content/legacy/nestable.js.map +1 -0
  123. package/dist/content/legacy/repeatable.js +13 -0
  124. package/dist/content/legacy/repeatable.js.map +1 -0
  125. package/dist/content/legacy/richText.js +100 -0
  126. package/dist/content/legacy/richText.js.map +1 -0
  127. package/dist/content/legacy/separator.js +7 -0
  128. package/dist/content/legacy/separator.js.map +1 -0
  129. package/dist/content/legacy/slice.js +23 -0
  130. package/dist/content/legacy/slice.js.map +1 -0
  131. package/dist/content/legacy/slices.js +13 -0
  132. package/dist/content/legacy/slices.js.map +1 -0
  133. package/dist/content/legacy/table.js +19 -0
  134. package/dist/content/legacy/table.js.map +1 -0
  135. package/dist/content/legacy/uid.js +7 -0
  136. package/dist/content/legacy/uid.js.map +1 -0
  137. package/dist/content/link.d.ts +188 -0
  138. package/dist/content/link.d.ts.map +1 -0
  139. package/dist/content/link.js +50 -0
  140. package/dist/content/link.js.map +1 -0
  141. package/dist/content/nestable.d.ts +755 -0
  142. package/dist/content/nestable.d.ts.map +1 -0
  143. package/dist/content/nestable.js +38 -0
  144. package/dist/content/nestable.js.map +1 -0
  145. package/dist/content/repeatable.d.ts +192 -0
  146. package/dist/content/repeatable.d.ts.map +1 -0
  147. package/dist/content/repeatable.js +13 -0
  148. package/dist/content/repeatable.js.map +1 -0
  149. package/dist/content/richText.d.ts +141 -0
  150. package/dist/content/richText.d.ts.map +1 -0
  151. package/dist/content/richText.js +23 -0
  152. package/dist/content/richText.js.map +1 -0
  153. package/dist/content/separator.d.ts +10 -0
  154. package/dist/content/separator.d.ts.map +1 -0
  155. package/dist/content/separator.js +8 -0
  156. package/dist/content/separator.js.map +1 -0
  157. package/dist/content/slice.d.ts +4527 -0
  158. package/dist/content/slice.d.ts.map +1 -0
  159. package/dist/content/slice.js +27 -0
  160. package/dist/content/slice.js.map +1 -0
  161. package/dist/content/slices.d.ts +4536 -0
  162. package/dist/content/slices.d.ts.map +1 -0
  163. package/dist/content/slices.js +18 -0
  164. package/dist/content/slices.js.map +1 -0
  165. package/dist/content/table.d.ts +153 -0
  166. package/dist/content/table.d.ts.map +1 -0
  167. package/dist/content/table.js +13 -0
  168. package/dist/content/table.js.map +1 -0
  169. package/dist/content/uid.d.ts +11 -0
  170. package/dist/content/uid.d.ts.map +1 -0
  171. package/dist/content/uid.js +11 -0
  172. package/dist/content/uid.js.map +1 -0
  173. package/dist/content/widget.d.ts +3026 -0
  174. package/dist/content/widget.d.ts.map +1 -0
  175. package/dist/content/widget.js +16 -0
  176. package/dist/content/widget.js.map +1 -0
  177. package/dist/index.d.ts +50 -0
  178. package/dist/index.js +2 -0
  179. package/dist/io-ts.d.ts +68728 -0
  180. package/dist/io-ts.d.ts.map +1 -0
  181. package/dist/io-ts.js +215 -0
  182. package/dist/io-ts.js.map +1 -0
  183. package/dist/model/boolean.d.ts +16 -0
  184. package/dist/model/boolean.d.ts.map +1 -0
  185. package/dist/model/boolean.js +16 -0
  186. package/dist/model/boolean.js.map +1 -0
  187. package/dist/model/color.d.ts +15 -0
  188. package/dist/model/color.d.ts.map +1 -0
  189. package/dist/model/color.js +15 -0
  190. package/dist/model/color.js.map +1 -0
  191. package/dist/model/customType.d.ts +3357 -0
  192. package/dist/model/customType.d.ts.map +1 -0
  193. package/dist/model/customType.js +18 -0
  194. package/dist/model/customType.js.map +1 -0
  195. package/dist/model/date.d.ts +16 -0
  196. package/dist/model/date.d.ts.map +1 -0
  197. package/dist/model/date.js +16 -0
  198. package/dist/model/date.js.map +1 -0
  199. package/dist/model/embed.d.ts +16 -0
  200. package/dist/model/embed.d.ts.map +1 -0
  201. package/dist/model/embed.js +16 -0
  202. package/dist/model/embed.js.map +1 -0
  203. package/dist/model/geopoint.d.ts +14 -0
  204. package/dist/model/geopoint.d.ts.map +1 -0
  205. package/dist/model/geopoint.js +12 -0
  206. package/dist/model/geopoint.js.map +1 -0
  207. package/dist/model/group.d.ts +568 -0
  208. package/dist/model/group.d.ts.map +1 -0
  209. package/dist/model/group.js +23 -0
  210. package/dist/model/group.js.map +1 -0
  211. package/dist/model/image.d.ts +24 -0
  212. package/dist/model/image.d.ts.map +1 -0
  213. package/dist/model/image.js +41 -0
  214. package/dist/model/image.js.map +1 -0
  215. package/dist/model/integrationField.d.ts +16 -0
  216. package/dist/model/integrationField.d.ts.map +1 -0
  217. package/dist/model/integrationField.js +16 -0
  218. package/dist/model/integrationField.js.map +1 -0
  219. package/dist/model/link.d.ts +48 -0
  220. package/dist/model/link.d.ts.map +1 -0
  221. package/dist/model/link.js +94 -0
  222. package/dist/model/link.js.map +1 -0
  223. package/dist/model/nestable.d.ts +184 -0
  224. package/dist/model/nestable.d.ts.map +1 -0
  225. package/dist/model/nestable.js +40 -0
  226. package/dist/model/nestable.js.map +1 -0
  227. package/dist/model/number.d.ts +18 -0
  228. package/dist/model/number.d.ts.map +1 -0
  229. package/dist/model/number.js +19 -0
  230. package/dist/model/number.js.map +1 -0
  231. package/dist/model/range.d.ts +18 -0
  232. package/dist/model/range.d.ts.map +1 -0
  233. package/dist/model/range.js +19 -0
  234. package/dist/model/range.js.map +1 -0
  235. package/dist/model/richText.d.ts +28 -0
  236. package/dist/model/richText.d.ts.map +1 -0
  237. package/dist/model/richText.js +72 -0
  238. package/dist/model/richText.js.map +1 -0
  239. package/dist/model/section.d.ts +3337 -0
  240. package/dist/model/section.d.ts.map +1 -0
  241. package/dist/model/section.js +10 -0
  242. package/dist/model/section.js.map +1 -0
  243. package/dist/model/select.d.ts +17 -0
  244. package/dist/model/select.d.ts.map +1 -0
  245. package/dist/model/select.js +22 -0
  246. package/dist/model/select.js.map +1 -0
  247. package/dist/model/separator.d.ts +13 -0
  248. package/dist/model/separator.d.ts.map +1 -0
  249. package/dist/model/separator.js +11 -0
  250. package/dist/model/separator.js.map +1 -0
  251. package/dist/model/slice.d.ts +3681 -0
  252. package/dist/model/slice.d.ts.map +1 -0
  253. package/dist/model/slice.js +54 -0
  254. package/dist/model/slice.js.map +1 -0
  255. package/dist/model/slices.d.ts +2225 -0
  256. package/dist/model/slices.d.ts.map +1 -0
  257. package/dist/model/slices.js +29 -0
  258. package/dist/model/slices.js.map +1 -0
  259. package/dist/model/table.d.ts +13 -0
  260. package/dist/model/table.d.ts.map +1 -0
  261. package/dist/model/table.js +17 -0
  262. package/dist/model/table.js.map +1 -0
  263. package/dist/model/text.d.ts +16 -0
  264. package/dist/model/text.d.ts.map +1 -0
  265. package/dist/model/text.js +16 -0
  266. package/dist/model/text.js.map +1 -0
  267. package/dist/model/timestamp.d.ts +16 -0
  268. package/dist/model/timestamp.d.ts.map +1 -0
  269. package/dist/model/timestamp.js +16 -0
  270. package/dist/model/timestamp.js.map +1 -0
  271. package/dist/model/uid.d.ts +16 -0
  272. package/dist/model/uid.d.ts.map +1 -0
  273. package/dist/model/uid.js +16 -0
  274. package/dist/model/uid.js.map +1 -0
  275. package/dist/model/widget.d.ts +3360 -0
  276. package/dist/model/widget.d.ts.map +1 -0
  277. package/dist/model/widget.js +44 -0
  278. package/dist/model/widget.js.map +1 -0
  279. package/dist/zod4.d.ts +33521 -0
  280. package/dist/zod4.d.ts.map +1 -0
  281. package/dist/zod4.js +127 -0
  282. package/dist/zod4.js.map +1 -0
  283. package/package.json +54 -58
  284. package/src/common/asset.ts +29 -0
  285. package/src/common/embed.ts +27 -0
  286. package/src/common/hexaColorCode.ts +11 -0
  287. package/src/common/nonEmptyString.ts +9 -0
  288. package/src/common/widgetKey.ts +11 -0
  289. package/src/content/boolean.ts +23 -0
  290. package/src/content/codec/boolean.ts +38 -0
  291. package/src/content/codec/document.ts +60 -0
  292. package/src/content/codec/embed.ts +55 -0
  293. package/src/content/codec/empty.ts +49 -0
  294. package/src/content/codec/field.ts +96 -0
  295. package/src/content/codec/geopoint.ts +40 -0
  296. package/src/content/codec/group.ts +163 -0
  297. package/src/content/codec/image.ts +50 -0
  298. package/src/content/codec/integrationField.ts +38 -0
  299. package/src/content/{LegacyContentCtx.ts → codec/legacyContentCtx.ts} +25 -15
  300. package/src/content/codec/link.ts +103 -0
  301. package/src/content/codec/nestable.ts +146 -0
  302. package/src/content/codec/repeatable.ts +68 -0
  303. package/src/content/codec/richText.ts +113 -0
  304. package/src/content/codec/separator.ts +33 -0
  305. package/src/content/codec/slice.ts +274 -0
  306. package/src/content/codec/slices.ts +130 -0
  307. package/src/content/codec/table.ts +65 -0
  308. package/src/content/codec/uid.ts +36 -0
  309. package/src/content/codec/widget.ts +58 -0
  310. package/src/content/document.ts +8 -0
  311. package/src/content/embed.ts +12 -0
  312. package/src/content/empty.ts +10 -0
  313. package/src/content/field.ts +87 -0
  314. package/src/content/geopoint.ts +11 -0
  315. package/src/content/group.ts +96 -0
  316. package/src/content/image.ts +103 -0
  317. package/src/content/integrationField.ts +10 -0
  318. package/src/content/legacy/boolean.ts +5 -0
  319. package/src/content/legacy/document.ts +25 -0
  320. package/src/content/legacy/embed.ts +23 -0
  321. package/src/content/legacy/empty.ts +10 -0
  322. package/src/content/legacy/field.ts +8 -0
  323. package/src/content/legacy/geopoint.ts +10 -0
  324. package/src/content/legacy/group.ts +15 -0
  325. package/src/content/legacy/image.ts +43 -0
  326. package/src/content/legacy/integrationField.ts +5 -0
  327. package/src/content/legacy/link.ts +171 -0
  328. package/src/content/legacy/nestable.ts +31 -0
  329. package/src/content/legacy/repeatable.ts +20 -0
  330. package/src/content/legacy/richText.ts +165 -0
  331. package/src/content/legacy/separator.ts +6 -0
  332. package/src/content/legacy/slice.ts +37 -0
  333. package/src/content/legacy/slices.ts +17 -0
  334. package/src/content/legacy/table.ts +39 -0
  335. package/src/content/legacy/uid.ts +6 -0
  336. package/src/content/legacy/widget.ts +15 -0
  337. package/src/content/link.ts +131 -0
  338. package/src/content/nestable.ts +64 -0
  339. package/src/content/repeatable.ts +13 -0
  340. package/src/content/richText.ts +32 -0
  341. package/src/content/separator.ts +9 -0
  342. package/src/content/slice.ts +41 -0
  343. package/src/content/slices.ts +23 -0
  344. package/src/content/table.ts +14 -0
  345. package/src/content/uid.ts +10 -0
  346. package/src/content/utils.ts +37 -105
  347. package/src/content/widget.ts +17 -0
  348. package/src/content/{fields/withDefaultValues.ts → withDefaultValues.ts} +34 -39
  349. package/src/index.ts +78 -0
  350. package/src/io-ts.ts +313 -0
  351. package/src/model/boolean.ts +15 -0
  352. package/src/model/color.ts +14 -0
  353. package/src/model/customType.ts +26 -0
  354. package/src/model/date.ts +15 -0
  355. package/src/model/diff/index.ts +4 -0
  356. package/src/{customtypes/diff/SharedSlice.ts → model/diff/sharedSlice.ts} +16 -18
  357. package/src/model/diff/utils.ts +45 -0
  358. package/src/model/diff/variation.ts +152 -0
  359. package/src/model/diff/widgets.ts +15 -0
  360. package/src/model/embed.ts +15 -0
  361. package/src/model/geopoint.ts +13 -0
  362. package/src/model/group.ts +36 -0
  363. package/src/model/image.ts +54 -0
  364. package/src/model/integrationField.ts +15 -0
  365. package/src/model/link.ts +147 -0
  366. package/src/model/nestable.ts +39 -0
  367. package/src/model/number.ts +26 -0
  368. package/src/model/range.ts +26 -0
  369. package/src/model/richText.ts +106 -0
  370. package/src/model/section.ts +12 -0
  371. package/src/model/select.ts +30 -0
  372. package/src/model/separator.ts +12 -0
  373. package/src/model/slice.ts +94 -0
  374. package/src/model/slices.ts +54 -0
  375. package/src/model/table.ts +20 -0
  376. package/src/model/text.ts +15 -0
  377. package/src/model/timestamp.ts +15 -0
  378. package/src/model/uid.ts +15 -0
  379. package/src/model/widget.ts +52 -0
  380. package/src/zod4.ts +153 -0
  381. package/lib/common/Asset.d.ts +0 -16
  382. package/lib/common/Asset.js +0 -11
  383. package/lib/common/Embed.d.ts +0 -15
  384. package/lib/common/Embed.js +0 -10
  385. package/lib/common/HexaColorCode.d.ts +0 -4
  386. package/lib/common/HexaColorCode.js +0 -7
  387. package/lib/common/UUID.d.ts +0 -6
  388. package/lib/common/UUID.js +0 -8
  389. package/lib/common/WidgetKey.d.ts +0 -3
  390. package/lib/common/WidgetKey.js +0 -8
  391. package/lib/common/index.d.ts +0 -3
  392. package/lib/common/index.js +0 -6
  393. package/lib/content/Document.d.ts +0 -11813
  394. package/lib/content/Document.js +0 -364
  395. package/lib/content/LegacyContentCtx.d.ts +0 -64
  396. package/lib/content/LegacyContentCtx.js +0 -130
  397. package/lib/content/fields/EmptyContent.d.ts +0 -16
  398. package/lib/content/fields/EmptyContent.js +0 -30
  399. package/lib/content/fields/GroupContent.d.ts +0 -53
  400. package/lib/content/fields/GroupContent.js +0 -307
  401. package/lib/content/fields/UIDContent.d.ts +0 -16
  402. package/lib/content/fields/UIDContent.js +0 -25
  403. package/lib/content/fields/WidgetContent.d.ts +0 -11749
  404. package/lib/content/fields/WidgetContent.js +0 -57
  405. package/lib/content/fields/index.d.ts +0 -6
  406. package/lib/content/fields/index.js +0 -9
  407. package/lib/content/fields/nestable/BooleanContent.d.ts +0 -18
  408. package/lib/content/fields/nestable/BooleanContent.js +0 -35
  409. package/lib/content/fields/nestable/EmbedContent.d.ts +0 -78
  410. package/lib/content/fields/nestable/EmbedContent.js +0 -56
  411. package/lib/content/fields/nestable/FieldContent/ColorContent.d.ts +0 -18
  412. package/lib/content/fields/nestable/FieldContent/ColorContent.js +0 -35
  413. package/lib/content/fields/nestable/FieldContent/DateContent.d.ts +0 -18
  414. package/lib/content/fields/nestable/FieldContent/DateContent.js +0 -35
  415. package/lib/content/fields/nestable/FieldContent/NumberContent.d.ts +0 -18
  416. package/lib/content/fields/nestable/FieldContent/NumberContent.js +0 -35
  417. package/lib/content/fields/nestable/FieldContent/RangeContent.d.ts +0 -18
  418. package/lib/content/fields/nestable/FieldContent/RangeContent.js +0 -35
  419. package/lib/content/fields/nestable/FieldContent/SelectContent.d.ts +0 -20
  420. package/lib/content/fields/nestable/FieldContent/SelectContent.js +0 -46
  421. package/lib/content/fields/nestable/FieldContent/TextContent.d.ts +0 -18
  422. package/lib/content/fields/nestable/FieldContent/TextContent.js +0 -35
  423. package/lib/content/fields/nestable/FieldContent/TimestampContent.d.ts +0 -18
  424. package/lib/content/fields/nestable/FieldContent/TimestampContent.js +0 -35
  425. package/lib/content/fields/nestable/FieldContent/common.d.ts +0 -1
  426. package/lib/content/fields/nestable/FieldContent/common.js +0 -4
  427. package/lib/content/fields/nestable/FieldContent/index.d.ts +0 -49
  428. package/lib/content/fields/nestable/FieldContent/index.js +0 -38
  429. package/lib/content/fields/nestable/GeoPointContent.d.ts +0 -33
  430. package/lib/content/fields/nestable/GeoPointContent.js +0 -31
  431. package/lib/content/fields/nestable/ImageContent.d.ts +0 -252
  432. package/lib/content/fields/nestable/ImageContent.js +0 -122
  433. package/lib/content/fields/nestable/IntegrationFieldContent.d.ts +0 -16
  434. package/lib/content/fields/nestable/IntegrationFieldContent.js +0 -28
  435. package/lib/content/fields/nestable/LinkContent.d.ts +0 -919
  436. package/lib/content/fields/nestable/LinkContent.js +0 -399
  437. package/lib/content/fields/nestable/NestableContent.d.ts +0 -1953
  438. package/lib/content/fields/nestable/NestableContent.js +0 -167
  439. package/lib/content/fields/nestable/RepeatableContent.d.ts +0 -182
  440. package/lib/content/fields/nestable/RepeatableContent.js +0 -146
  441. package/lib/content/fields/nestable/RichTextContent/Blocks.d.ts +0 -1261
  442. package/lib/content/fields/nestable/RichTextContent/Blocks.js +0 -170
  443. package/lib/content/fields/nestable/RichTextContent/index.d.ts +0 -1004
  444. package/lib/content/fields/nestable/RichTextContent/index.js +0 -28
  445. package/lib/content/fields/nestable/SeparatorContent.d.ts +0 -13
  446. package/lib/content/fields/nestable/SeparatorContent.js +0 -22
  447. package/lib/content/fields/nestable/TableContent.d.ts +0 -776
  448. package/lib/content/fields/nestable/TableContent.js +0 -167
  449. package/lib/content/fields/nestable/index.d.ts +0 -12
  450. package/lib/content/fields/nestable/index.js +0 -15
  451. package/lib/content/fields/slices/Slice/CompositeSliceContent.d.ts +0 -3934
  452. package/lib/content/fields/slices/Slice/CompositeSliceContent.js +0 -195
  453. package/lib/content/fields/slices/Slice/RepeatableContent.d.ts +0 -774
  454. package/lib/content/fields/slices/Slice/RepeatableContent.js +0 -21
  455. package/lib/content/fields/slices/Slice/SharedSliceContent.d.ts +0 -3937
  456. package/lib/content/fields/slices/Slice/SharedSliceContent.js +0 -215
  457. package/lib/content/fields/slices/Slice/SimpleSliceContent.d.ts +0 -1962
  458. package/lib/content/fields/slices/Slice/SimpleSliceContent.js +0 -130
  459. package/lib/content/fields/slices/Slice/SlicePrimaryContent.d.ts +0 -1952
  460. package/lib/content/fields/slices/Slice/SlicePrimaryContent.js +0 -30
  461. package/lib/content/fields/slices/Slice/index.d.ts +0 -6810
  462. package/lib/content/fields/slices/Slice/index.js +0 -45
  463. package/lib/content/fields/slices/SliceItem.d.ts +0 -6846
  464. package/lib/content/fields/slices/SliceItem.js +0 -116
  465. package/lib/content/fields/slices/SlicesContent.d.ts +0 -9827
  466. package/lib/content/fields/slices/SlicesContent.js +0 -465
  467. package/lib/content/fields/slices/index.d.ts +0 -3
  468. package/lib/content/fields/slices/index.js +0 -6
  469. package/lib/content/fields/withDefaultValues.d.ts +0 -9
  470. package/lib/content/fields/withDefaultValues.js +0 -79
  471. package/lib/content/helpers.d.ts +0 -9
  472. package/lib/content/helpers.js +0 -22
  473. package/lib/content/index.d.ts +0 -4
  474. package/lib/content/index.js +0 -7
  475. package/lib/content/utils.d.ts +0 -50
  476. package/lib/content/utils.js +0 -35
  477. package/lib/customtypes/CustomType.d.ts +0 -3680
  478. package/lib/customtypes/CustomType.js +0 -184
  479. package/lib/customtypes/Section.d.ts +0 -3635
  480. package/lib/customtypes/Section.js +0 -66
  481. package/lib/customtypes/diff/Changes.d.ts +0 -17
  482. package/lib/customtypes/diff/Changes.js +0 -9
  483. package/lib/customtypes/diff/SharedSlice.d.ts +0 -1624
  484. package/lib/customtypes/diff/SharedSlice.js +0 -55
  485. package/lib/customtypes/diff/Variation.d.ts +0 -1605
  486. package/lib/customtypes/diff/Variation.js +0 -113
  487. package/lib/customtypes/diff/Widgets.d.ts +0 -11
  488. package/lib/customtypes/diff/Widgets.js +0 -2
  489. package/lib/customtypes/diff/index.d.ts +0 -4
  490. package/lib/customtypes/diff/index.js +0 -7
  491. package/lib/customtypes/index.d.ts +0 -4
  492. package/lib/customtypes/index.js +0 -7
  493. package/lib/customtypes/widgets/Group.d.ts +0 -1352
  494. package/lib/customtypes/widgets/Group.js +0 -92
  495. package/lib/customtypes/widgets/UID.d.ts +0 -19
  496. package/lib/customtypes/widgets/UID.js +0 -21
  497. package/lib/customtypes/widgets/Widget.d.ts +0 -4457
  498. package/lib/customtypes/widgets/Widget.js +0 -49
  499. package/lib/customtypes/widgets/index.d.ts +0 -6
  500. package/lib/customtypes/widgets/index.js +0 -9
  501. package/lib/customtypes/widgets/nestable/BooleanField.d.ts +0 -20
  502. package/lib/customtypes/widgets/nestable/BooleanField.js +0 -21
  503. package/lib/customtypes/widgets/nestable/Color.d.ts +0 -17
  504. package/lib/customtypes/widgets/nestable/Color.js +0 -20
  505. package/lib/customtypes/widgets/nestable/Date.d.ts +0 -19
  506. package/lib/customtypes/widgets/nestable/Date.js +0 -21
  507. package/lib/customtypes/widgets/nestable/Embed.d.ts +0 -19
  508. package/lib/customtypes/widgets/nestable/Embed.js +0 -21
  509. package/lib/customtypes/widgets/nestable/GeoPoint.d.ts +0 -15
  510. package/lib/customtypes/widgets/nestable/GeoPoint.js +0 -19
  511. package/lib/customtypes/widgets/nestable/Image.d.ts +0 -44
  512. package/lib/customtypes/widgets/nestable/Image.js +0 -29
  513. package/lib/customtypes/widgets/nestable/IntegrationField.d.ts +0 -19
  514. package/lib/customtypes/widgets/nestable/IntegrationField.js +0 -21
  515. package/lib/customtypes/widgets/nestable/Link.d.ts +0 -196
  516. package/lib/customtypes/widgets/nestable/Link.js +0 -167
  517. package/lib/customtypes/widgets/nestable/NestableWidget.d.ts +0 -217
  518. package/lib/customtypes/widgets/nestable/NestableWidget.js +0 -39
  519. package/lib/customtypes/widgets/nestable/Number.d.ts +0 -23
  520. package/lib/customtypes/widgets/nestable/Number.js +0 -24
  521. package/lib/customtypes/widgets/nestable/Range.d.ts +0 -23
  522. package/lib/customtypes/widgets/nestable/Range.js +0 -24
  523. package/lib/customtypes/widgets/nestable/RichText.d.ts +0 -73
  524. package/lib/customtypes/widgets/nestable/RichText.js +0 -131
  525. package/lib/customtypes/widgets/nestable/Select.d.ts +0 -21
  526. package/lib/customtypes/widgets/nestable/Select.js +0 -22
  527. package/lib/customtypes/widgets/nestable/Separator.d.ts +0 -14
  528. package/lib/customtypes/widgets/nestable/Separator.js +0 -18
  529. package/lib/customtypes/widgets/nestable/Table.d.ts +0 -21
  530. package/lib/customtypes/widgets/nestable/Table.js +0 -30
  531. package/lib/customtypes/widgets/nestable/Text.d.ts +0 -19
  532. package/lib/customtypes/widgets/nestable/Text.js +0 -21
  533. package/lib/customtypes/widgets/nestable/Timestamp.d.ts +0 -19
  534. package/lib/customtypes/widgets/nestable/Timestamp.js +0 -21
  535. package/lib/customtypes/widgets/nestable/index.d.ts +0 -17
  536. package/lib/customtypes/widgets/nestable/index.js +0 -20
  537. package/lib/customtypes/widgets/shared/ImageConstraint.d.ts +0 -7
  538. package/lib/customtypes/widgets/shared/ImageConstraint.js +0 -31
  539. package/lib/customtypes/widgets/shared/index.d.ts +0 -1
  540. package/lib/customtypes/widgets/shared/index.js +0 -8
  541. package/lib/customtypes/widgets/slices/CompositeSlice.d.ts +0 -455
  542. package/lib/customtypes/widgets/slices/CompositeSlice.js +0 -63
  543. package/lib/customtypes/widgets/slices/LegacySlice.d.ts +0 -442
  544. package/lib/customtypes/widgets/slices/LegacySlice.js +0 -12
  545. package/lib/customtypes/widgets/slices/SharedSlice.d.ts +0 -1807
  546. package/lib/customtypes/widgets/slices/SharedSlice.js +0 -118
  547. package/lib/customtypes/widgets/slices/SharedSliceRef.d.ts +0 -5
  548. package/lib/customtypes/widgets/slices/SharedSliceRef.js +0 -9
  549. package/lib/customtypes/widgets/slices/Slice.d.ts +0 -6
  550. package/lib/customtypes/widgets/slices/Slice.js +0 -2
  551. package/lib/customtypes/widgets/slices/SlicePrimaryWidget.d.ts +0 -1259
  552. package/lib/customtypes/widgets/slices/SlicePrimaryWidget.js +0 -10
  553. package/lib/customtypes/widgets/slices/Slices.d.ts +0 -5917
  554. package/lib/customtypes/widgets/slices/Slices.js +0 -146
  555. package/lib/customtypes/widgets/slices/SlicesTypes.d.ts +0 -6
  556. package/lib/customtypes/widgets/slices/SlicesTypes.js +0 -11
  557. package/lib/customtypes/widgets/slices/index.d.ts +0 -8
  558. package/lib/customtypes/widgets/slices/index.js +0 -11
  559. package/lib/utils/Arrays.d.ts +0 -1
  560. package/lib/utils/Arrays.js +0 -13
  561. package/lib/utils/DocumentId.d.ts +0 -2
  562. package/lib/utils/DocumentId.js +0 -7
  563. package/lib/utils/Fields.d.ts +0 -6
  564. package/lib/utils/Fields.js +0 -2
  565. package/lib/utils/Objects.d.ts +0 -8
  566. package/lib/utils/Objects.js +0 -42
  567. package/lib/utils/index.d.ts +0 -4
  568. package/lib/utils/index.js +0 -8
  569. package/lib/validators/BasicTypes.d.ts +0 -10
  570. package/lib/validators/BasicTypes.js +0 -25
  571. package/lib/validators/DateFromString.d.ts +0 -3
  572. package/lib/validators/DateFromString.js +0 -11
  573. package/lib/validators/DateFromStringOrNumber.d.ts +0 -3
  574. package/lib/validators/DateFromStringOrNumber.js +0 -10
  575. package/lib/validators/DateFromTsMs.d.ts +0 -3
  576. package/lib/validators/DateFromTsMs.js +0 -10
  577. package/lib/validators/DefaultOrElse.d.ts +0 -5
  578. package/lib/validators/DefaultOrElse.js +0 -21
  579. package/lib/validators/IntFromNumber.d.ts +0 -5
  580. package/lib/validators/IntFromNumber.js +0 -14
  581. package/lib/validators/IntFromPixels.d.ts +0 -8
  582. package/lib/validators/IntFromPixels.js +0 -24
  583. package/lib/validators/NonEmptyString.d.ts +0 -3
  584. package/lib/validators/NonEmptyString.js +0 -6
  585. package/lib/validators/NonEmptyStringOrNull.d.ts +0 -3
  586. package/lib/validators/NonEmptyStringOrNull.js +0 -15
  587. package/lib/validators/NumberOrNull.d.ts +0 -3
  588. package/lib/validators/NumberOrNull.js +0 -6
  589. package/lib/validators/NumberRange.d.ts +0 -32
  590. package/lib/validators/NumberRange.js +0 -40
  591. package/lib/validators/StringFromBoolean.d.ts +0 -5
  592. package/lib/validators/StringFromBoolean.js +0 -10
  593. package/lib/validators/StringFromNumber.d.ts +0 -5
  594. package/lib/validators/StringFromNumber.js +0 -10
  595. package/lib/validators/StringOrNull.d.ts +0 -3
  596. package/lib/validators/StringOrNull.js +0 -6
  597. package/lib/validators/TrimmedString.d.ts +0 -5
  598. package/lib/validators/TrimmedString.js +0 -23
  599. package/lib/validators/function.d.ts +0 -34
  600. package/lib/validators/function.js +0 -100
  601. package/lib/validators/index.d.ts +0 -15
  602. package/lib/validators/index.js +0 -31
  603. package/src/common/Asset.ts +0 -25
  604. package/src/common/Embed.ts +0 -22
  605. package/src/common/HexaColorCode.ts +0 -11
  606. package/src/common/UUID.ts +0 -19
  607. package/src/common/WidgetKey.ts +0 -13
  608. package/src/common/index.ts +0 -3
  609. package/src/content/Document.ts +0 -539
  610. package/src/content/fields/EmptyContent.ts +0 -45
  611. package/src/content/fields/GroupContent.ts +0 -466
  612. package/src/content/fields/UIDContent.ts +0 -42
  613. package/src/content/fields/WidgetContent.ts +0 -76
  614. package/src/content/fields/index.ts +0 -6
  615. package/src/content/fields/nestable/BooleanContent.ts +0 -52
  616. package/src/content/fields/nestable/EmbedContent.ts +0 -74
  617. package/src/content/fields/nestable/FieldContent/ColorContent.ts +0 -49
  618. package/src/content/fields/nestable/FieldContent/DateContent.ts +0 -49
  619. package/src/content/fields/nestable/FieldContent/NumberContent.ts +0 -49
  620. package/src/content/fields/nestable/FieldContent/RangeContent.ts +0 -49
  621. package/src/content/fields/nestable/FieldContent/SelectContent.ts +0 -60
  622. package/src/content/fields/nestable/FieldContent/TextContent.ts +0 -49
  623. package/src/content/fields/nestable/FieldContent/TimestampContent.ts +0 -49
  624. package/src/content/fields/nestable/FieldContent/common.ts +0 -1
  625. package/src/content/fields/nestable/FieldContent/index.ts +0 -40
  626. package/src/content/fields/nestable/GeoPointContent.ts +0 -48
  627. package/src/content/fields/nestable/ImageContent.ts +0 -196
  628. package/src/content/fields/nestable/IntegrationFieldContent.ts +0 -51
  629. package/src/content/fields/nestable/LinkContent.ts +0 -651
  630. package/src/content/fields/nestable/NestableContent.ts +0 -241
  631. package/src/content/fields/nestable/RepeatableContent.ts +0 -224
  632. package/src/content/fields/nestable/RichTextContent/Blocks.ts +0 -238
  633. package/src/content/fields/nestable/RichTextContent/index.ts +0 -42
  634. package/src/content/fields/nestable/SeparatorContent.ts +0 -34
  635. package/src/content/fields/nestable/TableContent.ts +0 -234
  636. package/src/content/fields/nestable/index.ts +0 -12
  637. package/src/content/fields/slices/Slice/CompositeSliceContent.ts +0 -293
  638. package/src/content/fields/slices/Slice/RepeatableContent.ts +0 -29
  639. package/src/content/fields/slices/Slice/SharedSliceContent.ts +0 -305
  640. package/src/content/fields/slices/Slice/SimpleSliceContent.ts +0 -180
  641. package/src/content/fields/slices/Slice/SlicePrimaryContent.ts +0 -40
  642. package/src/content/fields/slices/Slice/index.ts +0 -52
  643. package/src/content/fields/slices/SliceItem.ts +0 -184
  644. package/src/content/fields/slices/SlicesContent.ts +0 -677
  645. package/src/content/fields/slices/index.ts +0 -3
  646. package/src/content/helpers.ts +0 -25
  647. package/src/content/index.ts +0 -4
  648. package/src/customtypes/CustomType.ts +0 -280
  649. package/src/customtypes/Section.ts +0 -98
  650. package/src/customtypes/diff/Variation.ts +0 -167
  651. package/src/customtypes/diff/Widgets.ts +0 -17
  652. package/src/customtypes/diff/index.ts +0 -4
  653. package/src/customtypes/index.ts +0 -4
  654. package/src/customtypes/widgets/Group.ts +0 -120
  655. package/src/customtypes/widgets/UID.ts +0 -27
  656. package/src/customtypes/widgets/Widget.ts +0 -83
  657. package/src/customtypes/widgets/index.ts +0 -6
  658. package/src/customtypes/widgets/nestable/BooleanField.ts +0 -29
  659. package/src/customtypes/widgets/nestable/Color.ts +0 -25
  660. package/src/customtypes/widgets/nestable/Date.ts +0 -27
  661. package/src/customtypes/widgets/nestable/Embed.ts +0 -27
  662. package/src/customtypes/widgets/nestable/GeoPoint.ts +0 -25
  663. package/src/customtypes/widgets/nestable/Image.ts +0 -39
  664. package/src/customtypes/widgets/nestable/IntegrationField.ts +0 -26
  665. package/src/customtypes/widgets/nestable/Link.ts +0 -313
  666. package/src/customtypes/widgets/nestable/NestableWidget.ts +0 -40
  667. package/src/customtypes/widgets/nestable/Number.ts +0 -30
  668. package/src/customtypes/widgets/nestable/Range.ts +0 -30
  669. package/src/customtypes/widgets/nestable/RichText.ts +0 -215
  670. package/src/customtypes/widgets/nestable/Select.ts +0 -34
  671. package/src/customtypes/widgets/nestable/Separator.ts +0 -24
  672. package/src/customtypes/widgets/nestable/Table.ts +0 -38
  673. package/src/customtypes/widgets/nestable/Text.ts +0 -27
  674. package/src/customtypes/widgets/nestable/Timestamp.ts +0 -27
  675. package/src/customtypes/widgets/nestable/index.ts +0 -17
  676. package/src/customtypes/widgets/shared/ImageConstraint.ts +0 -41
  677. package/src/customtypes/widgets/shared/index.ts +0 -1
  678. package/src/customtypes/widgets/slices/CompositeSlice.ts +0 -79
  679. package/src/customtypes/widgets/slices/LegacySlice.ts +0 -15
  680. package/src/customtypes/widgets/slices/SharedSlice.ts +0 -152
  681. package/src/customtypes/widgets/slices/SharedSliceRef.ts +0 -10
  682. package/src/customtypes/widgets/slices/Slice.ts +0 -7
  683. package/src/customtypes/widgets/slices/SlicePrimaryWidget.ts +0 -12
  684. package/src/customtypes/widgets/slices/Slices.ts +0 -184
  685. package/src/customtypes/widgets/slices/SlicesTypes.ts +0 -11
  686. package/src/customtypes/widgets/slices/index.ts +0 -8
  687. package/src/utils/Arrays.ts +0 -12
  688. package/src/utils/DocumentId.ts +0 -8
  689. package/src/utils/Fields.ts +0 -4
  690. package/src/utils/Objects.ts +0 -53
  691. package/src/utils/index.ts +0 -4
  692. package/src/validators/BasicTypes.ts +0 -55
  693. package/src/validators/DateFromString.ts +0 -19
  694. package/src/validators/DateFromStringOrNumber.ts +0 -17
  695. package/src/validators/DateFromTsMs.ts +0 -17
  696. package/src/validators/DefaultOrElse.ts +0 -24
  697. package/src/validators/IntFromNumber.ts +0 -22
  698. package/src/validators/IntFromPixels.ts +0 -32
  699. package/src/validators/NonEmptyString.ts +0 -8
  700. package/src/validators/NonEmptyStringOrNull.ts +0 -22
  701. package/src/validators/NumberOrNull.ts +0 -5
  702. package/src/validators/NumberRange.ts +0 -51
  703. package/src/validators/StringFromBoolean.ts +0 -19
  704. package/src/validators/StringFromNumber.ts +0 -19
  705. package/src/validators/StringOrNull.ts +0 -5
  706. package/src/validators/TrimmedString.ts +0 -33
  707. package/src/validators/function.ts +0 -115
  708. package/src/validators/index.ts +0 -15
  709. /package/src/{customtypes/diff/Changes.ts → model/diff/changes.ts} +0 -0
@@ -1,651 +0,0 @@
1
- /**
2
- * LinkContent is a union of different link content types.
3
- *
4
- * Most link content types are built from a union of a filled and an unfilled version.
5
- *
6
- * Filled versions make sure that the important fields that make the link work
7
- * are present. They are also exported for when there's a need to ensure that
8
- * the link is filled when used in a specific context, e.g. links in rich text fields.
9
- *
10
- * Unfilled versions are used when the link is not filled yet but contains other
11
- * information like the text.
12
- *
13
- * There are some exceptions that don't have a filled version (e.g. MediaLink)
14
- * for when the exact subtype is not yet known.
15
- *
16
- * Unfilled versions all have a special `kind` property that is used to
17
- * determine the type of the link. For legacy reasons, filled versions don't
18
- * necessarily require this property or its type is loose (e.g. `string`). In
19
- * this cases, the type is determined based on a specific combination of the
20
- * rest of the link data. This is why the order of the subtypes in the union is
21
- * important and should be from the most specific to the least specific. A
22
- * battery of tests ensures that the correct type is inferred.
23
- */
24
-
25
- import { either } from "fp-ts"
26
- import { pipe } from "fp-ts/lib/function"
27
- import * as t from "io-ts"
28
- import { withFallback } from "io-ts-types"
29
-
30
- import { NonEmptyString, StringOrNull } from "../../../validators"
31
- import { nullable } from "../../../validators/function"
32
- import { hasContentType, withKey } from "../../helpers"
33
- import type { LegacyContentCtx, WithTypes } from "../../LegacyContentCtx"
34
-
35
- // ImageLink.
36
-
37
- export const ImageLinkType = "ImageLink"
38
-
39
- const isImageLinkKind = (input: unknown) => typeof input === "string"
40
-
41
- const ImageLinkKind = new t.Type<"image">(
42
- "ImageLinkKind",
43
- (input): input is "image" => isImageLinkKind(input),
44
- (input, context) =>
45
- isImageLinkKind(input)
46
- ? t.success("image" as const)
47
- : t.failure(input, context),
48
- () => "image" as const,
49
- )
50
-
51
- const filledImageLinkLegacyCodec = t.intersection([
52
- t.strict({
53
- kind: ImageLinkKind,
54
- id: t.string,
55
- url: t.string,
56
- height: t.string,
57
- width: t.string,
58
- size: t.string,
59
- name: t.string,
60
- }),
61
- t.exact(
62
- t.partial({
63
- date: StringOrNull,
64
- }),
65
- ),
66
- ])
67
-
68
- type FilledImageLinkLegacy = t.TypeOf<typeof filledImageLinkLegacyCodec>
69
- const FilledImageLinkLegacy = new t.Type<
70
- FilledImageLinkContent,
71
- FilledImageLinkLegacy
72
- >(
73
- "FilledImageLink",
74
- (u): u is FilledImageLinkContent =>
75
- hasContentType(u) && u.__TYPE__ === ImageLinkType,
76
- (image) => {
77
- return pipe(
78
- filledImageLinkLegacyCodec.decode(image),
79
- either.map((parsedImage) => {
80
- return FilledImageLinkContent.encode({
81
- ...parsedImage,
82
- __TYPE__: ImageLinkType,
83
- })
84
- }),
85
- )
86
- },
87
- (image: FilledImageLinkContent): FilledImageLinkLegacy => {
88
- return filledImageLinkLegacyCodec.encode(image)
89
- },
90
- )
91
-
92
- export const FilledImageLinkContent = t.intersection([
93
- t.strict({
94
- __TYPE__: t.literal(ImageLinkType),
95
- }),
96
- filledImageLinkLegacyCodec,
97
- ])
98
- export type FilledImageLinkContent = t.TypeOf<typeof FilledImageLinkContent>
99
-
100
- const imageLinkLegacyCodec = t.intersection([
101
- t.union([
102
- filledImageLinkLegacyCodec,
103
- t.strict({
104
- kind: t.literal("image"),
105
- }),
106
- ]),
107
- t.exact(
108
- t.partial({
109
- text: t.string,
110
- variant: t.string,
111
- }),
112
- ),
113
- ])
114
-
115
- type ImageLinkLegacy = t.TypeOf<typeof imageLinkLegacyCodec>
116
- const ImageLinkLegacy = new t.Type<ImageLinkContent, ImageLinkLegacy, unknown>(
117
- "ImageLink",
118
- (u): u is ImageLinkContent =>
119
- hasContentType(u) && u.__TYPE__ === ImageLinkType,
120
- (image) => {
121
- return pipe(
122
- imageLinkLegacyCodec.decode(image),
123
- either.map((parsedImage) => {
124
- return ImageLinkContent.encode({
125
- ...parsedImage,
126
- __TYPE__: ImageLinkType,
127
- })
128
- }),
129
- )
130
- },
131
- (image: ImageLinkContent): ImageLinkLegacy => {
132
- return imageLinkLegacyCodec.encode(image)
133
- },
134
- )
135
-
136
- export const ImageLinkContent = t.intersection([
137
- t.strict({
138
- __TYPE__: t.literal(ImageLinkType),
139
- }),
140
- imageLinkLegacyCodec,
141
- ])
142
- export type ImageLinkContent = t.TypeOf<typeof ImageLinkContent>
143
-
144
- // FileLink.
145
-
146
- export const FileLinkType = "FileLink"
147
-
148
- const isFileLinkKind = (input: unknown) => typeof input === "string"
149
-
150
- const FileLinkKind = new t.Type<"file">(
151
- "FileLinkKind",
152
- (input): input is "file" => isFileLinkKind(input),
153
- (input, context) =>
154
- isFileLinkKind(input)
155
- ? t.success("file" as const)
156
- : t.failure(input, context),
157
- () => "file" as const,
158
- )
159
-
160
- const filledFileLinkLegacyCodec = t.exact(
161
- t.intersection([
162
- t.type({
163
- kind: FileLinkKind,
164
- id: t.string,
165
- url: t.string,
166
- name: t.string,
167
- size: withFallback(t.string, "0"),
168
- }),
169
- t.partial({ date: StringOrNull }),
170
- ]),
171
- )
172
-
173
- type FilledFileLinkLegacy = t.TypeOf<typeof filledFileLinkLegacyCodec>
174
- const FilledFileLinkLegacy = new t.Type<
175
- FilledFileLinkContent,
176
- FilledFileLinkLegacy
177
- >(
178
- "FilledFileLink",
179
- (u): u is FilledFileLinkContent =>
180
- hasContentType(u) && u.__TYPE__ === FileLinkType,
181
- (file) => {
182
- return pipe(
183
- filledFileLinkLegacyCodec.decode(file),
184
- either.map((parsedFile) => {
185
- return FilledFileLinkContent.encode({
186
- ...parsedFile,
187
- __TYPE__: FileLinkType,
188
- })
189
- }),
190
- )
191
- },
192
- (file: FilledFileLinkContent): FilledFileLinkLegacy => {
193
- return filledFileLinkLegacyCodec.encode(file)
194
- },
195
- )
196
-
197
- export const FilledFileLinkContent = t.intersection([
198
- t.strict({
199
- __TYPE__: t.literal(FileLinkType),
200
- }),
201
- filledFileLinkLegacyCodec,
202
- ])
203
- export type FilledFileLinkContent = t.TypeOf<typeof FilledFileLinkContent>
204
-
205
- const fileLinkLegacyCodec = t.intersection([
206
- t.union([
207
- filledFileLinkLegacyCodec,
208
- t.strict({
209
- kind: t.literal("file"),
210
- }),
211
- ]),
212
- t.exact(
213
- t.partial({
214
- text: t.string,
215
- variant: t.string,
216
- }),
217
- ),
218
- ])
219
-
220
- type FileLinkLegacy = t.TypeOf<typeof fileLinkLegacyCodec>
221
- const FileLinkLegacy = new t.Type<FileLinkContent, FileLinkLegacy>(
222
- "FileLink",
223
- (u): u is FileLinkContent => hasContentType(u) && u.__TYPE__ === FileLinkType,
224
- (file) => {
225
- return pipe(
226
- fileLinkLegacyCodec.decode(file),
227
- either.map((parsedFile) => {
228
- return FileLinkContent.encode({
229
- ...parsedFile,
230
- __TYPE__: FileLinkType,
231
- })
232
- }),
233
- )
234
- },
235
- (file: FileLinkContent): FileLinkLegacy => {
236
- return fileLinkLegacyCodec.encode(file)
237
- },
238
- )
239
-
240
- export const FileLinkContent = t.intersection([
241
- t.strict({
242
- __TYPE__: t.literal(FileLinkType),
243
- }),
244
- fileLinkLegacyCodec,
245
- ])
246
- export type FileLinkContent = t.TypeOf<typeof FileLinkContent>
247
-
248
- // MediaLink.
249
-
250
- export const MediaLinkType = "MediaLink"
251
-
252
- const mediaLinkLegacyCodec = t.intersection([
253
- t.strict({
254
- kind: t.literal("media"),
255
- }),
256
- t.exact(
257
- t.partial({
258
- text: t.string,
259
- variant: t.string,
260
- }),
261
- ),
262
- ])
263
-
264
- type MediaLinkLegacy = t.TypeOf<typeof mediaLinkLegacyCodec>
265
- const MediaLinkLegacy = new t.Type<MediaLinkContent, MediaLinkLegacy>(
266
- "MediaLink",
267
- (u): u is MediaLinkContent =>
268
- hasContentType(u) && u.__TYPE__ === MediaLinkType,
269
- (mediaLink) => {
270
- return pipe(
271
- mediaLinkLegacyCodec.decode(mediaLink),
272
- either.map((parsedMediaLink) => {
273
- return MediaLinkContent.encode({
274
- ...parsedMediaLink,
275
- __TYPE__: MediaLinkType,
276
- })
277
- }),
278
- )
279
- },
280
- (mediaLink: MediaLinkContent): MediaLinkLegacy => {
281
- return mediaLinkLegacyCodec.encode(mediaLink)
282
- },
283
- )
284
-
285
- export const MediaLinkContent = t.intersection([
286
- t.strict({
287
- __TYPE__: t.literal(MediaLinkType),
288
- }),
289
- mediaLinkLegacyCodec,
290
- ])
291
- export type MediaLinkContent = t.TypeOf<typeof MediaLinkContent>
292
-
293
- // DocumentLink.
294
-
295
- export const DocumentLinkType = "DocumentLink"
296
-
297
- const filledDocumentLinkLegacyCodec = t.strict({
298
- id: NonEmptyString,
299
- })
300
-
301
- type FilledDocumentLinkLegacy = t.TypeOf<typeof filledDocumentLinkLegacyCodec>
302
- const FilledDocumentLinkLegacy = new t.Type<
303
- FilledDocumentLinkContent,
304
- FilledDocumentLinkLegacy
305
- >(
306
- "FilledDocumentLink",
307
- (u): u is FilledDocumentLinkContent =>
308
- hasContentType(u) && u.__TYPE__ === DocumentLinkType,
309
- (doc) => {
310
- return pipe(
311
- filledDocumentLinkLegacyCodec.decode(doc),
312
- either.map((parsedDoc) => {
313
- return FilledDocumentLinkContent.encode({
314
- ...parsedDoc,
315
- __TYPE__: DocumentLinkType,
316
- })
317
- }),
318
- )
319
- },
320
- (doc: FilledDocumentLinkContent): FilledDocumentLinkLegacy => {
321
- return filledDocumentLinkLegacyCodec.encode(doc)
322
- },
323
- )
324
-
325
- export const FilledDocumentLinkContent = t.intersection([
326
- t.strict({
327
- __TYPE__: t.literal(DocumentLinkType),
328
- }),
329
- filledDocumentLinkLegacyCodec,
330
- ])
331
- export type FilledDocumentLinkContent = t.TypeOf<
332
- typeof FilledDocumentLinkContent
333
- >
334
-
335
- const documentLinkLegacyCodec = t.intersection([
336
- t.union([
337
- filledDocumentLinkLegacyCodec,
338
- t.strict({
339
- kind: t.literal("document"),
340
- }),
341
- ]),
342
- t.exact(
343
- t.partial({
344
- text: t.string,
345
- variant: t.string,
346
- }),
347
- ),
348
- ])
349
-
350
- type DocumentLinkLegacy = t.TypeOf<typeof documentLinkLegacyCodec>
351
- const DocumentLinkLegacy = new t.Type<DocumentLinkContent, DocumentLinkLegacy>(
352
- "DocumentLink",
353
- (u): u is DocumentLinkContent =>
354
- hasContentType(u) && u.__TYPE__ === DocumentLinkType,
355
- (file) => {
356
- return pipe(
357
- documentLinkLegacyCodec.decode(file),
358
- either.map((parsedDoc) => {
359
- return DocumentLinkContent.encode({
360
- ...parsedDoc,
361
- __TYPE__: DocumentLinkType,
362
- })
363
- }),
364
- )
365
- },
366
- (doc: DocumentLinkContent): DocumentLinkLegacy => {
367
- return documentLinkLegacyCodec.encode(doc)
368
- },
369
- )
370
- export const DocumentLinkContent = t.intersection([
371
- t.strict({
372
- __TYPE__: t.literal(DocumentLinkType),
373
- }),
374
- documentLinkLegacyCodec,
375
- ])
376
- export type DocumentLinkContent = t.TypeOf<typeof DocumentLinkContent>
377
-
378
- // ExternalLink.
379
-
380
- export const ExternalLinkType = "ExternalLink"
381
-
382
- const filledExternalLinkLegacyCodec = t.exact(
383
- t.intersection([
384
- t.type({
385
- url: t.string,
386
- }),
387
- t.partial({
388
- kind: t.literal("web"),
389
- target: StringOrNull,
390
- preview: nullable(
391
- t.partial({
392
- title: t.string,
393
- }),
394
- ),
395
- }),
396
- ]),
397
- )
398
-
399
- type FilledExternalLinkLegacy = t.TypeOf<typeof filledExternalLinkLegacyCodec>
400
- const FilledExternalLinkLegacy = new t.Type<
401
- FilledExternalLinkContent,
402
- FilledExternalLinkLegacy
403
- >(
404
- "FilledExternalLink",
405
- (u): u is FilledExternalLinkContent =>
406
- hasContentType(u) && u.__TYPE__ === ExternalLinkType,
407
- (link) => {
408
- return pipe(
409
- filledExternalLinkLegacyCodec.decode(link),
410
- either.map((parsedLink) => {
411
- return FilledExternalLinkContent.encode({
412
- ...parsedLink,
413
- __TYPE__: ExternalLinkType,
414
- })
415
- }),
416
- )
417
- },
418
- (link: FilledExternalLinkContent): FilledExternalLinkLegacy => {
419
- return filledExternalLinkLegacyCodec.encode(link)
420
- },
421
- )
422
-
423
- export const FilledExternalLinkContent = t.intersection([
424
- t.strict({
425
- __TYPE__: t.literal(ExternalLinkType),
426
- }),
427
- filledExternalLinkLegacyCodec,
428
- ])
429
- export type FilledExternalLinkContent = t.TypeOf<
430
- typeof FilledExternalLinkContent
431
- >
432
-
433
- const externalLinkLegacyCodec = t.intersection([
434
- t.union([
435
- filledExternalLinkLegacyCodec,
436
- t.strict({
437
- kind: t.literal("web"),
438
- }),
439
- ]),
440
- t.exact(
441
- t.partial({
442
- text: t.string,
443
- variant: t.string,
444
- }),
445
- ),
446
- ])
447
-
448
- type ExternalLinkLegacy = t.TypeOf<typeof externalLinkLegacyCodec>
449
- const ExternalLinkLegacy = new t.Type<ExternalLinkContent, ExternalLinkLegacy>(
450
- "ExternalLink",
451
- (u): u is ExternalLinkContent =>
452
- hasContentType(u) && u.__TYPE__ === ExternalLinkType,
453
- (file) => {
454
- return pipe(
455
- externalLinkLegacyCodec.decode(file),
456
- either.map((parsedLink) => {
457
- return ExternalLinkContent.encode({
458
- ...parsedLink,
459
- __TYPE__: ExternalLinkType,
460
- })
461
- }),
462
- )
463
- },
464
- (link: ExternalLinkContent): ExternalLinkLegacy => {
465
- return externalLinkLegacyCodec.encode(link)
466
- },
467
- )
468
-
469
- export const ExternalLinkContent = t.intersection([
470
- t.strict({
471
- __TYPE__: t.literal(ExternalLinkType),
472
- }),
473
- externalLinkLegacyCodec,
474
- ])
475
- export type ExternalLinkContent = t.TypeOf<typeof ExternalLinkContent>
476
-
477
- // AnyLink.
478
-
479
- export const AnyLinkType = "AnyLink"
480
-
481
- const anyLinkLegacyCodec = t.exact(
482
- t.intersection([
483
- t.type({
484
- kind: withFallback(t.literal("any"), "any"),
485
- }),
486
- t.partial({
487
- text: t.string,
488
- variant: t.string,
489
- }),
490
- ]),
491
- )
492
-
493
- type AnyLinkLegacy = t.TypeOf<typeof anyLinkLegacyCodec>
494
- const AnyLinkLegacy = new t.Type<AnyLinkContent, AnyLinkLegacy>(
495
- "AnyLink",
496
- (u): u is AnyLinkContent => hasContentType(u) && u.__TYPE__ === AnyLinkType,
497
- (anyLink) => {
498
- return pipe(
499
- anyLinkLegacyCodec.decode(anyLink),
500
- either.map((parsedAnyLink) => {
501
- return AnyLinkContent.encode({
502
- ...parsedAnyLink,
503
- __TYPE__: AnyLinkType,
504
- })
505
- }),
506
- )
507
- },
508
- (anyLink: AnyLinkContent): AnyLinkLegacy => {
509
- return anyLinkLegacyCodec.encode(anyLink)
510
- },
511
- )
512
-
513
- export const AnyLinkContent = t.intersection([
514
- t.strict({
515
- __TYPE__: t.literal(AnyLinkType),
516
- }),
517
- anyLinkLegacyCodec,
518
- ])
519
-
520
- export type AnyLinkContent = t.TypeOf<typeof AnyLinkContent>
521
-
522
- // Link.
523
-
524
- export const LinkContentType = "LinkContent"
525
-
526
- export const isLinkContent = (u: unknown): u is LinkContent =>
527
- hasContentType(u) && u.__TYPE__ === LinkContentType
528
-
529
- export const LinkLegacy = withKey(
530
- t.union([
531
- ImageLinkLegacy,
532
- FileLinkLegacy,
533
- DocumentLinkLegacy,
534
- ExternalLinkLegacy,
535
- MediaLinkLegacy,
536
- AnyLinkLegacy,
537
- ]),
538
- )
539
-
540
- type LinkLegacy = t.OutputOf<typeof LinkLegacy>
541
-
542
- export const LinkContentLegacy = (ctx: LegacyContentCtx) =>
543
- new t.Type<LinkContent, WithTypes<LinkLegacy>, unknown>(
544
- "LinkLegacy",
545
- isLinkContent,
546
- (u) => {
547
- return pipe(
548
- LinkLegacy.decode(u),
549
- either.map(({ key, ...value }) =>
550
- LinkContent.encode({
551
- __TYPE__: "LinkContent",
552
- key,
553
- value,
554
- }),
555
- ),
556
- )
557
- },
558
- ({ key, value }: LinkContent): WithTypes<LinkLegacy> => {
559
- return {
560
- content: LinkLegacy.encode({
561
- ...value,
562
- key,
563
- }),
564
- types: { [ctx.keyOfType]: "Link" },
565
- keys: {},
566
- }
567
- },
568
- )
569
-
570
- export const Link = t.union([
571
- ImageLinkContent,
572
- FileLinkContent,
573
- DocumentLinkContent,
574
- ExternalLinkContent,
575
- MediaLinkContent,
576
- AnyLinkContent,
577
- ])
578
-
579
- export const LinkContent = withKey(
580
- t.strict({
581
- __TYPE__: t.literal(LinkContentType),
582
- value: Link,
583
- }),
584
- )
585
-
586
- export type LinkContent = t.TypeOf<typeof LinkContent>
587
-
588
- export type LinksTypes =
589
- | LinkContent["__TYPE__"]
590
- | LinkContent["value"]["__TYPE__"]
591
-
592
- // FilledLink.
593
-
594
- export const isFilledLinkContent = (u: unknown): u is FilledLinkContent =>
595
- hasContentType(u) && u.__TYPE__ === LinkContentType
596
-
597
- export const FilledLinkLegacy = t.union([
598
- FilledImageLinkLegacy,
599
- FilledFileLinkLegacy,
600
- FilledDocumentLinkLegacy,
601
- FilledExternalLinkLegacy,
602
- ])
603
-
604
- type FilledLinkLegacy = t.OutputOf<typeof FilledLinkLegacy>
605
-
606
- export const FilledLinkContentLegacy = (ctx: LegacyContentCtx) => {
607
- const FilledLinkLegacyWithKey = withKey(FilledLinkLegacy)
608
- return new t.Type<FilledLinkContent, WithTypes<FilledLinkLegacy>>(
609
- "FilledLinkLegacy",
610
- isFilledLinkContent,
611
- (u) => {
612
- return pipe(
613
- FilledLinkLegacyWithKey.decode(u),
614
- either.map(({ key, ...value }) =>
615
- FilledLinkContent.encode({
616
- __TYPE__: "LinkContent",
617
- key,
618
- value,
619
- }),
620
- ),
621
- )
622
- },
623
-
624
- ({ key, value }: FilledLinkContent): WithTypes<FilledLinkLegacy> => {
625
- return {
626
- content: FilledLinkLegacyWithKey.encode({
627
- ...value,
628
- key,
629
- }),
630
- types: { [ctx.keyOfType]: "Link" },
631
- keys: {},
632
- }
633
- },
634
- )
635
- }
636
-
637
- export const FilledLink = t.union([
638
- FilledImageLinkContent,
639
- FilledFileLinkContent,
640
- FilledDocumentLinkContent,
641
- FilledExternalLinkContent,
642
- ])
643
-
644
- export const FilledLinkContent = withKey(
645
- t.strict({
646
- __TYPE__: t.literal(LinkContentType),
647
- value: FilledLink,
648
- }),
649
- )
650
-
651
- export type FilledLinkContent = t.TypeOf<typeof FilledLinkContent>