@datocms/cma-client 5.1.9 → 5.1.11

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 (226) hide show
  1. package/README.md +575 -0
  2. package/dist/cjs/fieldTypes/boolean.js +2 -2
  3. package/dist/cjs/fieldTypes/boolean.js.map +1 -1
  4. package/dist/cjs/fieldTypes/color.js +2 -2
  5. package/dist/cjs/fieldTypes/color.js.map +1 -1
  6. package/dist/cjs/fieldTypes/date.js +2 -3
  7. package/dist/cjs/fieldTypes/date.js.map +1 -1
  8. package/dist/cjs/fieldTypes/date_time.js +2 -2
  9. package/dist/cjs/fieldTypes/date_time.js.map +1 -1
  10. package/dist/cjs/fieldTypes/file.js +33 -5
  11. package/dist/cjs/fieldTypes/file.js.map +1 -1
  12. package/dist/cjs/fieldTypes/float.js +2 -2
  13. package/dist/cjs/fieldTypes/float.js.map +1 -1
  14. package/dist/cjs/fieldTypes/gallery.js +20 -5
  15. package/dist/cjs/fieldTypes/gallery.js.map +1 -1
  16. package/dist/cjs/fieldTypes/index.js +2 -2
  17. package/dist/cjs/fieldTypes/index.js.map +1 -1
  18. package/dist/cjs/fieldTypes/integer.js +2 -2
  19. package/dist/cjs/fieldTypes/integer.js.map +1 -1
  20. package/dist/cjs/fieldTypes/json.js +2 -3
  21. package/dist/cjs/fieldTypes/json.js.map +1 -1
  22. package/dist/cjs/fieldTypes/lat_lon.js +2 -2
  23. package/dist/cjs/fieldTypes/lat_lon.js.map +1 -1
  24. package/dist/cjs/fieldTypes/link.js +4 -4
  25. package/dist/cjs/fieldTypes/link.js.map +1 -1
  26. package/dist/cjs/fieldTypes/links.js +5 -3
  27. package/dist/cjs/fieldTypes/links.js.map +1 -1
  28. package/dist/cjs/fieldTypes/rich_text.js +4 -6
  29. package/dist/cjs/fieldTypes/rich_text.js.map +1 -1
  30. package/dist/cjs/fieldTypes/seo.js +2 -3
  31. package/dist/cjs/fieldTypes/seo.js.map +1 -1
  32. package/dist/cjs/fieldTypes/single_block.js +7 -7
  33. package/dist/cjs/fieldTypes/single_block.js.map +1 -1
  34. package/dist/cjs/fieldTypes/slug.js +2 -3
  35. package/dist/cjs/fieldTypes/slug.js.map +1 -1
  36. package/dist/cjs/fieldTypes/string.js +2 -2
  37. package/dist/cjs/fieldTypes/string.js.map +1 -1
  38. package/dist/cjs/fieldTypes/structured_text.js +4 -6
  39. package/dist/cjs/fieldTypes/structured_text.js.map +1 -1
  40. package/dist/cjs/fieldTypes/text.js +2 -3
  41. package/dist/cjs/fieldTypes/text.js.map +1 -1
  42. package/dist/cjs/fieldTypes/video.js +2 -2
  43. package/dist/cjs/fieldTypes/video.js.map +1 -1
  44. package/dist/cjs/generated/Client.js +1 -1
  45. package/dist/cjs/generated/Client.js.map +1 -1
  46. package/dist/cjs/generated/resources/Item.js.map +1 -1
  47. package/dist/cjs/generated/resources/Upload.js.map +1 -1
  48. package/dist/cjs/index.js +4 -4
  49. package/dist/cjs/index.js.map +1 -1
  50. package/dist/cjs/utilities/buildBlockRecord.js +8 -7
  51. package/dist/cjs/utilities/buildBlockRecord.js.map +1 -1
  52. package/dist/cjs/utilities/inspectItem.js +397 -0
  53. package/dist/cjs/utilities/inspectItem.js.map +1 -0
  54. package/dist/cjs/utilities/{blocks.js → nonRecursiveBlocks.js} +106 -111
  55. package/dist/cjs/utilities/nonRecursiveBlocks.js.map +1 -0
  56. package/dist/cjs/utilities/{fieldValue.js → normalizedFieldValues.js} +53 -41
  57. package/dist/cjs/utilities/normalizedFieldValues.js.map +1 -0
  58. package/dist/cjs/utilities/recursiveBlocks.js +121 -80
  59. package/dist/cjs/utilities/recursiveBlocks.js.map +1 -1
  60. package/dist/cjs/utilities/schemaRepository.js +2 -2
  61. package/dist/esm/fieldTypes/boolean.d.ts +1 -1
  62. package/dist/esm/fieldTypes/boolean.js +2 -2
  63. package/dist/esm/fieldTypes/boolean.js.map +1 -1
  64. package/dist/esm/fieldTypes/color.d.ts +1 -1
  65. package/dist/esm/fieldTypes/color.js +2 -2
  66. package/dist/esm/fieldTypes/color.js.map +1 -1
  67. package/dist/esm/fieldTypes/date.d.ts +1 -1
  68. package/dist/esm/fieldTypes/date.js +2 -3
  69. package/dist/esm/fieldTypes/date.js.map +1 -1
  70. package/dist/esm/fieldTypes/date_time.d.ts +1 -1
  71. package/dist/esm/fieldTypes/date_time.js +2 -2
  72. package/dist/esm/fieldTypes/date_time.js.map +1 -1
  73. package/dist/esm/fieldTypes/file.d.ts +68 -1
  74. package/dist/esm/fieldTypes/file.js +29 -3
  75. package/dist/esm/fieldTypes/file.js.map +1 -1
  76. package/dist/esm/fieldTypes/float.d.ts +1 -1
  77. package/dist/esm/fieldTypes/float.js +2 -2
  78. package/dist/esm/fieldTypes/float.js.map +1 -1
  79. package/dist/esm/fieldTypes/gallery.d.ts +27 -11
  80. package/dist/esm/fieldTypes/gallery.js +17 -4
  81. package/dist/esm/fieldTypes/gallery.js.map +1 -1
  82. package/dist/esm/fieldTypes/index.d.ts +2 -2
  83. package/dist/esm/fieldTypes/index.js +2 -2
  84. package/dist/esm/fieldTypes/index.js.map +1 -1
  85. package/dist/esm/fieldTypes/integer.d.ts +1 -1
  86. package/dist/esm/fieldTypes/integer.js +2 -2
  87. package/dist/esm/fieldTypes/integer.js.map +1 -1
  88. package/dist/esm/fieldTypes/json.d.ts +1 -1
  89. package/dist/esm/fieldTypes/json.js +2 -3
  90. package/dist/esm/fieldTypes/json.js.map +1 -1
  91. package/dist/esm/fieldTypes/lat_lon.d.ts +1 -1
  92. package/dist/esm/fieldTypes/lat_lon.js +2 -2
  93. package/dist/esm/fieldTypes/lat_lon.js.map +1 -1
  94. package/dist/esm/fieldTypes/link.d.ts +1 -1
  95. package/dist/esm/fieldTypes/link.js +4 -4
  96. package/dist/esm/fieldTypes/link.js.map +1 -1
  97. package/dist/esm/fieldTypes/links.d.ts +1 -1
  98. package/dist/esm/fieldTypes/links.js +5 -3
  99. package/dist/esm/fieldTypes/links.js.map +1 -1
  100. package/dist/esm/fieldTypes/rich_text.d.ts +1 -1
  101. package/dist/esm/fieldTypes/rich_text.js +4 -6
  102. package/dist/esm/fieldTypes/rich_text.js.map +1 -1
  103. package/dist/esm/fieldTypes/seo.d.ts +1 -1
  104. package/dist/esm/fieldTypes/seo.js +2 -3
  105. package/dist/esm/fieldTypes/seo.js.map +1 -1
  106. package/dist/esm/fieldTypes/single_block.d.ts +3 -3
  107. package/dist/esm/fieldTypes/single_block.js +7 -7
  108. package/dist/esm/fieldTypes/single_block.js.map +1 -1
  109. package/dist/esm/fieldTypes/slug.d.ts +1 -1
  110. package/dist/esm/fieldTypes/slug.js +2 -3
  111. package/dist/esm/fieldTypes/slug.js.map +1 -1
  112. package/dist/esm/fieldTypes/string.d.ts +1 -1
  113. package/dist/esm/fieldTypes/string.js +2 -2
  114. package/dist/esm/fieldTypes/string.js.map +1 -1
  115. package/dist/esm/fieldTypes/structured_text.d.ts +1 -1
  116. package/dist/esm/fieldTypes/structured_text.js +4 -6
  117. package/dist/esm/fieldTypes/structured_text.js.map +1 -1
  118. package/dist/esm/fieldTypes/text.d.ts +1 -1
  119. package/dist/esm/fieldTypes/text.js +2 -3
  120. package/dist/esm/fieldTypes/text.js.map +1 -1
  121. package/dist/esm/fieldTypes/video.d.ts +1 -1
  122. package/dist/esm/fieldTypes/video.js +2 -2
  123. package/dist/esm/fieldTypes/video.js.map +1 -1
  124. package/dist/esm/generated/Client.js +1 -1
  125. package/dist/esm/generated/Client.js.map +1 -1
  126. package/dist/esm/generated/resources/Item.d.ts +46 -28
  127. package/dist/esm/generated/resources/Item.js.map +1 -1
  128. package/dist/esm/generated/resources/ScheduledPublication.d.ts +3 -3
  129. package/dist/esm/generated/resources/ScheduledUnpublishing.d.ts +3 -3
  130. package/dist/esm/generated/resources/Upload.d.ts +10 -4
  131. package/dist/esm/generated/resources/Upload.js.map +1 -1
  132. package/dist/esm/index.d.ts +4 -4
  133. package/dist/esm/index.js +4 -4
  134. package/dist/esm/index.js.map +1 -1
  135. package/dist/esm/utilities/buildBlockRecord.d.ts +3 -3
  136. package/dist/esm/utilities/buildBlockRecord.js +9 -8
  137. package/dist/esm/utilities/buildBlockRecord.js.map +1 -1
  138. package/dist/esm/utilities/inspectItem.d.ts +8 -0
  139. package/dist/esm/utilities/inspectItem.js +393 -0
  140. package/dist/esm/utilities/inspectItem.js.map +1 -0
  141. package/dist/esm/utilities/itemDefinition.d.ts +36 -12
  142. package/dist/esm/utilities/nonRecursiveBlocks.d.ts +179 -0
  143. package/dist/esm/utilities/{blocks.js → nonRecursiveBlocks.js} +91 -96
  144. package/dist/esm/utilities/nonRecursiveBlocks.js.map +1 -0
  145. package/dist/{types/utilities/fieldValue.d.ts → esm/utilities/normalizedFieldValues.d.ts} +15 -14
  146. package/dist/esm/utilities/{fieldValue.js → normalizedFieldValues.js} +39 -28
  147. package/dist/esm/utilities/normalizedFieldValues.js.map +1 -0
  148. package/dist/esm/utilities/recursiveBlocks.d.ts +92 -9
  149. package/dist/esm/utilities/recursiveBlocks.js +113 -72
  150. package/dist/esm/utilities/recursiveBlocks.js.map +1 -1
  151. package/dist/esm/utilities/schemaRepository.d.ts +2 -2
  152. package/dist/esm/utilities/schemaRepository.js +2 -2
  153. package/dist/types/fieldTypes/boolean.d.ts +1 -1
  154. package/dist/types/fieldTypes/color.d.ts +1 -1
  155. package/dist/types/fieldTypes/date.d.ts +1 -1
  156. package/dist/types/fieldTypes/date_time.d.ts +1 -1
  157. package/dist/types/fieldTypes/file.d.ts +68 -1
  158. package/dist/types/fieldTypes/float.d.ts +1 -1
  159. package/dist/types/fieldTypes/gallery.d.ts +27 -11
  160. package/dist/types/fieldTypes/index.d.ts +2 -2
  161. package/dist/types/fieldTypes/integer.d.ts +1 -1
  162. package/dist/types/fieldTypes/json.d.ts +1 -1
  163. package/dist/types/fieldTypes/lat_lon.d.ts +1 -1
  164. package/dist/types/fieldTypes/link.d.ts +1 -1
  165. package/dist/types/fieldTypes/links.d.ts +1 -1
  166. package/dist/types/fieldTypes/rich_text.d.ts +1 -1
  167. package/dist/types/fieldTypes/seo.d.ts +1 -1
  168. package/dist/types/fieldTypes/single_block.d.ts +3 -3
  169. package/dist/types/fieldTypes/slug.d.ts +1 -1
  170. package/dist/types/fieldTypes/string.d.ts +1 -1
  171. package/dist/types/fieldTypes/structured_text.d.ts +1 -1
  172. package/dist/types/fieldTypes/text.d.ts +1 -1
  173. package/dist/types/fieldTypes/video.d.ts +1 -1
  174. package/dist/types/generated/resources/Item.d.ts +46 -28
  175. package/dist/types/generated/resources/ScheduledPublication.d.ts +3 -3
  176. package/dist/types/generated/resources/ScheduledUnpublishing.d.ts +3 -3
  177. package/dist/types/generated/resources/Upload.d.ts +10 -4
  178. package/dist/types/index.d.ts +4 -4
  179. package/dist/types/utilities/buildBlockRecord.d.ts +3 -3
  180. package/dist/types/utilities/inspectItem.d.ts +8 -0
  181. package/dist/types/utilities/itemDefinition.d.ts +36 -12
  182. package/dist/types/utilities/nonRecursiveBlocks.d.ts +179 -0
  183. package/dist/{esm/utilities/fieldValue.d.ts → types/utilities/normalizedFieldValues.d.ts} +15 -14
  184. package/dist/types/utilities/recursiveBlocks.d.ts +92 -9
  185. package/dist/types/utilities/schemaRepository.d.ts +2 -2
  186. package/package.json +4 -4
  187. package/src/fieldTypes/boolean.ts +5 -3
  188. package/src/fieldTypes/color.ts +5 -3
  189. package/src/fieldTypes/date.ts +5 -4
  190. package/src/fieldTypes/date_time.ts +5 -3
  191. package/src/fieldTypes/file.ts +98 -4
  192. package/src/fieldTypes/float.ts +5 -3
  193. package/src/fieldTypes/gallery.ts +53 -20
  194. package/src/fieldTypes/index.ts +2 -3
  195. package/src/fieldTypes/integer.ts +5 -3
  196. package/src/fieldTypes/json.ts +5 -4
  197. package/src/fieldTypes/lat_lon.ts +5 -3
  198. package/src/fieldTypes/link.ts +7 -5
  199. package/src/fieldTypes/links.ts +8 -4
  200. package/src/fieldTypes/rich_text.ts +7 -7
  201. package/src/fieldTypes/seo.ts +5 -4
  202. package/src/fieldTypes/single_block.ts +12 -10
  203. package/src/fieldTypes/slug.ts +5 -4
  204. package/src/fieldTypes/string.ts +5 -3
  205. package/src/fieldTypes/structured_text.ts +7 -7
  206. package/src/fieldTypes/text.ts +5 -4
  207. package/src/fieldTypes/video.ts +5 -3
  208. package/src/generated/Client.ts +1 -1
  209. package/src/generated/resources/Item.ts +129 -92
  210. package/src/generated/resources/ScheduledPublication.ts +6 -6
  211. package/src/generated/resources/ScheduledUnpublishing.ts +6 -6
  212. package/src/generated/resources/Upload.ts +36 -10
  213. package/src/index.ts +4 -4
  214. package/src/utilities/buildBlockRecord.ts +24 -31
  215. package/src/utilities/inspectItem.ts +590 -0
  216. package/src/utilities/itemDefinition.ts +53 -35
  217. package/src/utilities/{blocks.ts → nonRecursiveBlocks.ts} +170 -136
  218. package/src/utilities/{fieldValue.ts → normalizedFieldValues.ts} +70 -30
  219. package/src/utilities/recursiveBlocks.ts +186 -171
  220. package/src/utilities/schemaRepository.ts +2 -2
  221. package/dist/cjs/utilities/blocks.js.map +0 -1
  222. package/dist/cjs/utilities/fieldValue.js.map +0 -1
  223. package/dist/esm/utilities/blocks.d.ts +0 -180
  224. package/dist/esm/utilities/blocks.js.map +0 -1
  225. package/dist/esm/utilities/fieldValue.js.map +0 -1
  226. package/dist/types/utilities/blocks.d.ts +0 -180
@@ -47,6 +47,25 @@ export function isLocalized(
47
47
  return 'attributes' in field ? field.attributes.localized : field.localized;
48
48
  }
49
49
 
50
+ export function isLocalizedFieldValue<T = unknown, L extends string = string>(
51
+ value: unknown,
52
+ ): value is LocalizedFieldValue<T, L> {
53
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
54
+ return false;
55
+ }
56
+
57
+ const keys = Object.keys(value);
58
+
59
+ if (keys.length === 0) {
60
+ return false;
61
+ }
62
+
63
+ const localePattern =
64
+ /^[A-Za-z]{2,4}(-[A-Za-z]{4})?(-([A-Za-z]{2}|[0-9]{3}))?$/;
65
+
66
+ return keys.every((key) => localePattern.test(key));
67
+ }
68
+
50
69
  /**
51
70
  * A normalized entry that represents a single value from either a localized or non-localized field.
52
71
  *
@@ -55,7 +74,10 @@ export function isLocalized(
55
74
  *
56
75
  * This uniform structure allows the same processing logic to work with both field types.
57
76
  */
58
- export type FieldValueEntry<T = unknown, L extends string = string> = {
77
+ export type NormalizedFieldValueEntry<
78
+ T = unknown,
79
+ L extends string = string,
80
+ > = {
59
81
  locale: L | undefined;
60
82
  value: T;
61
83
  };
@@ -70,10 +92,13 @@ export type FieldValueEntry<T = unknown, L extends string = string> = {
70
92
  * @param value - The field value to convert (either a localized object or direct value)
71
93
  * @returns Array of entries where each entry contains a locale (string for localized, undefined for non-localized) and the corresponding value
72
94
  */
73
- export function fieldValueToEntries<T = unknown, L extends string = string>(
95
+ export function toNormalizedFieldValueEntries<
96
+ T = unknown,
97
+ L extends string = string,
98
+ >(
74
99
  field: RawApiTypes.Field | ApiTypes.Field,
75
100
  value: T | LocalizedFieldValue<T, L>,
76
- ): FieldValueEntry<T, L>[] {
101
+ ): NormalizedFieldValueEntry<T, L>[] {
77
102
  if (isLocalized(field)) {
78
103
  const localizedValue = value as LocalizedFieldValue<T, L>;
79
104
 
@@ -89,7 +114,7 @@ export function fieldValueToEntries<T = unknown, L extends string = string>(
89
114
  /**
90
115
  * Converts an array of possibly localized entries back into the appropriate field value format.
91
116
  *
92
- * This function is the inverse of `fieldValueToEntries`. It takes a uniform
117
+ * This function is the inverse of `toNormalizedFieldValueEntries`. It takes a uniform
93
118
  * array of entries and converts them back to either a localized object or a direct value,
94
119
  * depending on the field's localization setting.
95
120
  *
@@ -97,9 +122,12 @@ export function fieldValueToEntries<T = unknown, L extends string = string>(
97
122
  * @param entries - Array of entries to convert back to field value format
98
123
  * @returns Either a localized object (for localized fields) or the direct value (for non-localized fields)
99
124
  */
100
- export function entriesToFieldValue<T = unknown, L extends string = string>(
125
+ export function fromNormalizedFieldValueEntries<
126
+ T = unknown,
127
+ L extends string = string,
128
+ >(
101
129
  field: RawApiTypes.Field | ApiTypes.Field,
102
- entries: FieldValueEntry<T, L>[],
130
+ entries: NormalizedFieldValueEntry<T, L>[],
103
131
  ): T | LocalizedFieldValue<T, L> {
104
132
  if (isLocalized(field)) {
105
133
  return Object.fromEntries(
@@ -125,7 +153,7 @@ export function entriesToFieldValue<T = unknown, L extends string = string>(
125
153
  * @param mapFn - The function to apply to each locale value or the direct value
126
154
  * @returns The mapped value with the same structure as the input
127
155
  */
128
- export function mapFieldValue<
156
+ export function mapNormalizedFieldValues<
129
157
  TInput = unknown,
130
158
  TOutput = unknown,
131
159
  L extends string = string,
@@ -134,12 +162,12 @@ export function mapFieldValue<
134
162
  value: TInput | LocalizedFieldValue<TInput, L>,
135
163
  mapFn: (locale: L | undefined, localeValue: TInput) => TOutput,
136
164
  ): TOutput | LocalizedFieldValue<TOutput, L> {
137
- const entries = fieldValueToEntries<TInput, L>(field, value);
165
+ const entries = toNormalizedFieldValueEntries<TInput, L>(field, value);
138
166
  const mappedEntries = entries.map(({ locale, value }) => ({
139
167
  locale,
140
168
  value: mapFn(locale, value),
141
169
  }));
142
- return entriesToFieldValue<TOutput, L>(field, mappedEntries);
170
+ return fromNormalizedFieldValueEntries<TOutput, L>(field, mappedEntries);
143
171
  }
144
172
 
145
173
  /**
@@ -153,7 +181,7 @@ export function mapFieldValue<
153
181
  * @param mapFn - The function to apply to each locale value or the direct value
154
182
  * @returns The mapped value with the same structure as the input
155
183
  */
156
- export async function mapFieldValueAsync<
184
+ export async function mapNormalizedFieldValuesAsync<
157
185
  TInput = unknown,
158
186
  TOutput = unknown,
159
187
  L extends string = string,
@@ -162,14 +190,14 @@ export async function mapFieldValueAsync<
162
190
  value: TInput | LocalizedFieldValue<TInput, L>,
163
191
  mapFn: (locale: L | undefined, localeValue: TInput) => Promise<TOutput>,
164
192
  ): Promise<TOutput | LocalizedFieldValue<TOutput, L>> {
165
- const entries = fieldValueToEntries<TInput, L>(field, value);
193
+ const entries = toNormalizedFieldValueEntries<TInput, L>(field, value);
166
194
  const mappedEntries = await Promise.all(
167
195
  entries.map(async ({ locale, value }) => ({
168
196
  locale,
169
197
  value: await mapFn(locale, value),
170
198
  })),
171
199
  );
172
- return entriesToFieldValue<TOutput, L>(field, mappedEntries);
200
+ return fromNormalizedFieldValueEntries<TOutput, L>(field, mappedEntries);
173
201
  }
174
202
 
175
203
  /**
@@ -182,18 +210,21 @@ export async function mapFieldValueAsync<
182
210
  * @param filterFn - The function to test each locale value or the direct value
183
211
  * @returns The filtered value with the same structure as the input
184
212
  */
185
- export function filterFieldValue<T = unknown, L extends string = string>(
213
+ export function filterNormalizedFieldValues<
214
+ T = unknown,
215
+ L extends string = string,
216
+ >(
186
217
  field: RawApiTypes.Field | ApiTypes.Field,
187
218
  value: T | LocalizedFieldValue<T, L>,
188
219
  filterFn: (locale: L | undefined, localeValue: T) => boolean,
189
220
  ): T | LocalizedFieldValue<T, L> | undefined {
190
- const entries = fieldValueToEntries<T, L>(field, value);
221
+ const entries = toNormalizedFieldValueEntries<T, L>(field, value);
191
222
  const filteredEntries = entries.filter((entry) =>
192
223
  filterFn(entry.locale, entry.value),
193
224
  );
194
225
 
195
226
  if (isLocalized(field)) {
196
- return entriesToFieldValue<T, L>(field, filteredEntries);
227
+ return fromNormalizedFieldValueEntries<T, L>(field, filteredEntries);
197
228
  }
198
229
 
199
230
  return filteredEntries.length > 0 ? filteredEntries[0]?.value : undefined;
@@ -209,7 +240,7 @@ export function filterFieldValue<T = unknown, L extends string = string>(
209
240
  * @param filterFn - The function to test each locale value or the direct value
210
241
  * @returns The filtered value with the same structure as the input
211
242
  */
212
- export async function filterFieldValueAsync<
243
+ export async function filterNormalizedFieldValuesAsync<
213
244
  T = unknown,
214
245
  L extends string = string,
215
246
  >(
@@ -217,7 +248,7 @@ export async function filterFieldValueAsync<
217
248
  value: T | LocalizedFieldValue<T, L>,
218
249
  filterFn: (locale: L | undefined, localeValue: T) => Promise<boolean>,
219
250
  ): Promise<T | LocalizedFieldValue<T, L> | undefined> {
220
- const entries = fieldValueToEntries<T, L>(field, value);
251
+ const entries = toNormalizedFieldValueEntries<T, L>(field, value);
221
252
  const results = await Promise.all(
222
253
  entries.map(async ({ locale, value }) => ({
223
254
  locale,
@@ -231,7 +262,7 @@ export async function filterFieldValueAsync<
231
262
  .map(({ locale, value }) => ({ locale, value }));
232
263
 
233
264
  if (isLocalized(field)) {
234
- return entriesToFieldValue<T, L>(field, filteredEntries);
265
+ return fromNormalizedFieldValueEntries<T, L>(field, filteredEntries);
235
266
  }
236
267
 
237
268
  return filteredEntries.length > 0 ? filteredEntries[0]?.value : undefined;
@@ -247,12 +278,15 @@ export async function filterFieldValueAsync<
247
278
  * @param testFn - The function to test each locale value or the direct value
248
279
  * @returns true if at least one value passes the test, false otherwise
249
280
  */
250
- export function someFieldValue<T = unknown, L extends string = string>(
281
+ export function someNormalizedFieldValues<
282
+ T = unknown,
283
+ L extends string = string,
284
+ >(
251
285
  field: RawApiTypes.Field | ApiTypes.Field,
252
286
  value: T | LocalizedFieldValue<T, L>,
253
287
  testFn: (locale: L | undefined, localeValue: T) => boolean,
254
288
  ): boolean {
255
- const entries = fieldValueToEntries<T, L>(field, value);
289
+ const entries = toNormalizedFieldValueEntries<T, L>(field, value);
256
290
  return entries.some(({ locale, value }) => testFn(locale, value));
257
291
  }
258
292
 
@@ -266,7 +300,7 @@ export function someFieldValue<T = unknown, L extends string = string>(
266
300
  * @param testFn - The function to test each locale value or the direct value
267
301
  * @returns true if at least one value passes the test, false otherwise
268
302
  */
269
- export async function someFieldValueAsync<
303
+ export async function someNormalizedFieldValuesAsync<
270
304
  T = unknown,
271
305
  L extends string = string,
272
306
  >(
@@ -274,7 +308,7 @@ export async function someFieldValueAsync<
274
308
  value: T | LocalizedFieldValue<T, L>,
275
309
  testFn: (locale: L | undefined, localeValue: T) => Promise<boolean>,
276
310
  ): Promise<boolean> {
277
- const entries = fieldValueToEntries<T, L>(field, value);
311
+ const entries = toNormalizedFieldValueEntries<T, L>(field, value);
278
312
  const results = await Promise.all(
279
313
  entries.map(({ locale, value }) => testFn(locale, value)),
280
314
  );
@@ -291,12 +325,15 @@ export async function someFieldValueAsync<
291
325
  * @param testFn - The function to test each locale value or the direct value
292
326
  * @returns true if all values pass the test, false otherwise
293
327
  */
294
- export function everyFieldValue<T = unknown, L extends string = string>(
328
+ export function everyNormalizedFieldValue<
329
+ T = unknown,
330
+ L extends string = string,
331
+ >(
295
332
  field: RawApiTypes.Field | ApiTypes.Field,
296
333
  value: T | LocalizedFieldValue<T, L>,
297
334
  testFn: (locale: L | undefined, localeValue: T) => boolean,
298
335
  ): boolean {
299
- return !someFieldValue(
336
+ return !someNormalizedFieldValues(
300
337
  field,
301
338
  value,
302
339
  (locale, localeValue) => !testFn(locale, localeValue),
@@ -313,7 +350,7 @@ export function everyFieldValue<T = unknown, L extends string = string>(
313
350
  * @param testFn - The function to test each locale value or the direct value
314
351
  * @returns true if all values pass the test, false otherwise
315
352
  */
316
- export async function everyFieldValueAsync<
353
+ export async function everyNormalizedFieldValueAsync<
317
354
  T = unknown,
318
355
  L extends string = string,
319
356
  >(
@@ -321,7 +358,7 @@ export async function everyFieldValueAsync<
321
358
  value: T | LocalizedFieldValue<T, L>,
322
359
  testFn: (locale: L | undefined, localeValue: T) => Promise<boolean>,
323
360
  ): Promise<boolean> {
324
- return !(await someFieldValueAsync(
361
+ return !(await someNormalizedFieldValuesAsync(
325
362
  field,
326
363
  value,
327
364
  async (locale, localeValue) => !(await testFn(locale, localeValue)),
@@ -337,12 +374,15 @@ export async function everyFieldValueAsync<
337
374
  * @param value - The field value (either localized object or direct value)
338
375
  * @param visitFn - The function to call for each locale value or the direct value
339
376
  */
340
- export function visitFieldValue<T = unknown, L extends string = string>(
377
+ export function visitNormalizedFieldValues<
378
+ T = unknown,
379
+ L extends string = string,
380
+ >(
341
381
  field: RawApiTypes.Field | ApiTypes.Field,
342
382
  value: T | LocalizedFieldValue<T, L>,
343
383
  visitFn: (locale: L | undefined, localeValue: T) => void,
344
384
  ): void {
345
- const entries = fieldValueToEntries<T, L>(field, value);
385
+ const entries = toNormalizedFieldValueEntries<T, L>(field, value);
346
386
  for (const { locale, value } of entries) {
347
387
  visitFn(locale, value);
348
388
  }
@@ -357,7 +397,7 @@ export function visitFieldValue<T = unknown, L extends string = string>(
357
397
  * @param value - The field value (either localized object or direct value)
358
398
  * @param visitFn - The function to call for each locale value or the direct value
359
399
  */
360
- export async function visitFieldValueAsync<
400
+ export async function visitNormalizedFieldValuesAsync<
361
401
  T = unknown,
362
402
  L extends string = string,
363
403
  >(
@@ -365,6 +405,6 @@ export async function visitFieldValueAsync<
365
405
  value: T | LocalizedFieldValue<T, L>,
366
406
  visitFn: (locale: L | undefined, localeValue: T) => Promise<void>,
367
407
  ): Promise<void> {
368
- const entries = fieldValueToEntries<T, L>(field, value);
408
+ const entries = toNormalizedFieldValueEntries<T, L>(field, value);
369
409
  await Promise.all(entries.map(({ locale, value }) => visitFn(locale, value)));
370
410
  }