@datocms/cma-client 5.0.1 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (844) hide show
  1. package/dist/cjs/BaseResource.js +3 -4
  2. package/dist/cjs/BaseResource.js.map +1 -1
  3. package/dist/cjs/buildClient.js +1 -1
  4. package/dist/cjs/buildClient.js.map +1 -1
  5. package/dist/cjs/fieldTypes/appearance/boolean.js +3 -0
  6. package/dist/cjs/fieldTypes/appearance/boolean.js.map +1 -0
  7. package/dist/cjs/fieldTypes/appearance/boolean_radio_group.js +3 -0
  8. package/dist/cjs/fieldTypes/appearance/boolean_radio_group.js.map +1 -0
  9. package/dist/cjs/fieldTypes/appearance/color_picker.js +3 -0
  10. package/dist/cjs/fieldTypes/appearance/color_picker.js.map +1 -0
  11. package/dist/cjs/fieldTypes/appearance/date_picker.js +3 -0
  12. package/dist/cjs/fieldTypes/appearance/date_picker.js.map +1 -0
  13. package/dist/cjs/fieldTypes/appearance/date_time_picker.js +3 -0
  14. package/dist/cjs/fieldTypes/appearance/date_time_picker.js.map +1 -0
  15. package/dist/cjs/fieldTypes/appearance/file.js +3 -0
  16. package/dist/cjs/fieldTypes/appearance/file.js.map +1 -0
  17. package/dist/cjs/fieldTypes/appearance/float.js +3 -0
  18. package/dist/cjs/fieldTypes/appearance/float.js.map +1 -0
  19. package/dist/cjs/fieldTypes/appearance/framed_single_block.js +3 -0
  20. package/dist/cjs/fieldTypes/appearance/framed_single_block.js.map +1 -0
  21. package/dist/cjs/fieldTypes/appearance/frameless_single_block.js +3 -0
  22. package/dist/cjs/fieldTypes/appearance/frameless_single_block.js.map +1 -0
  23. package/dist/cjs/fieldTypes/appearance/gallery.js +3 -0
  24. package/dist/cjs/fieldTypes/appearance/gallery.js.map +1 -0
  25. package/dist/cjs/fieldTypes/appearance/index.js +47 -0
  26. package/dist/cjs/fieldTypes/appearance/index.js.map +1 -0
  27. package/dist/cjs/fieldTypes/appearance/integer.js +3 -0
  28. package/dist/cjs/fieldTypes/appearance/integer.js.map +1 -0
  29. package/dist/cjs/fieldTypes/appearance/json.js +3 -0
  30. package/dist/cjs/fieldTypes/appearance/json.js.map +1 -0
  31. package/dist/cjs/fieldTypes/appearance/link_embed.js +3 -0
  32. package/dist/cjs/fieldTypes/appearance/link_embed.js.map +1 -0
  33. package/dist/cjs/fieldTypes/appearance/link_select.js +3 -0
  34. package/dist/cjs/fieldTypes/appearance/link_select.js.map +1 -0
  35. package/dist/cjs/fieldTypes/appearance/links_embed.js +3 -0
  36. package/dist/cjs/fieldTypes/appearance/links_embed.js.map +1 -0
  37. package/dist/cjs/fieldTypes/appearance/links_select.js +3 -0
  38. package/dist/cjs/fieldTypes/appearance/links_select.js.map +1 -0
  39. package/dist/cjs/fieldTypes/appearance/map.js +3 -0
  40. package/dist/cjs/fieldTypes/appearance/map.js.map +1 -0
  41. package/dist/cjs/fieldTypes/appearance/markdown.js +3 -0
  42. package/dist/cjs/fieldTypes/appearance/markdown.js.map +1 -0
  43. package/dist/cjs/fieldTypes/appearance/rich_text.js +3 -0
  44. package/dist/cjs/fieldTypes/appearance/rich_text.js.map +1 -0
  45. package/dist/cjs/fieldTypes/appearance/seo.js +3 -0
  46. package/dist/cjs/fieldTypes/appearance/seo.js.map +1 -0
  47. package/dist/cjs/fieldTypes/appearance/single_line.js +3 -0
  48. package/dist/cjs/fieldTypes/appearance/single_line.js.map +1 -0
  49. package/dist/cjs/fieldTypes/appearance/slug.js +3 -0
  50. package/dist/cjs/fieldTypes/appearance/slug.js.map +1 -0
  51. package/dist/cjs/fieldTypes/appearance/string_checkbox_group.js +3 -0
  52. package/dist/cjs/fieldTypes/appearance/string_checkbox_group.js.map +1 -0
  53. package/dist/cjs/fieldTypes/appearance/string_multi_select.js +3 -0
  54. package/dist/cjs/fieldTypes/appearance/string_multi_select.js.map +1 -0
  55. package/dist/cjs/fieldTypes/appearance/string_radio_group.js +3 -0
  56. package/dist/cjs/fieldTypes/appearance/string_radio_group.js.map +1 -0
  57. package/dist/cjs/fieldTypes/appearance/string_select.js +3 -0
  58. package/dist/cjs/fieldTypes/appearance/string_select.js.map +1 -0
  59. package/dist/cjs/fieldTypes/appearance/structured_text.js +3 -0
  60. package/dist/cjs/fieldTypes/appearance/structured_text.js.map +1 -0
  61. package/dist/cjs/fieldTypes/appearance/textarea.js +3 -0
  62. package/dist/cjs/fieldTypes/appearance/textarea.js.map +1 -0
  63. package/dist/cjs/fieldTypes/appearance/video.js +3 -0
  64. package/dist/cjs/fieldTypes/appearance/video.js.map +1 -0
  65. package/dist/cjs/fieldTypes/appearance/wysiwyg.js +3 -0
  66. package/dist/cjs/fieldTypes/appearance/wysiwyg.js.map +1 -0
  67. package/dist/cjs/fieldTypes/boolean.js +8 -0
  68. package/dist/cjs/fieldTypes/boolean.js.map +1 -0
  69. package/dist/cjs/fieldTypes/color.js +15 -0
  70. package/dist/cjs/fieldTypes/color.js.map +1 -0
  71. package/dist/cjs/fieldTypes/date.js +10 -0
  72. package/dist/cjs/fieldTypes/date.js.map +1 -0
  73. package/dist/cjs/fieldTypes/date_time.js +11 -0
  74. package/dist/cjs/fieldTypes/date_time.js.map +1 -0
  75. package/dist/cjs/fieldTypes/file.js +10 -0
  76. package/dist/cjs/fieldTypes/file.js.map +1 -0
  77. package/dist/cjs/fieldTypes/float.js +8 -0
  78. package/dist/cjs/fieldTypes/float.js.map +1 -0
  79. package/dist/cjs/fieldTypes/gallery.js +11 -0
  80. package/dist/cjs/fieldTypes/gallery.js.map +1 -0
  81. package/dist/cjs/fieldTypes/index.js +39 -0
  82. package/dist/cjs/fieldTypes/index.js.map +1 -0
  83. package/dist/cjs/fieldTypes/integer.js +8 -0
  84. package/dist/cjs/fieldTypes/integer.js.map +1 -0
  85. package/dist/cjs/fieldTypes/json.js +18 -0
  86. package/dist/cjs/fieldTypes/json.js.map +1 -0
  87. package/dist/cjs/fieldTypes/lat_lon.js +13 -0
  88. package/dist/cjs/fieldTypes/lat_lon.js.map +1 -0
  89. package/dist/cjs/fieldTypes/link.js +8 -0
  90. package/dist/cjs/fieldTypes/link.js.map +1 -0
  91. package/dist/cjs/fieldTypes/links.js +10 -0
  92. package/dist/cjs/fieldTypes/links.js.map +1 -0
  93. package/dist/cjs/fieldTypes/rich_text.js +53 -0
  94. package/dist/cjs/fieldTypes/rich_text.js.map +1 -0
  95. package/dist/cjs/fieldTypes/seo.js +16 -0
  96. package/dist/cjs/fieldTypes/seo.js.map +1 -0
  97. package/dist/cjs/fieldTypes/single_block.js +72 -0
  98. package/dist/cjs/fieldTypes/single_block.js.map +1 -0
  99. package/dist/cjs/fieldTypes/slug.js +10 -0
  100. package/dist/cjs/fieldTypes/slug.js.map +1 -0
  101. package/dist/cjs/fieldTypes/string.js +8 -0
  102. package/dist/cjs/fieldTypes/string.js.map +1 -0
  103. package/dist/cjs/fieldTypes/structured_text.js +87 -0
  104. package/dist/cjs/fieldTypes/structured_text.js.map +1 -0
  105. package/dist/cjs/fieldTypes/text.js +8 -0
  106. package/dist/cjs/fieldTypes/text.js.map +1 -0
  107. package/dist/cjs/fieldTypes/validators/date_range.js +3 -0
  108. package/dist/cjs/fieldTypes/validators/date_range.js.map +1 -0
  109. package/dist/cjs/fieldTypes/validators/date_time_range.js +3 -0
  110. package/dist/cjs/fieldTypes/validators/date_time_range.js.map +1 -0
  111. package/dist/cjs/fieldTypes/validators/description_length.js +3 -0
  112. package/dist/cjs/fieldTypes/validators/description_length.js.map +1 -0
  113. package/dist/cjs/fieldTypes/validators/enum.js +3 -0
  114. package/dist/cjs/fieldTypes/validators/enum.js.map +1 -0
  115. package/dist/cjs/fieldTypes/validators/extension.js +3 -0
  116. package/dist/cjs/fieldTypes/validators/extension.js.map +1 -0
  117. package/dist/cjs/fieldTypes/validators/file_size.js +3 -0
  118. package/dist/cjs/fieldTypes/validators/file_size.js.map +1 -0
  119. package/dist/cjs/fieldTypes/validators/format.js +3 -0
  120. package/dist/cjs/fieldTypes/validators/format.js.map +1 -0
  121. package/dist/cjs/fieldTypes/validators/image_aspect_ratio.js +3 -0
  122. package/dist/cjs/fieldTypes/validators/image_aspect_ratio.js.map +1 -0
  123. package/dist/cjs/fieldTypes/validators/image_dimensions.js +3 -0
  124. package/dist/cjs/fieldTypes/validators/image_dimensions.js.map +1 -0
  125. package/dist/cjs/fieldTypes/validators/index.js +44 -0
  126. package/dist/cjs/fieldTypes/validators/index.js.map +1 -0
  127. package/dist/cjs/fieldTypes/validators/item_item_type.js +3 -0
  128. package/dist/cjs/fieldTypes/validators/item_item_type.js.map +1 -0
  129. package/dist/cjs/fieldTypes/validators/items_item_type.js +3 -0
  130. package/dist/cjs/fieldTypes/validators/items_item_type.js.map +1 -0
  131. package/dist/cjs/fieldTypes/validators/length.js +3 -0
  132. package/dist/cjs/fieldTypes/validators/length.js.map +1 -0
  133. package/dist/cjs/fieldTypes/validators/number_range.js +3 -0
  134. package/dist/cjs/fieldTypes/validators/number_range.js.map +1 -0
  135. package/dist/cjs/fieldTypes/validators/required.js +3 -0
  136. package/dist/cjs/fieldTypes/validators/required.js.map +1 -0
  137. package/dist/cjs/fieldTypes/validators/required_alt_title.js +3 -0
  138. package/dist/cjs/fieldTypes/validators/required_alt_title.js.map +1 -0
  139. package/dist/cjs/fieldTypes/validators/required_seo_fields.js +3 -0
  140. package/dist/cjs/fieldTypes/validators/required_seo_fields.js.map +1 -0
  141. package/dist/cjs/fieldTypes/validators/rich_text_blocks.js +3 -0
  142. package/dist/cjs/fieldTypes/validators/rich_text_blocks.js.map +1 -0
  143. package/dist/cjs/fieldTypes/validators/sanitization.js +3 -0
  144. package/dist/cjs/fieldTypes/validators/sanitization.js.map +1 -0
  145. package/dist/cjs/fieldTypes/validators/single_block_blocks.js +3 -0
  146. package/dist/cjs/fieldTypes/validators/single_block_blocks.js.map +1 -0
  147. package/dist/cjs/fieldTypes/validators/size.js +3 -0
  148. package/dist/cjs/fieldTypes/validators/size.js.map +1 -0
  149. package/dist/cjs/fieldTypes/validators/slug_format.js +3 -0
  150. package/dist/cjs/fieldTypes/validators/slug_format.js.map +1 -0
  151. package/dist/cjs/fieldTypes/validators/slug_title_field.js +3 -0
  152. package/dist/cjs/fieldTypes/validators/slug_title_field.js.map +1 -0
  153. package/dist/cjs/fieldTypes/validators/structured_text_blocks.js +3 -0
  154. package/dist/cjs/fieldTypes/validators/structured_text_blocks.js.map +1 -0
  155. package/dist/cjs/fieldTypes/validators/structured_text_inline_blocks.js +3 -0
  156. package/dist/cjs/fieldTypes/validators/structured_text_inline_blocks.js.map +1 -0
  157. package/dist/cjs/fieldTypes/validators/structured_text_links.js +3 -0
  158. package/dist/cjs/fieldTypes/validators/structured_text_links.js.map +1 -0
  159. package/dist/cjs/fieldTypes/validators/title_length.js +3 -0
  160. package/dist/cjs/fieldTypes/validators/title_length.js.map +1 -0
  161. package/dist/cjs/fieldTypes/validators/unique.js +3 -0
  162. package/dist/cjs/fieldTypes/validators/unique.js.map +1 -0
  163. package/dist/cjs/fieldTypes/video.js +14 -0
  164. package/dist/cjs/fieldTypes/video.js.map +1 -0
  165. package/dist/cjs/generated/Client.js +27 -79
  166. package/dist/cjs/generated/Client.js.map +1 -1
  167. package/dist/cjs/generated/SchemaTypes.js +0 -4
  168. package/dist/cjs/generated/SchemaTypes.js.map +1 -1
  169. package/dist/cjs/generated/SimpleSchemaTypes.js +0 -4
  170. package/dist/cjs/generated/SimpleSchemaTypes.js.map +1 -1
  171. package/dist/cjs/generated/resources/AccessToken.js +42 -74
  172. package/dist/cjs/generated/resources/AccessToken.js.map +1 -1
  173. package/dist/cjs/generated/resources/AuditLogEvent.js +11 -33
  174. package/dist/cjs/generated/resources/AuditLogEvent.js.map +1 -1
  175. package/dist/cjs/generated/resources/BuildEvent.js +43 -133
  176. package/dist/cjs/generated/resources/BuildEvent.js.map +1 -1
  177. package/dist/cjs/generated/resources/BuildTrigger.js +55 -85
  178. package/dist/cjs/generated/resources/BuildTrigger.js.map +1 -1
  179. package/dist/cjs/generated/resources/DailyUsage.js +10 -32
  180. package/dist/cjs/generated/resources/DailyUsage.js.map +1 -1
  181. package/dist/cjs/generated/resources/EditingSession.js +20 -44
  182. package/dist/cjs/generated/resources/EditingSession.js.map +1 -1
  183. package/dist/cjs/generated/resources/EmojiSuggestions.js +11 -33
  184. package/dist/cjs/generated/resources/EmojiSuggestions.js.map +1 -1
  185. package/dist/cjs/generated/resources/Environment.js +43 -75
  186. package/dist/cjs/generated/resources/Environment.js.map +1 -1
  187. package/dist/cjs/generated/resources/Field.js +57 -93
  188. package/dist/cjs/generated/resources/Field.js.map +1 -1
  189. package/dist/cjs/generated/resources/Fieldset.js +39 -69
  190. package/dist/cjs/generated/resources/Fieldset.js.map +1 -1
  191. package/dist/cjs/generated/resources/Item.js +133 -247
  192. package/dist/cjs/generated/resources/Item.js.map +1 -1
  193. package/dist/cjs/generated/resources/ItemType.js +47 -79
  194. package/dist/cjs/generated/resources/ItemType.js.map +1 -1
  195. package/dist/cjs/generated/resources/ItemTypeFilter.js +35 -65
  196. package/dist/cjs/generated/resources/ItemTypeFilter.js.map +1 -1
  197. package/dist/cjs/generated/resources/ItemVersion.js +50 -142
  198. package/dist/cjs/generated/resources/ItemVersion.js.map +1 -1
  199. package/dist/cjs/generated/resources/JobResult.js +11 -33
  200. package/dist/cjs/generated/resources/JobResult.js.map +1 -1
  201. package/dist/cjs/generated/resources/MaintenanceMode.js +21 -47
  202. package/dist/cjs/generated/resources/MaintenanceMode.js.map +1 -1
  203. package/dist/cjs/generated/resources/MenuItem.js +42 -74
  204. package/dist/cjs/generated/resources/MenuItem.js.map +1 -1
  205. package/dist/cjs/generated/resources/Plugin.js +41 -73
  206. package/dist/cjs/generated/resources/Plugin.js.map +1 -1
  207. package/dist/cjs/generated/resources/PublicInfo.js +10 -32
  208. package/dist/cjs/generated/resources/PublicInfo.js.map +1 -1
  209. package/dist/cjs/generated/resources/Role.js +41 -73
  210. package/dist/cjs/generated/resources/Role.js.map +1 -1
  211. package/dist/cjs/generated/resources/ScheduledPublication.js +18 -42
  212. package/dist/cjs/generated/resources/ScheduledPublication.js.map +1 -1
  213. package/dist/cjs/generated/resources/ScheduledUnpublishing.js +18 -42
  214. package/dist/cjs/generated/resources/ScheduledUnpublishing.js.map +1 -1
  215. package/dist/cjs/generated/resources/SchemaMenuItem.js +42 -74
  216. package/dist/cjs/generated/resources/SchemaMenuItem.js.map +1 -1
  217. package/dist/cjs/generated/resources/SearchResult.js +37 -125
  218. package/dist/cjs/generated/resources/SearchResult.js.map +1 -1
  219. package/dist/cjs/generated/resources/Session.js +11 -33
  220. package/dist/cjs/generated/resources/Session.js.map +1 -1
  221. package/dist/cjs/generated/resources/Site.js +63 -105
  222. package/dist/cjs/generated/resources/Site.js.map +1 -1
  223. package/dist/cjs/generated/resources/SiteInvitation.js +41 -73
  224. package/dist/cjs/generated/resources/SiteInvitation.js.map +1 -1
  225. package/dist/cjs/generated/resources/SsoGroup.js +29 -57
  226. package/dist/cjs/generated/resources/SsoGroup.js.map +1 -1
  227. package/dist/cjs/generated/resources/SsoSettings.js +21 -47
  228. package/dist/cjs/generated/resources/SsoSettings.js.map +1 -1
  229. package/dist/cjs/generated/resources/SsoUser.js +28 -56
  230. package/dist/cjs/generated/resources/SsoUser.js.map +1 -1
  231. package/dist/cjs/generated/resources/SubscriptionFeature.js +10 -32
  232. package/dist/cjs/generated/resources/SubscriptionFeature.js.map +1 -1
  233. package/dist/cjs/generated/resources/SubscriptionLimit.js +16 -40
  234. package/dist/cjs/generated/resources/SubscriptionLimit.js.map +1 -1
  235. package/dist/cjs/generated/resources/Upload.js +87 -191
  236. package/dist/cjs/generated/resources/Upload.js.map +1 -1
  237. package/dist/cjs/generated/resources/UploadCollection.js +42 -74
  238. package/dist/cjs/generated/resources/UploadCollection.js.map +1 -1
  239. package/dist/cjs/generated/resources/UploadFilter.js +35 -65
  240. package/dist/cjs/generated/resources/UploadFilter.js.map +1 -1
  241. package/dist/cjs/generated/resources/UploadRequest.js +11 -33
  242. package/dist/cjs/generated/resources/UploadRequest.js.map +1 -1
  243. package/dist/cjs/generated/resources/UploadSmartTag.js +37 -125
  244. package/dist/cjs/generated/resources/UploadSmartTag.js.map +1 -1
  245. package/dist/cjs/generated/resources/UploadTag.js +43 -133
  246. package/dist/cjs/generated/resources/UploadTag.js.map +1 -1
  247. package/dist/cjs/generated/resources/UploadTrack.js +31 -59
  248. package/dist/cjs/generated/resources/UploadTrack.js.map +1 -1
  249. package/dist/cjs/generated/resources/UsageCounter.js +12 -34
  250. package/dist/cjs/generated/resources/UsageCounter.js.map +1 -1
  251. package/dist/cjs/generated/resources/User.js +37 -67
  252. package/dist/cjs/generated/resources/User.js.map +1 -1
  253. package/dist/cjs/generated/resources/Webhook.js +35 -65
  254. package/dist/cjs/generated/resources/Webhook.js.map +1 -1
  255. package/dist/cjs/generated/resources/WebhookCall.js +48 -138
  256. package/dist/cjs/generated/resources/WebhookCall.js.map +1 -1
  257. package/dist/cjs/generated/resources/WhiteLabelSettings.js +16 -40
  258. package/dist/cjs/generated/resources/WhiteLabelSettings.js.map +1 -1
  259. package/dist/cjs/generated/resources/Workflow.js +34 -62
  260. package/dist/cjs/generated/resources/Workflow.js.map +1 -1
  261. package/dist/cjs/index.js +8 -2
  262. package/dist/cjs/index.js.map +1 -1
  263. package/dist/cjs/resources/Role.js +42 -124
  264. package/dist/cjs/resources/Role.js.map +1 -1
  265. package/dist/cjs/utilities/blocks.js +597 -0
  266. package/dist/cjs/utilities/blocks.js.map +1 -0
  267. package/dist/cjs/{buildBlockRecord.js → utilities/buildBlockRecord.js} +2 -2
  268. package/dist/cjs/utilities/buildBlockRecord.js.map +1 -0
  269. package/dist/cjs/utilities/fieldValueLocalization.js +253 -0
  270. package/dist/cjs/utilities/fieldValueLocalization.js.map +1 -0
  271. package/dist/cjs/utilities/fieldsContainingReferences.js +45 -0
  272. package/dist/cjs/utilities/fieldsContainingReferences.js.map +1 -0
  273. package/dist/cjs/{idUtils.js → utilities/id.js} +14 -14
  274. package/dist/cjs/utilities/id.js.map +1 -0
  275. package/dist/cjs/utilities/recursiveBlocks.js +187 -0
  276. package/dist/cjs/utilities/recursiveBlocks.js.map +1 -0
  277. package/dist/cjs/utilities/schemaRepository.js +354 -0
  278. package/dist/cjs/utilities/schemaRepository.js.map +1 -0
  279. package/dist/cjs/utilities/structuredText.js +371 -0
  280. package/dist/cjs/utilities/structuredText.js.map +1 -0
  281. package/dist/esm/BaseResource.js +3 -5
  282. package/dist/esm/BaseResource.js.map +1 -1
  283. package/dist/esm/fieldTypes/appearance/boolean.d.ts +4 -0
  284. package/dist/esm/fieldTypes/appearance/boolean.js +2 -0
  285. package/dist/esm/fieldTypes/appearance/boolean.js.map +1 -0
  286. package/dist/esm/fieldTypes/appearance/boolean_radio_group.d.ts +15 -0
  287. package/dist/esm/fieldTypes/appearance/boolean_radio_group.js +2 -0
  288. package/dist/esm/fieldTypes/appearance/boolean_radio_group.js.map +1 -0
  289. package/dist/esm/fieldTypes/appearance/color_picker.d.ts +9 -0
  290. package/dist/esm/fieldTypes/appearance/color_picker.js +2 -0
  291. package/dist/esm/fieldTypes/appearance/color_picker.js.map +1 -0
  292. package/dist/esm/fieldTypes/appearance/date_picker.d.ts +4 -0
  293. package/dist/esm/fieldTypes/appearance/date_picker.js +2 -0
  294. package/dist/esm/fieldTypes/appearance/date_picker.js.map +1 -0
  295. package/dist/esm/fieldTypes/appearance/date_time_picker.d.ts +4 -0
  296. package/dist/esm/fieldTypes/appearance/date_time_picker.js +2 -0
  297. package/dist/esm/fieldTypes/appearance/date_time_picker.js.map +1 -0
  298. package/dist/esm/fieldTypes/appearance/file.d.ts +4 -0
  299. package/dist/esm/fieldTypes/appearance/file.js +2 -0
  300. package/dist/esm/fieldTypes/appearance/file.js.map +1 -0
  301. package/dist/esm/fieldTypes/appearance/float.d.ts +7 -0
  302. package/dist/esm/fieldTypes/appearance/float.js +2 -0
  303. package/dist/esm/fieldTypes/appearance/float.js.map +1 -0
  304. package/dist/esm/fieldTypes/appearance/framed_single_block.d.ts +7 -0
  305. package/dist/esm/fieldTypes/appearance/framed_single_block.js +2 -0
  306. package/dist/esm/fieldTypes/appearance/framed_single_block.js.map +1 -0
  307. package/dist/esm/fieldTypes/appearance/frameless_single_block.d.ts +7 -0
  308. package/dist/esm/fieldTypes/appearance/frameless_single_block.js +2 -0
  309. package/dist/esm/fieldTypes/appearance/frameless_single_block.js.map +1 -0
  310. package/dist/esm/fieldTypes/appearance/gallery.d.ts +4 -0
  311. package/dist/esm/fieldTypes/appearance/gallery.js +2 -0
  312. package/dist/esm/fieldTypes/appearance/gallery.js.map +1 -0
  313. package/dist/esm/fieldTypes/appearance/index.d.ts +30 -0
  314. package/dist/esm/fieldTypes/appearance/index.js +31 -0
  315. package/dist/esm/fieldTypes/appearance/index.js.map +1 -0
  316. package/dist/esm/fieldTypes/appearance/integer.d.ts +7 -0
  317. package/dist/esm/fieldTypes/appearance/integer.js +2 -0
  318. package/dist/esm/fieldTypes/appearance/integer.js.map +1 -0
  319. package/dist/esm/fieldTypes/appearance/json.d.ts +4 -0
  320. package/dist/esm/fieldTypes/appearance/json.js +2 -0
  321. package/dist/esm/fieldTypes/appearance/json.js.map +1 -0
  322. package/dist/esm/fieldTypes/appearance/link_embed.d.ts +5 -0
  323. package/dist/esm/fieldTypes/appearance/link_embed.js +2 -0
  324. package/dist/esm/fieldTypes/appearance/link_embed.js.map +1 -0
  325. package/dist/esm/fieldTypes/appearance/link_select.d.ts +5 -0
  326. package/dist/esm/fieldTypes/appearance/link_select.js +2 -0
  327. package/dist/esm/fieldTypes/appearance/link_select.js.map +1 -0
  328. package/dist/esm/fieldTypes/appearance/links_embed.d.ts +5 -0
  329. package/dist/esm/fieldTypes/appearance/links_embed.js +2 -0
  330. package/dist/esm/fieldTypes/appearance/links_embed.js.map +1 -0
  331. package/dist/esm/fieldTypes/appearance/links_select.d.ts +5 -0
  332. package/dist/esm/fieldTypes/appearance/links_select.js +2 -0
  333. package/dist/esm/fieldTypes/appearance/links_select.js.map +1 -0
  334. package/dist/esm/fieldTypes/appearance/map.d.ts +4 -0
  335. package/dist/esm/fieldTypes/appearance/map.js +2 -0
  336. package/dist/esm/fieldTypes/appearance/map.js.map +1 -0
  337. package/dist/esm/fieldTypes/appearance/markdown.d.ts +7 -0
  338. package/dist/esm/fieldTypes/appearance/markdown.js +2 -0
  339. package/dist/esm/fieldTypes/appearance/markdown.js.map +1 -0
  340. package/dist/esm/fieldTypes/appearance/rich_text.d.ts +7 -0
  341. package/dist/esm/fieldTypes/appearance/rich_text.js +2 -0
  342. package/dist/esm/fieldTypes/appearance/rich_text.js.map +1 -0
  343. package/dist/esm/fieldTypes/appearance/seo.d.ts +9 -0
  344. package/dist/esm/fieldTypes/appearance/seo.js +2 -0
  345. package/dist/esm/fieldTypes/appearance/seo.js.map +1 -0
  346. package/dist/esm/fieldTypes/appearance/single_line.d.ts +9 -0
  347. package/dist/esm/fieldTypes/appearance/single_line.js +2 -0
  348. package/dist/esm/fieldTypes/appearance/single_line.js.map +1 -0
  349. package/dist/esm/fieldTypes/appearance/slug.d.ts +9 -0
  350. package/dist/esm/fieldTypes/appearance/slug.js +2 -0
  351. package/dist/esm/fieldTypes/appearance/slug.js.map +1 -0
  352. package/dist/esm/fieldTypes/appearance/string_checkbox_group.d.ts +15 -0
  353. package/dist/esm/fieldTypes/appearance/string_checkbox_group.js +2 -0
  354. package/dist/esm/fieldTypes/appearance/string_checkbox_group.js.map +1 -0
  355. package/dist/esm/fieldTypes/appearance/string_multi_select.d.ts +15 -0
  356. package/dist/esm/fieldTypes/appearance/string_multi_select.js +2 -0
  357. package/dist/esm/fieldTypes/appearance/string_multi_select.js.map +1 -0
  358. package/dist/esm/fieldTypes/appearance/string_radio_group.d.ts +15 -0
  359. package/dist/esm/fieldTypes/appearance/string_radio_group.js +2 -0
  360. package/dist/esm/fieldTypes/appearance/string_radio_group.js.map +1 -0
  361. package/dist/esm/fieldTypes/appearance/string_select.d.ts +15 -0
  362. package/dist/esm/fieldTypes/appearance/string_select.js +2 -0
  363. package/dist/esm/fieldTypes/appearance/string_select.js.map +1 -0
  364. package/dist/esm/fieldTypes/appearance/structured_text.d.ts +17 -0
  365. package/dist/esm/fieldTypes/appearance/structured_text.js +2 -0
  366. package/dist/esm/fieldTypes/appearance/structured_text.js.map +1 -0
  367. package/dist/esm/fieldTypes/appearance/textarea.d.ts +7 -0
  368. package/dist/esm/fieldTypes/appearance/textarea.js +2 -0
  369. package/dist/esm/fieldTypes/appearance/textarea.js.map +1 -0
  370. package/dist/esm/fieldTypes/appearance/video.d.ts +4 -0
  371. package/dist/esm/fieldTypes/appearance/video.js +2 -0
  372. package/dist/esm/fieldTypes/appearance/video.js.map +1 -0
  373. package/dist/esm/fieldTypes/appearance/wysiwyg.d.ts +7 -0
  374. package/dist/esm/fieldTypes/appearance/wysiwyg.js +2 -0
  375. package/dist/esm/fieldTypes/appearance/wysiwyg.js.map +1 -0
  376. package/dist/esm/fieldTypes/boolean.d.ts +17 -0
  377. package/dist/esm/fieldTypes/boolean.js +4 -0
  378. package/dist/esm/fieldTypes/boolean.js.map +1 -0
  379. package/dist/esm/fieldTypes/color.d.ts +22 -0
  380. package/dist/esm/fieldTypes/color.js +11 -0
  381. package/dist/esm/fieldTypes/color.js.map +1 -0
  382. package/dist/esm/fieldTypes/date.d.ts +20 -0
  383. package/dist/esm/fieldTypes/date.js +6 -0
  384. package/dist/esm/fieldTypes/date.js.map +1 -0
  385. package/dist/esm/fieldTypes/date_time.d.ts +20 -0
  386. package/dist/esm/fieldTypes/date_time.js +7 -0
  387. package/dist/esm/fieldTypes/date_time.js.map +1 -0
  388. package/dist/esm/fieldTypes/file.d.ts +41 -0
  389. package/dist/esm/fieldTypes/file.js +6 -0
  390. package/dist/esm/fieldTypes/file.js.map +1 -0
  391. package/dist/esm/fieldTypes/float.d.ts +20 -0
  392. package/dist/esm/fieldTypes/float.js +4 -0
  393. package/dist/esm/fieldTypes/float.js.map +1 -0
  394. package/dist/esm/fieldTypes/gallery.d.ts +41 -0
  395. package/dist/esm/fieldTypes/gallery.js +7 -0
  396. package/dist/esm/fieldTypes/gallery.js.map +1 -0
  397. package/dist/esm/fieldTypes/index.d.ts +22 -0
  398. package/dist/esm/fieldTypes/index.js +23 -0
  399. package/dist/esm/fieldTypes/index.js.map +1 -0
  400. package/dist/esm/fieldTypes/integer.d.ts +20 -0
  401. package/dist/esm/fieldTypes/integer.js +4 -0
  402. package/dist/esm/fieldTypes/integer.js.map +1 -0
  403. package/dist/esm/fieldTypes/json.d.ts +25 -0
  404. package/dist/esm/fieldTypes/json.js +14 -0
  405. package/dist/esm/fieldTypes/json.js.map +1 -0
  406. package/dist/esm/fieldTypes/lat_lon.d.ts +20 -0
  407. package/dist/esm/fieldTypes/lat_lon.js +9 -0
  408. package/dist/esm/fieldTypes/lat_lon.js.map +1 -0
  409. package/dist/esm/fieldTypes/link.d.ts +27 -0
  410. package/dist/esm/fieldTypes/link.js +4 -0
  411. package/dist/esm/fieldTypes/link.js.map +1 -0
  412. package/dist/esm/fieldTypes/links.d.ts +24 -0
  413. package/dist/esm/fieldTypes/links.js +6 -0
  414. package/dist/esm/fieldTypes/links.js.map +1 -0
  415. package/dist/esm/fieldTypes/rich_text.d.ts +100 -0
  416. package/dist/esm/fieldTypes/rich_text.js +47 -0
  417. package/dist/esm/fieldTypes/rich_text.js.map +1 -0
  418. package/dist/esm/fieldTypes/seo.d.ts +38 -0
  419. package/dist/esm/fieldTypes/seo.js +12 -0
  420. package/dist/esm/fieldTypes/seo.js.map +1 -0
  421. package/dist/esm/fieldTypes/single_block.d.ts +134 -0
  422. package/dist/esm/fieldTypes/single_block.js +63 -0
  423. package/dist/esm/fieldTypes/single_block.js.map +1 -0
  424. package/dist/esm/fieldTypes/slug.d.ts +26 -0
  425. package/dist/esm/fieldTypes/slug.js +6 -0
  426. package/dist/esm/fieldTypes/slug.js.map +1 -0
  427. package/dist/esm/fieldTypes/string.d.ts +37 -0
  428. package/dist/esm/fieldTypes/string.js +4 -0
  429. package/dist/esm/fieldTypes/string.js.map +1 -0
  430. package/dist/esm/fieldTypes/structured_text.d.ts +181 -0
  431. package/dist/esm/fieldTypes/structured_text.js +81 -0
  432. package/dist/esm/fieldTypes/structured_text.js.map +1 -0
  433. package/dist/esm/fieldTypes/text.d.ts +34 -0
  434. package/dist/esm/fieldTypes/text.js +4 -0
  435. package/dist/esm/fieldTypes/text.js.map +1 -0
  436. package/dist/esm/fieldTypes/validators/date_range.d.ts +14 -0
  437. package/dist/esm/fieldTypes/validators/date_range.js +2 -0
  438. package/dist/esm/fieldTypes/validators/date_range.js.map +1 -0
  439. package/dist/esm/fieldTypes/validators/date_time_range.d.ts +12 -0
  440. package/dist/esm/fieldTypes/validators/date_time_range.js +2 -0
  441. package/dist/esm/fieldTypes/validators/date_time_range.js.map +1 -0
  442. package/dist/esm/fieldTypes/validators/description_length.d.ts +11 -0
  443. package/dist/esm/fieldTypes/validators/description_length.js +2 -0
  444. package/dist/esm/fieldTypes/validators/description_length.js.map +1 -0
  445. package/dist/esm/fieldTypes/validators/enum.d.ts +7 -0
  446. package/dist/esm/fieldTypes/validators/enum.js +2 -0
  447. package/dist/esm/fieldTypes/validators/enum.js.map +1 -0
  448. package/dist/esm/fieldTypes/validators/extension.d.ts +12 -0
  449. package/dist/esm/fieldTypes/validators/extension.js +2 -0
  450. package/dist/esm/fieldTypes/validators/extension.js.map +1 -0
  451. package/dist/esm/fieldTypes/validators/file_size.d.ts +16 -0
  452. package/dist/esm/fieldTypes/validators/file_size.js +2 -0
  453. package/dist/esm/fieldTypes/validators/file_size.js.map +1 -0
  454. package/dist/esm/fieldTypes/validators/format.d.ts +18 -0
  455. package/dist/esm/fieldTypes/validators/format.js +2 -0
  456. package/dist/esm/fieldTypes/validators/format.js.map +1 -0
  457. package/dist/esm/fieldTypes/validators/image_aspect_ratio.d.ts +28 -0
  458. package/dist/esm/fieldTypes/validators/image_aspect_ratio.js +2 -0
  459. package/dist/esm/fieldTypes/validators/image_aspect_ratio.js.map +1 -0
  460. package/dist/esm/fieldTypes/validators/image_dimensions.d.ts +28 -0
  461. package/dist/esm/fieldTypes/validators/image_dimensions.js +2 -0
  462. package/dist/esm/fieldTypes/validators/image_dimensions.js.map +1 -0
  463. package/dist/esm/fieldTypes/validators/index.d.ts +27 -0
  464. package/dist/esm/fieldTypes/validators/index.js +28 -0
  465. package/dist/esm/fieldTypes/validators/index.js.map +1 -0
  466. package/dist/esm/fieldTypes/validators/item_item_type.d.ts +29 -0
  467. package/dist/esm/fieldTypes/validators/item_item_type.js +2 -0
  468. package/dist/esm/fieldTypes/validators/item_item_type.js.map +1 -0
  469. package/dist/esm/fieldTypes/validators/items_item_type.d.ts +29 -0
  470. package/dist/esm/fieldTypes/validators/items_item_type.js +2 -0
  471. package/dist/esm/fieldTypes/validators/items_item_type.js.map +1 -0
  472. package/dist/esm/fieldTypes/validators/length.d.ts +19 -0
  473. package/dist/esm/fieldTypes/validators/length.js +2 -0
  474. package/dist/esm/fieldTypes/validators/length.js.map +1 -0
  475. package/dist/esm/fieldTypes/validators/number_range.d.ts +10 -0
  476. package/dist/esm/fieldTypes/validators/number_range.js +2 -0
  477. package/dist/esm/fieldTypes/validators/number_range.js.map +1 -0
  478. package/dist/esm/fieldTypes/validators/required.d.ts +4 -0
  479. package/dist/esm/fieldTypes/validators/required.js +2 -0
  480. package/dist/esm/fieldTypes/validators/required.js.map +1 -0
  481. package/dist/esm/fieldTypes/validators/required_alt_title.d.ts +12 -0
  482. package/dist/esm/fieldTypes/validators/required_alt_title.js +2 -0
  483. package/dist/esm/fieldTypes/validators/required_alt_title.js.map +1 -0
  484. package/dist/esm/fieldTypes/validators/required_seo_fields.d.ts +28 -0
  485. package/dist/esm/fieldTypes/validators/required_seo_fields.js +2 -0
  486. package/dist/esm/fieldTypes/validators/required_seo_fields.js.map +1 -0
  487. package/dist/esm/fieldTypes/validators/rich_text_blocks.d.ts +7 -0
  488. package/dist/esm/fieldTypes/validators/rich_text_blocks.js +2 -0
  489. package/dist/esm/fieldTypes/validators/rich_text_blocks.js.map +1 -0
  490. package/dist/esm/fieldTypes/validators/sanitization.d.ts +7 -0
  491. package/dist/esm/fieldTypes/validators/sanitization.js +2 -0
  492. package/dist/esm/fieldTypes/validators/sanitization.js.map +1 -0
  493. package/dist/esm/fieldTypes/validators/single_block_blocks.d.ts +7 -0
  494. package/dist/esm/fieldTypes/validators/single_block_blocks.js +2 -0
  495. package/dist/esm/fieldTypes/validators/single_block_blocks.js.map +1 -0
  496. package/dist/esm/fieldTypes/validators/size.d.ts +28 -0
  497. package/dist/esm/fieldTypes/validators/size.js +2 -0
  498. package/dist/esm/fieldTypes/validators/size.js.map +1 -0
  499. package/dist/esm/fieldTypes/validators/slug_format.d.ts +12 -0
  500. package/dist/esm/fieldTypes/validators/slug_format.js +2 -0
  501. package/dist/esm/fieldTypes/validators/slug_format.js.map +1 -0
  502. package/dist/esm/fieldTypes/validators/slug_title_field.d.ts +7 -0
  503. package/dist/esm/fieldTypes/validators/slug_title_field.js +2 -0
  504. package/dist/esm/fieldTypes/validators/slug_title_field.js.map +1 -0
  505. package/dist/esm/fieldTypes/validators/structured_text_blocks.d.ts +7 -0
  506. package/dist/esm/fieldTypes/validators/structured_text_blocks.js +2 -0
  507. package/dist/esm/fieldTypes/validators/structured_text_blocks.js.map +1 -0
  508. package/dist/esm/fieldTypes/validators/structured_text_inline_blocks.d.ts +7 -0
  509. package/dist/esm/fieldTypes/validators/structured_text_inline_blocks.js +2 -0
  510. package/dist/esm/fieldTypes/validators/structured_text_inline_blocks.js.map +1 -0
  511. package/dist/esm/fieldTypes/validators/structured_text_links.d.ts +29 -0
  512. package/dist/esm/fieldTypes/validators/structured_text_links.js +2 -0
  513. package/dist/esm/fieldTypes/validators/structured_text_links.js.map +1 -0
  514. package/dist/esm/fieldTypes/validators/title_length.d.ts +11 -0
  515. package/dist/esm/fieldTypes/validators/title_length.js +2 -0
  516. package/dist/esm/fieldTypes/validators/title_length.js.map +1 -0
  517. package/dist/esm/fieldTypes/validators/unique.d.ts +4 -0
  518. package/dist/esm/fieldTypes/validators/unique.js +2 -0
  519. package/dist/esm/fieldTypes/validators/unique.js.map +1 -0
  520. package/dist/esm/fieldTypes/video.d.ts +25 -0
  521. package/dist/esm/fieldTypes/video.js +10 -0
  522. package/dist/esm/fieldTypes/video.js.map +1 -0
  523. package/dist/esm/generated/Client.js +25 -78
  524. package/dist/esm/generated/Client.js.map +1 -1
  525. package/dist/esm/generated/SchemaTypes.d.ts +74 -4
  526. package/dist/esm/generated/SchemaTypes.js +0 -4
  527. package/dist/esm/generated/SchemaTypes.js.map +1 -1
  528. package/dist/esm/generated/SimpleSchemaTypes.d.ts +66 -4
  529. package/dist/esm/generated/SimpleSchemaTypes.js +0 -4
  530. package/dist/esm/generated/SimpleSchemaTypes.js.map +1 -1
  531. package/dist/esm/generated/resources/AccessToken.js +40 -73
  532. package/dist/esm/generated/resources/AccessToken.js.map +1 -1
  533. package/dist/esm/generated/resources/AuditLogEvent.js +9 -32
  534. package/dist/esm/generated/resources/AuditLogEvent.js.map +1 -1
  535. package/dist/esm/generated/resources/BuildEvent.js +41 -132
  536. package/dist/esm/generated/resources/BuildEvent.js.map +1 -1
  537. package/dist/esm/generated/resources/BuildTrigger.js +53 -84
  538. package/dist/esm/generated/resources/BuildTrigger.js.map +1 -1
  539. package/dist/esm/generated/resources/DailyUsage.js +8 -31
  540. package/dist/esm/generated/resources/DailyUsage.js.map +1 -1
  541. package/dist/esm/generated/resources/EditingSession.js +18 -43
  542. package/dist/esm/generated/resources/EditingSession.js.map +1 -1
  543. package/dist/esm/generated/resources/EmojiSuggestions.js +9 -32
  544. package/dist/esm/generated/resources/EmojiSuggestions.js.map +1 -1
  545. package/dist/esm/generated/resources/Environment.js +41 -74
  546. package/dist/esm/generated/resources/Environment.js.map +1 -1
  547. package/dist/esm/generated/resources/Field.d.ts +4207 -7
  548. package/dist/esm/generated/resources/Field.js +55 -92
  549. package/dist/esm/generated/resources/Field.js.map +1 -1
  550. package/dist/esm/generated/resources/Fieldset.d.ts +2 -2
  551. package/dist/esm/generated/resources/Fieldset.js +37 -68
  552. package/dist/esm/generated/resources/Fieldset.js.map +1 -1
  553. package/dist/esm/generated/resources/Item.js +131 -246
  554. package/dist/esm/generated/resources/Item.js.map +1 -1
  555. package/dist/esm/generated/resources/ItemType.js +45 -78
  556. package/dist/esm/generated/resources/ItemType.js.map +1 -1
  557. package/dist/esm/generated/resources/ItemTypeFilter.js +33 -64
  558. package/dist/esm/generated/resources/ItemTypeFilter.js.map +1 -1
  559. package/dist/esm/generated/resources/ItemVersion.js +48 -141
  560. package/dist/esm/generated/resources/ItemVersion.js.map +1 -1
  561. package/dist/esm/generated/resources/JobResult.js +9 -32
  562. package/dist/esm/generated/resources/JobResult.js.map +1 -1
  563. package/dist/esm/generated/resources/MaintenanceMode.js +19 -46
  564. package/dist/esm/generated/resources/MaintenanceMode.js.map +1 -1
  565. package/dist/esm/generated/resources/MenuItem.js +40 -73
  566. package/dist/esm/generated/resources/MenuItem.js.map +1 -1
  567. package/dist/esm/generated/resources/Plugin.js +39 -72
  568. package/dist/esm/generated/resources/Plugin.js.map +1 -1
  569. package/dist/esm/generated/resources/PublicInfo.js +8 -31
  570. package/dist/esm/generated/resources/PublicInfo.js.map +1 -1
  571. package/dist/esm/generated/resources/Role.js +39 -72
  572. package/dist/esm/generated/resources/Role.js.map +1 -1
  573. package/dist/esm/generated/resources/ScheduledPublication.js +16 -41
  574. package/dist/esm/generated/resources/ScheduledPublication.js.map +1 -1
  575. package/dist/esm/generated/resources/ScheduledUnpublishing.js +16 -41
  576. package/dist/esm/generated/resources/ScheduledUnpublishing.js.map +1 -1
  577. package/dist/esm/generated/resources/SchemaMenuItem.js +40 -73
  578. package/dist/esm/generated/resources/SchemaMenuItem.js.map +1 -1
  579. package/dist/esm/generated/resources/SearchResult.js +35 -124
  580. package/dist/esm/generated/resources/SearchResult.js.map +1 -1
  581. package/dist/esm/generated/resources/Session.js +9 -32
  582. package/dist/esm/generated/resources/Session.js.map +1 -1
  583. package/dist/esm/generated/resources/Site.js +61 -104
  584. package/dist/esm/generated/resources/Site.js.map +1 -1
  585. package/dist/esm/generated/resources/SiteInvitation.js +39 -72
  586. package/dist/esm/generated/resources/SiteInvitation.js.map +1 -1
  587. package/dist/esm/generated/resources/SsoGroup.js +27 -56
  588. package/dist/esm/generated/resources/SsoGroup.js.map +1 -1
  589. package/dist/esm/generated/resources/SsoSettings.js +19 -46
  590. package/dist/esm/generated/resources/SsoSettings.js.map +1 -1
  591. package/dist/esm/generated/resources/SsoUser.js +26 -55
  592. package/dist/esm/generated/resources/SsoUser.js.map +1 -1
  593. package/dist/esm/generated/resources/SubscriptionFeature.js +8 -31
  594. package/dist/esm/generated/resources/SubscriptionFeature.js.map +1 -1
  595. package/dist/esm/generated/resources/SubscriptionLimit.js +14 -39
  596. package/dist/esm/generated/resources/SubscriptionLimit.js.map +1 -1
  597. package/dist/esm/generated/resources/Upload.js +85 -190
  598. package/dist/esm/generated/resources/Upload.js.map +1 -1
  599. package/dist/esm/generated/resources/UploadCollection.js +40 -73
  600. package/dist/esm/generated/resources/UploadCollection.js.map +1 -1
  601. package/dist/esm/generated/resources/UploadFilter.js +33 -64
  602. package/dist/esm/generated/resources/UploadFilter.js.map +1 -1
  603. package/dist/esm/generated/resources/UploadRequest.js +9 -32
  604. package/dist/esm/generated/resources/UploadRequest.js.map +1 -1
  605. package/dist/esm/generated/resources/UploadSmartTag.js +35 -124
  606. package/dist/esm/generated/resources/UploadSmartTag.js.map +1 -1
  607. package/dist/esm/generated/resources/UploadTag.js +41 -132
  608. package/dist/esm/generated/resources/UploadTag.js.map +1 -1
  609. package/dist/esm/generated/resources/UploadTrack.js +29 -58
  610. package/dist/esm/generated/resources/UploadTrack.js.map +1 -1
  611. package/dist/esm/generated/resources/UsageCounter.js +10 -33
  612. package/dist/esm/generated/resources/UsageCounter.js.map +1 -1
  613. package/dist/esm/generated/resources/User.js +35 -66
  614. package/dist/esm/generated/resources/User.js.map +1 -1
  615. package/dist/esm/generated/resources/Webhook.js +33 -64
  616. package/dist/esm/generated/resources/Webhook.js.map +1 -1
  617. package/dist/esm/generated/resources/WebhookCall.js +46 -137
  618. package/dist/esm/generated/resources/WebhookCall.js.map +1 -1
  619. package/dist/esm/generated/resources/WhiteLabelSettings.js +14 -39
  620. package/dist/esm/generated/resources/WhiteLabelSettings.js.map +1 -1
  621. package/dist/esm/generated/resources/Workflow.js +32 -61
  622. package/dist/esm/generated/resources/Workflow.js.map +1 -1
  623. package/dist/esm/index.d.ts +8 -2
  624. package/dist/esm/index.js +8 -2
  625. package/dist/esm/index.js.map +1 -1
  626. package/dist/esm/resources/Role.js +41 -124
  627. package/dist/esm/resources/Role.js.map +1 -1
  628. package/dist/esm/utilities/blocks.d.ts +180 -0
  629. package/dist/esm/utilities/blocks.js +580 -0
  630. package/dist/esm/utilities/blocks.js.map +1 -0
  631. package/dist/esm/{buildBlockRecord.d.ts → utilities/buildBlockRecord.d.ts} +2 -2
  632. package/dist/esm/{buildBlockRecord.js → utilities/buildBlockRecord.js} +1 -1
  633. package/dist/esm/utilities/buildBlockRecord.js.map +1 -0
  634. package/dist/esm/utilities/fieldValueLocalization.d.ts +165 -0
  635. package/dist/esm/utilities/fieldValueLocalization.js +237 -0
  636. package/dist/esm/utilities/fieldValueLocalization.js.map +1 -0
  637. package/dist/esm/utilities/fieldsContainingReferences.d.ts +4 -0
  638. package/dist/esm/utilities/fieldsContainingReferences.js +40 -0
  639. package/dist/esm/utilities/fieldsContainingReferences.js.map +1 -0
  640. package/dist/esm/{idUtils.js → utilities/id.js} +13 -13
  641. package/dist/esm/utilities/id.js.map +1 -0
  642. package/dist/esm/utilities/recursiveBlocks.d.ts +15 -0
  643. package/dist/esm/utilities/recursiveBlocks.js +177 -0
  644. package/dist/esm/utilities/recursiveBlocks.js.map +1 -0
  645. package/dist/esm/utilities/schemaRepository.d.ts +181 -0
  646. package/dist/esm/utilities/schemaRepository.js +350 -0
  647. package/dist/esm/utilities/schemaRepository.js.map +1 -0
  648. package/dist/esm/utilities/structuredText.d.ts +177 -0
  649. package/dist/esm/utilities/structuredText.js +354 -0
  650. package/dist/esm/utilities/structuredText.js.map +1 -0
  651. package/dist/types/fieldTypes/appearance/boolean.d.ts +4 -0
  652. package/dist/types/fieldTypes/appearance/boolean_radio_group.d.ts +15 -0
  653. package/dist/types/fieldTypes/appearance/color_picker.d.ts +9 -0
  654. package/dist/types/fieldTypes/appearance/date_picker.d.ts +4 -0
  655. package/dist/types/fieldTypes/appearance/date_time_picker.d.ts +4 -0
  656. package/dist/types/fieldTypes/appearance/file.d.ts +4 -0
  657. package/dist/types/fieldTypes/appearance/float.d.ts +7 -0
  658. package/dist/types/fieldTypes/appearance/framed_single_block.d.ts +7 -0
  659. package/dist/types/fieldTypes/appearance/frameless_single_block.d.ts +7 -0
  660. package/dist/types/fieldTypes/appearance/gallery.d.ts +4 -0
  661. package/dist/types/fieldTypes/appearance/index.d.ts +30 -0
  662. package/dist/types/fieldTypes/appearance/integer.d.ts +7 -0
  663. package/dist/types/fieldTypes/appearance/json.d.ts +4 -0
  664. package/dist/types/fieldTypes/appearance/link_embed.d.ts +5 -0
  665. package/dist/types/fieldTypes/appearance/link_select.d.ts +5 -0
  666. package/dist/types/fieldTypes/appearance/links_embed.d.ts +5 -0
  667. package/dist/types/fieldTypes/appearance/links_select.d.ts +5 -0
  668. package/dist/types/fieldTypes/appearance/map.d.ts +4 -0
  669. package/dist/types/fieldTypes/appearance/markdown.d.ts +7 -0
  670. package/dist/types/fieldTypes/appearance/rich_text.d.ts +7 -0
  671. package/dist/types/fieldTypes/appearance/seo.d.ts +9 -0
  672. package/dist/types/fieldTypes/appearance/single_line.d.ts +9 -0
  673. package/dist/types/fieldTypes/appearance/slug.d.ts +9 -0
  674. package/dist/types/fieldTypes/appearance/string_checkbox_group.d.ts +15 -0
  675. package/dist/types/fieldTypes/appearance/string_multi_select.d.ts +15 -0
  676. package/dist/types/fieldTypes/appearance/string_radio_group.d.ts +15 -0
  677. package/dist/types/fieldTypes/appearance/string_select.d.ts +15 -0
  678. package/dist/types/fieldTypes/appearance/structured_text.d.ts +17 -0
  679. package/dist/types/fieldTypes/appearance/textarea.d.ts +7 -0
  680. package/dist/types/fieldTypes/appearance/video.d.ts +4 -0
  681. package/dist/types/fieldTypes/appearance/wysiwyg.d.ts +7 -0
  682. package/dist/types/fieldTypes/boolean.d.ts +17 -0
  683. package/dist/types/fieldTypes/color.d.ts +22 -0
  684. package/dist/types/fieldTypes/date.d.ts +20 -0
  685. package/dist/types/fieldTypes/date_time.d.ts +20 -0
  686. package/dist/types/fieldTypes/file.d.ts +41 -0
  687. package/dist/types/fieldTypes/float.d.ts +20 -0
  688. package/dist/types/fieldTypes/gallery.d.ts +41 -0
  689. package/dist/types/fieldTypes/index.d.ts +22 -0
  690. package/dist/types/fieldTypes/integer.d.ts +20 -0
  691. package/dist/types/fieldTypes/json.d.ts +25 -0
  692. package/dist/types/fieldTypes/lat_lon.d.ts +20 -0
  693. package/dist/types/fieldTypes/link.d.ts +27 -0
  694. package/dist/types/fieldTypes/links.d.ts +24 -0
  695. package/dist/types/fieldTypes/rich_text.d.ts +100 -0
  696. package/dist/types/fieldTypes/seo.d.ts +38 -0
  697. package/dist/types/fieldTypes/single_block.d.ts +134 -0
  698. package/dist/types/fieldTypes/slug.d.ts +26 -0
  699. package/dist/types/fieldTypes/string.d.ts +37 -0
  700. package/dist/types/fieldTypes/structured_text.d.ts +181 -0
  701. package/dist/types/fieldTypes/text.d.ts +34 -0
  702. package/dist/types/fieldTypes/validators/date_range.d.ts +14 -0
  703. package/dist/types/fieldTypes/validators/date_time_range.d.ts +12 -0
  704. package/dist/types/fieldTypes/validators/description_length.d.ts +11 -0
  705. package/dist/types/fieldTypes/validators/enum.d.ts +7 -0
  706. package/dist/types/fieldTypes/validators/extension.d.ts +12 -0
  707. package/dist/types/fieldTypes/validators/file_size.d.ts +16 -0
  708. package/dist/types/fieldTypes/validators/format.d.ts +18 -0
  709. package/dist/types/fieldTypes/validators/image_aspect_ratio.d.ts +28 -0
  710. package/dist/types/fieldTypes/validators/image_dimensions.d.ts +28 -0
  711. package/dist/types/fieldTypes/validators/index.d.ts +27 -0
  712. package/dist/types/fieldTypes/validators/item_item_type.d.ts +29 -0
  713. package/dist/types/fieldTypes/validators/items_item_type.d.ts +29 -0
  714. package/dist/types/fieldTypes/validators/length.d.ts +19 -0
  715. package/dist/types/fieldTypes/validators/number_range.d.ts +10 -0
  716. package/dist/types/fieldTypes/validators/required.d.ts +4 -0
  717. package/dist/types/fieldTypes/validators/required_alt_title.d.ts +12 -0
  718. package/dist/types/fieldTypes/validators/required_seo_fields.d.ts +28 -0
  719. package/dist/types/fieldTypes/validators/rich_text_blocks.d.ts +7 -0
  720. package/dist/types/fieldTypes/validators/sanitization.d.ts +7 -0
  721. package/dist/types/fieldTypes/validators/single_block_blocks.d.ts +7 -0
  722. package/dist/types/fieldTypes/validators/size.d.ts +28 -0
  723. package/dist/types/fieldTypes/validators/slug_format.d.ts +12 -0
  724. package/dist/types/fieldTypes/validators/slug_title_field.d.ts +7 -0
  725. package/dist/types/fieldTypes/validators/structured_text_blocks.d.ts +7 -0
  726. package/dist/types/fieldTypes/validators/structured_text_inline_blocks.d.ts +7 -0
  727. package/dist/types/fieldTypes/validators/structured_text_links.d.ts +29 -0
  728. package/dist/types/fieldTypes/validators/title_length.d.ts +11 -0
  729. package/dist/types/fieldTypes/validators/unique.d.ts +4 -0
  730. package/dist/types/fieldTypes/video.d.ts +25 -0
  731. package/dist/types/generated/SchemaTypes.d.ts +74 -4
  732. package/dist/types/generated/SimpleSchemaTypes.d.ts +66 -4
  733. package/dist/types/generated/resources/Field.d.ts +4207 -7
  734. package/dist/types/generated/resources/Fieldset.d.ts +2 -2
  735. package/dist/types/index.d.ts +8 -2
  736. package/dist/types/utilities/blocks.d.ts +180 -0
  737. package/dist/types/{buildBlockRecord.d.ts → utilities/buildBlockRecord.d.ts} +2 -2
  738. package/dist/types/utilities/fieldValueLocalization.d.ts +165 -0
  739. package/dist/types/utilities/fieldsContainingReferences.d.ts +4 -0
  740. package/dist/types/utilities/recursiveBlocks.d.ts +15 -0
  741. package/dist/types/utilities/schemaRepository.d.ts +181 -0
  742. package/dist/types/utilities/structuredText.d.ts +177 -0
  743. package/package.json +5 -4
  744. package/resources.json +2 -2
  745. package/src/fieldTypes/appearance/boolean.ts +4 -0
  746. package/src/fieldTypes/appearance/boolean_radio_group.ts +16 -0
  747. package/src/fieldTypes/appearance/color_picker.ts +9 -0
  748. package/src/fieldTypes/appearance/date_picker.ts +4 -0
  749. package/src/fieldTypes/appearance/date_time_picker.ts +4 -0
  750. package/src/fieldTypes/appearance/file.ts +4 -0
  751. package/src/fieldTypes/appearance/float.ts +7 -0
  752. package/src/fieldTypes/appearance/framed_single_block.ts +7 -0
  753. package/src/fieldTypes/appearance/frameless_single_block.ts +7 -0
  754. package/src/fieldTypes/appearance/gallery.ts +4 -0
  755. package/src/fieldTypes/appearance/index.ts +30 -0
  756. package/src/fieldTypes/appearance/integer.ts +7 -0
  757. package/src/fieldTypes/appearance/json.ts +4 -0
  758. package/src/fieldTypes/appearance/link_embed.ts +5 -0
  759. package/src/fieldTypes/appearance/link_select.ts +5 -0
  760. package/src/fieldTypes/appearance/links_embed.ts +5 -0
  761. package/src/fieldTypes/appearance/links_select.ts +5 -0
  762. package/src/fieldTypes/appearance/map.ts +4 -0
  763. package/src/fieldTypes/appearance/markdown.ts +19 -0
  764. package/src/fieldTypes/appearance/rich_text.ts +7 -0
  765. package/src/fieldTypes/appearance/seo.ts +19 -0
  766. package/src/fieldTypes/appearance/single_line.ts +9 -0
  767. package/src/fieldTypes/appearance/slug.ts +9 -0
  768. package/src/fieldTypes/appearance/string_checkbox_group.ts +16 -0
  769. package/src/fieldTypes/appearance/string_multi_select.ts +16 -0
  770. package/src/fieldTypes/appearance/string_radio_group.ts +16 -0
  771. package/src/fieldTypes/appearance/string_select.ts +16 -0
  772. package/src/fieldTypes/appearance/structured_text.ts +21 -0
  773. package/src/fieldTypes/appearance/textarea.ts +7 -0
  774. package/src/fieldTypes/appearance/video.ts +4 -0
  775. package/src/fieldTypes/appearance/wysiwyg.ts +29 -0
  776. package/src/fieldTypes/boolean.ts +25 -0
  777. package/src/fieldTypes/color.ts +35 -0
  778. package/src/fieldTypes/date.ts +26 -0
  779. package/src/fieldTypes/date_time.ts +34 -0
  780. package/src/fieldTypes/file.ts +47 -0
  781. package/src/fieldTypes/float.ts +25 -0
  782. package/src/fieldTypes/gallery.ts +55 -0
  783. package/src/fieldTypes/index.ts +23 -0
  784. package/src/fieldTypes/integer.ts +27 -0
  785. package/src/fieldTypes/json.ts +39 -0
  786. package/src/fieldTypes/lat_lon.ts +33 -0
  787. package/src/fieldTypes/link.ts +30 -0
  788. package/src/fieldTypes/links.ts +30 -0
  789. package/src/fieldTypes/rich_text.ts +151 -0
  790. package/src/fieldTypes/seo.ts +52 -0
  791. package/src/fieldTypes/single_block.ts +201 -0
  792. package/src/fieldTypes/slug.ts +32 -0
  793. package/src/fieldTypes/string.ts +41 -0
  794. package/src/fieldTypes/structured_text.ts +328 -0
  795. package/src/fieldTypes/text.ts +35 -0
  796. package/src/fieldTypes/validators/date_range.ts +16 -0
  797. package/src/fieldTypes/validators/date_time_range.ts +14 -0
  798. package/src/fieldTypes/validators/description_length.ts +13 -0
  799. package/src/fieldTypes/validators/enum.ts +7 -0
  800. package/src/fieldTypes/validators/extension.ts +14 -0
  801. package/src/fieldTypes/validators/file_size.ts +18 -0
  802. package/src/fieldTypes/validators/format.ts +18 -0
  803. package/src/fieldTypes/validators/image_aspect_ratio.ts +31 -0
  804. package/src/fieldTypes/validators/image_dimensions.ts +32 -0
  805. package/src/fieldTypes/validators/index.ts +27 -0
  806. package/src/fieldTypes/validators/item_item_type.ts +31 -0
  807. package/src/fieldTypes/validators/items_item_type.ts +31 -0
  808. package/src/fieldTypes/validators/length.ts +22 -0
  809. package/src/fieldTypes/validators/number_range.ts +12 -0
  810. package/src/fieldTypes/validators/required.ts +4 -0
  811. package/src/fieldTypes/validators/required_alt_title.ts +14 -0
  812. package/src/fieldTypes/validators/required_seo_fields.ts +32 -0
  813. package/src/fieldTypes/validators/rich_text_blocks.ts +7 -0
  814. package/src/fieldTypes/validators/sanitization.ts +7 -0
  815. package/src/fieldTypes/validators/single_block_blocks.ts +7 -0
  816. package/src/fieldTypes/validators/size.ts +32 -0
  817. package/src/fieldTypes/validators/slug_format.ts +14 -0
  818. package/src/fieldTypes/validators/slug_title_field.ts +7 -0
  819. package/src/fieldTypes/validators/structured_text_blocks.ts +7 -0
  820. package/src/fieldTypes/validators/structured_text_inline_blocks.ts +7 -0
  821. package/src/fieldTypes/validators/structured_text_links.ts +31 -0
  822. package/src/fieldTypes/validators/title_length.ts +13 -0
  823. package/src/fieldTypes/validators/unique.ts +4 -0
  824. package/src/fieldTypes/video.ts +37 -0
  825. package/src/generated/Client.ts +1 -1
  826. package/src/generated/SchemaTypes.ts +677 -4
  827. package/src/generated/SimpleSchemaTypes.ts +669 -4
  828. package/src/generated/resources/Field.ts +2 -2
  829. package/src/generated/resources/Fieldset.ts +2 -2
  830. package/src/index.ts +8 -2
  831. package/src/utilities/blocks.ts +626 -0
  832. package/src/{buildBlockRecord.ts → utilities/buildBlockRecord.ts} +3 -3
  833. package/src/utilities/fieldValueLocalization.ts +368 -0
  834. package/src/utilities/fieldsContainingReferences.ts +49 -0
  835. package/src/utilities/recursiveBlocks.ts +392 -0
  836. package/src/utilities/schemaRepository.ts +379 -0
  837. package/src/utilities/structuredText.ts +590 -0
  838. package/dist/cjs/buildBlockRecord.js.map +0 -1
  839. package/dist/cjs/idUtils.js.map +0 -1
  840. package/dist/esm/buildBlockRecord.js.map +0 -1
  841. package/dist/esm/idUtils.js.map +0 -1
  842. /package/dist/esm/{idUtils.d.ts → utilities/id.d.ts} +0 -0
  843. /package/dist/types/{idUtils.d.ts → utilities/id.d.ts} +0 -0
  844. /package/src/{idUtils.ts → utilities/id.ts} +0 -0
@@ -0,0 +1,368 @@
1
+ import type * as SchemaTypes from '../generated/SchemaTypes';
2
+ import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
3
+
4
+ /*
5
+ * Localized Field Value Operations Utilities
6
+ *
7
+ * This module provides a unified interface for working with DatoCMS field values that may or may not be localized.
8
+ *
9
+ * Problem it solves:
10
+ * In DatoCMS, fields can be either localized (containing values for multiple locales as an object like
11
+ * `{ "en": "Hello", "it": "Ciao" }`) or non-localized (containing a single direct value like `"Hello"`).
12
+ * When processing field data, developers need to handle both cases differently, leading to repetitive
13
+ * conditional logic throughout the codebase.
14
+ *
15
+ * Why it's useful:
16
+ * - Provides a consistent API for operations (map, filter, test, visit) regardless of localization status
17
+ * - Eliminates the need for developers to manually check if a field is localized before processing
18
+ * - Reduces code duplication and potential bugs from inconsistent handling
19
+ * - Supports both synchronous and asynchronous operations
20
+ * - Maintains the original data structure (localized fields remain localized, non-localized remain direct)
21
+ *
22
+ * Example usage:
23
+ * ```typescript
24
+ * // Instead of manually checking localization:
25
+ * if (isLocalized(field)) {
26
+ * const result = {};
27
+ * for (const [locale, value] of Object.entries(fieldValue)) {
28
+ * result[locale] = processValue(value);
29
+ * }
30
+ * return result;
31
+ * } else {
32
+ * return processValue(fieldValue);
33
+ * }
34
+ *
35
+ * // Use the utility:
36
+ * return mapLocalizedFieldValues(field, fieldValue, (locale, value) => processValue(value));
37
+ * ```
38
+ */
39
+
40
+ /**
41
+ * Represents a localized field value in DatoCMS.
42
+ *
43
+ * In DatoCMS, fields can be localized. In this scenario, their value contains values
44
+ * for various locales structured as an object, such as
45
+ * `{ "en": "Hello", "it": "Ciao" }`
46
+ */
47
+ export type LocalizedFieldValue = Record<string, unknown>;
48
+
49
+ /**
50
+ * Determines whether a DatoCMS field is localized or not.
51
+ *
52
+ * This function handles both full Schema field objects and simplified Schema field objects
53
+ * by checking the appropriate property based on the object structure.
54
+ *
55
+ * @param field - The DatoCMS field definition (either full or simple schema)
56
+ * @returns true if the field is localized, false otherwise
57
+ */
58
+ export function isLocalized(
59
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
60
+ ): boolean {
61
+ return 'attributes' in field ? field.attributes.localized : field.localized;
62
+ }
63
+
64
+ /**
65
+ * A normalized entry that represents a single value from either a localized or non-localized field.
66
+ *
67
+ * For localized fields, each locale produces one entry with `locale` set to the locale code (e.g., "en", "it").
68
+ * For non-localized fields, there's one entry with `locale` set to `undefined`.
69
+ *
70
+ * This uniform structure allows the same processing logic to work with both field types.
71
+ */
72
+ export type PossiblyLocalizedEntry = {
73
+ locale: string | undefined;
74
+ value: unknown;
75
+ };
76
+
77
+ /**
78
+ * Converts a field value (localized or non-localized) into a uniform array of entries.
79
+ *
80
+ * This function normalizes the handling of field values by converting them into a consistent
81
+ * array format, regardless of whether the field is localized or not.
82
+ *
83
+ * @param field - The DatoCMS field definition that determines localization behavior
84
+ * @param value - The field value to convert (either a localized object or direct value)
85
+ * @returns Array of entries where each entry contains a locale (string for localized, undefined for non-localized) and the corresponding value
86
+ */
87
+ export function fieldValueToPossiblyLocalizedEntries(
88
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
89
+ value: unknown,
90
+ ) {
91
+ if (isLocalized(field)) {
92
+ const localizedValue = value as LocalizedFieldValue;
93
+
94
+ return Object.entries(localizedValue).map<PossiblyLocalizedEntry>(
95
+ ([locale, value]) => ({ locale, value }),
96
+ );
97
+ }
98
+
99
+ return [{ locale: undefined, value }];
100
+ }
101
+
102
+ /**
103
+ * Converts an array of possibly localized entries back into the appropriate field value format.
104
+ *
105
+ * This function is the inverse of `fieldValueToPossiblyLocalizedEntries`. It takes a uniform
106
+ * array of entries and converts them back to either a localized object or a direct value,
107
+ * depending on the field's localization setting.
108
+ *
109
+ * @param field - The DatoCMS field definition that determines the output format
110
+ * @param possiblyLocalizedEntries - Array of entries to convert back to field value format
111
+ * @returns Either a localized object (for localized fields) or the direct value (for non-localized fields)
112
+ */
113
+ export function possiblyLocalizedEntriesToFieldValue(
114
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
115
+ possiblyLocalizedEntries: PossiblyLocalizedEntry[],
116
+ ) {
117
+ if (isLocalized(field)) {
118
+ return Object.fromEntries(
119
+ possiblyLocalizedEntries.map(({ locale, value }) => [locale, value]),
120
+ );
121
+ }
122
+
123
+ return possiblyLocalizedEntries[0]?.value;
124
+ }
125
+
126
+ /**
127
+ * Maps localized field values using a provided mapping function.
128
+ * For localized fields, applies the mapping function to each locale value.
129
+ * For non-localized fields, applies the mapping function directly to the only non-localizeed value.
130
+ *
131
+ * @template T - The type that the mapping function returns
132
+ * @param field - The DatoCMS field definition
133
+ * @param value - The field value (either localized object or direct value)
134
+ * @param mapFn - The function to apply to each locale value or the direct value
135
+ * @returns The mapped value with the same structure as the input
136
+ */
137
+ export function mapLocalizedFieldValues<T>(
138
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
139
+ value: unknown,
140
+ mapFn: (locale: string | undefined, localeValue: unknown) => T,
141
+ ) {
142
+ const entries = fieldValueToPossiblyLocalizedEntries(field, value);
143
+ const mappedEntries = entries.map(({ locale, value }) => ({
144
+ locale,
145
+ value: mapFn(locale, value),
146
+ }));
147
+ return possiblyLocalizedEntriesToFieldValue(field, mappedEntries);
148
+ }
149
+
150
+ /**
151
+ * Maps localized field values using a provided mapping function (async version).
152
+ * For localized fields, applies the mapping function to each locale value.
153
+ * For non-localized fields, applies the mapping function directly to the only non-localizeed value.
154
+ *
155
+ * @template T - The type that the mapping function returns
156
+ * @param field - The DatoCMS field definition
157
+ * @param value - The field value (either localized object or direct value)
158
+ * @param mapFn - The function to apply to each locale value or the direct value
159
+ * @returns The mapped value with the same structure as the input
160
+ */
161
+ export async function mapLocalizedFieldValuesAsync<T>(
162
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
163
+ value: unknown,
164
+ mapFn: (locale: string | undefined, localeValue: unknown) => Promise<T>,
165
+ ) {
166
+ const entries = fieldValueToPossiblyLocalizedEntries(field, value);
167
+ const mappedEntries = await Promise.all(
168
+ entries.map(async ({ locale, value }) => ({
169
+ locale,
170
+ value: await mapFn(locale, value),
171
+ })),
172
+ );
173
+ return possiblyLocalizedEntriesToFieldValue(field, mappedEntries);
174
+ }
175
+
176
+ /**
177
+ * Filters localized field values using a provided filter function.
178
+ * For localized fields, filters each locale value.
179
+ * For non-localized fields, returns the value if the filter passes, otherwise undefined.
180
+ *
181
+ * @param field - The DatoCMS field definition
182
+ * @param value - The field value (either localized object or direct value)
183
+ * @param filterFn - The function to test each locale value or the direct value
184
+ * @returns The filtered value with the same structure as the input
185
+ */
186
+ export function filterLocalizedFieldValues(
187
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
188
+ value: unknown,
189
+ filterFn: (locale: string | undefined, localeValue: unknown) => boolean,
190
+ ) {
191
+ const entries = fieldValueToPossiblyLocalizedEntries(field, value);
192
+ const filteredEntries = entries.filter(({ locale, value }) =>
193
+ filterFn(locale, value),
194
+ );
195
+
196
+ if (isLocalized(field)) {
197
+ return possiblyLocalizedEntriesToFieldValue(field, filteredEntries);
198
+ }
199
+
200
+ return filteredEntries.length > 0 ? filteredEntries[0]?.value : undefined;
201
+ }
202
+
203
+ /**
204
+ * Filters localized field values using a provided filter function (async version).
205
+ * For localized fields, filters each locale value.
206
+ * For non-localized fields, returns the value if the filter passes, otherwise undefined.
207
+ *
208
+ * @param field - The DatoCMS field definition
209
+ * @param value - The field value (either localized object or direct value)
210
+ * @param filterFn - The function to test each locale value or the direct value
211
+ * @returns The filtered value with the same structure as the input
212
+ */
213
+ export async function filterLocalizedFieldValuesAsync(
214
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
215
+ value: unknown,
216
+ filterFn: (
217
+ locale: string | undefined,
218
+ localeValue: unknown,
219
+ ) => Promise<boolean>,
220
+ ) {
221
+ const entries = fieldValueToPossiblyLocalizedEntries(field, value);
222
+ const results = await Promise.all(
223
+ entries.map(async ({ locale, value }) => ({
224
+ locale,
225
+ value,
226
+ passed: await filterFn(locale, value),
227
+ })),
228
+ );
229
+
230
+ const filteredEntries = results
231
+ .filter(({ passed }) => passed)
232
+ .map(({ locale, value }) => ({ locale, value }));
233
+
234
+ if (isLocalized(field)) {
235
+ return possiblyLocalizedEntriesToFieldValue(field, filteredEntries);
236
+ }
237
+
238
+ return filteredEntries.length > 0 ? filteredEntries[0]?.value : undefined;
239
+ }
240
+
241
+ /**
242
+ * Tests whether at least one localized field value passes the test implemented by the provided function.
243
+ * For localized fields, tests each locale value.
244
+ * For non-localized fields, tests the direct value.
245
+ *
246
+ * @param field - The DatoCMS field definition
247
+ * @param value - The field value (either localized object or direct value)
248
+ * @param testFn - The function to test each locale value or the direct value
249
+ * @returns true if at least one value passes the test, false otherwise
250
+ */
251
+ export function someLocalizedFieldValues(
252
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
253
+ value: unknown,
254
+ testFn: (locale: string | undefined, localeValue: unknown) => boolean,
255
+ ): boolean {
256
+ const entries = fieldValueToPossiblyLocalizedEntries(field, value);
257
+ return entries.some(({ locale, value }) => testFn(locale, value));
258
+ }
259
+
260
+ /**
261
+ * Tests whether at least one localized field value passes the test implemented by the provided function (async version).
262
+ * For localized fields, tests each locale value.
263
+ * For non-localized fields, tests the direct value.
264
+ *
265
+ * @param field - The DatoCMS field definition
266
+ * @param value - The field value (either localized object or direct value)
267
+ * @param testFn - The function to test each locale value or the direct value
268
+ * @returns true if at least one value passes the test, false otherwise
269
+ */
270
+ export async function someLocalizedFieldValuesAsync(
271
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
272
+ value: unknown,
273
+ testFn: (
274
+ locale: string | undefined,
275
+ localeValue: unknown,
276
+ ) => Promise<boolean>,
277
+ ): Promise<boolean> {
278
+ const entries = fieldValueToPossiblyLocalizedEntries(field, value);
279
+ const results = await Promise.all(
280
+ entries.map(({ locale, value }) => testFn(locale, value)),
281
+ );
282
+ return results.some((result) => result);
283
+ }
284
+
285
+ /**
286
+ * Tests whether all localized field values pass the test implemented by the provided function.
287
+ * For localized fields, tests each locale value.
288
+ * For non-localized fields, tests the direct value.
289
+ *
290
+ * @param field - The DatoCMS field definition
291
+ * @param value - The field value (either localized object or direct value)
292
+ * @param testFn - The function to test each locale value or the direct value
293
+ * @returns true if all values pass the test, false otherwise
294
+ */
295
+ export function everyLocalizedFieldValues(
296
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
297
+ value: unknown,
298
+ testFn: (locale: string | undefined, localeValue: unknown) => boolean,
299
+ ): boolean {
300
+ return !someLocalizedFieldValues(
301
+ field,
302
+ value,
303
+ (locale, localeValue) => !testFn(locale, localeValue),
304
+ );
305
+ }
306
+
307
+ /**
308
+ * Tests whether all localized field values pass the test implemented by the provided function (async version).
309
+ * For localized fields, tests each locale value.
310
+ * For non-localized fields, tests the direct value.
311
+ *
312
+ * @param field - The DatoCMS field definition
313
+ * @param value - The field value (either localized object or direct value)
314
+ * @param testFn - The function to test each locale value or the direct value
315
+ * @returns true if all values pass the test, false otherwise
316
+ */
317
+ export async function everyLocalizedFieldValuesAsync(
318
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
319
+ value: unknown,
320
+ testFn: (
321
+ locale: string | undefined,
322
+ localeValue: unknown,
323
+ ) => Promise<boolean>,
324
+ ): Promise<boolean> {
325
+ return !(await someLocalizedFieldValuesAsync(
326
+ field,
327
+ value,
328
+ async (locale, localeValue) => !(await testFn(locale, localeValue)),
329
+ ));
330
+ }
331
+
332
+ /**
333
+ * Visits each localized field value with the provided function.
334
+ * For localized fields, visits each locale value.
335
+ * For non-localized fields, visits the direct value.
336
+ *
337
+ * @param field - The DatoCMS field definition
338
+ * @param value - The field value (either localized object or direct value)
339
+ * @param visitFn - The function to call for each locale value or the direct value
340
+ */
341
+ export function visitLocalizedFieldValues(
342
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
343
+ value: unknown,
344
+ visitFn: (locale: string | undefined, localeValue: unknown) => void,
345
+ ): void {
346
+ const entries = fieldValueToPossiblyLocalizedEntries(field, value);
347
+ for (const { locale, value } of entries) {
348
+ visitFn(locale, value);
349
+ }
350
+ }
351
+
352
+ /**
353
+ * Visits each localized field value with the provided function (async version).
354
+ * For localized fields, visits each locale value.
355
+ * For non-localized fields, visits the direct value.
356
+ *
357
+ * @param field - The DatoCMS field definition
358
+ * @param value - The field value (either localized object or direct value)
359
+ * @param visitFn - The function to call for each locale value or the direct value
360
+ */
361
+ export async function visitLocalizedFieldValuesAsync(
362
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
363
+ value: unknown,
364
+ visitFn: (locale: string | undefined, localeValue: unknown) => Promise<void>,
365
+ ): Promise<void> {
366
+ const entries = fieldValueToPossiblyLocalizedEntries(field, value);
367
+ await Promise.all(entries.map(({ locale, value }) => visitFn(locale, value)));
368
+ }
@@ -0,0 +1,49 @@
1
+ import type * as SchemaTypes from '../generated/SchemaTypes';
2
+ import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
3
+
4
+ export function modelIdsReferencedInField(
5
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
6
+ ) {
7
+ const attributes = 'attributes' in field ? field.attributes : field;
8
+
9
+ switch (attributes.field_type) {
10
+ case 'link': {
11
+ return attributes.validators.item_item_type.item_types;
12
+ }
13
+ case 'links': {
14
+ return attributes.validators.items_item_type.item_types;
15
+ }
16
+ case 'structured_text': {
17
+ return attributes.validators.structured_text_links.item_types;
18
+ }
19
+ default: {
20
+ return [];
21
+ }
22
+ }
23
+ }
24
+
25
+ export function blockModelIdsReferencedInField(
26
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
27
+ ) {
28
+ const attributes = 'attributes' in field ? field.attributes : field;
29
+
30
+ switch (attributes.field_type) {
31
+ case 'single_block': {
32
+ return attributes.validators.single_block_blocks.item_types;
33
+ }
34
+ case 'rich_text': {
35
+ return attributes.validators.rich_text_blocks.item_types;
36
+ }
37
+ case 'structured_text': {
38
+ return [
39
+ ...attributes.validators.structured_text_blocks.item_types,
40
+ ...(attributes.validators.structured_text_inline_blocks
41
+ ? attributes.validators.structured_text_inline_blocks.item_types
42
+ : []),
43
+ ];
44
+ }
45
+ default: {
46
+ return [];
47
+ }
48
+ }
49
+ }