@datocms/cma-client 5.1.0 → 5.1.2

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 (329) hide show
  1. package/dist/cjs/fieldTypes/rich_text.js +7 -7
  2. package/dist/cjs/fieldTypes/rich_text.js.map +1 -1
  3. package/dist/cjs/fieldTypes/single_block.js +21 -19
  4. package/dist/cjs/fieldTypes/single_block.js.map +1 -1
  5. package/dist/cjs/fieldTypes/structured_text.js +12 -24
  6. package/dist/cjs/fieldTypes/structured_text.js.map +1 -1
  7. package/dist/cjs/generated/{SchemaTypes.js → ApiTypes.js} +1 -1
  8. package/dist/cjs/generated/ApiTypes.js.map +1 -0
  9. package/dist/cjs/generated/Client.js +1 -1
  10. package/dist/cjs/generated/{SimpleSchemaTypes.js → RawApiTypes.js} +1 -1
  11. package/dist/cjs/generated/RawApiTypes.js.map +1 -0
  12. package/dist/cjs/generated/resources/AccessToken.js.map +1 -1
  13. package/dist/cjs/generated/resources/AuditLogEvent.js.map +1 -1
  14. package/dist/cjs/generated/resources/BuildEvent.js.map +1 -1
  15. package/dist/cjs/generated/resources/BuildTrigger.js.map +1 -1
  16. package/dist/cjs/generated/resources/EditingSession.js.map +1 -1
  17. package/dist/cjs/generated/resources/EmojiSuggestions.js.map +1 -1
  18. package/dist/cjs/generated/resources/Environment.js.map +1 -1
  19. package/dist/cjs/generated/resources/Field.js.map +1 -1
  20. package/dist/cjs/generated/resources/Fieldset.js.map +1 -1
  21. package/dist/cjs/generated/resources/Item.js.map +1 -1
  22. package/dist/cjs/generated/resources/ItemType.js.map +1 -1
  23. package/dist/cjs/generated/resources/ItemTypeFilter.js.map +1 -1
  24. package/dist/cjs/generated/resources/ItemVersion.js.map +1 -1
  25. package/dist/cjs/generated/resources/JobResult.js.map +1 -1
  26. package/dist/cjs/generated/resources/MaintenanceMode.js.map +1 -1
  27. package/dist/cjs/generated/resources/MenuItem.js.map +1 -1
  28. package/dist/cjs/generated/resources/Plugin.js.map +1 -1
  29. package/dist/cjs/generated/resources/PublicInfo.js.map +1 -1
  30. package/dist/cjs/generated/resources/Role.js.map +1 -1
  31. package/dist/cjs/generated/resources/ScheduledPublication.js.map +1 -1
  32. package/dist/cjs/generated/resources/ScheduledUnpublishing.js.map +1 -1
  33. package/dist/cjs/generated/resources/SchemaMenuItem.js.map +1 -1
  34. package/dist/cjs/generated/resources/SearchResult.js.map +1 -1
  35. package/dist/cjs/generated/resources/Session.js.map +1 -1
  36. package/dist/cjs/generated/resources/Site.js.map +1 -1
  37. package/dist/cjs/generated/resources/SiteInvitation.js.map +1 -1
  38. package/dist/cjs/generated/resources/SsoGroup.js.map +1 -1
  39. package/dist/cjs/generated/resources/SsoSettings.js.map +1 -1
  40. package/dist/cjs/generated/resources/SsoUser.js.map +1 -1
  41. package/dist/cjs/generated/resources/SubscriptionLimit.js.map +1 -1
  42. package/dist/cjs/generated/resources/Upload.js.map +1 -1
  43. package/dist/cjs/generated/resources/UploadCollection.js.map +1 -1
  44. package/dist/cjs/generated/resources/UploadFilter.js.map +1 -1
  45. package/dist/cjs/generated/resources/UploadRequest.js.map +1 -1
  46. package/dist/cjs/generated/resources/UploadSmartTag.js.map +1 -1
  47. package/dist/cjs/generated/resources/UploadTag.js.map +1 -1
  48. package/dist/cjs/generated/resources/UploadTrack.js.map +1 -1
  49. package/dist/cjs/generated/resources/UsageCounter.js.map +1 -1
  50. package/dist/cjs/generated/resources/User.js.map +1 -1
  51. package/dist/cjs/generated/resources/Webhook.js.map +1 -1
  52. package/dist/cjs/generated/resources/WebhookCall.js.map +1 -1
  53. package/dist/cjs/generated/resources/WhiteLabelSettings.js.map +1 -1
  54. package/dist/cjs/generated/resources/Workflow.js.map +1 -1
  55. package/dist/cjs/index.js +2 -5
  56. package/dist/cjs/index.js.map +1 -1
  57. package/dist/cjs/resources/Role.js.map +1 -1
  58. package/dist/cjs/utilities/blocks.js +7 -7
  59. package/dist/cjs/utilities/blocks.js.map +1 -1
  60. package/dist/cjs/utilities/buildBlockRecord.js.map +1 -1
  61. package/dist/cjs/utilities/fieldValue.js +253 -0
  62. package/dist/cjs/utilities/fieldValue.js.map +1 -0
  63. package/dist/cjs/utilities/fieldsContainingReferences.js.map +1 -1
  64. package/dist/cjs/utilities/recursiveBlocks.js +18 -19
  65. package/dist/cjs/utilities/recursiveBlocks.js.map +1 -1
  66. package/dist/cjs/utilities/schemaRepository.js.map +1 -1
  67. package/dist/esm/fieldTypes/rich_text.d.ts +7 -7
  68. package/dist/esm/fieldTypes/rich_text.js +6 -6
  69. package/dist/esm/fieldTypes/rich_text.js.map +1 -1
  70. package/dist/esm/fieldTypes/single_block.d.ts +30 -24
  71. package/dist/esm/fieldTypes/single_block.js +16 -14
  72. package/dist/esm/fieldTypes/single_block.js.map +1 -1
  73. package/dist/esm/fieldTypes/structured_text.d.ts +20 -85
  74. package/dist/esm/fieldTypes/structured_text.js +11 -23
  75. package/dist/esm/fieldTypes/structured_text.js.map +1 -1
  76. package/dist/esm/generated/{SimpleSchemaTypes.d.ts → ApiTypes.d.ts} +13 -8
  77. package/dist/esm/generated/ApiTypes.js +2 -0
  78. package/dist/esm/generated/ApiTypes.js.map +1 -0
  79. package/dist/esm/generated/Client.d.ts +1 -1
  80. package/dist/esm/generated/Client.js +1 -1
  81. package/dist/esm/generated/{SchemaTypes.d.ts → RawApiTypes.d.ts} +13 -8
  82. package/dist/esm/generated/RawApiTypes.js +2 -0
  83. package/dist/esm/generated/RawApiTypes.js.map +1 -0
  84. package/dist/esm/generated/resources/AccessToken.d.ts +14 -14
  85. package/dist/esm/generated/resources/AccessToken.js.map +1 -1
  86. package/dist/esm/generated/resources/AuditLogEvent.d.ts +4 -4
  87. package/dist/esm/generated/resources/AuditLogEvent.js.map +1 -1
  88. package/dist/esm/generated/resources/BuildEvent.d.ts +8 -8
  89. package/dist/esm/generated/resources/BuildEvent.js.map +1 -1
  90. package/dist/esm/generated/resources/BuildTrigger.d.ts +16 -16
  91. package/dist/esm/generated/resources/BuildTrigger.js.map +1 -1
  92. package/dist/esm/generated/resources/DailyUsage.d.ts +4 -4
  93. package/dist/esm/generated/resources/EditingSession.d.ts +7 -7
  94. package/dist/esm/generated/resources/EditingSession.js.map +1 -1
  95. package/dist/esm/generated/resources/EmojiSuggestions.d.ts +4 -4
  96. package/dist/esm/generated/resources/EmojiSuggestions.js.map +1 -1
  97. package/dist/esm/generated/resources/Environment.d.ts +14 -14
  98. package/dist/esm/generated/resources/Environment.js.map +1 -1
  99. package/dist/esm/generated/resources/Field.d.ts +213 -213
  100. package/dist/esm/generated/resources/Field.js.map +1 -1
  101. package/dist/esm/generated/resources/Fieldset.d.ts +12 -12
  102. package/dist/esm/generated/resources/Fieldset.js.map +1 -1
  103. package/dist/esm/generated/resources/Item.d.ts +36 -36
  104. package/dist/esm/generated/resources/Item.js.map +1 -1
  105. package/dist/esm/generated/resources/ItemType.d.ts +15 -15
  106. package/dist/esm/generated/resources/ItemType.js.map +1 -1
  107. package/dist/esm/generated/resources/ItemTypeFilter.d.ts +12 -12
  108. package/dist/esm/generated/resources/ItemTypeFilter.js.map +1 -1
  109. package/dist/esm/generated/resources/ItemVersion.d.ts +10 -10
  110. package/dist/esm/generated/resources/ItemVersion.js.map +1 -1
  111. package/dist/esm/generated/resources/JobResult.d.ts +4 -4
  112. package/dist/esm/generated/resources/JobResult.js.map +1 -1
  113. package/dist/esm/generated/resources/MaintenanceMode.d.ts +8 -8
  114. package/dist/esm/generated/resources/MaintenanceMode.js.map +1 -1
  115. package/dist/esm/generated/resources/MenuItem.d.ts +14 -14
  116. package/dist/esm/generated/resources/MenuItem.js.map +1 -1
  117. package/dist/esm/generated/resources/Plugin.d.ts +14 -14
  118. package/dist/esm/generated/resources/Plugin.js.map +1 -1
  119. package/dist/esm/generated/resources/PublicInfo.d.ts +4 -4
  120. package/dist/esm/generated/resources/PublicInfo.js.map +1 -1
  121. package/dist/esm/generated/resources/Role.d.ts +14 -14
  122. package/dist/esm/generated/resources/Role.js.map +1 -1
  123. package/dist/esm/generated/resources/ScheduledPublication.d.ts +6 -6
  124. package/dist/esm/generated/resources/ScheduledPublication.js.map +1 -1
  125. package/dist/esm/generated/resources/ScheduledUnpublishing.d.ts +6 -6
  126. package/dist/esm/generated/resources/ScheduledUnpublishing.js.map +1 -1
  127. package/dist/esm/generated/resources/SchemaMenuItem.d.ts +14 -14
  128. package/dist/esm/generated/resources/SchemaMenuItem.js.map +1 -1
  129. package/dist/esm/generated/resources/SearchResult.d.ts +6 -6
  130. package/dist/esm/generated/resources/SearchResult.js.map +1 -1
  131. package/dist/esm/generated/resources/Session.d.ts +4 -4
  132. package/dist/esm/generated/resources/Session.js.map +1 -1
  133. package/dist/esm/generated/resources/Site.d.ts +24 -24
  134. package/dist/esm/generated/resources/Site.js.map +1 -1
  135. package/dist/esm/generated/resources/SiteInvitation.d.ts +14 -14
  136. package/dist/esm/generated/resources/SiteInvitation.js.map +1 -1
  137. package/dist/esm/generated/resources/SsoGroup.d.ts +10 -10
  138. package/dist/esm/generated/resources/SsoGroup.js.map +1 -1
  139. package/dist/esm/generated/resources/SsoSettings.d.ts +8 -8
  140. package/dist/esm/generated/resources/SsoSettings.js.map +1 -1
  141. package/dist/esm/generated/resources/SsoUser.d.ts +10 -10
  142. package/dist/esm/generated/resources/SsoUser.js.map +1 -1
  143. package/dist/esm/generated/resources/SubscriptionFeature.d.ts +4 -4
  144. package/dist/esm/generated/resources/SubscriptionLimit.d.ts +6 -6
  145. package/dist/esm/generated/resources/SubscriptionLimit.js.map +1 -1
  146. package/dist/esm/generated/resources/Upload.d.ts +22 -22
  147. package/dist/esm/generated/resources/Upload.js.map +1 -1
  148. package/dist/esm/generated/resources/UploadCollection.d.ts +14 -14
  149. package/dist/esm/generated/resources/UploadCollection.js.map +1 -1
  150. package/dist/esm/generated/resources/UploadFilter.d.ts +12 -12
  151. package/dist/esm/generated/resources/UploadFilter.js.map +1 -1
  152. package/dist/esm/generated/resources/UploadRequest.d.ts +4 -4
  153. package/dist/esm/generated/resources/UploadRequest.js.map +1 -1
  154. package/dist/esm/generated/resources/UploadSmartTag.d.ts +6 -6
  155. package/dist/esm/generated/resources/UploadSmartTag.js.map +1 -1
  156. package/dist/esm/generated/resources/UploadTag.d.ts +8 -8
  157. package/dist/esm/generated/resources/UploadTag.js.map +1 -1
  158. package/dist/esm/generated/resources/UploadTrack.d.ts +10 -10
  159. package/dist/esm/generated/resources/UploadTrack.js.map +1 -1
  160. package/dist/esm/generated/resources/UsageCounter.d.ts +4 -4
  161. package/dist/esm/generated/resources/UsageCounter.js.map +1 -1
  162. package/dist/esm/generated/resources/User.d.ts +12 -12
  163. package/dist/esm/generated/resources/User.js.map +1 -1
  164. package/dist/esm/generated/resources/Webhook.d.ts +12 -12
  165. package/dist/esm/generated/resources/Webhook.js.map +1 -1
  166. package/dist/esm/generated/resources/WebhookCall.d.ts +9 -9
  167. package/dist/esm/generated/resources/WebhookCall.js.map +1 -1
  168. package/dist/esm/generated/resources/WhiteLabelSettings.d.ts +6 -6
  169. package/dist/esm/generated/resources/WhiteLabelSettings.js.map +1 -1
  170. package/dist/esm/generated/resources/Workflow.d.ts +11 -11
  171. package/dist/esm/generated/resources/Workflow.js.map +1 -1
  172. package/dist/esm/index.d.ts +5 -4
  173. package/dist/esm/index.js +1 -4
  174. package/dist/esm/index.js.map +1 -1
  175. package/dist/esm/resources/Role.d.ts +4 -4
  176. package/dist/esm/resources/Role.js.map +1 -1
  177. package/dist/esm/utilities/blocks.d.ts +17 -17
  178. package/dist/esm/utilities/blocks.js +3 -3
  179. package/dist/esm/utilities/blocks.js.map +1 -1
  180. package/dist/esm/utilities/buildBlockRecord.d.ts +5 -5
  181. package/dist/esm/utilities/buildBlockRecord.js.map +1 -1
  182. package/dist/esm/utilities/fieldValue.d.ts +166 -0
  183. package/dist/esm/utilities/fieldValue.js +237 -0
  184. package/dist/esm/utilities/fieldValue.js.map +1 -0
  185. package/dist/esm/utilities/fieldsContainingReferences.d.ts +4 -4
  186. package/dist/esm/utilities/fieldsContainingReferences.js.map +1 -1
  187. package/dist/esm/utilities/recursiveBlocks.d.ts +13 -10
  188. package/dist/esm/utilities/recursiveBlocks.js +19 -20
  189. package/dist/esm/utilities/recursiveBlocks.js.map +1 -1
  190. package/dist/esm/utilities/schemaRepository.d.ts +29 -26
  191. package/dist/esm/utilities/schemaRepository.js.map +1 -1
  192. package/dist/types/fieldTypes/rich_text.d.ts +7 -7
  193. package/dist/types/fieldTypes/single_block.d.ts +30 -24
  194. package/dist/types/fieldTypes/structured_text.d.ts +20 -85
  195. package/dist/types/generated/{SimpleSchemaTypes.d.ts → ApiTypes.d.ts} +13 -8
  196. package/dist/types/generated/Client.d.ts +1 -1
  197. package/dist/types/generated/{SchemaTypes.d.ts → RawApiTypes.d.ts} +13 -8
  198. package/dist/types/generated/resources/AccessToken.d.ts +14 -14
  199. package/dist/types/generated/resources/AuditLogEvent.d.ts +4 -4
  200. package/dist/types/generated/resources/BuildEvent.d.ts +8 -8
  201. package/dist/types/generated/resources/BuildTrigger.d.ts +16 -16
  202. package/dist/types/generated/resources/DailyUsage.d.ts +4 -4
  203. package/dist/types/generated/resources/EditingSession.d.ts +7 -7
  204. package/dist/types/generated/resources/EmojiSuggestions.d.ts +4 -4
  205. package/dist/types/generated/resources/Environment.d.ts +14 -14
  206. package/dist/types/generated/resources/Field.d.ts +213 -213
  207. package/dist/types/generated/resources/Fieldset.d.ts +12 -12
  208. package/dist/types/generated/resources/Item.d.ts +36 -36
  209. package/dist/types/generated/resources/ItemType.d.ts +15 -15
  210. package/dist/types/generated/resources/ItemTypeFilter.d.ts +12 -12
  211. package/dist/types/generated/resources/ItemVersion.d.ts +10 -10
  212. package/dist/types/generated/resources/JobResult.d.ts +4 -4
  213. package/dist/types/generated/resources/MaintenanceMode.d.ts +8 -8
  214. package/dist/types/generated/resources/MenuItem.d.ts +14 -14
  215. package/dist/types/generated/resources/Plugin.d.ts +14 -14
  216. package/dist/types/generated/resources/PublicInfo.d.ts +4 -4
  217. package/dist/types/generated/resources/Role.d.ts +14 -14
  218. package/dist/types/generated/resources/ScheduledPublication.d.ts +6 -6
  219. package/dist/types/generated/resources/ScheduledUnpublishing.d.ts +6 -6
  220. package/dist/types/generated/resources/SchemaMenuItem.d.ts +14 -14
  221. package/dist/types/generated/resources/SearchResult.d.ts +6 -6
  222. package/dist/types/generated/resources/Session.d.ts +4 -4
  223. package/dist/types/generated/resources/Site.d.ts +24 -24
  224. package/dist/types/generated/resources/SiteInvitation.d.ts +14 -14
  225. package/dist/types/generated/resources/SsoGroup.d.ts +10 -10
  226. package/dist/types/generated/resources/SsoSettings.d.ts +8 -8
  227. package/dist/types/generated/resources/SsoUser.d.ts +10 -10
  228. package/dist/types/generated/resources/SubscriptionFeature.d.ts +4 -4
  229. package/dist/types/generated/resources/SubscriptionLimit.d.ts +6 -6
  230. package/dist/types/generated/resources/Upload.d.ts +22 -22
  231. package/dist/types/generated/resources/UploadCollection.d.ts +14 -14
  232. package/dist/types/generated/resources/UploadFilter.d.ts +12 -12
  233. package/dist/types/generated/resources/UploadRequest.d.ts +4 -4
  234. package/dist/types/generated/resources/UploadSmartTag.d.ts +6 -6
  235. package/dist/types/generated/resources/UploadTag.d.ts +8 -8
  236. package/dist/types/generated/resources/UploadTrack.d.ts +10 -10
  237. package/dist/types/generated/resources/UsageCounter.d.ts +4 -4
  238. package/dist/types/generated/resources/User.d.ts +12 -12
  239. package/dist/types/generated/resources/Webhook.d.ts +12 -12
  240. package/dist/types/generated/resources/WebhookCall.d.ts +9 -9
  241. package/dist/types/generated/resources/WhiteLabelSettings.d.ts +6 -6
  242. package/dist/types/generated/resources/Workflow.d.ts +11 -11
  243. package/dist/types/index.d.ts +5 -4
  244. package/dist/types/resources/Role.d.ts +4 -4
  245. package/dist/types/utilities/blocks.d.ts +17 -17
  246. package/dist/types/utilities/buildBlockRecord.d.ts +5 -5
  247. package/dist/types/utilities/fieldValue.d.ts +166 -0
  248. package/dist/types/utilities/fieldsContainingReferences.d.ts +4 -4
  249. package/dist/types/utilities/recursiveBlocks.d.ts +13 -10
  250. package/dist/types/utilities/schemaRepository.d.ts +29 -26
  251. package/package.json +5 -5
  252. package/src/fieldTypes/rich_text.ts +14 -14
  253. package/src/fieldTypes/single_block.ts +48 -33
  254. package/src/fieldTypes/structured_text.ts +37 -153
  255. package/src/generated/{SimpleSchemaTypes.ts → ApiTypes.ts} +44 -9
  256. package/src/generated/Client.ts +2 -2
  257. package/src/generated/{SchemaTypes.ts → RawApiTypes.ts} +44 -9
  258. package/src/generated/resources/AccessToken.ts +32 -34
  259. package/src/generated/resources/AuditLogEvent.ts +8 -8
  260. package/src/generated/resources/BuildEvent.ts +16 -18
  261. package/src/generated/resources/BuildTrigger.ts +30 -30
  262. package/src/generated/resources/DailyUsage.ts +5 -5
  263. package/src/generated/resources/EditingSession.ts +12 -12
  264. package/src/generated/resources/EmojiSuggestions.ts +7 -7
  265. package/src/generated/resources/Environment.ts +33 -39
  266. package/src/generated/resources/Field.ts +40 -54
  267. package/src/generated/resources/Fieldset.ts +28 -36
  268. package/src/generated/resources/Item.ts +99 -126
  269. package/src/generated/resources/ItemType.ts +37 -45
  270. package/src/generated/resources/ItemTypeFilter.ts +26 -26
  271. package/src/generated/resources/ItemVersion.ts +22 -26
  272. package/src/generated/resources/JobResult.ts +6 -8
  273. package/src/generated/resources/MaintenanceMode.ts +13 -13
  274. package/src/generated/resources/MenuItem.ts +34 -44
  275. package/src/generated/resources/Plugin.ts +30 -42
  276. package/src/generated/resources/PublicInfo.ts +5 -7
  277. package/src/generated/resources/Role.ts +29 -44
  278. package/src/generated/resources/ScheduledPublication.ts +13 -13
  279. package/src/generated/resources/ScheduledUnpublishing.ts +13 -13
  280. package/src/generated/resources/SchemaMenuItem.ts +34 -34
  281. package/src/generated/resources/SearchResult.ts +12 -12
  282. package/src/generated/resources/Session.ts +8 -10
  283. package/src/generated/resources/Site.ts +43 -47
  284. package/src/generated/resources/SiteInvitation.ts +30 -30
  285. package/src/generated/resources/SsoGroup.ts +20 -24
  286. package/src/generated/resources/SsoSettings.ts +14 -16
  287. package/src/generated/resources/SsoUser.ts +18 -22
  288. package/src/generated/resources/SubscriptionFeature.ts +5 -5
  289. package/src/generated/resources/SubscriptionLimit.ts +9 -9
  290. package/src/generated/resources/Upload.ts +57 -73
  291. package/src/generated/resources/UploadCollection.ts +34 -34
  292. package/src/generated/resources/UploadFilter.ts +26 -26
  293. package/src/generated/resources/UploadRequest.ts +8 -8
  294. package/src/generated/resources/UploadSmartTag.ts +12 -12
  295. package/src/generated/resources/UploadTag.ts +18 -20
  296. package/src/generated/resources/UploadTrack.ts +25 -29
  297. package/src/generated/resources/UsageCounter.ts +8 -8
  298. package/src/generated/resources/User.ts +28 -39
  299. package/src/generated/resources/Webhook.ts +26 -34
  300. package/src/generated/resources/WebhookCall.ts +17 -19
  301. package/src/generated/resources/WhiteLabelSettings.ts +11 -11
  302. package/src/generated/resources/Workflow.ts +23 -29
  303. package/src/index.ts +7 -4
  304. package/src/resources/Role.ts +6 -6
  305. package/src/utilities/blocks.ts +36 -36
  306. package/src/utilities/buildBlockRecord.ts +4 -4
  307. package/src/utilities/{fieldValueLocalization.ts → fieldValue.ts} +161 -147
  308. package/src/utilities/fieldsContainingReferences.ts +4 -4
  309. package/src/utilities/recursiveBlocks.ts +47 -44
  310. package/src/utilities/schemaRepository.ts +53 -56
  311. package/dist/cjs/generated/SchemaTypes.js.map +0 -1
  312. package/dist/cjs/generated/SimpleSchemaTypes.js.map +0 -1
  313. package/dist/cjs/utilities/fieldValueLocalization.js +0 -218
  314. package/dist/cjs/utilities/fieldValueLocalization.js.map +0 -1
  315. package/dist/cjs/utilities/structuredText.js +0 -371
  316. package/dist/cjs/utilities/structuredText.js.map +0 -1
  317. package/dist/esm/generated/SchemaTypes.js +0 -2
  318. package/dist/esm/generated/SchemaTypes.js.map +0 -1
  319. package/dist/esm/generated/SimpleSchemaTypes.js +0 -2
  320. package/dist/esm/generated/SimpleSchemaTypes.js.map +0 -1
  321. package/dist/esm/utilities/fieldValueLocalization.d.ts +0 -123
  322. package/dist/esm/utilities/fieldValueLocalization.js +0 -204
  323. package/dist/esm/utilities/fieldValueLocalization.js.map +0 -1
  324. package/dist/esm/utilities/structuredText.d.ts +0 -177
  325. package/dist/esm/utilities/structuredText.js +0 -354
  326. package/dist/esm/utilities/structuredText.js.map +0 -1
  327. package/dist/types/utilities/fieldValueLocalization.d.ts +0 -123
  328. package/dist/types/utilities/structuredText.d.ts +0 -177
  329. package/src/utilities/structuredText.ts +0 -590
@@ -1,5 +1,5 @@
1
- import type * as SchemaTypes from '../generated/SchemaTypes';
2
- import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
1
+ import type * as ApiTypes from '../generated/ApiTypes';
2
+ import type * as RawApiTypes from '../generated/RawApiTypes';
3
3
 
4
4
  /*
5
5
  * Localized Field Value Operations Utilities
@@ -18,72 +18,100 @@ import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
18
18
  * - Reduces code duplication and potential bugs from inconsistent handling
19
19
  * - Supports both synchronous and asynchronous operations
20
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
21
  */
39
22
 
40
23
  /**
41
- * In DatoCMS, fields can be localized. In this scenario, their value contains values
24
+ * Represents a localized field value in DatoCMS.
25
+ *
26
+ * In DatoCMS, fields can be localized. In this scenario, their value contains values
42
27
  * for various locales structured as an object, such as
43
- `{ "en": "Hello", "it": "Ciao" }`)
28
+ * `{ "en": "Hello", "it": "Ciao" }`
44
29
  */
45
30
  export type LocalizedFieldValue = Record<string, unknown>;
46
31
 
32
+ /**
33
+ * Determines whether a DatoCMS field is localized or not.
34
+ *
35
+ * This function handles both full Schema field objects and simplified Schema field objects
36
+ * by checking the appropriate property based on the object structure.
37
+ *
38
+ * @param field - The DatoCMS field definition (either full or simple schema)
39
+ * @returns true if the field is localized, false otherwise
40
+ */
47
41
  export function isLocalized(
48
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
42
+ field: RawApiTypes.Field | ApiTypes.Field,
49
43
  ): boolean {
50
44
  return 'attributes' in field ? field.attributes.localized : field.localized;
51
45
  }
52
46
 
53
47
  /**
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.
48
+ * A normalized entry that represents a single value from either a localized or non-localized field.
57
49
  *
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
50
+ * For localized fields, each locale produces one entry with `locale` set to the locale code (e.g., "en", "it").
51
+ * For non-localized fields, there's one entry with `locale` set to `undefined`.
52
+ *
53
+ * This uniform structure allows the same processing logic to work with both field types.
63
54
  */
64
- export function mapLocalizedFieldValues<T>(
65
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
55
+ export type FieldValueEntry = {
56
+ locale: string | undefined;
57
+ value: unknown;
58
+ };
59
+
60
+ export type PossiblyLocalizedEntry = FieldValueEntry;
61
+
62
+ /**
63
+ * Converts a field value (localized or non-localized) into a uniform array of entries.
64
+ *
65
+ * This function normalizes the handling of field values by converting them into a consistent
66
+ * array format, regardless of whether the field is localized or not.
67
+ *
68
+ * @param field - The DatoCMS field definition that determines localization behavior
69
+ * @param value - The field value to convert (either a localized object or direct value)
70
+ * @returns Array of entries where each entry contains a locale (string for localized, undefined for non-localized) and the corresponding value
71
+ */
72
+ export function fieldValueToEntries(
73
+ field: RawApiTypes.Field | ApiTypes.Field,
66
74
  value: unknown,
67
- mapFn: (locale: string | undefined, localeValue: unknown) => T,
68
75
  ) {
69
76
  if (isLocalized(field)) {
70
77
  const localizedValue = value as LocalizedFieldValue;
71
78
 
79
+ return Object.entries(localizedValue).map<FieldValueEntry>(
80
+ ([locale, value]) => ({ locale, value }),
81
+ );
82
+ }
83
+
84
+ return [{ locale: undefined, value }];
85
+ }
86
+
87
+ /**
88
+ * Converts an array of possibly localized entries back into the appropriate field value format.
89
+ *
90
+ * This function is the inverse of `fieldValueToPossiblyLocalizedEntries`. It takes a uniform
91
+ * array of entries and converts them back to either a localized object or a direct value,
92
+ * depending on the field's localization setting.
93
+ *
94
+ * @param field - The DatoCMS field definition that determines the output format
95
+ * @param possiblyLocalizedEntries - Array of entries to convert back to field value format
96
+ * @returns Either a localized object (for localized fields) or the direct value (for non-localized fields)
97
+ */
98
+ export function entriesToFieldValue(
99
+ field: RawApiTypes.Field | ApiTypes.Field,
100
+ possiblyLocalizedEntries: FieldValueEntry[],
101
+ ) {
102
+ if (isLocalized(field)) {
72
103
  return Object.fromEntries(
73
- Object.entries(localizedValue).map(([locale, value]) => [
74
- locale,
75
- mapFn(locale, value),
76
- ]),
104
+ possiblyLocalizedEntries.map(({ locale, value }) => [locale, value]),
77
105
  );
78
106
  }
79
107
 
80
- return mapFn(undefined, value);
108
+ return possiblyLocalizedEntries[0]?.value;
81
109
  }
82
110
 
83
111
  /**
84
- * Maps localized field values using a provided mapping function (async version).
112
+ * Maps field values using a provided mapping function.
85
113
  * 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.
114
+ * For non-localized fields, applies the mapping function directly to the value.
87
115
  *
88
116
  * @template T - The type that the mapping function returns
89
117
  * @param field - The DatoCMS field definition
@@ -91,28 +119,47 @@ export function mapLocalizedFieldValues<T>(
91
119
  * @param mapFn - The function to apply to each locale value or the direct value
92
120
  * @returns The mapped value with the same structure as the input
93
121
  */
94
- export async function mapLocalizedFieldValuesAsync<T>(
95
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
122
+ export function mapFieldValue<T>(
123
+ field: RawApiTypes.Field | ApiTypes.Field,
96
124
  value: unknown,
97
- mapFn: (locale: string | undefined, localeValue: unknown) => Promise<T>,
125
+ mapFn: (locale: string | undefined, localeValue: unknown) => T,
98
126
  ) {
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
- }
127
+ const entries = fieldValueToEntries(field, value);
128
+ const mappedEntries = entries.map(({ locale, value }) => ({
129
+ locale,
130
+ value: mapFn(locale, value),
131
+ }));
132
+ return entriesToFieldValue(field, mappedEntries);
133
+ }
110
134
 
111
- return await mapFn(undefined, value);
135
+ /**
136
+ * Maps field values using a provided mapping function (async version).
137
+ * For localized fields, applies the mapping function to each locale value.
138
+ * For non-localized fields, applies the mapping function directly to the value.
139
+ *
140
+ * @template T - The type that the mapping function returns
141
+ * @param field - The DatoCMS field definition
142
+ * @param value - The field value (either localized object or direct value)
143
+ * @param mapFn - The function to apply to each locale value or the direct value
144
+ * @returns The mapped value with the same structure as the input
145
+ */
146
+ export async function mapFieldValueAsync<T>(
147
+ field: RawApiTypes.Field | ApiTypes.Field,
148
+ value: unknown,
149
+ mapFn: (locale: string | undefined, localeValue: unknown) => Promise<T>,
150
+ ) {
151
+ const entries = fieldValueToEntries(field, value);
152
+ const mappedEntries = await Promise.all(
153
+ entries.map(async ({ locale, value }) => ({
154
+ locale,
155
+ value: await mapFn(locale, value),
156
+ })),
157
+ );
158
+ return entriesToFieldValue(field, mappedEntries);
112
159
  }
113
160
 
114
161
  /**
115
- * Filters localized field values using a provided filter function.
162
+ * Filters field values using a provided filter function.
116
163
  * For localized fields, filters each locale value.
117
164
  * For non-localized fields, returns the value if the filter passes, otherwise undefined.
118
165
  *
@@ -121,26 +168,25 @@ export async function mapLocalizedFieldValuesAsync<T>(
121
168
  * @param filterFn - The function to test each locale value or the direct value
122
169
  * @returns The filtered value with the same structure as the input
123
170
  */
124
- export function filterLocalizedFieldValues(
125
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
171
+ export function filterFieldValue(
172
+ field: RawApiTypes.Field | ApiTypes.Field,
126
173
  value: unknown,
127
174
  filterFn: (locale: string | undefined, localeValue: unknown) => boolean,
128
175
  ) {
129
- if (isLocalized(field)) {
130
- const localizedValue = value as LocalizedFieldValue;
176
+ const entries = fieldValueToEntries(field, value);
177
+ const filteredEntries = entries.filter(({ locale, value }) =>
178
+ filterFn(locale, value),
179
+ );
131
180
 
132
- return Object.fromEntries(
133
- Object.entries(localizedValue).filter(([locale, value]) =>
134
- filterFn(locale, value),
135
- ),
136
- );
181
+ if (isLocalized(field)) {
182
+ return entriesToFieldValue(field, filteredEntries);
137
183
  }
138
184
 
139
- return filterFn(undefined, value) ? value : undefined;
185
+ return filteredEntries.length > 0 ? filteredEntries[0]?.value : undefined;
140
186
  }
141
187
 
142
188
  /**
143
- * Filters localized field values using a provided filter function (async version).
189
+ * Filters field values using a provided filter function (async version).
144
190
  * For localized fields, filters each locale value.
145
191
  * For non-localized fields, returns the value if the filter passes, otherwise undefined.
146
192
  *
@@ -149,39 +195,36 @@ export function filterLocalizedFieldValues(
149
195
  * @param filterFn - The function to test each locale value or the direct value
150
196
  * @returns The filtered value with the same structure as the input
151
197
  */
152
- export async function filterLocalizedFieldValuesAsync(
153
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
198
+ export async function filterFieldValueAsync(
199
+ field: RawApiTypes.Field | ApiTypes.Field,
154
200
  value: unknown,
155
201
  filterFn: (
156
202
  locale: string | undefined,
157
203
  localeValue: unknown,
158
204
  ) => Promise<boolean>,
159
205
  ) {
160
- if (isLocalized(field)) {
161
- const localizedValue = value as LocalizedFieldValue;
206
+ const entries = fieldValueToEntries(field, value);
207
+ const results = await Promise.all(
208
+ entries.map(async ({ locale, value }) => ({
209
+ locale,
210
+ value,
211
+ passed: await filterFn(locale, value),
212
+ })),
213
+ );
162
214
 
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
- );
215
+ const filteredEntries = results
216
+ .filter(({ passed }) => passed)
217
+ .map(({ locale, value }) => ({ locale, value }));
172
218
 
173
- return Object.fromEntries(
174
- results
175
- .filter(([, , passed]) => passed)
176
- .map(([locale, value]) => [locale, value]),
177
- );
219
+ if (isLocalized(field)) {
220
+ return entriesToFieldValue(field, filteredEntries);
178
221
  }
179
222
 
180
- return (await filterFn(undefined, value)) ? value : undefined;
223
+ return filteredEntries.length > 0 ? filteredEntries[0]?.value : undefined;
181
224
  }
182
225
 
183
226
  /**
184
- * Tests whether at least one localized field value passes the test implemented by the provided function.
227
+ * Tests whether at least one field value passes the test implemented by the provided function.
185
228
  * For localized fields, tests each locale value.
186
229
  * For non-localized fields, tests the direct value.
187
230
  *
@@ -190,24 +233,17 @@ export async function filterLocalizedFieldValuesAsync(
190
233
  * @param testFn - The function to test each locale value or the direct value
191
234
  * @returns true if at least one value passes the test, false otherwise
192
235
  */
193
- export function someLocalizedFieldValues(
194
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
236
+ export function someFieldValue(
237
+ field: RawApiTypes.Field | ApiTypes.Field,
195
238
  value: unknown,
196
239
  testFn: (locale: string | undefined, localeValue: unknown) => boolean,
197
240
  ): 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);
241
+ const entries = fieldValueToEntries(field, value);
242
+ return entries.some(({ locale, value }) => testFn(locale, value));
207
243
  }
208
244
 
209
245
  /**
210
- * Tests whether at least one localized field value passes the test implemented by the provided function (async version).
246
+ * Tests whether at least one field value passes the test implemented by the provided function (async version).
211
247
  * For localized fields, tests each locale value.
212
248
  * For non-localized fields, tests the direct value.
213
249
  *
@@ -216,31 +252,23 @@ export function someLocalizedFieldValues(
216
252
  * @param testFn - The function to test each locale value or the direct value
217
253
  * @returns true if at least one value passes the test, false otherwise
218
254
  */
219
- export async function someLocalizedFieldValuesAsync(
220
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
255
+ export async function someFieldValueAsync(
256
+ field: RawApiTypes.Field | ApiTypes.Field,
221
257
  value: unknown,
222
258
  testFn: (
223
259
  locale: string | undefined,
224
260
  localeValue: unknown,
225
261
  ) => Promise<boolean>,
226
262
  ): 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);
263
+ const entries = fieldValueToEntries(field, value);
264
+ const results = await Promise.all(
265
+ entries.map(({ locale, value }) => testFn(locale, value)),
266
+ );
267
+ return results.some((result) => result);
240
268
  }
241
269
 
242
270
  /**
243
- * Tests whether all localized field values pass the test implemented by the provided function.
271
+ * Tests whether all field values pass the test implemented by the provided function.
244
272
  * For localized fields, tests each locale value.
245
273
  * For non-localized fields, tests the direct value.
246
274
  *
@@ -249,12 +277,12 @@ export async function someLocalizedFieldValuesAsync(
249
277
  * @param testFn - The function to test each locale value or the direct value
250
278
  * @returns true if all values pass the test, false otherwise
251
279
  */
252
- export function everyLocalizedFieldValues(
253
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
280
+ export function everyFieldValue(
281
+ field: RawApiTypes.Field | ApiTypes.Field,
254
282
  value: unknown,
255
283
  testFn: (locale: string | undefined, localeValue: unknown) => boolean,
256
284
  ): boolean {
257
- return !someLocalizedFieldValues(
285
+ return !someFieldValue(
258
286
  field,
259
287
  value,
260
288
  (locale, localeValue) => !testFn(locale, localeValue),
@@ -262,7 +290,7 @@ export function everyLocalizedFieldValues(
262
290
  }
263
291
 
264
292
  /**
265
- * Tests whether all localized field values pass the test implemented by the provided function (async version).
293
+ * Tests whether all field values pass the test implemented by the provided function (async version).
266
294
  * For localized fields, tests each locale value.
267
295
  * For non-localized fields, tests the direct value.
268
296
  *
@@ -271,15 +299,15 @@ export function everyLocalizedFieldValues(
271
299
  * @param testFn - The function to test each locale value or the direct value
272
300
  * @returns true if all values pass the test, false otherwise
273
301
  */
274
- export async function everyLocalizedFieldValuesAsync(
275
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
302
+ export async function everyFieldValueAsync(
303
+ field: RawApiTypes.Field | ApiTypes.Field,
276
304
  value: unknown,
277
305
  testFn: (
278
306
  locale: string | undefined,
279
307
  localeValue: unknown,
280
308
  ) => Promise<boolean>,
281
309
  ): Promise<boolean> {
282
- return !(await someLocalizedFieldValuesAsync(
310
+ return !(await someFieldValueAsync(
283
311
  field,
284
312
  value,
285
313
  async (locale, localeValue) => !(await testFn(locale, localeValue)),
@@ -287,7 +315,7 @@ export async function everyLocalizedFieldValuesAsync(
287
315
  }
288
316
 
289
317
  /**
290
- * Visits each localized field value with the provided function.
318
+ * Visits each field value with the provided function.
291
319
  * For localized fields, visits each locale value.
292
320
  * For non-localized fields, visits the direct value.
293
321
  *
@@ -295,24 +323,19 @@ export async function everyLocalizedFieldValuesAsync(
295
323
  * @param value - The field value (either localized object or direct value)
296
324
  * @param visitFn - The function to call for each locale value or the direct value
297
325
  */
298
- export function visitLocalizedFieldValues(
299
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
326
+ export function visitFieldValue(
327
+ field: RawApiTypes.Field | ApiTypes.Field,
300
328
  value: unknown,
301
329
  visitFn: (locale: string | undefined, localeValue: unknown) => void,
302
330
  ): 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);
331
+ const entries = fieldValueToEntries(field, value);
332
+ for (const { locale, value } of entries) {
333
+ visitFn(locale, value);
311
334
  }
312
335
  }
313
336
 
314
337
  /**
315
- * Visits each localized field value with the provided function (async version).
338
+ * Visits each field value with the provided function (async version).
316
339
  * For localized fields, visits each locale value.
317
340
  * For non-localized fields, visits the direct value.
318
341
  *
@@ -320,20 +343,11 @@ export function visitLocalizedFieldValues(
320
343
  * @param value - The field value (either localized object or direct value)
321
344
  * @param visitFn - The function to call for each locale value or the direct value
322
345
  */
323
- export async function visitLocalizedFieldValuesAsync(
324
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
346
+ export async function visitFieldValueAsync(
347
+ field: RawApiTypes.Field | ApiTypes.Field,
325
348
  value: unknown,
326
349
  visitFn: (locale: string | undefined, localeValue: unknown) => Promise<void>,
327
350
  ): 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
- }
351
+ const entries = fieldValueToEntries(field, value);
352
+ await Promise.all(entries.map(({ locale, value }) => visitFn(locale, value)));
339
353
  }
@@ -1,8 +1,8 @@
1
- import type * as SchemaTypes from '../generated/SchemaTypes';
2
- import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
1
+ import type * as ApiTypes from '../generated/ApiTypes';
2
+ import type * as RawApiTypes from '../generated/RawApiTypes';
3
3
 
4
4
  export function modelIdsReferencedInField(
5
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
5
+ field: RawApiTypes.Field | ApiTypes.Field,
6
6
  ) {
7
7
  const attributes = 'attributes' in field ? field.attributes : field;
8
8
 
@@ -23,7 +23,7 @@ export function modelIdsReferencedInField(
23
23
  }
24
24
 
25
25
  export function blockModelIdsReferencedInField(
26
- field: SchemaTypes.Field | SimpleSchemaTypes.Field,
26
+ field: RawApiTypes.Field | ApiTypes.Field,
27
27
  ) {
28
28
  const attributes = 'attributes' in field ? field.attributes : field;
29
29