@prismicio/types-internal 3.17.0-pr.144.f39b468 → 3.17.0-pr.145.680cd65

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 (349) hide show
  1. package/dist/common/Asset.cjs +1 -0
  2. package/dist/common/Asset.cjs.map +1 -1
  3. package/dist/common/Embed.cjs +1 -0
  4. package/dist/common/Embed.cjs.map +1 -1
  5. package/dist/common/HexaColorCode.cjs +2 -0
  6. package/dist/common/HexaColorCode.cjs.map +1 -1
  7. package/dist/common/HexaColorCode.d.cts +1 -1
  8. package/dist/common/HexaColorCode.d.ts +1 -1
  9. package/dist/common/HexaColorCode.js +1 -1
  10. package/dist/common/UUID.cjs +3 -2
  11. package/dist/common/UUID.cjs.map +1 -1
  12. package/dist/common/UUID.d.cts +11 -0
  13. package/dist/common/UUID.d.cts.map +1 -0
  14. package/dist/common/UUID.d.ts +11 -0
  15. package/dist/common/UUID.d.ts.map +1 -0
  16. package/dist/common/WidgetKey.cjs +3 -2
  17. package/dist/common/WidgetKey.cjs.map +1 -1
  18. package/dist/common/index.cjs +10 -6
  19. package/dist/common/index.d.cts +1 -1
  20. package/dist/common/index.d.ts +1 -1
  21. package/dist/common/index.js +1 -1
  22. package/dist/content/Document.cjs +48 -47
  23. package/dist/content/Document.cjs.map +1 -1
  24. package/dist/content/Document.d.cts +20 -20
  25. package/dist/content/Document.d.cts.map +1 -1
  26. package/dist/content/Document.d.ts +20 -20
  27. package/dist/content/Document.d.ts.map +1 -1
  28. package/dist/content/LegacyContentCtx.cjs +4 -3
  29. package/dist/content/LegacyContentCtx.cjs.map +1 -1
  30. package/dist/content/fields/EmptyContent.cjs +3 -2
  31. package/dist/content/fields/EmptyContent.cjs.map +1 -1
  32. package/dist/content/fields/GroupContent.cjs +26 -25
  33. package/dist/content/fields/GroupContent.cjs.map +1 -1
  34. package/dist/content/fields/UIDContent.cjs +3 -2
  35. package/dist/content/fields/UIDContent.cjs.map +1 -1
  36. package/dist/content/fields/WidgetContent.cjs +18 -17
  37. package/dist/content/fields/WidgetContent.cjs.map +1 -1
  38. package/dist/content/fields/WidgetContent.d.cts +10 -10
  39. package/dist/content/fields/WidgetContent.d.ts +10 -10
  40. package/dist/content/fields/index.cjs +209 -32
  41. package/dist/content/fields/index.d.cts +33 -0
  42. package/dist/content/fields/index.d.ts +2 -1
  43. package/dist/content/fields/index.js +2 -0
  44. package/dist/content/fields/nestable/BooleanContent.cjs +3 -2
  45. package/dist/content/fields/nestable/BooleanContent.cjs.map +1 -1
  46. package/dist/content/fields/nestable/EmbedContent.cjs +14 -13
  47. package/dist/content/fields/nestable/EmbedContent.cjs.map +1 -1
  48. package/dist/content/fields/nestable/FieldContent/ColorContent.cjs +14 -13
  49. package/dist/content/fields/nestable/FieldContent/ColorContent.cjs.map +1 -1
  50. package/dist/content/fields/nestable/FieldContent/DateContent.cjs +14 -13
  51. package/dist/content/fields/nestable/FieldContent/DateContent.cjs.map +1 -1
  52. package/dist/content/fields/nestable/FieldContent/NumberContent.cjs +14 -13
  53. package/dist/content/fields/nestable/FieldContent/NumberContent.cjs.map +1 -1
  54. package/dist/content/fields/nestable/FieldContent/RangeContent.cjs +14 -13
  55. package/dist/content/fields/nestable/FieldContent/RangeContent.cjs.map +1 -1
  56. package/dist/content/fields/nestable/FieldContent/SelectContent.cjs +16 -15
  57. package/dist/content/fields/nestable/FieldContent/SelectContent.cjs.map +1 -1
  58. package/dist/content/fields/nestable/FieldContent/TextContent.cjs +14 -13
  59. package/dist/content/fields/nestable/FieldContent/TextContent.cjs.map +1 -1
  60. package/dist/content/fields/nestable/FieldContent/TimestampContent.cjs +14 -13
  61. package/dist/content/fields/nestable/FieldContent/TimestampContent.cjs.map +1 -1
  62. package/dist/content/fields/nestable/FieldContent/common.cjs +1 -0
  63. package/dist/content/fields/nestable/FieldContent/common.cjs.map +1 -1
  64. package/dist/content/fields/nestable/FieldContent/index.cjs +39 -15
  65. package/dist/content/fields/nestable/FieldContent/index.cjs.map +1 -1
  66. package/dist/content/fields/nestable/FieldContent/index.d.cts +1 -1
  67. package/dist/content/fields/nestable/FieldContent/index.d.ts +1 -1
  68. package/dist/content/fields/nestable/FieldContent/index.js +1 -1
  69. package/dist/content/fields/nestable/GeoPointContent.cjs +3 -2
  70. package/dist/content/fields/nestable/GeoPointContent.cjs.map +1 -1
  71. package/dist/content/fields/nestable/ImageContent.cjs +10 -9
  72. package/dist/content/fields/nestable/ImageContent.cjs.map +1 -1
  73. package/dist/content/fields/nestable/IntegrationFieldContent.cjs +3 -2
  74. package/dist/content/fields/nestable/IntegrationFieldContent.cjs.map +1 -1
  75. package/dist/content/fields/nestable/LinkContent.cjs +26 -25
  76. package/dist/content/fields/nestable/LinkContent.cjs.map +1 -1
  77. package/dist/content/fields/nestable/NestableContent.cjs +77 -76
  78. package/dist/content/fields/nestable/NestableContent.cjs.map +1 -1
  79. package/dist/content/fields/nestable/RepeatableContent.cjs +11 -10
  80. package/dist/content/fields/nestable/RepeatableContent.cjs.map +1 -1
  81. package/dist/content/fields/nestable/RichTextContent/Blocks.cjs +31 -30
  82. package/dist/content/fields/nestable/RichTextContent/Blocks.cjs.map +1 -1
  83. package/dist/content/fields/nestable/RichTextContent/index.cjs +17 -5
  84. package/dist/content/fields/nestable/RichTextContent/index.cjs.map +1 -1
  85. package/dist/content/fields/nestable/RichTextContent/index.d.cts +1 -1
  86. package/dist/content/fields/nestable/RichTextContent/index.d.ts +1 -1
  87. package/dist/content/fields/nestable/RichTextContent/index.js +1 -1
  88. package/dist/content/fields/nestable/SeparatorContent.cjs +3 -2
  89. package/dist/content/fields/nestable/SeparatorContent.cjs.map +1 -1
  90. package/dist/content/fields/nestable/TableContent.cjs +13 -12
  91. package/dist/content/fields/nestable/TableContent.cjs.map +1 -1
  92. package/dist/content/fields/nestable/index.cjs +135 -21
  93. package/dist/content/fields/nestable/index.d.cts +22 -0
  94. package/dist/content/fields/nestable/index.d.ts +2 -1
  95. package/dist/content/fields/nestable/index.js +2 -0
  96. package/dist/content/fields/slices/Slice/CompositeSliceContent.cjs +19 -18
  97. package/dist/content/fields/slices/Slice/CompositeSliceContent.cjs.map +1 -1
  98. package/dist/content/fields/slices/Slice/CompositeSliceContent.d.cts +2 -2
  99. package/dist/content/fields/slices/Slice/CompositeSliceContent.d.cts.map +1 -1
  100. package/dist/content/fields/slices/Slice/CompositeSliceContent.d.ts +2 -2
  101. package/dist/content/fields/slices/Slice/CompositeSliceContent.d.ts.map +1 -1
  102. package/dist/content/fields/slices/Slice/RepeatableContent.cjs +6 -5
  103. package/dist/content/fields/slices/Slice/RepeatableContent.cjs.map +1 -1
  104. package/dist/content/fields/slices/Slice/RepeatableContent.d.cts +779 -0
  105. package/dist/content/fields/slices/Slice/RepeatableContent.d.cts.map +1 -0
  106. package/dist/content/fields/slices/Slice/RepeatableContent.d.ts +779 -0
  107. package/dist/content/fields/slices/Slice/RepeatableContent.d.ts.map +1 -0
  108. package/dist/content/fields/slices/Slice/SharedSliceContent.cjs +27 -26
  109. package/dist/content/fields/slices/Slice/SharedSliceContent.cjs.map +1 -1
  110. package/dist/content/fields/slices/Slice/SharedSliceContent.d.cts +4 -4
  111. package/dist/content/fields/slices/Slice/SharedSliceContent.d.cts.map +1 -1
  112. package/dist/content/fields/slices/Slice/SharedSliceContent.d.ts +4 -4
  113. package/dist/content/fields/slices/Slice/SharedSliceContent.d.ts.map +1 -1
  114. package/dist/content/fields/slices/Slice/SimpleSliceContent.cjs +11 -10
  115. package/dist/content/fields/slices/Slice/SimpleSliceContent.cjs.map +1 -1
  116. package/dist/content/fields/slices/Slice/SlicePrimaryContent.cjs +10 -9
  117. package/dist/content/fields/slices/Slice/SlicePrimaryContent.cjs.map +1 -1
  118. package/dist/content/fields/slices/Slice/index.cjs +35 -13
  119. package/dist/content/fields/slices/Slice/index.cjs.map +1 -1
  120. package/dist/content/fields/slices/Slice/index.d.cts +7 -7
  121. package/dist/content/fields/slices/Slice/index.d.ts +7 -7
  122. package/dist/content/fields/slices/Slice/index.js +1 -1
  123. package/dist/content/fields/slices/SliceItem.cjs +24 -23
  124. package/dist/content/fields/slices/SliceItem.cjs.map +1 -1
  125. package/dist/content/fields/slices/SliceItem.d.cts +8 -8
  126. package/dist/content/fields/slices/SliceItem.d.cts.map +1 -1
  127. package/dist/content/fields/slices/SliceItem.d.ts +8 -8
  128. package/dist/content/fields/slices/SliceItem.d.ts.map +1 -1
  129. package/dist/content/fields/slices/SlicesContent.cjs +50 -49
  130. package/dist/content/fields/slices/SlicesContent.cjs.map +1 -1
  131. package/dist/content/fields/slices/SlicesContent.d.cts +8 -8
  132. package/dist/content/fields/slices/SlicesContent.d.cts.map +1 -1
  133. package/dist/content/fields/slices/SlicesContent.d.ts +8 -8
  134. package/dist/content/fields/slices/SlicesContent.d.ts.map +1 -1
  135. package/dist/content/fields/slices/index.cjs +47 -7
  136. package/dist/content/fields/slices/index.d.cts +8 -0
  137. package/dist/content/fields/slices/index.d.ts +2 -1
  138. package/dist/content/fields/slices/index.js +2 -0
  139. package/dist/content/fields/withDefaultValues.cjs +11 -10
  140. package/dist/content/fields/withDefaultValues.cjs.map +1 -1
  141. package/dist/content/fields/withDefaultValues.d.cts +16 -0
  142. package/dist/content/fields/withDefaultValues.d.cts.map +1 -0
  143. package/dist/content/fields/withDefaultValues.d.ts +18 -0
  144. package/dist/content/fields/withDefaultValues.d.ts.map +1 -0
  145. package/dist/content/helpers.cjs +1 -0
  146. package/dist/content/helpers.cjs.map +1 -1
  147. package/dist/content/index.cjs +417 -226
  148. package/dist/content/index.d.cts +1 -1
  149. package/dist/content/index.d.ts +1 -1
  150. package/dist/content/index.js +1 -1
  151. package/dist/content/utils.cjs +7 -4
  152. package/dist/content/utils.cjs.map +1 -1
  153. package/dist/content/utils.d.cts +1 -1
  154. package/dist/content/utils.d.ts +1 -1
  155. package/dist/content/utils.js +1 -1
  156. package/dist/customtypes/CustomType.cjs +8 -7
  157. package/dist/customtypes/CustomType.cjs.map +1 -1
  158. package/dist/customtypes/Section.cjs +11 -10
  159. package/dist/customtypes/Section.cjs.map +1 -1
  160. package/dist/customtypes/diff/Changes.cjs +1 -0
  161. package/dist/customtypes/diff/Changes.cjs.map +1 -1
  162. package/dist/customtypes/diff/SharedSlice.cjs +13 -12
  163. package/dist/customtypes/diff/SharedSlice.cjs.map +1 -1
  164. package/dist/customtypes/diff/Variation.cjs +19 -18
  165. package/dist/customtypes/diff/Variation.cjs.map +1 -1
  166. package/dist/customtypes/diff/Widgets.cjs +0 -0
  167. package/dist/customtypes/diff/Widgets.js +0 -0
  168. package/dist/customtypes/diff/index.cjs +8 -3
  169. package/dist/customtypes/diff/index.d.cts +5 -0
  170. package/dist/customtypes/diff/index.d.ts +2 -1
  171. package/dist/customtypes/diff/index.js +2 -0
  172. package/dist/customtypes/index.cjs +272 -152
  173. package/dist/customtypes/index.d.cts +2 -2
  174. package/dist/customtypes/index.d.ts +2 -2
  175. package/dist/customtypes/index.js +1 -1
  176. package/dist/customtypes/widgets/Group.cjs +11 -10
  177. package/dist/customtypes/widgets/Group.cjs.map +1 -1
  178. package/dist/customtypes/widgets/UID.cjs +4 -3
  179. package/dist/customtypes/widgets/UID.cjs.map +1 -1
  180. package/dist/customtypes/widgets/Widget.cjs +47 -46
  181. package/dist/customtypes/widgets/Widget.cjs.map +1 -1
  182. package/dist/customtypes/widgets/index.cjs +129 -28
  183. package/dist/customtypes/widgets/index.d.cts +30 -0
  184. package/dist/customtypes/widgets/index.d.ts +3 -2
  185. package/dist/customtypes/widgets/index.js +2 -0
  186. package/dist/customtypes/widgets/nestable/BooleanField.cjs +3 -2
  187. package/dist/customtypes/widgets/nestable/BooleanField.cjs.map +1 -1
  188. package/dist/customtypes/widgets/nestable/Color.cjs +4 -3
  189. package/dist/customtypes/widgets/nestable/Color.cjs.map +1 -1
  190. package/dist/customtypes/widgets/nestable/Date.cjs +4 -3
  191. package/dist/customtypes/widgets/nestable/Date.cjs.map +1 -1
  192. package/dist/customtypes/widgets/nestable/Embed.cjs +4 -3
  193. package/dist/customtypes/widgets/nestable/Embed.cjs.map +1 -1
  194. package/dist/customtypes/widgets/nestable/GeoPoint.cjs +4 -3
  195. package/dist/customtypes/widgets/nestable/GeoPoint.cjs.map +1 -1
  196. package/dist/customtypes/widgets/nestable/Image.cjs +7 -6
  197. package/dist/customtypes/widgets/nestable/Image.cjs.map +1 -1
  198. package/dist/customtypes/widgets/nestable/IntegrationField.cjs +4 -3
  199. package/dist/customtypes/widgets/nestable/IntegrationField.cjs.map +1 -1
  200. package/dist/customtypes/widgets/nestable/Link.cjs +4 -3
  201. package/dist/customtypes/widgets/nestable/Link.cjs.map +1 -1
  202. package/dist/customtypes/widgets/nestable/NestableWidget.cjs +33 -32
  203. package/dist/customtypes/widgets/nestable/NestableWidget.cjs.map +1 -1
  204. package/dist/customtypes/widgets/nestable/Number.cjs +4 -3
  205. package/dist/customtypes/widgets/nestable/Number.cjs.map +1 -1
  206. package/dist/customtypes/widgets/nestable/Range.cjs +4 -3
  207. package/dist/customtypes/widgets/nestable/Range.cjs.map +1 -1
  208. package/dist/customtypes/widgets/nestable/RichText.cjs +6 -5
  209. package/dist/customtypes/widgets/nestable/RichText.cjs.map +1 -1
  210. package/dist/customtypes/widgets/nestable/Select.cjs +8 -7
  211. package/dist/customtypes/widgets/nestable/Select.cjs.map +1 -1
  212. package/dist/customtypes/widgets/nestable/Separator.cjs +3 -2
  213. package/dist/customtypes/widgets/nestable/Separator.cjs.map +1 -1
  214. package/dist/customtypes/widgets/nestable/Table.cjs +8 -7
  215. package/dist/customtypes/widgets/nestable/Table.cjs.map +1 -1
  216. package/dist/customtypes/widgets/nestable/Text.cjs +4 -3
  217. package/dist/customtypes/widgets/nestable/Text.cjs.map +1 -1
  218. package/dist/customtypes/widgets/nestable/Timestamp.cjs +4 -3
  219. package/dist/customtypes/widgets/nestable/Timestamp.cjs.map +1 -1
  220. package/dist/customtypes/widgets/nestable/index.cjs +73 -17
  221. package/dist/customtypes/widgets/nestable/index.d.cts +18 -0
  222. package/dist/customtypes/widgets/nestable/index.d.ts +2 -1
  223. package/dist/customtypes/widgets/nestable/index.js +2 -0
  224. package/dist/customtypes/widgets/shared/ImageConstraint.cjs +5 -5
  225. package/dist/customtypes/widgets/shared/ImageConstraint.d.cts +1 -2
  226. package/dist/customtypes/widgets/shared/ImageConstraint.d.cts.map +1 -1
  227. package/dist/customtypes/widgets/shared/ImageConstraint.d.ts +1 -1
  228. package/dist/customtypes/widgets/shared/index.cjs +4 -1
  229. package/dist/customtypes/widgets/shared/index.d.cts +2 -0
  230. package/dist/customtypes/widgets/shared/index.d.ts +2 -1
  231. package/dist/customtypes/widgets/shared/index.js +2 -0
  232. package/dist/customtypes/widgets/slices/CompositeSlice.cjs +8 -7
  233. package/dist/customtypes/widgets/slices/CompositeSlice.cjs.map +1 -1
  234. package/dist/customtypes/widgets/slices/LegacySlice.cjs +4 -3
  235. package/dist/customtypes/widgets/slices/LegacySlice.cjs.map +1 -1
  236. package/dist/customtypes/widgets/slices/SharedSlice.cjs +8 -7
  237. package/dist/customtypes/widgets/slices/SharedSlice.cjs.map +1 -1
  238. package/dist/customtypes/widgets/slices/SharedSliceRef.cjs +3 -2
  239. package/dist/customtypes/widgets/slices/SharedSliceRef.cjs.map +1 -1
  240. package/dist/customtypes/widgets/slices/Slice.cjs +0 -0
  241. package/dist/customtypes/widgets/slices/Slice.js +0 -0
  242. package/dist/customtypes/widgets/slices/SlicePrimaryWidget.cjs +5 -4
  243. package/dist/customtypes/widgets/slices/SlicePrimaryWidget.cjs.map +1 -1
  244. package/dist/customtypes/widgets/slices/Slices.cjs +18 -17
  245. package/dist/customtypes/widgets/slices/Slices.cjs.map +1 -1
  246. package/dist/customtypes/widgets/slices/SlicesTypes.cjs +5 -4
  247. package/dist/customtypes/widgets/slices/SlicesTypes.cjs.map +1 -1
  248. package/dist/customtypes/widgets/slices/index.cjs +38 -7
  249. package/dist/customtypes/widgets/slices/index.d.cts +9 -0
  250. package/dist/customtypes/widgets/slices/index.d.ts +2 -1
  251. package/dist/customtypes/widgets/slices/index.js +2 -0
  252. package/dist/index.cjs +10 -10
  253. package/dist/utils/Arrays.cjs +1 -0
  254. package/dist/utils/Arrays.cjs.map +1 -1
  255. package/dist/utils/Arrays.d.cts +1 -1
  256. package/dist/utils/Arrays.d.ts +1 -1
  257. package/dist/utils/DocumentId.cjs +12 -0
  258. package/dist/utils/DocumentId.cjs.map +1 -0
  259. package/dist/utils/DocumentId.d.cts +7 -0
  260. package/dist/utils/DocumentId.d.cts.map +1 -0
  261. package/dist/utils/DocumentId.d.ts +7 -0
  262. package/dist/utils/DocumentId.d.ts.map +1 -0
  263. package/dist/utils/DocumentId.js +9 -0
  264. package/dist/utils/DocumentId.js.map +1 -0
  265. package/dist/utils/Fields.cjs +1 -0
  266. package/dist/utils/Objects.cjs +3 -0
  267. package/dist/utils/Objects.cjs.map +1 -1
  268. package/dist/utils/Objects.d.cts +1 -1
  269. package/dist/utils/Objects.d.ts +1 -1
  270. package/dist/utils/Objects.js +1 -1
  271. package/dist/utils/index.cjs +33 -8
  272. package/dist/utils/index.d.cts +1 -1
  273. package/dist/utils/index.d.ts +1 -1
  274. package/dist/utils/index.js +1 -1
  275. package/dist/validators/BasicTypes.cjs +9 -6
  276. package/dist/validators/BasicTypes.cjs.map +1 -1
  277. package/dist/validators/BasicTypes.d.cts +3 -1
  278. package/dist/validators/BasicTypes.d.cts.map +1 -1
  279. package/dist/validators/BasicTypes.d.ts +3 -1
  280. package/dist/validators/BasicTypes.d.ts.map +1 -1
  281. package/dist/validators/BasicTypes.js +1 -1
  282. package/dist/validators/DateFromString.cjs +3 -3
  283. package/dist/validators/DateFromString.cjs.map +1 -1
  284. package/dist/validators/DateFromString.d.cts +1 -2
  285. package/dist/validators/DateFromString.d.ts +1 -1
  286. package/dist/validators/DateFromStringOrNumber.cjs +1 -1
  287. package/dist/validators/DateFromStringOrNumber.d.cts +1 -2
  288. package/dist/validators/DateFromStringOrNumber.d.ts +1 -1
  289. package/dist/validators/DateFromTsMs.cjs +1 -1
  290. package/dist/validators/DateFromTsMs.d.cts +1 -2
  291. package/dist/validators/DateFromTsMs.d.ts +1 -1
  292. package/dist/validators/DefaultOrElse.cjs +4 -3
  293. package/dist/validators/DefaultOrElse.cjs.map +1 -1
  294. package/dist/validators/IntFromNumber.cjs +1 -1
  295. package/dist/validators/IntFromNumber.d.cts +2 -1
  296. package/dist/validators/IntFromNumber.d.cts.map +1 -1
  297. package/dist/validators/IntFromNumber.d.ts +2 -1
  298. package/dist/validators/IntFromNumber.d.ts.map +1 -1
  299. package/dist/validators/IntFromPixels.cjs +1 -1
  300. package/dist/validators/IntFromPixels.d.cts +2 -1
  301. package/dist/validators/IntFromPixels.d.cts.map +1 -1
  302. package/dist/validators/IntFromPixels.d.ts +2 -1
  303. package/dist/validators/IntFromPixels.d.ts.map +1 -1
  304. package/dist/validators/NonEmptyString.cjs +3 -3
  305. package/dist/validators/NonEmptyString.cjs.map +1 -1
  306. package/dist/validators/NonEmptyString.d.cts +1 -2
  307. package/dist/validators/NonEmptyString.d.ts +1 -1
  308. package/dist/validators/NonEmptyStringOrNull.cjs +3 -3
  309. package/dist/validators/NonEmptyStringOrNull.cjs.map +1 -1
  310. package/dist/validators/NonEmptyStringOrNull.d.cts +1 -2
  311. package/dist/validators/NonEmptyStringOrNull.d.ts +1 -1
  312. package/dist/validators/NumberOrNull.cjs +3 -3
  313. package/dist/validators/NumberOrNull.cjs.map +1 -1
  314. package/dist/validators/NumberOrNull.d.cts +1 -2
  315. package/dist/validators/NumberOrNull.d.ts +1 -1
  316. package/dist/validators/NumberRange.cjs +3 -3
  317. package/dist/validators/NumberRange.cjs.map +1 -1
  318. package/dist/validators/NumberRange.d.cts +1 -2
  319. package/dist/validators/NumberRange.d.cts.map +1 -1
  320. package/dist/validators/NumberRange.d.ts +1 -1
  321. package/dist/validators/StringFromBoolean.cjs +1 -1
  322. package/dist/validators/StringFromBoolean.d.cts +2 -1
  323. package/dist/validators/StringFromBoolean.d.cts.map +1 -1
  324. package/dist/validators/StringFromBoolean.d.ts +2 -1
  325. package/dist/validators/StringFromBoolean.d.ts.map +1 -1
  326. package/dist/validators/StringFromNumber.cjs +1 -1
  327. package/dist/validators/StringFromNumber.d.cts +2 -1
  328. package/dist/validators/StringFromNumber.d.cts.map +1 -1
  329. package/dist/validators/StringFromNumber.d.ts +2 -1
  330. package/dist/validators/StringFromNumber.d.ts.map +1 -1
  331. package/dist/validators/StringOrNull.cjs +3 -3
  332. package/dist/validators/StringOrNull.cjs.map +1 -1
  333. package/dist/validators/StringOrNull.d.cts +1 -2
  334. package/dist/validators/StringOrNull.d.ts +1 -1
  335. package/dist/validators/TrimmedString.cjs +1 -1
  336. package/dist/validators/TrimmedString.d.cts +9 -0
  337. package/dist/validators/TrimmedString.d.cts.map +1 -0
  338. package/dist/validators/TrimmedString.d.ts +9 -0
  339. package/dist/validators/TrimmedString.d.ts.map +1 -0
  340. package/dist/validators/function.cjs +8 -0
  341. package/dist/validators/function.cjs.map +1 -1
  342. package/dist/validators/function.d.cts +1 -1
  343. package/dist/validators/function.d.ts +1 -1
  344. package/dist/validators/function.js +1 -1
  345. package/dist/validators/index.cjs +65 -37
  346. package/dist/validators/index.d.cts +13 -13
  347. package/dist/validators/index.d.ts +13 -13
  348. package/dist/validators/index.js +1 -1
  349. package/package.json +31 -24
@@ -1,3 +1,4 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
2
 
2
3
  //#region src/common/Asset.ts
3
4
  const getAssetOrThrow = (assets) => (assetId) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Asset.cjs","names":[],"sources":["../../src/common/Asset.ts"],"sourcesContent":["export type Asset = {\n\tid: string\n\tlast_modified: string\n\tkind: \"image\" | \"all\"\n\tfilename?: string\n\textension?: string\n\tsize?: number\n\torigin_url: string\n\turl: string\n\twidth?: number\n\theight?: number\n\tnotes?: string\n\tcredits?: string\n\talt?: string\n}\n\nexport const getAssetOrThrow =\n\t(assets: Record<Asset[\"id\"], Asset | undefined>) => (assetId: Asset[\"id\"]) => {\n\t\tconst asset = assets[assetId]\n\t\tif (!asset) {\n\t\t\tthrow new Error(`Missing asset with id '${assetId}'!`)\n\t\t}\n\t\treturn asset\n\t}\n"],"mappings":";;AAgBA,MAAa,mBACX,YAAoD,YAAyB;CAC7E,MAAM,QAAQ,OAAO;AACrB,KAAI,CAAC,MACJ,OAAM,IAAI,MAAM,0BAA0B,QAAQ,IAAI;AAEvD,QAAO"}
1
+ {"version":3,"file":"Asset.cjs","names":[],"sources":["../../src/common/Asset.ts"],"sourcesContent":["export type Asset = {\n\tid: string\n\tlast_modified: string\n\tkind: \"image\" | \"all\"\n\tfilename?: string\n\textension?: string\n\tsize?: number\n\torigin_url: string\n\turl: string\n\twidth?: number\n\theight?: number\n\tnotes?: string\n\tcredits?: string\n\talt?: string\n}\n\nexport const getAssetOrThrow =\n\t(assets: Record<Asset[\"id\"], Asset | undefined>) => (assetId: Asset[\"id\"]) => {\n\t\tconst asset = assets[assetId]\n\t\tif (!asset) {\n\t\t\tthrow new Error(`Missing asset with id '${assetId}'!`)\n\t\t}\n\t\treturn asset\n\t}\n"],"mappings":";;;AAgBA,MAAa,mBACX,YAAoD,YAAyB;CAC7E,MAAM,QAAQ,OAAO;AACrB,KAAI,CAAC,MACJ,OAAM,IAAI,MAAM,0BAA0B,QAAQ,IAAI;AAEvD,QAAO"}
@@ -1,3 +1,4 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
2
 
2
3
  //#region src/common/Embed.ts
3
4
  const getEmbedOrThrow = (embeds) => (embedUrl) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Embed.cjs","names":[],"sources":["../../src/common/Embed.ts"],"sourcesContent":["// This type represents response format from oEmbed API\nexport type Embed = {\n\ttype: string\n\tversion?: string | null\n\tauthor_name?: string | null\n\tauthor_url?: string | null\n\tprovider_name?: string | null\n\tprovider_url?: string | null\n\tcache_age?: string | null\n\tthumbnail_url?: string | null\n\tthumbnail_width?: number | null\n\tthumbnail_height?: number | null\n\thtml?: string | null\n\ttitle?: string | null\n}\n\nexport const getEmbedOrThrow =\n\t(embeds: Record<string, Embed | undefined>) => (embedUrl: string) => {\n\t\tconst embed = embeds[embedUrl]\n\t\tif (!embed) throw new Error(`Missing embed with url '${embedUrl}'`)\n\t\treturn embed\n\t}\n"],"mappings":";;AAgBA,MAAa,mBACX,YAA+C,aAAqB;CACpE,MAAM,QAAQ,OAAO;AACrB,KAAI,CAAC,MAAO,OAAM,IAAI,MAAM,2BAA2B,SAAS,GAAG;AACnE,QAAO"}
1
+ {"version":3,"file":"Embed.cjs","names":[],"sources":["../../src/common/Embed.ts"],"sourcesContent":["// This type represents response format from oEmbed API\nexport type Embed = {\n\ttype: string\n\tversion?: string | null\n\tauthor_name?: string | null\n\tauthor_url?: string | null\n\tprovider_name?: string | null\n\tprovider_url?: string | null\n\tcache_age?: string | null\n\tthumbnail_url?: string | null\n\tthumbnail_width?: number | null\n\tthumbnail_height?: number | null\n\thtml?: string | null\n\ttitle?: string | null\n}\n\nexport const getEmbedOrThrow =\n\t(embeds: Record<string, Embed | undefined>) => (embedUrl: string) => {\n\t\tconst embed = embeds[embedUrl]\n\t\tif (!embed) throw new Error(`Missing embed with url '${embedUrl}'`)\n\t\treturn embed\n\t}\n"],"mappings":";;;AAgBA,MAAa,mBACX,YAA+C,aAAqB;CACpE,MAAM,QAAQ,OAAO;AACrB,KAAI,CAAC,MAAO,OAAM,IAAI,MAAM,2BAA2B,SAAS,GAAG;AACnE,QAAO"}
@@ -1,3 +1,4 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
3
 
3
4
  //#region src/common/HexaColorCode.ts
@@ -6,6 +7,7 @@ const hexaColorCodeRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
6
7
  const HexaColor = { is: (strColor) => hexaColorCodeRegex.test(strColor) };
7
8
 
8
9
  //#endregion
10
+ exports.HexaColor = HexaColor;
9
11
  Object.defineProperty(exports, 'HexaColorCode_exports', {
10
12
  enumerable: true,
11
13
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"HexaColorCode.cjs","names":[],"sources":["../../src/common/HexaColorCode.ts"],"sourcesContent":["/*\n ** This type is not exhaustif because typescript can't compute all the possible solutions if we try to be explicit\n ** more information: https://medium.com/@steve.alves2/how-to-type-hex-colors-in-typescript-3c3b9a32baa7\n */\nexport type HexaColorCode = `#${string}`\n\nconst hexaColorCodeRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/\nexport const HexaColor = {\n\tis: (strColor: string): strColor is HexaColorCode => hexaColorCodeRegex.test(strColor),\n}\n"],"mappings":";;;;AAMA,MAAM,qBAAqB;AAC3B,MAAa,YAAY,EACxB,KAAK,aAAgD,mBAAmB,KAAK,SAAS,EACtF"}
1
+ {"version":3,"file":"HexaColorCode.cjs","names":[],"sources":["../../src/common/HexaColorCode.ts"],"sourcesContent":["/*\n ** This type is not exhaustif because typescript can't compute all the possible solutions if we try to be explicit\n ** more information: https://medium.com/@steve.alves2/how-to-type-hex-colors-in-typescript-3c3b9a32baa7\n */\nexport type HexaColorCode = `#${string}`\n\nconst hexaColorCodeRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/\nexport const HexaColor = {\n\tis: (strColor: string): strColor is HexaColorCode => hexaColorCodeRegex.test(strColor),\n}\n"],"mappings":";;;;;AAMA,MAAM,qBAAqB;AAC3B,MAAa,YAAY,EACxB,KAAK,aAAgD,mBAAmB,KAAK,SAAS,EACtF"}
@@ -6,5 +6,5 @@ declare const HexaColor: {
6
6
  is: (strColor: string) => strColor is HexaColorCode;
7
7
  };
8
8
  //#endregion
9
- export { HexaColorCode_d_exports };
9
+ export { HexaColor, HexaColorCode, HexaColorCode_d_exports };
10
10
  //# sourceMappingURL=HexaColorCode.d.cts.map
@@ -6,5 +6,5 @@ declare const HexaColor: {
6
6
  is: (strColor: string) => strColor is HexaColorCode;
7
7
  };
8
8
  //#endregion
9
- export { HexaColorCode_d_exports };
9
+ export { HexaColor, HexaColorCode, HexaColorCode_d_exports };
10
10
  //# sourceMappingURL=HexaColorCode.d.ts.map
@@ -6,5 +6,5 @@ const hexaColorCodeRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
6
6
  const HexaColor = { is: (strColor) => hexaColorCodeRegex.test(strColor) };
7
7
 
8
8
  //#endregion
9
- export { HexaColorCode_exports };
9
+ export { HexaColor, HexaColorCode_exports };
10
10
  //# sourceMappingURL=HexaColorCode.js.map
@@ -1,10 +1,11 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
- const require_function = require('../validators/function.cjs');
3
+ const require_validators_function = require('../validators/function.cjs');
3
4
  let io_ts = require("io-ts");
4
5
  io_ts = require_runtime.__toESM(io_ts);
5
6
 
6
7
  //#region src/common/UUID.ts
7
- const UUID = require_function.withCustomError(io_ts.brand(io_ts.string, (s) => typeof s === "string" && /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i.test(s), "UUID"), () => "The value must be a valid UUID");
8
+ const UUID = require_validators_function.withCustomError(io_ts.brand(io_ts.string, (s) => typeof s === "string" && /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i.test(s), "UUID"), () => "The value must be a valid UUID");
8
9
 
9
10
  //#endregion
10
11
  exports.UUID = UUID;
@@ -1 +1 @@
1
- {"version":3,"file":"UUID.cjs","names":["withCustomError","t"],"sources":["../../src/common/UUID.ts"],"sourcesContent":["import * as t from \"io-ts\"\n\nimport { withCustomError } from \"../validators/function\"\n\nexport interface UUIDBrand {\n\treadonly UUID: unique symbol\n}\n\nexport const UUID = withCustomError(\n\tt.brand(\n\t\tt.string,\n\t\t(s): s is t.Branded<string, UUIDBrand> =>\n\t\t\ttypeof s === \"string\" &&\n\t\t\t/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i.test(\n\t\t\t\ts,\n\t\t\t),\n\t\t\"UUID\",\n\t),\n\t() => \"The value must be a valid UUID\",\n)\n\nexport type UUID = t.TypeOf<typeof UUID>\n"],"mappings":";;;;;;AAQA,MAAa,OAAOA,iCACnBC,MAAE,MACDA,MAAE,SACD,MACA,OAAO,MAAM,YACb,2JAA2J,KAC1J,EACA,EACF,OACA,QACK,iCACN"}
1
+ {"version":3,"file":"UUID.cjs","names":["withCustomError","t"],"sources":["../../src/common/UUID.ts"],"sourcesContent":["import * as t from \"io-ts\"\n\nimport { withCustomError } from \"../validators/function\"\n\nexport interface UUIDBrand {\n\treadonly UUID: unique symbol\n}\n\nexport const UUID = withCustomError(\n\tt.brand(\n\t\tt.string,\n\t\t(s): s is t.Branded<string, UUIDBrand> =>\n\t\t\ttypeof s === \"string\" &&\n\t\t\t/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i.test(\n\t\t\t\ts,\n\t\t\t),\n\t\t\"UUID\",\n\t),\n\t() => \"The value must be a valid UUID\",\n)\n\nexport type UUID = t.TypeOf<typeof UUID>\n"],"mappings":";;;;;;;AAQA,MAAa,OAAOA,4CACnBC,MAAE,MACDA,MAAE,SACD,MACA,OAAO,MAAM,YACb,2JAA2J,KAC1J,EACA,EACF,OACA,QACK,iCACN"}
@@ -0,0 +1,11 @@
1
+ import * as t from "io-ts";
2
+
3
+ //#region src/common/UUID.d.ts
4
+ interface UUIDBrand {
5
+ readonly UUID: unique symbol;
6
+ }
7
+ declare const UUID: t.BrandC<t.StringC, UUIDBrand>;
8
+ type UUID = t.TypeOf<typeof UUID>;
9
+ //#endregion
10
+ export { UUID, UUIDBrand };
11
+ //# sourceMappingURL=UUID.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UUID.d.cts","names":[],"sources":["../../src/common/UUID.ts"],"mappings":";;;UAIiB,SAAA;EAAA,SACP,IAAA;AAAA;AAAA,cAGG,IAAA,EAAI,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,OAAA,EAAA,SAAA;AAAA,KAaL,IAAA,GAAO,CAAA,CAAE,MAAA,QAAc,IAAA"}
@@ -0,0 +1,11 @@
1
+ import * as t from "io-ts";
2
+
3
+ //#region src/common/UUID.d.ts
4
+ interface UUIDBrand {
5
+ readonly UUID: unique symbol;
6
+ }
7
+ declare const UUID: t.BrandC<t.StringC, UUIDBrand>;
8
+ type UUID = t.TypeOf<typeof UUID>;
9
+ //#endregion
10
+ export { UUID, UUIDBrand };
11
+ //# sourceMappingURL=UUID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UUID.d.ts","names":[],"sources":["../../src/common/UUID.ts"],"mappings":";;;UAIiB,SAAA;EAAA,SACP,IAAA;AAAA;AAAA,cAGG,IAAA,EAAI,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,OAAA,EAAA,SAAA;AAAA,KAaL,IAAA,GAAO,CAAA,CAAE,MAAA,QAAc,IAAA"}
@@ -1,11 +1,12 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
- const require_function = require('../validators/function.cjs');
3
+ const require_validators_function = require('../validators/function.cjs');
3
4
  let io_ts = require("io-ts");
4
5
  io_ts = require_runtime.__toESM(io_ts);
5
6
 
6
7
  //#region src/common/WidgetKey.ts
7
8
  const widgetKeyRegex = /* @__PURE__ */ new RegExp("^[^<>]+$");
8
- const WidgetKey = require_function.refineType(io_ts.string, "WidgetKey", (s) => s.length === 0 || widgetKeyRegex.test(s));
9
+ const WidgetKey = require_validators_function.refineType(io_ts.string, "WidgetKey", (s) => s.length === 0 || widgetKeyRegex.test(s));
9
10
 
10
11
  //#endregion
11
12
  exports.WidgetKey = WidgetKey;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetKey.cjs","names":["refineType","t"],"sources":["../../src/common/WidgetKey.ts"],"sourcesContent":["import * as t from \"io-ts\"\n\nimport { refineType } from \"../validators/function\"\n\nconst widgetKeyRegex = new RegExp(\"^[^<>]+$\")\n\nexport const WidgetKey = refineType(\n\tt.string,\n\t\"WidgetKey\",\n\t(s: string) => s.length === 0 || widgetKeyRegex.test(s),\n)\n\nexport type WidgetKey = t.TypeOf<typeof WidgetKey>\n"],"mappings":";;;;;;AAIA,MAAM,iCAAiB,IAAI,OAAO,WAAW;AAE7C,MAAa,YAAYA,4BACxBC,MAAE,QACF,cACC,MAAc,EAAE,WAAW,KAAK,eAAe,KAAK,EAAE,CACvD"}
1
+ {"version":3,"file":"WidgetKey.cjs","names":["refineType","t"],"sources":["../../src/common/WidgetKey.ts"],"sourcesContent":["import * as t from \"io-ts\"\n\nimport { refineType } from \"../validators/function\"\n\nconst widgetKeyRegex = new RegExp(\"^[^<>]+$\")\n\nexport const WidgetKey = refineType(\n\tt.string,\n\t\"WidgetKey\",\n\t(s: string) => s.length === 0 || widgetKeyRegex.test(s),\n)\n\nexport type WidgetKey = t.TypeOf<typeof WidgetKey>\n"],"mappings":";;;;;;;AAIA,MAAM,iCAAiB,IAAI,OAAO,WAAW;AAE7C,MAAa,YAAYA,uCACxBC,MAAE,QACF,cACC,MAAc,EAAE,WAAW,KAAK,eAAe,KAAK,EAAE,CACvD"}
@@ -1,20 +1,24 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
- const require_Asset = require('./Asset.cjs');
3
- const require_Embed = require('./Embed.cjs');
4
- const require_WidgetKey = require('./WidgetKey.cjs');
3
+ const require_common_Asset = require('./Asset.cjs');
4
+ const require_common_Embed = require('./Embed.cjs');
5
+ const require_common_WidgetKey = require('./WidgetKey.cjs');
5
6
 
6
7
  //#region src/common/index.ts
7
8
  var common_exports = /* @__PURE__ */ require_runtime.__exportAll({
8
- WidgetKey: () => require_WidgetKey.WidgetKey,
9
- getAssetOrThrow: () => require_Asset.getAssetOrThrow,
10
- getEmbedOrThrow: () => require_Embed.getEmbedOrThrow
9
+ WidgetKey: () => require_common_WidgetKey.WidgetKey,
10
+ getAssetOrThrow: () => require_common_Asset.getAssetOrThrow,
11
+ getEmbedOrThrow: () => require_common_Embed.getEmbedOrThrow
11
12
  });
12
13
 
13
14
  //#endregion
15
+ exports.WidgetKey = require_common_WidgetKey.WidgetKey;
14
16
  Object.defineProperty(exports, 'common_exports', {
15
17
  enumerable: true,
16
18
  get: function () {
17
19
  return common_exports;
18
20
  }
19
21
  });
22
+ exports.getAssetOrThrow = require_common_Asset.getAssetOrThrow;
23
+ exports.getEmbedOrThrow = require_common_Embed.getEmbedOrThrow;
20
24
  //# sourceMappingURL=index.cjs.map
@@ -7,5 +7,5 @@ declare namespace index_d_exports {
7
7
  export { Asset, Embed, WidgetKey, getAssetOrThrow, getEmbedOrThrow };
8
8
  }
9
9
  //#endregion
10
- export { index_d_exports };
10
+ export { Asset, Embed, WidgetKey, getAssetOrThrow, getEmbedOrThrow, index_d_exports };
11
11
  //# sourceMappingURL=index.d.cts.map
@@ -7,5 +7,5 @@ declare namespace index_d_exports {
7
7
  export { Asset, Embed, WidgetKey, getAssetOrThrow, getEmbedOrThrow };
8
8
  }
9
9
  //#endregion
10
- export { index_d_exports };
10
+ export { Asset, Embed, WidgetKey, getAssetOrThrow, getEmbedOrThrow, index_d_exports };
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -11,5 +11,5 @@ var common_exports = /* @__PURE__ */ __exportAll({
11
11
  });
12
12
 
13
13
  //#endregion
14
- export { common_exports };
14
+ export { WidgetKey, common_exports, getAssetOrThrow, getEmbedOrThrow };
15
15
  //# sourceMappingURL=index.js.map
@@ -1,19 +1,20 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
- const require_WidgetKey = require('../common/WidgetKey.cjs');
3
+ const require_common_WidgetKey = require('../common/WidgetKey.cjs');
3
4
  require('../common/index.cjs');
4
- const require_UUID = require('../common/UUID.cjs');
5
- const require_NestableWidget = require('../customtypes/widgets/nestable/NestableWidget.cjs');
6
- const require_CustomType = require('../customtypes/CustomType.cjs');
5
+ const require_common_UUID = require('../common/UUID.cjs');
6
+ const require_customtypes_widgets_nestable_NestableWidget = require('../customtypes/widgets/nestable/NestableWidget.cjs');
7
+ const require_customtypes_CustomType = require('../customtypes/CustomType.cjs');
7
8
  require('../customtypes/index.cjs');
8
- const require_utils = require('./utils.cjs');
9
- const require_LegacyContentCtx = require('./LegacyContentCtx.cjs');
10
- const require_RepeatableContent = require('./fields/nestable/RepeatableContent.cjs');
11
- const require_TableContent = require('./fields/nestable/TableContent.cjs');
12
- const require_NestableContent = require('./fields/nestable/NestableContent.cjs');
13
- const require_GroupContent = require('./fields/GroupContent.cjs');
14
- const require_SliceItem = require('./fields/slices/SliceItem.cjs');
15
- const require_SlicesContent = require('./fields/slices/SlicesContent.cjs');
16
- const require_WidgetContent = require('./fields/WidgetContent.cjs');
9
+ const require_content_utils = require('./utils.cjs');
10
+ const require_content_LegacyContentCtx = require('./LegacyContentCtx.cjs');
11
+ const require_content_fields_nestable_RepeatableContent = require('./fields/nestable/RepeatableContent.cjs');
12
+ const require_content_fields_nestable_TableContent = require('./fields/nestable/TableContent.cjs');
13
+ const require_content_fields_nestable_NestableContent = require('./fields/nestable/NestableContent.cjs');
14
+ const require_content_fields_GroupContent = require('./fields/GroupContent.cjs');
15
+ const require_content_fields_slices_SliceItem = require('./fields/slices/SliceItem.cjs');
16
+ const require_content_fields_slices_SlicesContent = require('./fields/slices/SlicesContent.cjs');
17
+ const require_content_fields_WidgetContent = require('./fields/WidgetContent.cjs');
17
18
  require('./fields/index.cjs');
18
19
  let io_ts = require("io-ts");
19
20
  io_ts = require_runtime.__toESM(io_ts);
@@ -22,8 +23,8 @@ let fp_ts_lib_Either = require("fp-ts/lib/Either");
22
23
  let fp_ts_lib_function = require("fp-ts/lib/function");
23
24
 
24
25
  //#region src/content/Document.ts
25
- const Document = io_ts.record(require_WidgetKey.WidgetKey, require_WidgetContent.WidgetContent);
26
- const legacyDocReader = io_ts.record(require_WidgetKey.WidgetKey, io_ts.unknown);
26
+ const Document = io_ts.record(require_common_WidgetKey.WidgetKey, require_content_fields_WidgetContent.WidgetContent);
27
+ const legacyDocReader = io_ts.record(require_common_WidgetKey.WidgetKey, io_ts.unknown);
27
28
  /**
28
29
  * `DocumentLegacyCodec` handles decoding and encoding documents to the legacy
29
30
  * format used by Prismic DB, therefore, this function itself is not "legacy".
@@ -32,7 +33,7 @@ const DocumentLegacyCodec = (allTypes, allKeys) => {
32
33
  return new io_ts.Type("Document", (u) => !!u && typeof u === "object", (doc) => {
33
34
  return (0, fp_ts_lib_function.pipe)(legacyDocReader.decode(doc), fp_ts.either.map((parsedDoc) => {
34
35
  return Object.entries(parsedDoc).reduce((acc, [widgetKey, widgetValue]) => {
35
- const parsedW = require_WidgetContent.WidgetLegacy(require_LegacyContentCtx.defaultCtx(widgetKey, allTypes, allKeys)).decode(widgetValue);
36
+ const parsedW = require_content_fields_WidgetContent.WidgetLegacy(require_content_LegacyContentCtx.defaultCtx(widgetKey, allTypes, allKeys)).decode(widgetValue);
36
37
  if (!parsedW || (0, fp_ts_lib_Either.isLeft)(parsedW)) return acc;
37
38
  return {
38
39
  ...acc,
@@ -42,7 +43,7 @@ const DocumentLegacyCodec = (allTypes, allKeys) => {
42
43
  }));
43
44
  }, (g) => {
44
45
  return Object.entries(g).reduce((acc, [key, value]) => {
45
- const result = require_WidgetContent.WidgetLegacy(require_LegacyContentCtx.defaultCtx(key, allTypes)).encode(value);
46
+ const result = require_content_fields_WidgetContent.WidgetLegacy(require_content_LegacyContentCtx.defaultCtx(key, allTypes)).encode(value);
46
47
  if (!result) return acc;
47
48
  return {
48
49
  content: {
@@ -68,14 +69,14 @@ const DocumentLegacyCodec = (allTypes, allKeys) => {
68
69
  function extractMetadata(data) {
69
70
  const { types, widgets, keys } = Object.entries(data).reduce((acc, [k, v]) => {
70
71
  if (k.endsWith("_TYPE")) {
71
- const decodedValue = require_LegacyContentCtx.FieldOrSliceType.decode(v);
72
+ const decodedValue = require_content_LegacyContentCtx.FieldOrSliceType.decode(v);
72
73
  if ((0, fp_ts_lib_Either.isRight)(decodedValue)) return {
73
74
  ...acc,
74
75
  types: acc.types.set(k.substring(0, k.length - 5), decodedValue.right)
75
76
  };
76
77
  }
77
78
  if (k.endsWith("_KEY")) {
78
- const decodedValue = require_UUID.UUID.decode(v);
79
+ const decodedValue = require_common_UUID.UUID.decode(v);
79
80
  if ((0, fp_ts_lib_Either.isRight)(decodedValue)) return {
80
81
  ...acc,
81
82
  keys: acc.keys.set(k.substring(0, k.length - 4), decodedValue.right)
@@ -104,7 +105,7 @@ function extractMetadata(data) {
104
105
  };
105
106
  }
106
107
  function parseLegacyDocument(legacyDoc, customType) {
107
- const result = (0, fp_ts_lib_function.pipe)(io_ts.record(require_WidgetKey.WidgetKey, io_ts.unknown).decode(legacyDoc), fp_ts.either.chain((doc) => {
108
+ const result = (0, fp_ts_lib_function.pipe)(io_ts.record(require_common_WidgetKey.WidgetKey, io_ts.unknown).decode(legacyDoc), fp_ts.either.chain((doc) => {
108
109
  const { types, widgets, keys } = extractMetadata(doc);
109
110
  return DocumentLegacyCodec(types, keys).decode(widgets);
110
111
  }));
@@ -127,19 +128,19 @@ const DocumentLegacy = {
127
128
  function simplifyCustomType(customType) {
128
129
  return {
129
130
  customTypeId: customType?.id,
130
- fields: Object.fromEntries(require_CustomType.flattenSections(customType))
131
+ fields: Object.fromEntries(require_customtypes_CustomType.flattenSections(customType))
131
132
  };
132
133
  }
133
134
  function fillDocumentWithDefaultValues(customType, document) {
134
- const { fields } = customType && require_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
135
+ const { fields } = customType && require_customtypes_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
135
136
  return Object.entries(fields).reduce((updatedDocument, [fieldKey, fieldDef]) => {
136
137
  const fieldContent = document[fieldKey];
137
138
  const updatedField = (() => {
138
139
  switch (fieldDef.type) {
139
- case "Group": return require_GroupContent.isGroupContent(fieldContent) ? require_GroupContent.groupContentWithDefaultValues(fieldDef, fieldContent) : fieldContent;
140
+ case "Group": return require_content_fields_GroupContent.isGroupContent(fieldContent) ? require_content_fields_GroupContent.groupContentWithDefaultValues(fieldDef, fieldContent) : fieldContent;
140
141
  case "Choice":
141
- case "Slices": return require_SlicesContent.isSlicesContent(fieldContent) ? require_SlicesContent.slicesContentWithDefaultValues(fieldDef, fieldContent) : fieldContent;
142
- default: return fieldContent === void 0 && require_NestableWidget.NestableWidget.is(fieldDef) ? require_NestableContent.NestableContentDefaultValue(fieldDef) : fieldContent;
142
+ case "Slices": return require_content_fields_slices_SlicesContent.isSlicesContent(fieldContent) ? require_content_fields_slices_SlicesContent.slicesContentWithDefaultValues(fieldDef, fieldContent) : fieldContent;
143
+ default: return fieldContent === void 0 && require_customtypes_widgets_nestable_NestableWidget.NestableWidget.is(fieldDef) ? require_content_fields_nestable_NestableContent.NestableContentDefaultValue(fieldDef) : fieldContent;
143
144
  }
144
145
  })();
145
146
  return updatedField ? {
@@ -158,7 +159,7 @@ function fillDocumentWithDefaultValues(customType, document) {
158
159
  * the transform function
159
160
  */
160
161
  function traverseDocument({ document, customType }) {
161
- const model = customType && require_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
162
+ const model = customType && require_customtypes_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
162
163
  return ({ transformWidget = ({ content }) => content, transformSlice = ({ content }) => content }) => {
163
164
  const fieldModels = model && Object.entries(model.fields).reduce((acc, [key, def]) => ({
164
165
  ...acc,
@@ -166,7 +167,7 @@ function traverseDocument({ document, customType }) {
166
167
  }), {});
167
168
  return Object.entries(document).reduce((acc, [key, content]) => {
168
169
  const fieldModel = fieldModels && fieldModels[key];
169
- const path = require_utils.ContentPath.make([{
170
+ const path = require_content_utils.ContentPath.make([{
170
171
  key: model?.customTypeId,
171
172
  type: "CustomType"
172
173
  }, {
@@ -175,7 +176,7 @@ function traverseDocument({ document, customType }) {
175
176
  }]);
176
177
  const transformedWidget = (() => {
177
178
  switch (content.__TYPE__) {
178
- case "SliceContentType": return require_SlicesContent.traverseSlices({
179
+ case "SliceContentType": return require_content_fields_slices_SlicesContent.traverseSlices({
179
180
  path,
180
181
  key,
181
182
  model: fieldModel?.type === "Slices" || fieldModel?.type === "Choice" ? fieldModel : void 0,
@@ -184,21 +185,21 @@ function traverseDocument({ document, customType }) {
184
185
  transformWidget,
185
186
  transformSlice
186
187
  });
187
- case "GroupContentType": return require_GroupContent.traverseGroupContent({
188
+ case "GroupContentType": return require_content_fields_GroupContent.traverseGroupContent({
188
189
  path,
189
190
  key,
190
191
  apiId: key,
191
192
  model: fieldModel?.type === "Group" ? fieldModel : void 0,
192
193
  content
193
194
  })(transformWidget);
194
- case "RepeatableContent": return require_RepeatableContent.traverseRepeatableContent({
195
+ case "RepeatableContent": return require_content_fields_nestable_RepeatableContent.traverseRepeatableContent({
195
196
  path,
196
197
  key,
197
198
  apiId: key,
198
199
  model: fieldModel?.type === "Link" ? fieldModel : void 0,
199
200
  content
200
201
  })(transformWidget);
201
- case "TableContent": return require_TableContent.traverseTableContent({
202
+ case "TableContent": return require_content_fields_nestable_TableContent.traverseTableContent({
202
203
  path,
203
204
  key,
204
205
  apiId: key,
@@ -224,26 +225,26 @@ function traverseDocument({ document, customType }) {
224
225
  function collectWidgets(document, is) {
225
226
  const collected = {};
226
227
  traverseDocument({ document })({ transformWidget: ({ content, path }) => {
227
- const key = require_utils.ContentPath.serialize(path);
228
+ const key = require_content_utils.ContentPath.serialize(path);
228
229
  if (is(content, path)) collected[key] = content;
229
230
  return content;
230
231
  } });
231
232
  return collected;
232
233
  }
233
234
  function migrateDocument(document, customType) {
234
- const model = require_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
235
- if (!Object.values(require_CustomType.collectSharedSlices(model)).some((slice) => Boolean(slice.legacyPaths))) return document;
235
+ const model = require_customtypes_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
236
+ if (!Object.values(require_customtypes_CustomType.collectSharedSlices(model)).some((slice) => Boolean(slice.legacyPaths))) return document;
236
237
  return traverseDocument({
237
238
  document,
238
239
  customType
239
- })({ transformSlice: require_SliceItem.migrateSliceItem });
240
+ })({ transformSlice: require_content_fields_slices_SliceItem.migrateSliceItem });
240
241
  }
241
242
  function traverseDocumentWithModel({ document, customType }) {
242
- const model = require_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
243
+ const model = require_customtypes_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
243
244
  return ({ transformWidget, transformSlice }) => {
244
245
  return Object.entries(model.fields).reduce((acc, [key, fieldModel]) => {
245
246
  const content = document[key];
246
- const path = require_utils.ContentPath.make([{
247
+ const path = require_content_utils.ContentPath.make([{
247
248
  key: model.customTypeId,
248
249
  type: "CustomType"
249
250
  }, {
@@ -253,40 +254,40 @@ function traverseDocumentWithModel({ document, customType }) {
253
254
  const transformedWidget = (() => {
254
255
  switch (fieldModel.type) {
255
256
  case "Choice":
256
- case "Slices": return require_SlicesContent.traverseSlicesWithModel({
257
+ case "Slices": return require_content_fields_slices_SlicesContent.traverseSlicesWithModel({
257
258
  path,
258
259
  key,
259
260
  model: fieldModel,
260
- content: require_SlicesContent.isSlicesContent(content) ? content : void 0
261
+ content: require_content_fields_slices_SlicesContent.isSlicesContent(content) ? content : void 0
261
262
  })({
262
263
  transformWidget,
263
264
  transformSlice
264
265
  });
265
- case "Group": return require_GroupContent.traverseGroupContentWithModel({
266
+ case "Group": return require_content_fields_GroupContent.traverseGroupContentWithModel({
266
267
  path,
267
268
  key,
268
269
  model: fieldModel,
269
- content: require_GroupContent.isGroupContent(content) ? content : void 0
270
+ content: require_content_fields_GroupContent.isGroupContent(content) ? content : void 0
270
271
  })(transformWidget);
271
272
  case "Link":
272
- if (fieldModel.config?.repeat === true) return require_RepeatableContent.traverseRepeatableContentWithModel({
273
+ if (fieldModel.config?.repeat === true) return require_content_fields_nestable_RepeatableContent.traverseRepeatableContentWithModel({
273
274
  path,
274
275
  key,
275
276
  model: fieldModel,
276
- content: require_RepeatableContent.isRepeatableContent(content) ? content : void 0
277
+ content: require_content_fields_nestable_RepeatableContent.isRepeatableContent(content) ? content : void 0
277
278
  })(transformWidget);
278
279
  return transformWidget({
279
280
  path,
280
281
  key,
281
282
  apiId: key,
282
283
  model: fieldModel,
283
- content: require_NestableContent.isNestableContent(content) ? content : void 0
284
+ content: require_content_fields_nestable_NestableContent.isNestableContent(content) ? content : void 0
284
285
  });
285
- case "Table": return require_TableContent.traverseTableContentWithModel({
286
+ case "Table": return require_content_fields_nestable_TableContent.traverseTableContentWithModel({
286
287
  path,
287
288
  key,
288
289
  model: fieldModel,
289
- content: require_TableContent.isTableContent(content) ? content : void 0
290
+ content: require_content_fields_nestable_TableContent.isTableContent(content) ? content : void 0
290
291
  })(transformWidget);
291
292
  case "UID": return transformWidget({
292
293
  path,
@@ -300,7 +301,7 @@ function traverseDocumentWithModel({ document, customType }) {
300
301
  key,
301
302
  apiId: key,
302
303
  model: fieldModel,
303
- content: require_NestableContent.isNestableContent(content) ? content : void 0
304
+ content: require_content_fields_nestable_NestableContent.isNestableContent(content) ? content : void 0
304
305
  });
305
306
  }
306
307
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"Document.cjs","names":["t","WidgetKey","WidgetContent","either","WidgetLegacy","defaultCtx","FieldOrSliceType","UUID","flattenSections","StaticCustomType","isGroupContent","groupContentWithDefaultValues","isSlicesContent","slicesContentWithDefaultValues","NestableWidget","NestableContentDefaultValue","ContentPath","traverseSlices","traverseGroupContent","traverseRepeatableContent","traverseTableContent","collectSharedSlices","migrateSliceItem","traverseSlicesWithModel","traverseGroupContentWithModel","traverseRepeatableContentWithModel","isRepeatableContent","isNestableContent","traverseTableContentWithModel","isTableContent"],"sources":["../../src/content/Document.ts"],"sourcesContent":["import { either } from \"fp-ts\"\nimport { isLeft, isRight } from \"fp-ts/lib/Either\"\nimport { pipe } from \"fp-ts/lib/function\"\nimport * as t from \"io-ts\"\n\nimport { WidgetKey } from \"../common\"\nimport { UUID } from \"../common/UUID\"\nimport {\n\ttype StaticWidget,\n\tcollectSharedSlices,\n\tflattenSections,\n\tNestableWidget,\n\tStaticCustomType,\n} from \"../customtypes\"\nimport {\n\tgroupContentWithDefaultValues,\n\tisGroupContent,\n\tisNestableContent,\n\tisRepeatableContent,\n\tisSlicesContent,\n\tisTableContent,\n\tmigrateSliceItem,\n\tNestableContentDefaultValue,\n\tslicesContentWithDefaultValues,\n\ttraverseGroupContent,\n\ttraverseGroupContentWithModel,\n\ttraverseRepeatableContent,\n\ttraverseRepeatableContentWithModel,\n\ttraverseSlices,\n\ttraverseSlicesWithModel,\n\ttraverseTableContent,\n\ttraverseTableContentWithModel,\n\tWidgetContent,\n\tWidgetLegacy,\n} from \"./fields\"\nimport type { LegacyContentCtx, WithTypes } from \"./LegacyContentCtx\";\nimport { defaultCtx, FieldOrSliceType } from \"./LegacyContentCtx\"\nimport type {\n\tTraverseSliceContentFn,\n\tTraverseSliceContentWithModelFn,\n\tTraverseWidgetContentFn,\n\tTraverseWidgetContentWithModelFn} from \"./utils\";\nimport {\n\tContentPath\n} from \"./utils\"\n\nexport const Document = t.record(WidgetKey, WidgetContent)\nexport type Document = t.TypeOf<typeof Document>\n\nconst legacyDocReader = t.record(WidgetKey, t.unknown)\ntype DocumentLegacy = t.TypeOf<typeof legacyDocReader>\n\n/**\n * `DocumentLegacyCodec` handles decoding and encoding documents to the legacy\n * format used by Prismic DB, therefore, this function itself is not \"legacy\".\n */\nconst DocumentLegacyCodec = (\n\tallTypes?: LegacyContentCtx[\"allTypes\"],\n\tallKeys?: LegacyContentCtx[\"allKeys\"],\n) => {\n\treturn new t.Type<Document, WithTypes<DocumentLegacy>, unknown>(\n\t\t\"Document\",\n\t\t(u): u is Document => !!u && typeof u === \"object\",\n\t\t(doc) => {\n\t\t\treturn pipe(\n\t\t\t\tlegacyDocReader.decode(doc),\n\t\t\t\teither.map((parsedDoc) => {\n\t\t\t\t\treturn Object.entries(parsedDoc).reduce((acc, [widgetKey, widgetValue]) => {\n\t\t\t\t\t\tconst widgetCtx = defaultCtx(widgetKey, allTypes, allKeys)\n\t\t\t\t\t\tconst parsedW = WidgetLegacy(widgetCtx).decode(widgetValue)\n\t\t\t\t\t\tif (!parsedW || isLeft(parsedW)) return acc\n\n\t\t\t\t\t\treturn { ...acc, [widgetKey]: parsedW.right }\n\t\t\t\t\t}, {})\n\t\t\t\t}),\n\t\t\t)\n\t\t},\n\t\t(g: Document) => {\n\t\t\treturn Object.entries(g).reduce(\n\t\t\t\t(acc, [key, value]) => {\n\t\t\t\t\tconst widgetCtx = defaultCtx(key, allTypes)\n\t\t\t\t\tconst result = WidgetLegacy(widgetCtx).encode(value)\n\t\t\t\t\tif (!result) return acc\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: { ...acc.content, [key]: result.content },\n\t\t\t\t\t\ttypes: { ...acc.types, ...result.types },\n\t\t\t\t\t\tkeys: { ...acc.keys, ...result.keys },\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ content: {}, types: {}, keys: {} },\n\t\t\t)\n\t\t},\n\t)\n}\n\nfunction extractMetadata(data: { [p: string]: unknown }): {\n\ttypes: Map<string, FieldOrSliceType>\n\twidgets: Partial<Record<WidgetKey, unknown>>\n\tkeys: Map<string, string>\n\tslugs: ReadonlyArray<string>\n\tuid: string | undefined\n} {\n\tconst fields: [string, unknown][] = Object.entries(data)\n\n\tconst { types, widgets, keys } = fields.reduce(\n\t\t(acc, [k, v]) => {\n\t\t\tif (k.endsWith(\"_TYPE\")) {\n\t\t\t\tconst decodedValue = FieldOrSliceType.decode(v)\n\t\t\t\tif (isRight(decodedValue)) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\ttypes: acc.types.set(k.substring(0, k.length - 5), decodedValue.right),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (k.endsWith(\"_KEY\")) {\n\t\t\t\tconst decodedValue = UUID.decode(v)\n\t\t\t\tif (isRight(decodedValue)) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\tkeys: acc.keys.set(k.substring(0, k.length - 4), decodedValue.right),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!k.endsWith(\"_POSITION\") && !k.endsWith(\"_TYPE\") && !k.endsWith(\"_KEY\")) {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\twidgets: {\n\t\t\t\t\t\t...acc.widgets,\n\t\t\t\t\t\t[k]: v,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc\n\t\t},\n\t\t{\n\t\t\ttypes: new Map<string, FieldOrSliceType>(),\n\t\t\twidgets: {},\n\t\t\tkeys: new Map<string, string>(),\n\t\t},\n\t)\n\n\tconst slugs = (data[\"slugs_INTERNAL\"] as string[]) || []\n\tconst uid = data[\"uid\"] as string | undefined\n\n\treturn {\n\t\twidgets,\n\t\ttypes,\n\t\tkeys,\n\t\tuid,\n\t\tslugs,\n\t}\n}\n\nfunction parseLegacyDocument(\n\tlegacyDoc: unknown,\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n): Document | undefined {\n\tconst result = pipe(\n\t\t// ensure it's the right document format first\n\t\tt.record(WidgetKey, t.unknown).decode(legacyDoc),\n\t\teither.chain((doc) => {\n\t\t\t// extract all metadata, meaning all _TYPES keys from legacy format + the widgets as unknown\n\t\t\tconst { types, widgets, keys } = extractMetadata(doc)\n\t\t\t// parse the actual widgets\n\t\t\treturn DocumentLegacyCodec(types, keys).decode(widgets)\n\t\t}),\n\t)\n\n\treturn isLeft(result) ? undefined : migrateDocument(result.right, customType)\n}\n\nfunction encodeToLegacyDocument(document: Document): DocumentLegacy {\n\tconst encoded = DocumentLegacyCodec().encode(document)\n\treturn { ...encoded.content, ...encoded.types, ...encoded.keys }\n}\n\nexport const DocumentLegacy = {\n\t_codec: DocumentLegacyCodec,\n\textractMetadata,\n\tparse: parseLegacyDocument,\n\tencode: encodeToLegacyDocument,\n}\n\nfunction simplifyCustomType(customType: StaticCustomType): {\n\tcustomTypeId: string\n\tfields: Record<string, StaticWidget>\n} {\n\treturn {\n\t\tcustomTypeId: customType?.id,\n\t\tfields: Object.fromEntries(flattenSections(customType)),\n\t}\n}\n\nexport function fillDocumentWithDefaultValues(\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n\tdocument: Document,\n): Document {\n\tconst { fields } =\n\t\tcustomType && StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\n\treturn Object.entries(fields).reduce<Document>((updatedDocument, [fieldKey, fieldDef]) => {\n\t\tconst fieldContent = document[fieldKey]\n\n\t\tconst updatedField = (() => {\n\t\t\tswitch (fieldDef.type) {\n\t\t\t\tcase \"Group\":\n\t\t\t\t\treturn isGroupContent(fieldContent)\n\t\t\t\t\t\t? groupContentWithDefaultValues(fieldDef, fieldContent)\n\t\t\t\t\t\t: fieldContent\n\t\t\t\tcase \"Choice\":\n\t\t\t\tcase \"Slices\":\n\t\t\t\t\treturn isSlicesContent(fieldContent)\n\t\t\t\t\t\t? slicesContentWithDefaultValues(fieldDef, fieldContent)\n\t\t\t\t\t\t: fieldContent\n\t\t\t\tdefault:\n\t\t\t\t\treturn fieldContent === undefined && NestableWidget.is(fieldDef)\n\t\t\t\t\t\t? NestableContentDefaultValue(fieldDef)\n\t\t\t\t\t\t: fieldContent\n\t\t\t}\n\t\t})()\n\n\t\treturn updatedField\n\t\t\t? {\n\t\t\t\t\t...updatedDocument,\n\t\t\t\t\t[fieldKey]: updatedField,\n\t\t\t\t}\n\t\t\t: updatedDocument\n\t}, document)\n}\n/**\n * @param model: Can be optional if we simply want to loop through the content\n * without any consideration for the attached model\n * @param document: The content we actually want to iterate on in an immutable fashion\n * @param transform: A user function that provides a way to transform any kind\n * of content wherever it is in a structured Prismic object content.\n * @returns A transformed document with the user's transformation applied with\n * the transform function\n */\nexport function traverseDocument({\n\tdocument,\n\tcustomType,\n}: {\n\tdocument: Document\n\tcustomType?:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t }\n\t\t| undefined\n}) {\n\tconst model =\n\t\tcustomType && StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\treturn ({\n\t\ttransformWidget = ({ content }) => content,\n\t\ttransformSlice = ({ content }) => content,\n\t}: {\n\t\ttransformWidget?: TraverseWidgetContentFn\n\t\ttransformSlice?: TraverseSliceContentFn\n\t}): Document => {\n\t\tconst fieldModels =\n\t\t\tmodel &&\n\t\t\tObject.entries(model.fields).reduce<Record<string, StaticWidget>>(\n\t\t\t\t(acc, [key, def]) => ({ ...acc, [key]: def }),\n\t\t\t\t{},\n\t\t\t)\n\n\t\treturn Object.entries(document).reduce((acc, [key, content]) => {\n\t\t\tconst fieldModel = fieldModels && fieldModels[key]\n\n\t\t\tconst path = ContentPath.make([\n\t\t\t\t{ key: model?.customTypeId, type: \"CustomType\" },\n\t\t\t\t{ key, type: \"Widget\" },\n\t\t\t])\n\n\t\t\tconst transformedWidget = (() => {\n\t\t\t\tswitch (content.__TYPE__) {\n\t\t\t\t\tcase \"SliceContentType\":\n\t\t\t\t\t\treturn traverseSlices({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel:\n\t\t\t\t\t\t\t\tfieldModel?.type === \"Slices\" || fieldModel?.type === \"Choice\"\n\t\t\t\t\t\t\t\t\t? fieldModel\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})({ transformWidget, transformSlice })\n\t\t\t\t\tcase \"GroupContentType\":\n\t\t\t\t\t\treturn traverseGroupContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Group\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tcase \"RepeatableContent\":\n\t\t\t\t\t\treturn traverseRepeatableContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Link\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tcase \"TableContent\":\n\t\t\t\t\t\treturn traverseTableContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Table\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel:\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Group\" &&\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Slices\" &&\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Choice\"\n\t\t\t\t\t\t\t\t\t? fieldModel\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})()\n\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t...(transformedWidget ? { [key]: transformedWidget } : {}),\n\t\t\t}\n\t\t}, {})\n\t}\n}\n\n// /**\n// * The goal is to be able to collect all widgets or slices of a given type at any level of nesting inside a prismic content\n// *\n// * @param document parsed prismic content\n// * @param is typeguard to match specifically the type of widget we want to collect\n// * @returns a record containing the path of the widget as key and the typed collected content as value\n// */\nexport function collectWidgets<W extends WidgetContent>(\n\tdocument: Document,\n\tis: (content: WidgetContent, path: ContentPath) => content is W,\n): Record<string, W> {\n\tconst collected: Record<string, W> = {}\n\n\ttraverseDocument({ document })({\n\t\ttransformWidget: ({ content, path }) => {\n\t\t\tconst key = ContentPath.serialize(path)\n\t\t\tif (is(content, path)) collected[key] = content\n\t\t\treturn content\n\t\t},\n\t})\n\treturn collected\n}\n\nexport function migrateDocument(\n\tdocument: Document,\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n) {\n\tconst model = StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\tconst needsMigration = Object.values(collectSharedSlices(model)).some((slice) =>\n\t\tBoolean(slice.legacyPaths),\n\t)\n\n\tif (!needsMigration) return document\n\n\treturn traverseDocument({\n\t\tdocument,\n\t\tcustomType,\n\t})({\n\t\ttransformSlice: migrateSliceItem,\n\t})\n}\n\nexport function traverseDocumentWithModel({\n\tdocument,\n\tcustomType,\n}: {\n\tdocument: Document\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t }\n}) {\n\tconst model = StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\n\treturn ({\n\t\ttransformWidget,\n\t\ttransformSlice,\n\t}: {\n\t\ttransformWidget: TraverseWidgetContentWithModelFn\n\t\ttransformSlice: TraverseSliceContentWithModelFn\n\t}): Document => {\n\t\treturn Object.entries(model.fields).reduce<Document>((acc, [key, fieldModel]) => {\n\t\t\tconst content = document[key]\n\n\t\t\tconst path = ContentPath.make([\n\t\t\t\t{ key: model.customTypeId, type: \"CustomType\" },\n\t\t\t\t{ key, type: \"Widget\" },\n\t\t\t])\n\n\t\t\tconst transformedWidget = (() => {\n\t\t\t\tswitch (fieldModel.type) {\n\t\t\t\t\tcase \"Choice\":\n\t\t\t\t\tcase \"Slices\": {\n\t\t\t\t\t\tconst slicesContent = isSlicesContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseSlicesWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: slicesContent,\n\t\t\t\t\t\t})({ transformWidget, transformSlice })\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Group\": {\n\t\t\t\t\t\tconst groupContent = isGroupContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseGroupContentWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: groupContent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Link\": {\n\t\t\t\t\t\tif (fieldModel.config?.repeat === true) {\n\t\t\t\t\t\t\tconst repeatableContent = isRepeatableContent(content) ? content : undefined\n\t\t\t\t\t\t\treturn traverseRepeatableContentWithModel({\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\t\tcontent: repeatableContent,\n\t\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst nestableContent = isNestableContent(content) ? content : undefined\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: nestableContent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Table\": {\n\t\t\t\t\t\tconst tableContent = isTableContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseTableContentWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: tableContent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t}\n\t\t\t\t\tcase \"UID\": {\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tconst nestableContent = isNestableContent(content) ? content : undefined\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: nestableContent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})()\n\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t...(transformedWidget ? { [key]: transformedWidget } : {}),\n\t\t\t}\n\t\t}, {})\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Document.cjs","names":["t","WidgetKey","WidgetContent","either","WidgetLegacy","defaultCtx","FieldOrSliceType","UUID","flattenSections","StaticCustomType","isGroupContent","groupContentWithDefaultValues","isSlicesContent","slicesContentWithDefaultValues","NestableWidget","NestableContentDefaultValue","ContentPath","traverseSlices","traverseGroupContent","traverseRepeatableContent","traverseTableContent","collectSharedSlices","migrateSliceItem","traverseSlicesWithModel","traverseGroupContentWithModel","traverseRepeatableContentWithModel","isRepeatableContent","isNestableContent","traverseTableContentWithModel","isTableContent"],"sources":["../../src/content/Document.ts"],"sourcesContent":["import { either } from \"fp-ts\"\nimport { isLeft, isRight } from \"fp-ts/lib/Either\"\nimport { pipe } from \"fp-ts/lib/function\"\nimport * as t from \"io-ts\"\n\nimport { WidgetKey } from \"../common\"\nimport { UUID } from \"../common/UUID\"\nimport {\n\ttype StaticWidget,\n\tcollectSharedSlices,\n\tflattenSections,\n\tNestableWidget,\n\tStaticCustomType,\n} from \"../customtypes\"\nimport {\n\tgroupContentWithDefaultValues,\n\tisGroupContent,\n\tisNestableContent,\n\tisRepeatableContent,\n\tisSlicesContent,\n\tisTableContent,\n\tmigrateSliceItem,\n\tNestableContentDefaultValue,\n\tslicesContentWithDefaultValues,\n\ttraverseGroupContent,\n\ttraverseGroupContentWithModel,\n\ttraverseRepeatableContent,\n\ttraverseRepeatableContentWithModel,\n\ttraverseSlices,\n\ttraverseSlicesWithModel,\n\ttraverseTableContent,\n\ttraverseTableContentWithModel,\n\tWidgetContent,\n\tWidgetLegacy,\n} from \"./fields\"\nimport type { LegacyContentCtx, WithTypes } from \"./LegacyContentCtx\";\nimport { defaultCtx, FieldOrSliceType } from \"./LegacyContentCtx\"\nimport type {\n\tTraverseSliceContentFn,\n\tTraverseSliceContentWithModelFn,\n\tTraverseWidgetContentFn,\n\tTraverseWidgetContentWithModelFn} from \"./utils\";\nimport {\n\tContentPath\n} from \"./utils\"\n\nexport const Document = t.record(WidgetKey, WidgetContent)\nexport type Document = t.TypeOf<typeof Document>\n\nconst legacyDocReader = t.record(WidgetKey, t.unknown)\ntype DocumentLegacy = t.TypeOf<typeof legacyDocReader>\n\n/**\n * `DocumentLegacyCodec` handles decoding and encoding documents to the legacy\n * format used by Prismic DB, therefore, this function itself is not \"legacy\".\n */\nconst DocumentLegacyCodec = (\n\tallTypes?: LegacyContentCtx[\"allTypes\"],\n\tallKeys?: LegacyContentCtx[\"allKeys\"],\n) => {\n\treturn new t.Type<Document, WithTypes<DocumentLegacy>, unknown>(\n\t\t\"Document\",\n\t\t(u): u is Document => !!u && typeof u === \"object\",\n\t\t(doc) => {\n\t\t\treturn pipe(\n\t\t\t\tlegacyDocReader.decode(doc),\n\t\t\t\teither.map((parsedDoc) => {\n\t\t\t\t\treturn Object.entries(parsedDoc).reduce((acc, [widgetKey, widgetValue]) => {\n\t\t\t\t\t\tconst widgetCtx = defaultCtx(widgetKey, allTypes, allKeys)\n\t\t\t\t\t\tconst parsedW = WidgetLegacy(widgetCtx).decode(widgetValue)\n\t\t\t\t\t\tif (!parsedW || isLeft(parsedW)) return acc\n\n\t\t\t\t\t\treturn { ...acc, [widgetKey]: parsedW.right }\n\t\t\t\t\t}, {})\n\t\t\t\t}),\n\t\t\t)\n\t\t},\n\t\t(g: Document) => {\n\t\t\treturn Object.entries(g).reduce(\n\t\t\t\t(acc, [key, value]) => {\n\t\t\t\t\tconst widgetCtx = defaultCtx(key, allTypes)\n\t\t\t\t\tconst result = WidgetLegacy(widgetCtx).encode(value)\n\t\t\t\t\tif (!result) return acc\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: { ...acc.content, [key]: result.content },\n\t\t\t\t\t\ttypes: { ...acc.types, ...result.types },\n\t\t\t\t\t\tkeys: { ...acc.keys, ...result.keys },\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ content: {}, types: {}, keys: {} },\n\t\t\t)\n\t\t},\n\t)\n}\n\nfunction extractMetadata(data: { [p: string]: unknown }): {\n\ttypes: Map<string, FieldOrSliceType>\n\twidgets: Partial<Record<WidgetKey, unknown>>\n\tkeys: Map<string, string>\n\tslugs: ReadonlyArray<string>\n\tuid: string | undefined\n} {\n\tconst fields: [string, unknown][] = Object.entries(data)\n\n\tconst { types, widgets, keys } = fields.reduce(\n\t\t(acc, [k, v]) => {\n\t\t\tif (k.endsWith(\"_TYPE\")) {\n\t\t\t\tconst decodedValue = FieldOrSliceType.decode(v)\n\t\t\t\tif (isRight(decodedValue)) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\ttypes: acc.types.set(k.substring(0, k.length - 5), decodedValue.right),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (k.endsWith(\"_KEY\")) {\n\t\t\t\tconst decodedValue = UUID.decode(v)\n\t\t\t\tif (isRight(decodedValue)) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\tkeys: acc.keys.set(k.substring(0, k.length - 4), decodedValue.right),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!k.endsWith(\"_POSITION\") && !k.endsWith(\"_TYPE\") && !k.endsWith(\"_KEY\")) {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\twidgets: {\n\t\t\t\t\t\t...acc.widgets,\n\t\t\t\t\t\t[k]: v,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc\n\t\t},\n\t\t{\n\t\t\ttypes: new Map<string, FieldOrSliceType>(),\n\t\t\twidgets: {},\n\t\t\tkeys: new Map<string, string>(),\n\t\t},\n\t)\n\n\tconst slugs = (data[\"slugs_INTERNAL\"] as string[]) || []\n\tconst uid = data[\"uid\"] as string | undefined\n\n\treturn {\n\t\twidgets,\n\t\ttypes,\n\t\tkeys,\n\t\tuid,\n\t\tslugs,\n\t}\n}\n\nfunction parseLegacyDocument(\n\tlegacyDoc: unknown,\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n): Document | undefined {\n\tconst result = pipe(\n\t\t// ensure it's the right document format first\n\t\tt.record(WidgetKey, t.unknown).decode(legacyDoc),\n\t\teither.chain((doc) => {\n\t\t\t// extract all metadata, meaning all _TYPES keys from legacy format + the widgets as unknown\n\t\t\tconst { types, widgets, keys } = extractMetadata(doc)\n\t\t\t// parse the actual widgets\n\t\t\treturn DocumentLegacyCodec(types, keys).decode(widgets)\n\t\t}),\n\t)\n\n\treturn isLeft(result) ? undefined : migrateDocument(result.right, customType)\n}\n\nfunction encodeToLegacyDocument(document: Document): DocumentLegacy {\n\tconst encoded = DocumentLegacyCodec().encode(document)\n\treturn { ...encoded.content, ...encoded.types, ...encoded.keys }\n}\n\nexport const DocumentLegacy = {\n\t_codec: DocumentLegacyCodec,\n\textractMetadata,\n\tparse: parseLegacyDocument,\n\tencode: encodeToLegacyDocument,\n}\n\nfunction simplifyCustomType(customType: StaticCustomType): {\n\tcustomTypeId: string\n\tfields: Record<string, StaticWidget>\n} {\n\treturn {\n\t\tcustomTypeId: customType?.id,\n\t\tfields: Object.fromEntries(flattenSections(customType)),\n\t}\n}\n\nexport function fillDocumentWithDefaultValues(\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n\tdocument: Document,\n): Document {\n\tconst { fields } =\n\t\tcustomType && StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\n\treturn Object.entries(fields).reduce<Document>((updatedDocument, [fieldKey, fieldDef]) => {\n\t\tconst fieldContent = document[fieldKey]\n\n\t\tconst updatedField = (() => {\n\t\t\tswitch (fieldDef.type) {\n\t\t\t\tcase \"Group\":\n\t\t\t\t\treturn isGroupContent(fieldContent)\n\t\t\t\t\t\t? groupContentWithDefaultValues(fieldDef, fieldContent)\n\t\t\t\t\t\t: fieldContent\n\t\t\t\tcase \"Choice\":\n\t\t\t\tcase \"Slices\":\n\t\t\t\t\treturn isSlicesContent(fieldContent)\n\t\t\t\t\t\t? slicesContentWithDefaultValues(fieldDef, fieldContent)\n\t\t\t\t\t\t: fieldContent\n\t\t\t\tdefault:\n\t\t\t\t\treturn fieldContent === undefined && NestableWidget.is(fieldDef)\n\t\t\t\t\t\t? NestableContentDefaultValue(fieldDef)\n\t\t\t\t\t\t: fieldContent\n\t\t\t}\n\t\t})()\n\n\t\treturn updatedField\n\t\t\t? {\n\t\t\t\t\t...updatedDocument,\n\t\t\t\t\t[fieldKey]: updatedField,\n\t\t\t\t}\n\t\t\t: updatedDocument\n\t}, document)\n}\n/**\n * @param model: Can be optional if we simply want to loop through the content\n * without any consideration for the attached model\n * @param document: The content we actually want to iterate on in an immutable fashion\n * @param transform: A user function that provides a way to transform any kind\n * of content wherever it is in a structured Prismic object content.\n * @returns A transformed document with the user's transformation applied with\n * the transform function\n */\nexport function traverseDocument({\n\tdocument,\n\tcustomType,\n}: {\n\tdocument: Document\n\tcustomType?:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t }\n\t\t| undefined\n}) {\n\tconst model =\n\t\tcustomType && StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\treturn ({\n\t\ttransformWidget = ({ content }) => content,\n\t\ttransformSlice = ({ content }) => content,\n\t}: {\n\t\ttransformWidget?: TraverseWidgetContentFn\n\t\ttransformSlice?: TraverseSliceContentFn\n\t}): Document => {\n\t\tconst fieldModels =\n\t\t\tmodel &&\n\t\t\tObject.entries(model.fields).reduce<Record<string, StaticWidget>>(\n\t\t\t\t(acc, [key, def]) => ({ ...acc, [key]: def }),\n\t\t\t\t{},\n\t\t\t)\n\n\t\treturn Object.entries(document).reduce((acc, [key, content]) => {\n\t\t\tconst fieldModel = fieldModels && fieldModels[key]\n\n\t\t\tconst path = ContentPath.make([\n\t\t\t\t{ key: model?.customTypeId, type: \"CustomType\" },\n\t\t\t\t{ key, type: \"Widget\" },\n\t\t\t])\n\n\t\t\tconst transformedWidget = (() => {\n\t\t\t\tswitch (content.__TYPE__) {\n\t\t\t\t\tcase \"SliceContentType\":\n\t\t\t\t\t\treturn traverseSlices({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel:\n\t\t\t\t\t\t\t\tfieldModel?.type === \"Slices\" || fieldModel?.type === \"Choice\"\n\t\t\t\t\t\t\t\t\t? fieldModel\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})({ transformWidget, transformSlice })\n\t\t\t\t\tcase \"GroupContentType\":\n\t\t\t\t\t\treturn traverseGroupContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Group\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tcase \"RepeatableContent\":\n\t\t\t\t\t\treturn traverseRepeatableContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Link\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tcase \"TableContent\":\n\t\t\t\t\t\treturn traverseTableContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Table\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel:\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Group\" &&\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Slices\" &&\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Choice\"\n\t\t\t\t\t\t\t\t\t? fieldModel\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})()\n\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t...(transformedWidget ? { [key]: transformedWidget } : {}),\n\t\t\t}\n\t\t}, {})\n\t}\n}\n\n// /**\n// * The goal is to be able to collect all widgets or slices of a given type at any level of nesting inside a prismic content\n// *\n// * @param document parsed prismic content\n// * @param is typeguard to match specifically the type of widget we want to collect\n// * @returns a record containing the path of the widget as key and the typed collected content as value\n// */\nexport function collectWidgets<W extends WidgetContent>(\n\tdocument: Document,\n\tis: (content: WidgetContent, path: ContentPath) => content is W,\n): Record<string, W> {\n\tconst collected: Record<string, W> = {}\n\n\ttraverseDocument({ document })({\n\t\ttransformWidget: ({ content, path }) => {\n\t\t\tconst key = ContentPath.serialize(path)\n\t\t\tif (is(content, path)) collected[key] = content\n\t\t\treturn content\n\t\t},\n\t})\n\treturn collected\n}\n\nexport function migrateDocument(\n\tdocument: Document,\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n) {\n\tconst model = StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\tconst needsMigration = Object.values(collectSharedSlices(model)).some((slice) =>\n\t\tBoolean(slice.legacyPaths),\n\t)\n\n\tif (!needsMigration) return document\n\n\treturn traverseDocument({\n\t\tdocument,\n\t\tcustomType,\n\t})({\n\t\ttransformSlice: migrateSliceItem,\n\t})\n}\n\nexport function traverseDocumentWithModel({\n\tdocument,\n\tcustomType,\n}: {\n\tdocument: Document\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t }\n}) {\n\tconst model = StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\n\treturn ({\n\t\ttransformWidget,\n\t\ttransformSlice,\n\t}: {\n\t\ttransformWidget: TraverseWidgetContentWithModelFn\n\t\ttransformSlice: TraverseSliceContentWithModelFn\n\t}): Document => {\n\t\treturn Object.entries(model.fields).reduce<Document>((acc, [key, fieldModel]) => {\n\t\t\tconst content = document[key]\n\n\t\t\tconst path = ContentPath.make([\n\t\t\t\t{ key: model.customTypeId, type: \"CustomType\" },\n\t\t\t\t{ key, type: \"Widget\" },\n\t\t\t])\n\n\t\t\tconst transformedWidget = (() => {\n\t\t\t\tswitch (fieldModel.type) {\n\t\t\t\t\tcase \"Choice\":\n\t\t\t\t\tcase \"Slices\": {\n\t\t\t\t\t\tconst slicesContent = isSlicesContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseSlicesWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: slicesContent,\n\t\t\t\t\t\t})({ transformWidget, transformSlice })\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Group\": {\n\t\t\t\t\t\tconst groupContent = isGroupContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseGroupContentWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: groupContent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Link\": {\n\t\t\t\t\t\tif (fieldModel.config?.repeat === true) {\n\t\t\t\t\t\t\tconst repeatableContent = isRepeatableContent(content) ? content : undefined\n\t\t\t\t\t\t\treturn traverseRepeatableContentWithModel({\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\t\tcontent: repeatableContent,\n\t\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst nestableContent = isNestableContent(content) ? content : undefined\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: nestableContent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Table\": {\n\t\t\t\t\t\tconst tableContent = isTableContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseTableContentWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: tableContent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t}\n\t\t\t\t\tcase \"UID\": {\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tconst nestableContent = isNestableContent(content) ? content : undefined\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: nestableContent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})()\n\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t...(transformedWidget ? { [key]: transformedWidget } : {}),\n\t\t\t}\n\t\t}, {})\n\t}\n}\n"],"mappings":"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"}