@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
@@ -110,7 +110,7 @@ export default class Fieldset extends BaseResource {
110
110
  }
111
111
 
112
112
  /**
113
- * List all fieldsets
113
+ * List all fieldsets of a model/block
114
114
  *
115
115
  * Read more: https://www.datocms.com/docs/content-management-api/resources/fieldset/instances
116
116
  *
@@ -126,7 +126,7 @@ export default class Fieldset extends BaseResource {
126
126
  }
127
127
 
128
128
  /**
129
- * List all fieldsets
129
+ * List all fieldsets of a model/block
130
130
  *
131
131
  * Read more: https://www.datocms.com/docs/content-management-api/resources/fieldset/instances
132
132
  *
package/src/index.ts CHANGED
@@ -1,9 +1,15 @@
1
1
  export { ApiError, LogLevel, TimeoutError } from '@datocms/rest-client-utils';
2
- export * from './buildBlockRecord';
3
2
  export * from './buildClient';
4
3
  export { Client } from './generated/Client';
5
4
  export type { ClientConfigOptions } from './generated/Client';
6
5
  export * as Resources from './generated/resources';
7
6
  export * as SchemaTypes from './generated/SchemaTypes';
8
7
  export * as SimpleSchemaTypes from './generated/SimpleSchemaTypes';
9
- export * from './idUtils';
8
+ export * from './utilities/blocks';
9
+ export * from './utilities/buildBlockRecord';
10
+ export * from './utilities/fieldsContainingReferences';
11
+ export * from './utilities/fieldValueLocalization';
12
+ export * from './utilities/id';
13
+ export * from './utilities/recursiveBlocks';
14
+ export * from './utilities/schemaRepository';
15
+ export * from './utilities/structuredText';
@@ -0,0 +1,626 @@
1
+ /**
2
+ * DatoCMS Block Field Value Processing Utilities
3
+ *
4
+ * This utility provides a unified interface for working with blocks embedded within DatoCMS field values.
5
+ * DatoCMS supports three field types that can contain blocks:
6
+ * - Modular Content fields: arrays of blocks
7
+ * - Single Block fields: a single block
8
+ * - Structured Text fields: complex document structures with embedded blocks
9
+ *
10
+ * The challenge this solves: Each field type stores blocks differently and requires different
11
+ * traversal logic, making it complex to perform operations like transformations, filtering,
12
+ * or searching across blocks regardless of their containing field type.
13
+ *
14
+ * This utility abstracts away these differences, providing a consistent API to:
15
+ * - Visit/iterate through all blocks in any field type
16
+ * - Transform blocks while preserving field structure
17
+ * - Filter blocks based on conditions
18
+ * - Search for specific blocks
19
+ * - Perform functional operations (map, reduce, some, every)
20
+ *
21
+ * All functions come in both sync and async variants to support different use cases,
22
+ * particularly useful when block transformations require async operations like API calls.
23
+ */
24
+
25
+ import type {
26
+ BlockItemInARequest,
27
+ RichTextFieldValue,
28
+ RichTextFieldValueAsRequest,
29
+ RichTextFieldValueWithNestedBlocks,
30
+ SingleBlockFieldValue,
31
+ SingleBlockFieldValueAsRequest,
32
+ SingleBlockFieldValueWithNestedBlocks,
33
+ StructuredTextFieldValue,
34
+ StructuredTextFieldValueAsRequest,
35
+ StructuredTextFieldValueWithNestedBlocks,
36
+ } from '../fieldTypes';
37
+ import type * as SchemaTypes from '../generated/SchemaTypes';
38
+ import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
39
+ import {
40
+ type TreePath,
41
+ filterNodes,
42
+ filterNodesAsync,
43
+ findAllNodes,
44
+ findAllNodesAsync,
45
+ mapNodes,
46
+ mapNodesAsync,
47
+ } from './structuredText';
48
+
49
+ type PossibleRichTextValue =
50
+ | RichTextFieldValue
51
+ | RichTextFieldValueAsRequest
52
+ | RichTextFieldValueWithNestedBlocks;
53
+ type PossibleSingleBlockValue =
54
+ | SingleBlockFieldValue
55
+ | SingleBlockFieldValueAsRequest
56
+ | SingleBlockFieldValueWithNestedBlocks;
57
+ type PossibleStructuredTextValue =
58
+ | StructuredTextFieldValue
59
+ | StructuredTextFieldValueAsRequest
60
+ | StructuredTextFieldValueWithNestedBlocks;
61
+
62
+ function getFieldType(field: SchemaTypes.Field | SimpleSchemaTypes.Field) {
63
+ return 'attributes' in field ? field.attributes.field_type : field.field_type;
64
+ }
65
+
66
+ function* iterateBlocks(
67
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
68
+ value: unknown,
69
+ ): Generator<{ item: BlockItemInARequest; path: TreePath }> {
70
+ const fieldType = getFieldType(field);
71
+
72
+ if (fieldType === 'rich_text') {
73
+ const richTextValue = value as PossibleRichTextValue;
74
+ if (richTextValue) {
75
+ for (let index = 0; index < richTextValue.length; index++) {
76
+ const item = richTextValue[index]!;
77
+ yield { item, path: [index] };
78
+ }
79
+ }
80
+ return;
81
+ }
82
+
83
+ if (fieldType === 'single_block') {
84
+ const singleBlockValue = value as PossibleSingleBlockValue;
85
+ if (singleBlockValue) {
86
+ yield { item: singleBlockValue, path: [] };
87
+ }
88
+ return;
89
+ }
90
+
91
+ if (fieldType === 'structured_text') {
92
+ const structuredTextValue = value as PossibleStructuredTextValue;
93
+ if (structuredTextValue) {
94
+ const foundNodes = findAllNodes(
95
+ structuredTextValue.document,
96
+ (node) => node.type === 'block' || node.type === 'inlineBlock',
97
+ );
98
+
99
+ for (const { node, path } of foundNodes) {
100
+ if (node.type === 'block' || node.type === 'inlineBlock') {
101
+ yield { item: node.item, path };
102
+ }
103
+ }
104
+ }
105
+ return;
106
+ }
107
+ }
108
+
109
+ async function* iterateBlocksAsync(
110
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
111
+ value: unknown,
112
+ ): AsyncGenerator<{ item: BlockItemInARequest; path: TreePath }> {
113
+ const fieldType = getFieldType(field);
114
+
115
+ if (fieldType === 'rich_text') {
116
+ const richTextValue = value as PossibleRichTextValue;
117
+ if (richTextValue) {
118
+ for (let index = 0; index < richTextValue.length; index++) {
119
+ const item = richTextValue[index]!;
120
+ yield { item, path: [index] };
121
+ }
122
+ }
123
+ return;
124
+ }
125
+
126
+ if (fieldType === 'single_block') {
127
+ const singleBlockValue = value as PossibleSingleBlockValue;
128
+ if (singleBlockValue) {
129
+ yield { item: singleBlockValue, path: [] };
130
+ }
131
+ return;
132
+ }
133
+
134
+ if (fieldType === 'structured_text') {
135
+ const structuredTextValue = value as PossibleStructuredTextValue;
136
+ if (structuredTextValue) {
137
+ const foundNodes = await findAllNodesAsync(
138
+ structuredTextValue.document,
139
+ async (node) => node.type === 'block' || node.type === 'inlineBlock',
140
+ );
141
+
142
+ for (const { node, path } of foundNodes) {
143
+ if (node.type === 'block' || node.type === 'inlineBlock') {
144
+ yield { item: node.item, path };
145
+ }
146
+ }
147
+ }
148
+ return;
149
+ }
150
+ }
151
+
152
+ /**
153
+ * Visit every block in a field value, calling the visitor function for each block found.
154
+ * Supports rich text, single block, and structured text field types.
155
+ *
156
+ * @param field - The DatoCMS field definition that determines how blocks are processed
157
+ * @param value - The field value containing blocks to visit
158
+ * @param visitor - Synchronous function called for each block. Receives the block item and its path
159
+ */
160
+ export function nonRecursiveVisitBlocksInFieldValue(
161
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
162
+ value: unknown,
163
+ visitor: (item: BlockItemInARequest, path: TreePath) => void,
164
+ ): void {
165
+ for (const { item, path } of iterateBlocks(field, value)) {
166
+ visitor(item, path);
167
+ }
168
+ }
169
+
170
+ /**
171
+ * Visit every block in a field value, calling the visitor function for each block found.
172
+ * Supports rich text, single block, and structured text field types.
173
+ *
174
+ * @param field - The DatoCMS field definition that determines how blocks are processed
175
+ * @param value - The field value containing blocks to visit
176
+ * @param visitor - Asynchronous function called for each block. Receives the block item and its path
177
+ * @returns Promise that resolves when all blocks have been visited
178
+ */
179
+ export async function nonRecursiveVisitBlocksInFieldValueAsync(
180
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
181
+ value: unknown,
182
+ visitor: (item: BlockItemInARequest, path: TreePath) => Promise<void>,
183
+ ): Promise<void> {
184
+ for await (const { item, path } of iterateBlocksAsync(field, value)) {
185
+ await visitor(item, path);
186
+ }
187
+ }
188
+
189
+ /**
190
+ * Transform blocks in a field value by applying a mapping function to each block.
191
+ * Creates a new field value structure with transformed blocks while preserving the original structure.
192
+ * Supports rich text, single block, and structured text field types.
193
+ *
194
+ * @param field - The DatoCMS field definition that determines how blocks are processed
195
+ * @param value - The field value containing blocks to transform
196
+ * @param mapper - Synchronous function that transforms each block. Receives block item and path, returns new block
197
+ * @returns The new field value with transformed blocks
198
+ */
199
+ export function nonRecursiveMapBlocksInFieldValue(
200
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
201
+ value: unknown,
202
+ mapper: (item: BlockItemInARequest, path: TreePath) => BlockItemInARequest,
203
+ ): unknown {
204
+ const fieldType = getFieldType(field);
205
+
206
+ if (fieldType === 'rich_text') {
207
+ const richTextValue = value as PossibleRichTextValue;
208
+ return richTextValue
209
+ ? richTextValue.map((item, index) => mapper(item, [index]))
210
+ : richTextValue;
211
+ }
212
+
213
+ if (fieldType === 'single_block') {
214
+ const singleBlockValue = value as PossibleSingleBlockValue;
215
+ return singleBlockValue ? mapper(singleBlockValue, []) : null;
216
+ }
217
+
218
+ if (fieldType === 'structured_text') {
219
+ const structuredTextValue = value as PossibleStructuredTextValue;
220
+
221
+ if (!structuredTextValue) {
222
+ return null;
223
+ }
224
+
225
+ return {
226
+ schema: 'dast',
227
+ document: mapNodes(
228
+ structuredTextValue.document,
229
+ (node, _parent, path) => {
230
+ if (node.type === 'block' || node.type === 'inlineBlock') {
231
+ return { ...node, item: mapper(node.item, path) };
232
+ }
233
+
234
+ return node;
235
+ },
236
+ ),
237
+ };
238
+ }
239
+
240
+ return value;
241
+ }
242
+
243
+ /**
244
+ * Transform blocks in a field value by applying a mapping function to each block.
245
+ * Creates a new field value structure with transformed blocks while preserving the original structure.
246
+ * Supports rich text, single block, and structured text field types.
247
+ *
248
+ * @param field - The DatoCMS field definition that determines how blocks are processed
249
+ * @param value - The field value containing blocks to transform
250
+ * @param mapper - Asynchronous function that transforms each block. Receives block item and path, returns new block
251
+ * @returns Promise that resolves to the new field value with transformed blocks
252
+ */
253
+ export async function nonRecursiveMapBlocksInFieldValueAsync(
254
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
255
+ value: unknown,
256
+ mapper: (
257
+ item: BlockItemInARequest,
258
+ path: TreePath,
259
+ ) => Promise<BlockItemInARequest>,
260
+ ): Promise<unknown> {
261
+ const fieldType = getFieldType(field);
262
+
263
+ if (fieldType === 'rich_text') {
264
+ const richTextValue = value as PossibleRichTextValue;
265
+ return richTextValue
266
+ ? await Promise.all(
267
+ richTextValue.map((item, index) => mapper(item, [index])),
268
+ )
269
+ : richTextValue;
270
+ }
271
+
272
+ if (fieldType === 'single_block') {
273
+ const singleBlockValue = value as PossibleSingleBlockValue;
274
+ return singleBlockValue ? await mapper(singleBlockValue, []) : null;
275
+ }
276
+
277
+ if (fieldType === 'structured_text') {
278
+ const structuredTextValue = value as PossibleStructuredTextValue;
279
+
280
+ if (!structuredTextValue) {
281
+ return null;
282
+ }
283
+
284
+ return {
285
+ schema: 'dast',
286
+ document: await mapNodesAsync(
287
+ structuredTextValue.document,
288
+ async (node, _parent, path) => {
289
+ if (node.type === 'block' || node.type === 'inlineBlock') {
290
+ return { ...node, item: await mapper(node.item, path) };
291
+ }
292
+
293
+ return node;
294
+ },
295
+ ),
296
+ };
297
+ }
298
+
299
+ return value;
300
+ }
301
+
302
+ /**
303
+ * Find all blocks that match the predicate function.
304
+ * Searches through all blocks in the field value and returns all matches.
305
+ *
306
+ * @param field - The DatoCMS field definition that determines how blocks are processed
307
+ * @param value - The field value containing blocks to search
308
+ * @param predicate - Synchronous function that tests each block. Should return true for matching blocks
309
+ * @returns Array of objects, each containing a matching block and its path
310
+ */
311
+ export function nonRecursiveFindAllBlocksInFieldValue(
312
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
313
+ value: unknown,
314
+ predicate: (item: BlockItemInARequest, path: TreePath) => boolean,
315
+ ): Array<{ item: BlockItemInARequest; path: TreePath }> {
316
+ const results: Array<{ item: BlockItemInARequest; path: TreePath }> = [];
317
+
318
+ for (const { item, path } of iterateBlocks(field, value)) {
319
+ if (predicate(item, path)) {
320
+ results.push({ item, path });
321
+ }
322
+ }
323
+
324
+ return results;
325
+ }
326
+
327
+ /**
328
+ * Find all blocks that match the predicate function.
329
+ * Searches through all blocks in the field value and returns all matches.
330
+ *
331
+ * @param field - The DatoCMS field definition that determines how blocks are processed
332
+ * @param value - The field value containing blocks to search
333
+ * @param predicate - Asynchronous function that tests each block. Should return true for matching blocks
334
+ * @returns Promise that resolves to an array of objects, each containing a matching block and its path
335
+ */
336
+ export async function nonRecursiveFindAllBlocksInFieldValueAsync(
337
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
338
+ value: unknown,
339
+ predicate: (item: BlockItemInARequest, path: TreePath) => Promise<boolean>,
340
+ ): Promise<Array<{ item: BlockItemInARequest; path: TreePath }>> {
341
+ const results: Array<{ item: BlockItemInARequest; path: TreePath }> = [];
342
+
343
+ for await (const { item, path } of iterateBlocksAsync(field, value)) {
344
+ if (await predicate(item, path)) {
345
+ results.push({ item, path });
346
+ }
347
+ }
348
+
349
+ return results;
350
+ }
351
+
352
+ /**
353
+ * Filter blocks in a field value, removing those that don't match the predicate.
354
+ * Creates a new field value containing only blocks that pass the predicate test.
355
+ * Preserves the original field value structure and hierarchy.
356
+ *
357
+ * @param field - The DatoCMS field definition that determines how blocks are processed
358
+ * @param value - The field value containing blocks to filter
359
+ * @param predicate - Synchronous function that tests each block. Blocks returning false are removed
360
+ * @returns The new field value with filtered blocks
361
+ */
362
+ export function nonRecursiveFilterBlocksInFieldValue(
363
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
364
+ value: unknown,
365
+ predicate: (item: BlockItemInARequest, path: TreePath) => boolean,
366
+ ): unknown {
367
+ const fieldType = getFieldType(field);
368
+
369
+ if (fieldType === 'rich_text') {
370
+ const filteredItems: BlockItemInARequest[] = [];
371
+
372
+ for (const { item, path } of iterateBlocks(field, value)) {
373
+ if (predicate(item, path)) {
374
+ filteredItems.push(item);
375
+ }
376
+ }
377
+
378
+ return value ? filteredItems : value;
379
+ }
380
+
381
+ if (fieldType === 'single_block') {
382
+ for (const { item, path } of iterateBlocks(field, value)) {
383
+ if (predicate(item, path)) {
384
+ return item;
385
+ }
386
+ }
387
+ return null;
388
+ }
389
+
390
+ if (fieldType === 'structured_text') {
391
+ const structuredTextValue = value as PossibleStructuredTextValue;
392
+
393
+ if (!structuredTextValue) {
394
+ return null;
395
+ }
396
+
397
+ const filteredDocument = filterNodes(
398
+ structuredTextValue.document,
399
+ (node, _parent, path) => {
400
+ if (node.type === 'block' || node.type === 'inlineBlock') {
401
+ return predicate(node.item, path);
402
+ }
403
+ return true;
404
+ },
405
+ );
406
+
407
+ return filteredDocument
408
+ ? {
409
+ schema: 'dast',
410
+ document: filteredDocument,
411
+ }
412
+ : null;
413
+ }
414
+
415
+ return value;
416
+ }
417
+
418
+ /**
419
+ * Filter blocks in a field value, removing those that don't match the predicate.
420
+ * Creates a new field value containing only blocks that pass the predicate test.
421
+ * Preserves the original field value structure and hierarchy.
422
+ *
423
+ * @param field - The DatoCMS field definition that determines how blocks are processed
424
+ * @param value - The field value containing blocks to filter
425
+ * @param predicate - Asynchronous function that tests each block. Blocks returning false are removed
426
+ * @returns Promise that resolves to the new field value with filtered blocks
427
+ */
428
+ export async function nonRecursiveFilterBlocksInFieldValueAsync(
429
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
430
+ value: unknown,
431
+ predicate: (item: BlockItemInARequest, path: TreePath) => Promise<boolean>,
432
+ ): Promise<unknown> {
433
+ const fieldType = getFieldType(field);
434
+
435
+ if (fieldType === 'rich_text') {
436
+ const filteredItems: BlockItemInARequest[] = [];
437
+
438
+ for await (const { item, path } of iterateBlocksAsync(field, value)) {
439
+ if (await predicate(item, path)) {
440
+ filteredItems.push(item);
441
+ }
442
+ }
443
+
444
+ return value ? filteredItems : value;
445
+ }
446
+
447
+ if (fieldType === 'single_block') {
448
+ for await (const { item, path } of iterateBlocksAsync(field, value)) {
449
+ if (await predicate(item, path)) {
450
+ return item;
451
+ }
452
+ }
453
+ return null;
454
+ }
455
+
456
+ if (fieldType === 'structured_text') {
457
+ const structuredTextValue = value as PossibleStructuredTextValue;
458
+
459
+ if (!structuredTextValue) {
460
+ return null;
461
+ }
462
+
463
+ const filteredDocument = await filterNodesAsync(
464
+ structuredTextValue.document,
465
+ async (node, _parent, path) => {
466
+ if (node.type === 'block' || node.type === 'inlineBlock') {
467
+ return await predicate(node.item, path);
468
+ }
469
+ return true;
470
+ },
471
+ );
472
+
473
+ return filteredDocument
474
+ ? {
475
+ schema: 'dast',
476
+ document: filteredDocument,
477
+ }
478
+ : null;
479
+ }
480
+
481
+ return value;
482
+ }
483
+
484
+ /**
485
+ * Reduce all blocks in a field value to a single value by applying a reducer function.
486
+ * Processes each block in the field value and accumulates the results into a single value.
487
+ *
488
+ * @template R - The type of the accumulated result
489
+ * @param field - The DatoCMS field definition that determines how blocks are processed
490
+ * @param value - The field value containing blocks to reduce
491
+ * @param reducer - Synchronous function that processes each block and updates the accumulator
492
+ * @param initialValue - The initial value for the accumulator
493
+ * @returns The final accumulated value
494
+ */
495
+ export function nonRecursiveReduceBlocksInFieldValue<R>(
496
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
497
+ value: unknown,
498
+ reducer: (accumulator: R, item: BlockItemInARequest, path: TreePath) => R,
499
+ initialValue: R,
500
+ ): R {
501
+ let accumulator = initialValue;
502
+
503
+ for (const { item, path } of iterateBlocks(field, value)) {
504
+ accumulator = reducer(accumulator, item, path);
505
+ }
506
+
507
+ return accumulator;
508
+ }
509
+
510
+ /**
511
+ * Reduce all blocks in a field value to a single value by applying a reducer function.
512
+ * Processes each block in the field value and accumulates the results into a single value.
513
+ *
514
+ * @template R - The type of the accumulated result
515
+ * @param field - The DatoCMS field definition that determines how blocks are processed
516
+ * @param value - The field value containing blocks to reduce
517
+ * @param reducer - Asynchronous function that processes each block and updates the accumulator
518
+ * @param initialValue - The initial value for the accumulator
519
+ * @returns Promise that resolves to the final accumulated value
520
+ */
521
+ export async function nonRecursiveReduceBlocksInFieldValueAsync<R>(
522
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
523
+ value: unknown,
524
+ reducer: (
525
+ accumulator: R,
526
+ item: BlockItemInARequest,
527
+ path: TreePath,
528
+ ) => Promise<R>,
529
+ initialValue: R,
530
+ ): Promise<R> {
531
+ let accumulator = initialValue;
532
+
533
+ for await (const { item, path } of iterateBlocksAsync(field, value)) {
534
+ accumulator = await reducer(accumulator, item, path);
535
+ }
536
+
537
+ return accumulator;
538
+ }
539
+
540
+ /**
541
+ * Check if any block in the field value matches the predicate function.
542
+ * Returns true as soon as the first matching block is found (short-circuit evaluation).
543
+ *
544
+ * @param field - The DatoCMS field definition that determines how blocks are processed
545
+ * @param value - The field value containing blocks to test
546
+ * @param predicate - Synchronous function that tests each block. Should return true for matching blocks
547
+ * @returns True if any block matches, false otherwise
548
+ */
549
+ export function nonRecursiveSomeBlocksInFieldValue(
550
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
551
+ value: unknown,
552
+ predicate: (item: BlockItemInARequest, path: TreePath) => boolean,
553
+ ): boolean {
554
+ for (const { item, path } of iterateBlocks(field, value)) {
555
+ if (predicate(item, path)) {
556
+ return true;
557
+ }
558
+ }
559
+
560
+ return false;
561
+ }
562
+
563
+ /**
564
+ * Check if any block in the field value matches the predicate function.
565
+ * Returns true as soon as the first matching block is found (short-circuit evaluation).
566
+ *
567
+ * @param field - The DatoCMS field definition that determines how blocks are processed
568
+ * @param value - The field value containing blocks to test
569
+ * @param predicate - Asynchronous function that tests each block. Should return true for matching blocks
570
+ * @returns Promise that resolves to true if any block matches, false otherwise
571
+ */
572
+ export async function nonRecursiveSomeBlocksInFieldValueAsync(
573
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
574
+ value: unknown,
575
+ predicate: (item: BlockItemInARequest, path: TreePath) => Promise<boolean>,
576
+ ): Promise<boolean> {
577
+ for await (const { item, path } of iterateBlocksAsync(field, value)) {
578
+ if (await predicate(item, path)) {
579
+ return true;
580
+ }
581
+ }
582
+
583
+ return false;
584
+ }
585
+
586
+ /**
587
+ * Check if every block in the field value matches the predicate function.
588
+ * Returns false as soon as the first non-matching block is found (short-circuit evaluation).
589
+ *
590
+ * @param field - The DatoCMS field definition that determines how blocks are processed
591
+ * @param value - The field value containing blocks to test
592
+ * @param predicate - Synchronous function that tests each block. Should return true for valid blocks
593
+ * @returns True if all blocks match, false otherwise
594
+ */
595
+ export function nonRecursiveEveryBlockInFieldValue(
596
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
597
+ value: unknown,
598
+ predicate: (item: BlockItemInARequest, path: TreePath) => boolean,
599
+ ): boolean {
600
+ return !nonRecursiveSomeBlocksInFieldValue(field, value, (item, path) => {
601
+ return !predicate(item, path);
602
+ });
603
+ }
604
+
605
+ /**
606
+ * Check if every block in the field value matches the predicate function.
607
+ * Returns false as soon as the first non-matching block is found (short-circuit evaluation).
608
+ *
609
+ * @param field - The DatoCMS field definition that determines how blocks are processed
610
+ * @param value - The field value containing blocks to test
611
+ * @param predicate - Asynchronous function that tests each block. Should return true for valid blocks
612
+ * @returns Promise that resolves to true if all blocks match, false otherwise
613
+ */
614
+ export async function nonRecursiveEveryBlockInFieldValueAsync(
615
+ field: SchemaTypes.Field | SimpleSchemaTypes.Field,
616
+ value: unknown,
617
+ predicate: (item: BlockItemInARequest, path: TreePath) => Promise<boolean>,
618
+ ): Promise<boolean> {
619
+ return !(await nonRecursiveSomeBlocksInFieldValueAsync(
620
+ field,
621
+ value,
622
+ async (item, path) => {
623
+ return !(await predicate(item, path));
624
+ },
625
+ ));
626
+ }
@@ -1,7 +1,7 @@
1
1
  import * as Utils from '@datocms/rest-client-utils';
2
- import type * as SchemaTypes from './generated/SchemaTypes';
3
- import type * as SimpleSchemaTypes from './generated/SimpleSchemaTypes';
4
- import { Item } from './generated/resources';
2
+ import type * as SchemaTypes from '../generated/SchemaTypes';
3
+ import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
4
+ import { Item } from '../generated/resources';
5
5
 
6
6
  export function buildBlockRecord(body: SimpleSchemaTypes.ItemUpdateSchema) {
7
7
  return Utils.serializeRequestBody<SchemaTypes.ItemUpdateSchema>(body, {