@datocms/cma-client 5.0.0 → 5.1.0

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 (847) 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 +13 -35
  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 +218 -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 +72 -7
  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 +65 -8
  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.d.ts +2 -2
  604. package/dist/esm/generated/resources/UploadRequest.js +11 -34
  605. package/dist/esm/generated/resources/UploadRequest.js.map +1 -1
  606. package/dist/esm/generated/resources/UploadSmartTag.js +35 -124
  607. package/dist/esm/generated/resources/UploadSmartTag.js.map +1 -1
  608. package/dist/esm/generated/resources/UploadTag.js +41 -132
  609. package/dist/esm/generated/resources/UploadTag.js.map +1 -1
  610. package/dist/esm/generated/resources/UploadTrack.js +29 -58
  611. package/dist/esm/generated/resources/UploadTrack.js.map +1 -1
  612. package/dist/esm/generated/resources/UsageCounter.js +10 -33
  613. package/dist/esm/generated/resources/UsageCounter.js.map +1 -1
  614. package/dist/esm/generated/resources/User.js +35 -66
  615. package/dist/esm/generated/resources/User.js.map +1 -1
  616. package/dist/esm/generated/resources/Webhook.js +33 -64
  617. package/dist/esm/generated/resources/Webhook.js.map +1 -1
  618. package/dist/esm/generated/resources/WebhookCall.js +46 -137
  619. package/dist/esm/generated/resources/WebhookCall.js.map +1 -1
  620. package/dist/esm/generated/resources/WhiteLabelSettings.js +14 -39
  621. package/dist/esm/generated/resources/WhiteLabelSettings.js.map +1 -1
  622. package/dist/esm/generated/resources/Workflow.js +32 -61
  623. package/dist/esm/generated/resources/Workflow.js.map +1 -1
  624. package/dist/esm/index.d.ts +8 -2
  625. package/dist/esm/index.js +8 -2
  626. package/dist/esm/index.js.map +1 -1
  627. package/dist/esm/resources/Role.js +41 -124
  628. package/dist/esm/resources/Role.js.map +1 -1
  629. package/dist/esm/utilities/blocks.d.ts +180 -0
  630. package/dist/esm/utilities/blocks.js +580 -0
  631. package/dist/esm/utilities/blocks.js.map +1 -0
  632. package/dist/esm/{buildBlockRecord.d.ts → utilities/buildBlockRecord.d.ts} +2 -2
  633. package/dist/esm/{buildBlockRecord.js → utilities/buildBlockRecord.js} +1 -1
  634. package/dist/esm/utilities/buildBlockRecord.js.map +1 -0
  635. package/dist/esm/utilities/fieldValueLocalization.d.ts +123 -0
  636. package/dist/esm/utilities/fieldValueLocalization.js +204 -0
  637. package/dist/esm/utilities/fieldValueLocalization.js.map +1 -0
  638. package/dist/esm/utilities/fieldsContainingReferences.d.ts +4 -0
  639. package/dist/esm/utilities/fieldsContainingReferences.js +40 -0
  640. package/dist/esm/utilities/fieldsContainingReferences.js.map +1 -0
  641. package/dist/esm/{idUtils.js → utilities/id.js} +13 -13
  642. package/dist/esm/utilities/id.js.map +1 -0
  643. package/dist/esm/utilities/recursiveBlocks.d.ts +15 -0
  644. package/dist/esm/utilities/recursiveBlocks.js +177 -0
  645. package/dist/esm/utilities/recursiveBlocks.js.map +1 -0
  646. package/dist/esm/utilities/schemaRepository.d.ts +181 -0
  647. package/dist/esm/utilities/schemaRepository.js +350 -0
  648. package/dist/esm/utilities/schemaRepository.js.map +1 -0
  649. package/dist/esm/utilities/structuredText.d.ts +177 -0
  650. package/dist/esm/utilities/structuredText.js +354 -0
  651. package/dist/esm/utilities/structuredText.js.map +1 -0
  652. package/dist/types/fieldTypes/appearance/boolean.d.ts +4 -0
  653. package/dist/types/fieldTypes/appearance/boolean_radio_group.d.ts +15 -0
  654. package/dist/types/fieldTypes/appearance/color_picker.d.ts +9 -0
  655. package/dist/types/fieldTypes/appearance/date_picker.d.ts +4 -0
  656. package/dist/types/fieldTypes/appearance/date_time_picker.d.ts +4 -0
  657. package/dist/types/fieldTypes/appearance/file.d.ts +4 -0
  658. package/dist/types/fieldTypes/appearance/float.d.ts +7 -0
  659. package/dist/types/fieldTypes/appearance/framed_single_block.d.ts +7 -0
  660. package/dist/types/fieldTypes/appearance/frameless_single_block.d.ts +7 -0
  661. package/dist/types/fieldTypes/appearance/gallery.d.ts +4 -0
  662. package/dist/types/fieldTypes/appearance/index.d.ts +30 -0
  663. package/dist/types/fieldTypes/appearance/integer.d.ts +7 -0
  664. package/dist/types/fieldTypes/appearance/json.d.ts +4 -0
  665. package/dist/types/fieldTypes/appearance/link_embed.d.ts +5 -0
  666. package/dist/types/fieldTypes/appearance/link_select.d.ts +5 -0
  667. package/dist/types/fieldTypes/appearance/links_embed.d.ts +5 -0
  668. package/dist/types/fieldTypes/appearance/links_select.d.ts +5 -0
  669. package/dist/types/fieldTypes/appearance/map.d.ts +4 -0
  670. package/dist/types/fieldTypes/appearance/markdown.d.ts +7 -0
  671. package/dist/types/fieldTypes/appearance/rich_text.d.ts +7 -0
  672. package/dist/types/fieldTypes/appearance/seo.d.ts +9 -0
  673. package/dist/types/fieldTypes/appearance/single_line.d.ts +9 -0
  674. package/dist/types/fieldTypes/appearance/slug.d.ts +9 -0
  675. package/dist/types/fieldTypes/appearance/string_checkbox_group.d.ts +15 -0
  676. package/dist/types/fieldTypes/appearance/string_multi_select.d.ts +15 -0
  677. package/dist/types/fieldTypes/appearance/string_radio_group.d.ts +15 -0
  678. package/dist/types/fieldTypes/appearance/string_select.d.ts +15 -0
  679. package/dist/types/fieldTypes/appearance/structured_text.d.ts +17 -0
  680. package/dist/types/fieldTypes/appearance/textarea.d.ts +7 -0
  681. package/dist/types/fieldTypes/appearance/video.d.ts +4 -0
  682. package/dist/types/fieldTypes/appearance/wysiwyg.d.ts +7 -0
  683. package/dist/types/fieldTypes/boolean.d.ts +17 -0
  684. package/dist/types/fieldTypes/color.d.ts +22 -0
  685. package/dist/types/fieldTypes/date.d.ts +20 -0
  686. package/dist/types/fieldTypes/date_time.d.ts +20 -0
  687. package/dist/types/fieldTypes/file.d.ts +41 -0
  688. package/dist/types/fieldTypes/float.d.ts +20 -0
  689. package/dist/types/fieldTypes/gallery.d.ts +41 -0
  690. package/dist/types/fieldTypes/index.d.ts +22 -0
  691. package/dist/types/fieldTypes/integer.d.ts +20 -0
  692. package/dist/types/fieldTypes/json.d.ts +25 -0
  693. package/dist/types/fieldTypes/lat_lon.d.ts +20 -0
  694. package/dist/types/fieldTypes/link.d.ts +27 -0
  695. package/dist/types/fieldTypes/links.d.ts +24 -0
  696. package/dist/types/fieldTypes/rich_text.d.ts +100 -0
  697. package/dist/types/fieldTypes/seo.d.ts +38 -0
  698. package/dist/types/fieldTypes/single_block.d.ts +134 -0
  699. package/dist/types/fieldTypes/slug.d.ts +26 -0
  700. package/dist/types/fieldTypes/string.d.ts +37 -0
  701. package/dist/types/fieldTypes/structured_text.d.ts +181 -0
  702. package/dist/types/fieldTypes/text.d.ts +34 -0
  703. package/dist/types/fieldTypes/validators/date_range.d.ts +14 -0
  704. package/dist/types/fieldTypes/validators/date_time_range.d.ts +12 -0
  705. package/dist/types/fieldTypes/validators/description_length.d.ts +11 -0
  706. package/dist/types/fieldTypes/validators/enum.d.ts +7 -0
  707. package/dist/types/fieldTypes/validators/extension.d.ts +12 -0
  708. package/dist/types/fieldTypes/validators/file_size.d.ts +16 -0
  709. package/dist/types/fieldTypes/validators/format.d.ts +18 -0
  710. package/dist/types/fieldTypes/validators/image_aspect_ratio.d.ts +28 -0
  711. package/dist/types/fieldTypes/validators/image_dimensions.d.ts +28 -0
  712. package/dist/types/fieldTypes/validators/index.d.ts +27 -0
  713. package/dist/types/fieldTypes/validators/item_item_type.d.ts +29 -0
  714. package/dist/types/fieldTypes/validators/items_item_type.d.ts +29 -0
  715. package/dist/types/fieldTypes/validators/length.d.ts +19 -0
  716. package/dist/types/fieldTypes/validators/number_range.d.ts +10 -0
  717. package/dist/types/fieldTypes/validators/required.d.ts +4 -0
  718. package/dist/types/fieldTypes/validators/required_alt_title.d.ts +12 -0
  719. package/dist/types/fieldTypes/validators/required_seo_fields.d.ts +28 -0
  720. package/dist/types/fieldTypes/validators/rich_text_blocks.d.ts +7 -0
  721. package/dist/types/fieldTypes/validators/sanitization.d.ts +7 -0
  722. package/dist/types/fieldTypes/validators/single_block_blocks.d.ts +7 -0
  723. package/dist/types/fieldTypes/validators/size.d.ts +28 -0
  724. package/dist/types/fieldTypes/validators/slug_format.d.ts +12 -0
  725. package/dist/types/fieldTypes/validators/slug_title_field.d.ts +7 -0
  726. package/dist/types/fieldTypes/validators/structured_text_blocks.d.ts +7 -0
  727. package/dist/types/fieldTypes/validators/structured_text_inline_blocks.d.ts +7 -0
  728. package/dist/types/fieldTypes/validators/structured_text_links.d.ts +29 -0
  729. package/dist/types/fieldTypes/validators/title_length.d.ts +11 -0
  730. package/dist/types/fieldTypes/validators/unique.d.ts +4 -0
  731. package/dist/types/fieldTypes/video.d.ts +25 -0
  732. package/dist/types/generated/SchemaTypes.d.ts +72 -7
  733. package/dist/types/generated/SimpleSchemaTypes.d.ts +65 -8
  734. package/dist/types/generated/resources/Field.d.ts +4207 -7
  735. package/dist/types/generated/resources/Fieldset.d.ts +2 -2
  736. package/dist/types/generated/resources/UploadRequest.d.ts +2 -2
  737. package/dist/types/index.d.ts +8 -2
  738. package/dist/types/utilities/blocks.d.ts +180 -0
  739. package/dist/types/{buildBlockRecord.d.ts → utilities/buildBlockRecord.d.ts} +2 -2
  740. package/dist/types/utilities/fieldValueLocalization.d.ts +123 -0
  741. package/dist/types/utilities/fieldsContainingReferences.d.ts +4 -0
  742. package/dist/types/utilities/recursiveBlocks.d.ts +15 -0
  743. package/dist/types/utilities/schemaRepository.d.ts +181 -0
  744. package/dist/types/utilities/structuredText.d.ts +177 -0
  745. package/package.json +5 -4
  746. package/resources.json +3 -3
  747. package/src/fieldTypes/appearance/boolean.ts +4 -0
  748. package/src/fieldTypes/appearance/boolean_radio_group.ts +16 -0
  749. package/src/fieldTypes/appearance/color_picker.ts +9 -0
  750. package/src/fieldTypes/appearance/date_picker.ts +4 -0
  751. package/src/fieldTypes/appearance/date_time_picker.ts +4 -0
  752. package/src/fieldTypes/appearance/file.ts +4 -0
  753. package/src/fieldTypes/appearance/float.ts +7 -0
  754. package/src/fieldTypes/appearance/framed_single_block.ts +7 -0
  755. package/src/fieldTypes/appearance/frameless_single_block.ts +7 -0
  756. package/src/fieldTypes/appearance/gallery.ts +4 -0
  757. package/src/fieldTypes/appearance/index.ts +30 -0
  758. package/src/fieldTypes/appearance/integer.ts +7 -0
  759. package/src/fieldTypes/appearance/json.ts +4 -0
  760. package/src/fieldTypes/appearance/link_embed.ts +5 -0
  761. package/src/fieldTypes/appearance/link_select.ts +5 -0
  762. package/src/fieldTypes/appearance/links_embed.ts +5 -0
  763. package/src/fieldTypes/appearance/links_select.ts +5 -0
  764. package/src/fieldTypes/appearance/map.ts +4 -0
  765. package/src/fieldTypes/appearance/markdown.ts +19 -0
  766. package/src/fieldTypes/appearance/rich_text.ts +7 -0
  767. package/src/fieldTypes/appearance/seo.ts +19 -0
  768. package/src/fieldTypes/appearance/single_line.ts +9 -0
  769. package/src/fieldTypes/appearance/slug.ts +9 -0
  770. package/src/fieldTypes/appearance/string_checkbox_group.ts +16 -0
  771. package/src/fieldTypes/appearance/string_multi_select.ts +16 -0
  772. package/src/fieldTypes/appearance/string_radio_group.ts +16 -0
  773. package/src/fieldTypes/appearance/string_select.ts +16 -0
  774. package/src/fieldTypes/appearance/structured_text.ts +21 -0
  775. package/src/fieldTypes/appearance/textarea.ts +7 -0
  776. package/src/fieldTypes/appearance/video.ts +4 -0
  777. package/src/fieldTypes/appearance/wysiwyg.ts +29 -0
  778. package/src/fieldTypes/boolean.ts +25 -0
  779. package/src/fieldTypes/color.ts +35 -0
  780. package/src/fieldTypes/date.ts +26 -0
  781. package/src/fieldTypes/date_time.ts +34 -0
  782. package/src/fieldTypes/file.ts +47 -0
  783. package/src/fieldTypes/float.ts +25 -0
  784. package/src/fieldTypes/gallery.ts +55 -0
  785. package/src/fieldTypes/index.ts +23 -0
  786. package/src/fieldTypes/integer.ts +27 -0
  787. package/src/fieldTypes/json.ts +39 -0
  788. package/src/fieldTypes/lat_lon.ts +33 -0
  789. package/src/fieldTypes/link.ts +30 -0
  790. package/src/fieldTypes/links.ts +30 -0
  791. package/src/fieldTypes/rich_text.ts +151 -0
  792. package/src/fieldTypes/seo.ts +52 -0
  793. package/src/fieldTypes/single_block.ts +201 -0
  794. package/src/fieldTypes/slug.ts +32 -0
  795. package/src/fieldTypes/string.ts +41 -0
  796. package/src/fieldTypes/structured_text.ts +328 -0
  797. package/src/fieldTypes/text.ts +35 -0
  798. package/src/fieldTypes/validators/date_range.ts +16 -0
  799. package/src/fieldTypes/validators/date_time_range.ts +14 -0
  800. package/src/fieldTypes/validators/description_length.ts +13 -0
  801. package/src/fieldTypes/validators/enum.ts +7 -0
  802. package/src/fieldTypes/validators/extension.ts +14 -0
  803. package/src/fieldTypes/validators/file_size.ts +18 -0
  804. package/src/fieldTypes/validators/format.ts +18 -0
  805. package/src/fieldTypes/validators/image_aspect_ratio.ts +31 -0
  806. package/src/fieldTypes/validators/image_dimensions.ts +32 -0
  807. package/src/fieldTypes/validators/index.ts +27 -0
  808. package/src/fieldTypes/validators/item_item_type.ts +31 -0
  809. package/src/fieldTypes/validators/items_item_type.ts +31 -0
  810. package/src/fieldTypes/validators/length.ts +22 -0
  811. package/src/fieldTypes/validators/number_range.ts +12 -0
  812. package/src/fieldTypes/validators/required.ts +4 -0
  813. package/src/fieldTypes/validators/required_alt_title.ts +14 -0
  814. package/src/fieldTypes/validators/required_seo_fields.ts +32 -0
  815. package/src/fieldTypes/validators/rich_text_blocks.ts +7 -0
  816. package/src/fieldTypes/validators/sanitization.ts +7 -0
  817. package/src/fieldTypes/validators/single_block_blocks.ts +7 -0
  818. package/src/fieldTypes/validators/size.ts +32 -0
  819. package/src/fieldTypes/validators/slug_format.ts +14 -0
  820. package/src/fieldTypes/validators/slug_title_field.ts +7 -0
  821. package/src/fieldTypes/validators/structured_text_blocks.ts +7 -0
  822. package/src/fieldTypes/validators/structured_text_inline_blocks.ts +7 -0
  823. package/src/fieldTypes/validators/structured_text_links.ts +31 -0
  824. package/src/fieldTypes/validators/title_length.ts +13 -0
  825. package/src/fieldTypes/validators/unique.ts +4 -0
  826. package/src/fieldTypes/video.ts +37 -0
  827. package/src/generated/Client.ts +1 -1
  828. package/src/generated/SchemaTypes.ts +645 -7
  829. package/src/generated/SimpleSchemaTypes.ts +638 -8
  830. package/src/generated/resources/Field.ts +2 -2
  831. package/src/generated/resources/Fieldset.ts +2 -2
  832. package/src/generated/resources/UploadRequest.ts +2 -2
  833. package/src/index.ts +8 -2
  834. package/src/utilities/blocks.ts +626 -0
  835. package/src/{buildBlockRecord.ts → utilities/buildBlockRecord.ts} +3 -3
  836. package/src/utilities/fieldValueLocalization.ts +339 -0
  837. package/src/utilities/fieldsContainingReferences.ts +49 -0
  838. package/src/utilities/recursiveBlocks.ts +392 -0
  839. package/src/utilities/schemaRepository.ts +379 -0
  840. package/src/utilities/structuredText.ts +590 -0
  841. package/dist/cjs/buildBlockRecord.js.map +0 -1
  842. package/dist/cjs/idUtils.js.map +0 -1
  843. package/dist/esm/buildBlockRecord.js.map +0 -1
  844. package/dist/esm/idUtils.js.map +0 -1
  845. /package/dist/esm/{idUtils.d.ts → utilities/id.d.ts} +0 -0
  846. /package/dist/types/{idUtils.d.ts → utilities/id.d.ts} +0 -0
  847. /package/src/{idUtils.ts → utilities/id.ts} +0 -0
@@ -0,0 +1,339 @@
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
+ * In DatoCMS, fields can be localized. In this scenario, their value contains values
42
+ * for various locales structured as an object, such as
43
+ `{ "en": "Hello", "it": "Ciao" }`)
44
+ */
45
+ export type LocalizedFieldValue = Record<string, unknown>;
46
+
47
+ export function isLocalized(
48
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
49
+ ): boolean {
50
+ return 'attributes' in field ? field.attributes.localized : field.localized;
51
+ }
52
+
53
+ /**
54
+ * Maps localized field values using a provided mapping function.
55
+ * For localized fields, applies the mapping function to each locale value.
56
+ * For non-localized fields, applies the mapping function directly to the only non-localizeed value.
57
+ *
58
+ * @template T - The type that the mapping function returns
59
+ * @param field - The DatoCMS field definition
60
+ * @param value - The field value (either localized object or direct value)
61
+ * @param mapFn - The function to apply to each locale value or the direct value
62
+ * @returns The mapped value with the same structure as the input
63
+ */
64
+ export function mapLocalizedFieldValues<T>(
65
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
66
+ value: unknown,
67
+ mapFn: (locale: string | undefined, localeValue: unknown) => T,
68
+ ) {
69
+ if (isLocalized(field)) {
70
+ const localizedValue = value as LocalizedFieldValue;
71
+
72
+ return Object.fromEntries(
73
+ Object.entries(localizedValue).map(([locale, value]) => [
74
+ locale,
75
+ mapFn(locale, value),
76
+ ]),
77
+ );
78
+ }
79
+
80
+ return mapFn(undefined, value);
81
+ }
82
+
83
+ /**
84
+ * Maps localized field values using a provided mapping function (async version).
85
+ * For localized fields, applies the mapping function to each locale value.
86
+ * For non-localized fields, applies the mapping function directly to the only non-localizeed value.
87
+ *
88
+ * @template T - The type that the mapping function returns
89
+ * @param field - The DatoCMS field definition
90
+ * @param value - The field value (either localized object or direct value)
91
+ * @param mapFn - The function to apply to each locale value or the direct value
92
+ * @returns The mapped value with the same structure as the input
93
+ */
94
+ export async function mapLocalizedFieldValuesAsync<T>(
95
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
96
+ value: unknown,
97
+ mapFn: (locale: string | undefined, localeValue: unknown) => Promise<T>,
98
+ ) {
99
+ if (isLocalized(field)) {
100
+ const localizedValue = value as LocalizedFieldValue;
101
+
102
+ return Object.fromEntries(
103
+ await Promise.all(
104
+ Object.entries(localizedValue).map<Promise<[string, unknown]>>(
105
+ async ([locale, value]) => [locale, await mapFn(locale, value)],
106
+ ),
107
+ ),
108
+ );
109
+ }
110
+
111
+ return await mapFn(undefined, value);
112
+ }
113
+
114
+ /**
115
+ * Filters localized field values using a provided filter function.
116
+ * For localized fields, filters each locale value.
117
+ * For non-localized fields, returns the value if the filter passes, otherwise undefined.
118
+ *
119
+ * @param field - The DatoCMS field definition
120
+ * @param value - The field value (either localized object or direct value)
121
+ * @param filterFn - The function to test each locale value or the direct value
122
+ * @returns The filtered value with the same structure as the input
123
+ */
124
+ export function filterLocalizedFieldValues(
125
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
126
+ value: unknown,
127
+ filterFn: (locale: string | undefined, localeValue: unknown) => boolean,
128
+ ) {
129
+ if (isLocalized(field)) {
130
+ const localizedValue = value as LocalizedFieldValue;
131
+
132
+ return Object.fromEntries(
133
+ Object.entries(localizedValue).filter(([locale, value]) =>
134
+ filterFn(locale, value),
135
+ ),
136
+ );
137
+ }
138
+
139
+ return filterFn(undefined, value) ? value : undefined;
140
+ }
141
+
142
+ /**
143
+ * Filters localized field values using a provided filter function (async version).
144
+ * For localized fields, filters each locale value.
145
+ * For non-localized fields, returns the value if the filter passes, otherwise undefined.
146
+ *
147
+ * @param field - The DatoCMS field definition
148
+ * @param value - The field value (either localized object or direct value)
149
+ * @param filterFn - The function to test each locale value or the direct value
150
+ * @returns The filtered value with the same structure as the input
151
+ */
152
+ export async function filterLocalizedFieldValuesAsync(
153
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
154
+ value: unknown,
155
+ filterFn: (
156
+ locale: string | undefined,
157
+ localeValue: unknown,
158
+ ) => Promise<boolean>,
159
+ ) {
160
+ if (isLocalized(field)) {
161
+ const localizedValue = value as LocalizedFieldValue;
162
+
163
+ const results = await Promise.all(
164
+ Object.entries(localizedValue).map<Promise<[string, unknown, boolean]>>(
165
+ async ([locale, value]) => [
166
+ locale,
167
+ value,
168
+ await filterFn(locale, value),
169
+ ],
170
+ ),
171
+ );
172
+
173
+ return Object.fromEntries(
174
+ results
175
+ .filter(([, , passed]) => passed)
176
+ .map(([locale, value]) => [locale, value]),
177
+ );
178
+ }
179
+
180
+ return (await filterFn(undefined, value)) ? value : undefined;
181
+ }
182
+
183
+ /**
184
+ * Tests whether at least one localized field value passes the test implemented by the provided function.
185
+ * For localized fields, tests each locale value.
186
+ * For non-localized fields, tests the direct value.
187
+ *
188
+ * @param field - The DatoCMS field definition
189
+ * @param value - The field value (either localized object or direct value)
190
+ * @param testFn - The function to test each locale value or the direct value
191
+ * @returns true if at least one value passes the test, false otherwise
192
+ */
193
+ export function someLocalizedFieldValues(
194
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
195
+ value: unknown,
196
+ testFn: (locale: string | undefined, localeValue: unknown) => boolean,
197
+ ): boolean {
198
+ if (isLocalized(field)) {
199
+ const localizedValue = value as LocalizedFieldValue;
200
+
201
+ return Object.entries(localizedValue).some(([locale, value]) =>
202
+ testFn(locale, value),
203
+ );
204
+ }
205
+
206
+ return testFn(undefined, value);
207
+ }
208
+
209
+ /**
210
+ * Tests whether at least one localized field value passes the test implemented by the provided function (async version).
211
+ * For localized fields, tests each locale value.
212
+ * For non-localized fields, tests the direct value.
213
+ *
214
+ * @param field - The DatoCMS field definition
215
+ * @param value - The field value (either localized object or direct value)
216
+ * @param testFn - The function to test each locale value or the direct value
217
+ * @returns true if at least one value passes the test, false otherwise
218
+ */
219
+ export async function someLocalizedFieldValuesAsync(
220
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
221
+ value: unknown,
222
+ testFn: (
223
+ locale: string | undefined,
224
+ localeValue: unknown,
225
+ ) => Promise<boolean>,
226
+ ): Promise<boolean> {
227
+ if (isLocalized(field)) {
228
+ const localizedValue = value as LocalizedFieldValue;
229
+
230
+ const results = await Promise.all(
231
+ Object.entries(localizedValue).map(
232
+ async ([locale, value]) => await testFn(locale, value),
233
+ ),
234
+ );
235
+
236
+ return results.some((result) => result);
237
+ }
238
+
239
+ return await testFn(undefined, value);
240
+ }
241
+
242
+ /**
243
+ * Tests whether all localized field values pass the test implemented by the provided function.
244
+ * For localized fields, tests each locale value.
245
+ * For non-localized fields, tests the direct value.
246
+ *
247
+ * @param field - The DatoCMS field definition
248
+ * @param value - The field value (either localized object or direct value)
249
+ * @param testFn - The function to test each locale value or the direct value
250
+ * @returns true if all values pass the test, false otherwise
251
+ */
252
+ export function everyLocalizedFieldValues(
253
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
254
+ value: unknown,
255
+ testFn: (locale: string | undefined, localeValue: unknown) => boolean,
256
+ ): boolean {
257
+ return !someLocalizedFieldValues(
258
+ field,
259
+ value,
260
+ (locale, localeValue) => !testFn(locale, localeValue),
261
+ );
262
+ }
263
+
264
+ /**
265
+ * Tests whether all localized field values pass the test implemented by the provided function (async version).
266
+ * For localized fields, tests each locale value.
267
+ * For non-localized fields, tests the direct value.
268
+ *
269
+ * @param field - The DatoCMS field definition
270
+ * @param value - The field value (either localized object or direct value)
271
+ * @param testFn - The function to test each locale value or the direct value
272
+ * @returns true if all values pass the test, false otherwise
273
+ */
274
+ export async function everyLocalizedFieldValuesAsync(
275
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
276
+ value: unknown,
277
+ testFn: (
278
+ locale: string | undefined,
279
+ localeValue: unknown,
280
+ ) => Promise<boolean>,
281
+ ): Promise<boolean> {
282
+ return !(await someLocalizedFieldValuesAsync(
283
+ field,
284
+ value,
285
+ async (locale, localeValue) => !(await testFn(locale, localeValue)),
286
+ ));
287
+ }
288
+
289
+ /**
290
+ * Visits each localized field value with the provided function.
291
+ * For localized fields, visits each locale value.
292
+ * For non-localized fields, visits the direct value.
293
+ *
294
+ * @param field - The DatoCMS field definition
295
+ * @param value - The field value (either localized object or direct value)
296
+ * @param visitFn - The function to call for each locale value or the direct value
297
+ */
298
+ export function visitLocalizedFieldValues(
299
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
300
+ value: unknown,
301
+ visitFn: (locale: string | undefined, localeValue: unknown) => void,
302
+ ): void {
303
+ if (isLocalized(field)) {
304
+ const localizedValue = value as LocalizedFieldValue;
305
+
306
+ for (const [locale, value] of Object.entries(localizedValue)) {
307
+ visitFn(locale, value);
308
+ }
309
+ } else {
310
+ visitFn(undefined, value);
311
+ }
312
+ }
313
+
314
+ /**
315
+ * Visits each localized field value with the provided function (async version).
316
+ * For localized fields, visits each locale value.
317
+ * For non-localized fields, visits the direct value.
318
+ *
319
+ * @param field - The DatoCMS field definition
320
+ * @param value - The field value (either localized object or direct value)
321
+ * @param visitFn - The function to call for each locale value or the direct value
322
+ */
323
+ export async function visitLocalizedFieldValuesAsync(
324
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
325
+ value: unknown,
326
+ visitFn: (locale: string | undefined, localeValue: unknown) => Promise<void>,
327
+ ): Promise<void> {
328
+ if (isLocalized(field)) {
329
+ const localizedValue = value as LocalizedFieldValue;
330
+
331
+ await Promise.all(
332
+ Object.entries(localizedValue).map(
333
+ async ([locale, value]) => await visitFn(locale, value),
334
+ ),
335
+ );
336
+ } else {
337
+ await visitFn(undefined, value);
338
+ }
339
+ }
@@ -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
+ }