@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
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.visitFieldValueAsync = exports.visitFieldValue = exports.everyFieldValueAsync = exports.everyFieldValue = exports.someFieldValueAsync = exports.someFieldValue = exports.filterFieldValueAsync = exports.filterFieldValue = exports.mapFieldValueAsync = exports.mapFieldValue = exports.entriesToFieldValue = exports.fieldValueToEntries = exports.isLocalized = void 0;
12
+ exports.visitNormalizedFieldValuesAsync = exports.visitNormalizedFieldValues = exports.everyNormalizedFieldValueAsync = exports.everyNormalizedFieldValue = exports.someNormalizedFieldValuesAsync = exports.someNormalizedFieldValues = exports.filterNormalizedFieldValuesAsync = exports.filterNormalizedFieldValues = exports.mapNormalizedFieldValuesAsync = exports.mapNormalizedFieldValues = exports.fromNormalizedFieldValueEntries = exports.toNormalizedFieldValueEntries = exports.isLocalizedFieldValue = exports.isLocalized = void 0;
13
13
  /**
14
14
  * Determines whether a DatoCMS field is localized or not.
15
15
  *
@@ -23,6 +23,18 @@ function isLocalized(field) {
23
23
  return 'attributes' in field ? field.attributes.localized : field.localized;
24
24
  }
25
25
  exports.isLocalized = isLocalized;
26
+ function isLocalizedFieldValue(value) {
27
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
28
+ return false;
29
+ }
30
+ const keys = Object.keys(value);
31
+ if (keys.length === 0) {
32
+ return false;
33
+ }
34
+ const localePattern = /^[A-Za-z]{2,4}(-[A-Za-z]{4})?(-([A-Za-z]{2}|[0-9]{3}))?$/;
35
+ return keys.every((key) => localePattern.test(key));
36
+ }
37
+ exports.isLocalizedFieldValue = isLocalizedFieldValue;
26
38
  /**
27
39
  * Converts a field value (localized or non-localized) into a uniform array of entries.
28
40
  *
@@ -33,7 +45,7 @@ exports.isLocalized = isLocalized;
33
45
  * @param value - The field value to convert (either a localized object or direct value)
34
46
  * @returns Array of entries where each entry contains a locale (string for localized, undefined for non-localized) and the corresponding value
35
47
  */
36
- function fieldValueToEntries(field, value) {
48
+ function toNormalizedFieldValueEntries(field, value) {
37
49
  if (isLocalized(field)) {
38
50
  const localizedValue = value;
39
51
  return Object.entries(localizedValue).map(([locale, value]) => ({
@@ -43,11 +55,11 @@ function fieldValueToEntries(field, value) {
43
55
  }
44
56
  return [{ locale: undefined, value: value }];
45
57
  }
46
- exports.fieldValueToEntries = fieldValueToEntries;
58
+ exports.toNormalizedFieldValueEntries = toNormalizedFieldValueEntries;
47
59
  /**
48
60
  * Converts an array of possibly localized entries back into the appropriate field value format.
49
61
  *
50
- * This function is the inverse of `fieldValueToEntries`. It takes a uniform
62
+ * This function is the inverse of `toNormalizedFieldValueEntries`. It takes a uniform
51
63
  * array of entries and converts them back to either a localized object or a direct value,
52
64
  * depending on the field's localization setting.
53
65
  *
@@ -55,7 +67,7 @@ exports.fieldValueToEntries = fieldValueToEntries;
55
67
  * @param entries - Array of entries to convert back to field value format
56
68
  * @returns Either a localized object (for localized fields) or the direct value (for non-localized fields)
57
69
  */
58
- function entriesToFieldValue(field, entries) {
70
+ function fromNormalizedFieldValueEntries(field, entries) {
59
71
  if (isLocalized(field)) {
60
72
  return Object.fromEntries(entries.map(({ locale, value }) => [locale, value]));
61
73
  }
@@ -64,7 +76,7 @@ function entriesToFieldValue(field, entries) {
64
76
  }
65
77
  return entries[0].value;
66
78
  }
67
- exports.entriesToFieldValue = entriesToFieldValue;
79
+ exports.fromNormalizedFieldValueEntries = fromNormalizedFieldValueEntries;
68
80
  /**
69
81
  * Maps field values using a provided mapping function.
70
82
  * For localized fields, applies the mapping function to each locale value.
@@ -76,15 +88,15 @@ exports.entriesToFieldValue = entriesToFieldValue;
76
88
  * @param mapFn - The function to apply to each locale value or the direct value
77
89
  * @returns The mapped value with the same structure as the input
78
90
  */
79
- function mapFieldValue(field, value, mapFn) {
80
- const entries = fieldValueToEntries(field, value);
91
+ function mapNormalizedFieldValues(field, value, mapFn) {
92
+ const entries = toNormalizedFieldValueEntries(field, value);
81
93
  const mappedEntries = entries.map(({ locale, value }) => ({
82
94
  locale,
83
95
  value: mapFn(locale, value),
84
96
  }));
85
- return entriesToFieldValue(field, mappedEntries);
97
+ return fromNormalizedFieldValueEntries(field, mappedEntries);
86
98
  }
87
- exports.mapFieldValue = mapFieldValue;
99
+ exports.mapNormalizedFieldValues = mapNormalizedFieldValues;
88
100
  /**
89
101
  * Maps field values using a provided mapping function (async version).
90
102
  * For localized fields, applies the mapping function to each locale value.
@@ -96,19 +108,19 @@ exports.mapFieldValue = mapFieldValue;
96
108
  * @param mapFn - The function to apply to each locale value or the direct value
97
109
  * @returns The mapped value with the same structure as the input
98
110
  */
99
- function mapFieldValueAsync(field, value, mapFn) {
111
+ function mapNormalizedFieldValuesAsync(field, value, mapFn) {
100
112
  return __awaiter(this, void 0, void 0, function* () {
101
- const entries = fieldValueToEntries(field, value);
113
+ const entries = toNormalizedFieldValueEntries(field, value);
102
114
  const mappedEntries = yield Promise.all(entries.map(({ locale, value }) => __awaiter(this, void 0, void 0, function* () {
103
115
  return ({
104
116
  locale,
105
117
  value: yield mapFn(locale, value),
106
118
  });
107
119
  })));
108
- return entriesToFieldValue(field, mappedEntries);
120
+ return fromNormalizedFieldValueEntries(field, mappedEntries);
109
121
  });
110
122
  }
111
- exports.mapFieldValueAsync = mapFieldValueAsync;
123
+ exports.mapNormalizedFieldValuesAsync = mapNormalizedFieldValuesAsync;
112
124
  /**
113
125
  * Filters field values using a provided filter function.
114
126
  * For localized fields, filters each locale value.
@@ -119,16 +131,16 @@ exports.mapFieldValueAsync = mapFieldValueAsync;
119
131
  * @param filterFn - The function to test each locale value or the direct value
120
132
  * @returns The filtered value with the same structure as the input
121
133
  */
122
- function filterFieldValue(field, value, filterFn) {
134
+ function filterNormalizedFieldValues(field, value, filterFn) {
123
135
  var _a;
124
- const entries = fieldValueToEntries(field, value);
136
+ const entries = toNormalizedFieldValueEntries(field, value);
125
137
  const filteredEntries = entries.filter((entry) => filterFn(entry.locale, entry.value));
126
138
  if (isLocalized(field)) {
127
- return entriesToFieldValue(field, filteredEntries);
139
+ return fromNormalizedFieldValueEntries(field, filteredEntries);
128
140
  }
129
141
  return filteredEntries.length > 0 ? (_a = filteredEntries[0]) === null || _a === void 0 ? void 0 : _a.value : undefined;
130
142
  }
131
- exports.filterFieldValue = filterFieldValue;
143
+ exports.filterNormalizedFieldValues = filterNormalizedFieldValues;
132
144
  /**
133
145
  * Filters field values using a provided filter function (async version).
134
146
  * For localized fields, filters each locale value.
@@ -139,10 +151,10 @@ exports.filterFieldValue = filterFieldValue;
139
151
  * @param filterFn - The function to test each locale value or the direct value
140
152
  * @returns The filtered value with the same structure as the input
141
153
  */
142
- function filterFieldValueAsync(field, value, filterFn) {
154
+ function filterNormalizedFieldValuesAsync(field, value, filterFn) {
143
155
  var _a;
144
156
  return __awaiter(this, void 0, void 0, function* () {
145
- const entries = fieldValueToEntries(field, value);
157
+ const entries = toNormalizedFieldValueEntries(field, value);
146
158
  const results = yield Promise.all(entries.map(({ locale, value }) => __awaiter(this, void 0, void 0, function* () {
147
159
  return ({
148
160
  locale,
@@ -154,12 +166,12 @@ function filterFieldValueAsync(field, value, filterFn) {
154
166
  .filter(({ passed }) => passed)
155
167
  .map(({ locale, value }) => ({ locale, value }));
156
168
  if (isLocalized(field)) {
157
- return entriesToFieldValue(field, filteredEntries);
169
+ return fromNormalizedFieldValueEntries(field, filteredEntries);
158
170
  }
159
171
  return filteredEntries.length > 0 ? (_a = filteredEntries[0]) === null || _a === void 0 ? void 0 : _a.value : undefined;
160
172
  });
161
173
  }
162
- exports.filterFieldValueAsync = filterFieldValueAsync;
174
+ exports.filterNormalizedFieldValuesAsync = filterNormalizedFieldValuesAsync;
163
175
  /**
164
176
  * Tests whether at least one field value passes the test implemented by the provided function.
165
177
  * For localized fields, tests each locale value.
@@ -170,11 +182,11 @@ exports.filterFieldValueAsync = filterFieldValueAsync;
170
182
  * @param testFn - The function to test each locale value or the direct value
171
183
  * @returns true if at least one value passes the test, false otherwise
172
184
  */
173
- function someFieldValue(field, value, testFn) {
174
- const entries = fieldValueToEntries(field, value);
185
+ function someNormalizedFieldValues(field, value, testFn) {
186
+ const entries = toNormalizedFieldValueEntries(field, value);
175
187
  return entries.some(({ locale, value }) => testFn(locale, value));
176
188
  }
177
- exports.someFieldValue = someFieldValue;
189
+ exports.someNormalizedFieldValues = someNormalizedFieldValues;
178
190
  /**
179
191
  * Tests whether at least one field value passes the test implemented by the provided function (async version).
180
192
  * For localized fields, tests each locale value.
@@ -185,14 +197,14 @@ exports.someFieldValue = someFieldValue;
185
197
  * @param testFn - The function to test each locale value or the direct value
186
198
  * @returns true if at least one value passes the test, false otherwise
187
199
  */
188
- function someFieldValueAsync(field, value, testFn) {
200
+ function someNormalizedFieldValuesAsync(field, value, testFn) {
189
201
  return __awaiter(this, void 0, void 0, function* () {
190
- const entries = fieldValueToEntries(field, value);
202
+ const entries = toNormalizedFieldValueEntries(field, value);
191
203
  const results = yield Promise.all(entries.map(({ locale, value }) => testFn(locale, value)));
192
204
  return results.some((result) => result);
193
205
  });
194
206
  }
195
- exports.someFieldValueAsync = someFieldValueAsync;
207
+ exports.someNormalizedFieldValuesAsync = someNormalizedFieldValuesAsync;
196
208
  /**
197
209
  * Tests whether all field values pass the test implemented by the provided function.
198
210
  * For localized fields, tests each locale value.
@@ -203,10 +215,10 @@ exports.someFieldValueAsync = someFieldValueAsync;
203
215
  * @param testFn - The function to test each locale value or the direct value
204
216
  * @returns true if all values pass the test, false otherwise
205
217
  */
206
- function everyFieldValue(field, value, testFn) {
207
- return !someFieldValue(field, value, (locale, localeValue) => !testFn(locale, localeValue));
218
+ function everyNormalizedFieldValue(field, value, testFn) {
219
+ return !someNormalizedFieldValues(field, value, (locale, localeValue) => !testFn(locale, localeValue));
208
220
  }
209
- exports.everyFieldValue = everyFieldValue;
221
+ exports.everyNormalizedFieldValue = everyNormalizedFieldValue;
210
222
  /**
211
223
  * Tests whether all field values pass the test implemented by the provided function (async version).
212
224
  * For localized fields, tests each locale value.
@@ -217,12 +229,12 @@ exports.everyFieldValue = everyFieldValue;
217
229
  * @param testFn - The function to test each locale value or the direct value
218
230
  * @returns true if all values pass the test, false otherwise
219
231
  */
220
- function everyFieldValueAsync(field, value, testFn) {
232
+ function everyNormalizedFieldValueAsync(field, value, testFn) {
221
233
  return __awaiter(this, void 0, void 0, function* () {
222
- return !(yield someFieldValueAsync(field, value, (locale, localeValue) => __awaiter(this, void 0, void 0, function* () { return !(yield testFn(locale, localeValue)); })));
234
+ return !(yield someNormalizedFieldValuesAsync(field, value, (locale, localeValue) => __awaiter(this, void 0, void 0, function* () { return !(yield testFn(locale, localeValue)); })));
223
235
  });
224
236
  }
225
- exports.everyFieldValueAsync = everyFieldValueAsync;
237
+ exports.everyNormalizedFieldValueAsync = everyNormalizedFieldValueAsync;
226
238
  /**
227
239
  * Visits each field value with the provided function.
228
240
  * For localized fields, visits each locale value.
@@ -232,13 +244,13 @@ exports.everyFieldValueAsync = everyFieldValueAsync;
232
244
  * @param value - The field value (either localized object or direct value)
233
245
  * @param visitFn - The function to call for each locale value or the direct value
234
246
  */
235
- function visitFieldValue(field, value, visitFn) {
236
- const entries = fieldValueToEntries(field, value);
247
+ function visitNormalizedFieldValues(field, value, visitFn) {
248
+ const entries = toNormalizedFieldValueEntries(field, value);
237
249
  for (const { locale, value } of entries) {
238
250
  visitFn(locale, value);
239
251
  }
240
252
  }
241
- exports.visitFieldValue = visitFieldValue;
253
+ exports.visitNormalizedFieldValues = visitNormalizedFieldValues;
242
254
  /**
243
255
  * Visits each field value with the provided function (async version).
244
256
  * For localized fields, visits each locale value.
@@ -248,11 +260,11 @@ exports.visitFieldValue = visitFieldValue;
248
260
  * @param value - The field value (either localized object or direct value)
249
261
  * @param visitFn - The function to call for each locale value or the direct value
250
262
  */
251
- function visitFieldValueAsync(field, value, visitFn) {
263
+ function visitNormalizedFieldValuesAsync(field, value, visitFn) {
252
264
  return __awaiter(this, void 0, void 0, function* () {
253
- const entries = fieldValueToEntries(field, value);
265
+ const entries = toNormalizedFieldValueEntries(field, value);
254
266
  yield Promise.all(entries.map(({ locale, value }) => visitFn(locale, value)));
255
267
  });
256
268
  }
257
- exports.visitFieldValueAsync = visitFieldValueAsync;
258
- //# sourceMappingURL=fieldValue.js.map
269
+ exports.visitNormalizedFieldValuesAsync = visitNormalizedFieldValuesAsync;
270
+ //# sourceMappingURL=normalizedFieldValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizedFieldValues.js","sourceRoot":"","sources":["../../../src/utilities/normalizedFieldValues.ts"],"names":[],"mappings":";;;;;;;;;;;;AAkCA;;;;;;;;GAQG;AACH,SAAgB,WAAW,CACzB,KAAyC;IAEzC,OAAO,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;AAC9E,CAAC;AAJD,kCAIC;AAED,SAAgB,qBAAqB,CACnC,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvE,OAAO,KAAK,CAAC;KACd;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,aAAa,GACjB,0DAA0D,CAAC;IAE7D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAjBD,sDAiBC;AAkBD;;;;;;;;;GASG;AACH,SAAgB,6BAA6B,CAI3C,KAAyC,EACzC,KAAoC;IAEpC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;QACtB,MAAM,cAAc,GAAG,KAAkC,CAAC;QAE1D,OAAO,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9D,MAAM,EAAE,MAAW;YACnB,KAAK,EAAE,KAAU;SAClB,CAAC,CAAC,CAAC;KACL;IAED,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAU,EAAE,CAAC,CAAC;AACpD,CAAC;AAjBD,sEAiBC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,+BAA+B,CAI7C,KAAyC,EACzC,OAA0C;IAE1C,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,WAAW,CACvB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACvB,CAAC;KAChC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IAED,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;AAC3B,CAAC;AAlBD,0EAkBC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,wBAAwB,CAKtC,KAAyC,EACzC,KAA8C,EAC9C,KAA8D;IAE9D,MAAM,OAAO,GAAG,6BAA6B,CAAY,KAAK,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM;QACN,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;KAC5B,CAAC,CAAC,CAAC;IACJ,OAAO,+BAA+B,CAAa,KAAK,EAAE,aAAa,CAAC,CAAC;AAC3E,CAAC;AAfD,4DAeC;AAED;;;;;;;;;;GAUG;AACH,SAAsB,6BAA6B,CAKjD,KAAyC,EACzC,KAA8C,EAC9C,KAAuE;;QAEvE,MAAM,OAAO,GAAG,6BAA6B,CAAY,KAAK,EAAE,KAAK,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,OAAO,CAAC,GAAG,CAAC,CAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAAC,OAAA,CAAC;gBACxC,MAAM;gBACN,KAAK,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;aAClC,CAAC,CAAA;UAAA,CAAC,CACJ,CAAC;QACF,OAAO,+BAA+B,CAAa,KAAK,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;CAAA;AAjBD,sEAiBC;AAED;;;;;;;;;GASG;AACH,SAAgB,2BAA2B,CAIzC,KAAyC,EACzC,KAAoC,EACpC,QAA4D;;IAE5D,MAAM,OAAO,GAAG,6BAA6B,CAAO,KAAK,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/C,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CACpC,CAAC;IAEF,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO,+BAA+B,CAAO,KAAK,EAAE,eAAe,CAAC,CAAC;KACtE;IAED,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5E,CAAC;AAlBD,kEAkBC;AAED;;;;;;;;;GASG;AACH,SAAsB,gCAAgC,CAIpD,KAAyC,EACzC,KAAoC,EACpC,QAAqE;;;QAErE,MAAM,OAAO,GAAG,6BAA6B,CAAO,KAAK,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,CAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAAC,OAAA,CAAC;gBACxC,MAAM;gBACN,KAAK;gBACL,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;aACtC,CAAC,CAAA;UAAA,CAAC,CACJ,CAAC;QAEF,MAAM,eAAe,GAAG,OAAO;aAC5B,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC;aAC9B,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAEnD,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;YACtB,OAAO,+BAA+B,CAAO,KAAK,EAAE,eAAe,CAAC,CAAC;SACtE;QAED,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;;CAC3E;AA1BD,4EA0BC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CAIvC,KAAyC,EACzC,KAAoC,EACpC,MAA0D;IAE1D,MAAM,OAAO,GAAG,6BAA6B,CAAO,KAAK,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACpE,CAAC;AAVD,8DAUC;AAED;;;;;;;;;GASG;AACH,SAAsB,8BAA8B,CAIlD,KAAyC,EACzC,KAAoC,EACpC,MAAmE;;QAEnE,MAAM,OAAO,GAAG,6BAA6B,CAAO,KAAK,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;CAAA;AAbD,wEAaC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CAIvC,KAAyC,EACzC,KAAoC,EACpC,MAA0D;IAE1D,OAAO,CAAC,yBAAyB,CAC/B,KAAK,EACL,KAAK,EACL,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CACtD,CAAC;AACJ,CAAC;AAbD,8DAaC;AAED;;;;;;;;;GASG;AACH,SAAsB,8BAA8B,CAIlD,KAAyC,EACzC,KAAoC,EACpC,MAAmE;;QAEnE,OAAO,CAAC,CAAC,MAAM,8BAA8B,CAC3C,KAAK,EACL,KAAK,EACL,CAAO,MAAM,EAAE,WAAW,EAAE,EAAE,gDAAC,OAAA,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA,GAAA,CACpE,CAAC,CAAC;IACL,CAAC;CAAA;AAbD,wEAaC;AAED;;;;;;;;GAQG;AACH,SAAgB,0BAA0B,CAIxC,KAAyC,EACzC,KAAoC,EACpC,OAAwD;IAExD,MAAM,OAAO,GAAG,6BAA6B,CAAO,KAAK,EAAE,KAAK,CAAC,CAAC;IAClE,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE;QACvC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KACxB;AACH,CAAC;AAZD,gEAYC;AAED;;;;;;;;GAQG;AACH,SAAsB,+BAA+B,CAInD,KAAyC,EACzC,KAAoC,EACpC,OAAiE;;QAEjE,MAAM,OAAO,GAAG,6BAA6B,CAAO,KAAK,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;CAAA;AAVD,0EAUC"}
@@ -9,13 +9,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.mapBlocksInFieldValues = exports.everyBlockInFieldValues = exports.someBlocksInFieldValues = exports.reduceBlocksInFieldValues = exports.filterBlocksInFieldValues = exports.findAllBlocksInFieldValues = exports.visitBlocksInFieldValues = void 0;
12
+ exports.mapBlocksInNonLocalizedFieldValue = exports.everyBlockInNonLocalizedFieldValue = exports.someBlocksInNonLocalizedFieldValue = exports.reduceBlocksInNonLocalizedFieldValue = exports.filterBlocksInNonLocalizedFieldValue = exports.findAllBlocksInNonLocalizedFieldValue = exports.visitBlocksInNonLocalizedFieldValue = void 0;
13
13
  const fieldTypes_1 = require("../fieldTypes");
14
- const blocks_1 = require("./blocks");
15
- const fieldValue_1 = require("./fieldValue");
16
- function visitBlocksInFieldValues(schemaRepository, field, value, visitor, path = []) {
14
+ const nonRecursiveBlocks_1 = require("./nonRecursiveBlocks");
15
+ /**
16
+ * Recursively visit every block in a non-localized field value and all nested blocks within those blocks.
17
+ * This function traverses not only the direct blocks in the non-localized field value but also recursively
18
+ * visits blocks contained within the attributes of each block, creating a complete traversal
19
+ * of the entire block hierarchy.
20
+ *
21
+ * @param schemaRepository - Repository for accessing DatoCMS schema information to resolve block structures
22
+ * @param fieldType - The type of DatoCMS field definition that determines how the value is processed
23
+ * @param nonLocalizedFieldValue - The non-localized field value containing blocks to visit
24
+ * @param visitor - Asynchronous function called for each block found, including nested blocks
25
+ * @returns Promise that resolves when all blocks and nested blocks have been visited
26
+ */
27
+ function visitBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, nonLocalizedFieldValue, visitor, path = []) {
17
28
  return __awaiter(this, void 0, void 0, function* () {
18
- yield (0, blocks_1.nonRecursiveVisitBlocksInFieldValueAsync)(field, value, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
29
+ yield (0, nonRecursiveBlocks_1.nonRecursiveVisitBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
19
30
  yield visitor(block, [...path, ...innerPath]);
20
31
  if (!(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(block)) {
21
32
  return;
@@ -23,52 +34,61 @@ function visitBlocksInFieldValues(schemaRepository, field, value, visitor, path
23
34
  const itemType = yield schemaRepository.getRawItemTypeById(block.relationships.item_type.data.id);
24
35
  const fields = yield schemaRepository.getRawItemTypeFields(itemType);
25
36
  for (const field of fields) {
26
- yield (0, fieldValue_1.visitFieldValueAsync)(field, block.attributes[field.attributes.api_key], (locale, valueForLocale) => visitBlocksInFieldValues(schemaRepository, field, valueForLocale, visitor, [
27
- ...path,
28
- ...innerPath,
29
- 'attributes',
30
- field.attributes.api_key,
31
- ...(locale ? [locale] : []),
32
- ]));
37
+ yield visitBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, block.attributes[field.attributes.api_key], visitor, [...path, ...innerPath, 'attributes', field.attributes.api_key]);
33
38
  }
34
39
  }));
35
40
  });
36
41
  }
37
- exports.visitBlocksInFieldValues = visitBlocksInFieldValues;
38
- function findAllBlocksInFieldValues(schemaRepository, field, value, predicate, path = []) {
42
+ exports.visitBlocksInNonLocalizedFieldValue = visitBlocksInNonLocalizedFieldValue;
43
+ /**
44
+ * Recursively find all blocks that match the predicate function in a non-localized field value.
45
+ * Searches through all direct blocks and recursively through nested blocks within
46
+ * the attributes of each block, returning all matches found throughout the hierarchy.
47
+ *
48
+ * @param schemaRepository - Repository for accessing DatoCMS schema information to resolve block structures
49
+ * @param fieldType - The type of DatoCMS field definition that determines how the value is processed
50
+ * @param nonLocalizedFieldValue - The non-localized field value containing blocks to search
51
+ * @param predicate - Asynchronous function that tests each block, including nested ones
52
+ * @returns Promise that resolves to an array of objects, each containing a matching block and its full path
53
+ */
54
+ function findAllBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, nonLocalizedFieldValue, predicate, path = []) {
39
55
  return __awaiter(this, void 0, void 0, function* () {
40
56
  const results = [];
41
- const directMatches = yield (0, blocks_1.nonRecursiveFindAllBlocksInFieldValueAsync)(field, value, (block, innerPath) => __awaiter(this, void 0, void 0, function* () { return yield predicate(block, [...path, ...innerPath]); }));
57
+ const directMatches = yield (0, nonRecursiveBlocks_1.nonRecursiveFindAllBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () { return yield predicate(block, [...path, ...innerPath]); }));
42
58
  results.push(...directMatches.map(({ item, path: innerPath }) => ({
43
59
  item,
44
60
  path: [...path, ...innerPath],
45
61
  })));
46
- yield (0, blocks_1.nonRecursiveVisitBlocksInFieldValueAsync)(field, value, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
62
+ yield (0, nonRecursiveBlocks_1.nonRecursiveVisitBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
47
63
  if (!(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(block)) {
48
64
  return;
49
65
  }
50
66
  const itemType = yield schemaRepository.getRawItemTypeById(block.relationships.item_type.data.id);
51
67
  const fields = yield schemaRepository.getRawItemTypeFields(itemType);
52
68
  for (const field of fields) {
53
- yield (0, fieldValue_1.visitFieldValueAsync)(field, block.attributes[field.attributes.api_key], (locale, valueForLocale) => __awaiter(this, void 0, void 0, function* () {
54
- const nestedResults = yield findAllBlocksInFieldValues(schemaRepository, field, valueForLocale, predicate, [
55
- ...path,
56
- ...innerPath,
57
- 'attributes',
58
- field.attributes.api_key,
59
- ...(locale ? [locale] : []),
60
- ]);
61
- results.push(...nestedResults);
62
- }));
69
+ const nestedResults = yield findAllBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, block.attributes[field.attributes.api_key], predicate, [...path, ...innerPath, 'attributes', field.attributes.api_key]);
70
+ results.push(...nestedResults);
63
71
  }
64
72
  }));
65
73
  return results;
66
74
  });
67
75
  }
68
- exports.findAllBlocksInFieldValues = findAllBlocksInFieldValues;
69
- function filterBlocksInFieldValues(schemaRepository, field, value, predicate, path = []) {
76
+ exports.findAllBlocksInNonLocalizedFieldValue = findAllBlocksInNonLocalizedFieldValue;
77
+ /**
78
+ * Recursively filter blocks in a non-localized field value, removing those that don't match the predicate.
79
+ * Creates a new non-localized field value structure containing only blocks that pass the predicate test,
80
+ * including recursive filtering of nested blocks within block attributes. The filtering
81
+ * preserves the original non-localized field value structure and hierarchy.
82
+ *
83
+ * @param schemaRepository - Repository for accessing DatoCMS schema information to resolve block structures
84
+ * @param fieldType - The type of DatoCMS field definition that determines how the value is processed
85
+ * @param nonLocalizedFieldValue - The non-localized field value containing blocks to filter
86
+ * @param predicate - Asynchronous function that tests each block, including nested ones
87
+ * @returns Promise that resolves to the new non-localized field value with recursively filtered blocks
88
+ */
89
+ function filterBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, nonLocalizedFieldValue, predicate, path = []) {
70
90
  return __awaiter(this, void 0, void 0, function* () {
71
- return (0, blocks_1.nonRecursiveFilterBlocksInFieldValueAsync)(field, value, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
91
+ return (0, nonRecursiveBlocks_1.nonRecursiveFilterBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
72
92
  const blockPath = [...path, ...innerPath];
73
93
  const passes = yield predicate(block, blockPath);
74
94
  if (!passes) {
@@ -80,51 +100,64 @@ function filterBlocksInFieldValues(schemaRepository, field, value, predicate, pa
80
100
  const itemType = yield schemaRepository.getRawItemTypeById(block.relationships.item_type.data.id);
81
101
  const fields = yield schemaRepository.getRawItemTypeFields(itemType);
82
102
  for (const field of fields) {
83
- block.attributes[field.attributes.api_key] = yield (0, fieldValue_1.mapFieldValueAsync)(field, block.attributes[field.attributes.api_key], (locale, valueForLocale) => filterBlocksInFieldValues(schemaRepository, field, valueForLocale, predicate, [
84
- ...blockPath,
85
- 'attributes',
86
- field.attributes.api_key,
87
- ...(locale ? [locale] : []),
88
- ]));
103
+ block.attributes[field.attributes.api_key] =
104
+ yield filterBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, block.attributes[field.attributes.api_key], predicate, [...blockPath, 'attributes', field.attributes.api_key]);
89
105
  }
90
106
  return true;
91
107
  }));
92
108
  });
93
109
  }
94
- exports.filterBlocksInFieldValues = filterBlocksInFieldValues;
95
- function reduceBlocksInFieldValues(schemaRepository, field, value, reducer, initialValue, path = []) {
110
+ exports.filterBlocksInNonLocalizedFieldValue = filterBlocksInNonLocalizedFieldValue;
111
+ /**
112
+ * Recursively reduce all blocks in a non-localized field value to a single value by applying a reducer function.
113
+ * Processes each direct block and recursively processes nested blocks within block attributes,
114
+ * accumulating results from the entire block hierarchy into a single value.
115
+ *
116
+ * @template R - The type of the accumulated result
117
+ * @param schemaRepository - Repository for accessing DatoCMS schema information to resolve block structures
118
+ * @param fieldType - The type of DatoCMS field definition that determines how the value is processed
119
+ * @param nonLocalizedFieldValue - The non-localized field value containing blocks to reduce
120
+ * @param reducer - Asynchronous function that processes each block and updates the accumulator
121
+ * @param initialNonLocalizedFieldValue - The initial value for the accumulator
122
+ * @returns Promise that resolves to the final accumulated value from all blocks in the hierarchy
123
+ */
124
+ function reduceBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, nonLocalizedFieldValue, reducer, initialValue, path = []) {
96
125
  return __awaiter(this, void 0, void 0, function* () {
97
- let accumulator = yield (0, blocks_1.nonRecursiveReduceBlocksInFieldValueAsync)(field, value, (acc, block, innerPath) => __awaiter(this, void 0, void 0, function* () { return yield reducer(acc, block, [...path, ...innerPath]); }), initialValue);
98
- yield (0, blocks_1.nonRecursiveVisitBlocksInFieldValueAsync)(field, value, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
126
+ let accumulator = yield (0, nonRecursiveBlocks_1.nonRecursiveReduceBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (acc, block, innerPath) => __awaiter(this, void 0, void 0, function* () { return yield reducer(acc, block, [...path, ...innerPath]); }), initialValue);
127
+ yield (0, nonRecursiveBlocks_1.nonRecursiveVisitBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
99
128
  if (!(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(block)) {
100
129
  return;
101
130
  }
102
131
  const itemType = yield schemaRepository.getRawItemTypeById(block.relationships.item_type.data.id);
103
132
  const fields = yield schemaRepository.getRawItemTypeFields(itemType);
104
133
  for (const field of fields) {
105
- yield (0, fieldValue_1.visitFieldValueAsync)(field, block.attributes[field.attributes.api_key], (locale, valueForLocale) => __awaiter(this, void 0, void 0, function* () {
106
- accumulator = yield reduceBlocksInFieldValues(schemaRepository, field, valueForLocale, reducer, accumulator, [
107
- ...path,
108
- ...innerPath,
109
- 'attributes',
110
- field.attributes.api_key,
111
- ...(locale ? [locale] : []),
112
- ]);
113
- }));
134
+ accumulator = yield reduceBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, block.attributes[field.attributes.api_key], reducer, accumulator, [...path, ...innerPath, 'attributes', field.attributes.api_key]);
114
135
  }
115
136
  }));
116
137
  return accumulator;
117
138
  });
118
139
  }
119
- exports.reduceBlocksInFieldValues = reduceBlocksInFieldValues;
120
- function someBlocksInFieldValues(schemaRepository, field, value, predicate, path = []) {
140
+ exports.reduceBlocksInNonLocalizedFieldValue = reduceBlocksInNonLocalizedFieldValue;
141
+ /**
142
+ * Recursively check if any block in the non-localized field value matches the predicate function.
143
+ * Tests both direct blocks and recursively tests nested blocks within block attributes.
144
+ * Returns true as soon as the first matching block is found anywhere in the hierarchy
145
+ * (short-circuit evaluation).
146
+ *
147
+ * @param schemaRepository - Repository for accessing DatoCMS schema information to resolve block structures
148
+ * @param fieldType - The type of DatoCMS field definition that determines how the value is processed
149
+ * @param nonLocalizedFieldValue - The non-localized field value containing blocks to test
150
+ * @param predicate - Asynchronous function that tests each block, including nested ones
151
+ * @returns Promise that resolves to true if any block in the hierarchy matches, false otherwise
152
+ */
153
+ function someBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, nonLocalizedFieldValue, predicate, path = []) {
121
154
  return __awaiter(this, void 0, void 0, function* () {
122
- const directMatch = yield (0, blocks_1.nonRecursiveSomeBlocksInFieldValueAsync)(field, value, (block, innerPath) => __awaiter(this, void 0, void 0, function* () { return yield predicate(block, [...path, ...innerPath]); }));
155
+ const directMatch = yield (0, nonRecursiveBlocks_1.nonRecursiveSomeBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () { return yield predicate(block, [...path, ...innerPath]); }));
123
156
  if (directMatch) {
124
157
  return true;
125
158
  }
126
159
  let found = false;
127
- yield (0, blocks_1.nonRecursiveVisitBlocksInFieldValueAsync)(field, value, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
160
+ yield (0, nonRecursiveBlocks_1.nonRecursiveVisitBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
128
161
  if (found || !(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(block)) {
129
162
  return;
130
163
  }
@@ -133,35 +166,49 @@ function someBlocksInFieldValues(schemaRepository, field, value, predicate, path
133
166
  for (const field of fields) {
134
167
  if (found)
135
168
  break;
136
- yield (0, fieldValue_1.visitFieldValueAsync)(field, block.attributes[field.attributes.api_key], (locale, valueForLocale) => __awaiter(this, void 0, void 0, function* () {
137
- if (found)
138
- return;
139
- const nestedMatch = yield someBlocksInFieldValues(schemaRepository, field, valueForLocale, predicate, [
140
- ...path,
141
- ...innerPath,
142
- 'attributes',
143
- field.attributes.api_key,
144
- ...(locale ? [locale] : []),
145
- ]);
146
- if (nestedMatch) {
147
- found = true;
148
- }
149
- }));
169
+ const nestedMatch = yield someBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, block.attributes[field.attributes.api_key], predicate, [...path, ...innerPath, 'attributes', field.attributes.api_key]);
170
+ if (nestedMatch) {
171
+ found = true;
172
+ }
150
173
  }
151
174
  }));
152
175
  return found;
153
176
  });
154
177
  }
155
- exports.someBlocksInFieldValues = someBlocksInFieldValues;
156
- function everyBlockInFieldValues(schemaRepository, field, value, predicate, path = []) {
178
+ exports.someBlocksInNonLocalizedFieldValue = someBlocksInNonLocalizedFieldValue;
179
+ /**
180
+ * Recursively check if every block in the non-localized field value matches the predicate function.
181
+ * Tests both direct blocks and recursively tests nested blocks within block attributes.
182
+ * Returns false as soon as the first non-matching block is found anywhere in the hierarchy
183
+ * (short-circuit evaluation).
184
+ *
185
+ * @param schemaRepository - Repository for accessing DatoCMS schema information to resolve block structures
186
+ * @param fieldType - The type of DatoCMS field definition that determines how the value is processed
187
+ * @param nonLocalizedFieldValue - The non-localized field value containing blocks to test
188
+ * @param predicate - Asynchronous function that tests each block, including nested ones
189
+ * @returns Promise that resolves to true if all blocks in the hierarchy match, false otherwise
190
+ */
191
+ function everyBlockInNonLocalizedFieldValue(schemaRepository, fieldType, nonLocalizedFieldValue, predicate, path = []) {
157
192
  return __awaiter(this, void 0, void 0, function* () {
158
- return !(yield someBlocksInFieldValues(schemaRepository, field, value, (item, path) => __awaiter(this, void 0, void 0, function* () { return !(yield predicate(item, path)); }), path));
193
+ return !(yield someBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, nonLocalizedFieldValue, (item, path) => __awaiter(this, void 0, void 0, function* () { return !(yield predicate(item, path)); }), path));
159
194
  });
160
195
  }
161
- exports.everyBlockInFieldValues = everyBlockInFieldValues;
162
- function mapBlocksInFieldValues(schemaRepository, field, value, mapper, path = []) {
196
+ exports.everyBlockInNonLocalizedFieldValue = everyBlockInNonLocalizedFieldValue;
197
+ /**
198
+ * Recursively transform blocks in a non-localized field value by applying a mapping function to each block.
199
+ * Creates a new non-localized field value structure with transformed blocks while preserving the original
200
+ * structure. Applies the mapping function to both direct blocks and recursively to nested
201
+ * blocks within block attributes throughout the entire hierarchy.
202
+ *
203
+ * @param schemaRepository - Repository for accessing DatoCMS schema information to resolve block structures
204
+ * @param fieldType - The type of DatoCMS field definition that determines how the value is processed
205
+ * @param nonLocalizedFieldValue - The non-localized field value containing blocks to transform
206
+ * @param mapper - Asynchronous function that transforms each block, including nested ones
207
+ * @returns Promise that resolves to the new non-localized field value with recursively transformed blocks
208
+ */
209
+ function mapBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, nonLocalizedFieldValue, mapper, path = []) {
163
210
  return __awaiter(this, void 0, void 0, function* () {
164
- return (0, blocks_1.nonRecursiveMapBlocksInFieldValueAsync)(field, value, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
211
+ return (0, nonRecursiveBlocks_1.nonRecursiveMapBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
165
212
  const newBlock = yield mapper(block, [...path, ...innerPath]);
166
213
  if (!(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(newBlock)) {
167
214
  return newBlock;
@@ -170,17 +217,11 @@ function mapBlocksInFieldValues(schemaRepository, field, value, mapper, path = [
170
217
  const fields = yield schemaRepository.getRawItemTypeFields(itemType);
171
218
  for (const field of fields) {
172
219
  newBlock.attributes[field.attributes.api_key] =
173
- yield (0, fieldValue_1.mapFieldValueAsync)(field, newBlock.attributes[field.attributes.api_key], (locale, valueForLocale) => mapBlocksInFieldValues(schemaRepository, field, valueForLocale, mapper, [
174
- ...path,
175
- ...innerPath,
176
- 'attributes',
177
- field.attributes.api_key,
178
- ...(locale ? [locale] : []),
179
- ]));
220
+ yield mapBlocksInNonLocalizedFieldValue(schemaRepository, fieldType, newBlock.attributes[field.attributes.api_key], mapper, [...path, ...innerPath, 'attributes', field.attributes.api_key]);
180
221
  }
181
222
  return newBlock;
182
223
  }));
183
224
  });
184
225
  }
185
- exports.mapBlocksInFieldValues = mapBlocksInFieldValues;
226
+ exports.mapBlocksInNonLocalizedFieldValue = mapBlocksInNonLocalizedFieldValue;
186
227
  //# sourceMappingURL=recursiveBlocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recursiveBlocks.js","sourceRoot":"","sources":["../../../src/utilities/recursiveBlocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recursiveBlocks.js","sourceRoot":"","sources":["../../../src/utilities/recursiveBlocks.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAGuB;AAEvB,6DAO8B;AAQ9B;;;;;;;;;;;GAWG;AACH,SAAsB,mCAAmC,CACvD,gBAAkC,EAClC,SAAuC,EACvC,sBAA+B,EAC/B,OAA4E,EAC5E,OAAiB,EAAE;;QAEnB,MAAM,IAAA,yEAAoD,EACxD,SAAS,EACT,sBAAsB,EACtB,CAAO,KAAK,EAAE,SAAS,EAAE,EAAE;YACzB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAA,wCAA2B,EAAC,KAAK,CAAC,EAAE;gBACvC,OAAO;aACR;YAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CACxD,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACtC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAErE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,MAAM,mCAAmC,CACvC,gBAAgB,EAChB,SAAS,EACT,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAC1C,OAAO,EACP,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAChE,CAAC;aACH;QACH,CAAC,CAAA,CACF,CAAC;IACJ,CAAC;CAAA;AAlCD,kFAkCC;AAED;;;;;;;;;;GAUG;AACH,SAAsB,qCAAqC,CACzD,gBAAkC,EAClC,SAAuC,EACvC,sBAA+B,EAC/B,SAG+B,EAC/B,OAAiB,EAAE;;QAEnB,MAAM,OAAO,GAAyD,EAAE,CAAC;QAEzE,MAAM,aAAa,GACjB,MAAM,IAAA,2EAAsD,EAC1D,SAAS,EACT,sBAAsB,EACtB,CAAO,KAAK,EAAE,SAAS,EAAE,EAAE,gDACzB,OAAA,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAA,GAAA,CAClD,CAAC;QAEJ,OAAO,CAAC,IAAI,CACV,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI;YACJ,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;SAC9B,CAAC,CAAC,CACJ,CAAC;QAEF,MAAM,IAAA,yEAAoD,EACxD,SAAS,EACT,sBAAsB,EACtB,CAAO,KAAK,EAAE,SAAS,EAAE,EAAE;YACzB,IAAI,CAAC,IAAA,wCAA2B,EAAC,KAAK,CAAC,EAAE;gBACvC,OAAO;aACR;YAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CACxD,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACtC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAErE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,MAAM,aAAa,GAAG,MAAM,qCAAqC,CAC/D,gBAAgB,EAChB,SAAS,EACT,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAC1C,SAAS,EACT,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAChE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;aAChC;QACH,CAAC,CAAA,CACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA;AAvDD,sFAuDC;AAED;;;;;;;;;;;GAWG;AACH,SAAsB,oCAAoC,CACxD,gBAAkC,EAClC,SAAuC,EACvC,sBAA+B,EAC/B,SAG+B,EAC/B,OAAiB,EAAE;;QAEnB,OAAO,IAAA,0EAAqD,EAC1D,SAAS,EACT,sBAAsB,EACtB,CAAO,KAAK,EAAE,SAAS,EAAE,EAAE;YACzB,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,KAAK,CAAC;aACd;YAED,IAAI,CAAC,IAAA,wCAA2B,EAAC,KAAK,CAAC,EAAE;gBACvC,OAAO,IAAI,CAAC;aACb;YAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CACxD,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACtC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAErE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;oBACxC,MAAM,oCAAoC,CACxC,gBAAgB,EAChB,SAAS,EACT,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAC1C,SAAS,EACT,CAAC,GAAG,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CACvD,CAAC;aACL;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAA,CACF,CAAC;IACJ,CAAC;CAAA;AA7CD,oFA6CC;AAED;;;;;;;;;;;;GAYG;AACH,SAAsB,oCAAoC,CACxD,gBAAkC,EAClC,SAAuC,EACvC,sBAA+B,EAC/B,OAImB,EACnB,YAAe,EACf,OAAiB,EAAE;;QAEnB,IAAI,WAAW,GAAG,MAAM,IAAA,0EAAqD,EAC3E,SAAS,EACT,sBAAsB,EACtB,CAAO,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,gDAC9B,OAAA,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAA,GAAA,EACpD,YAAY,CACb,CAAC;QAEF,MAAM,IAAA,yEAAoD,EACxD,SAAS,EACT,sBAAsB,EACtB,CAAO,KAAK,EAAE,SAAS,EAAE,EAAE;YACzB,IAAI,CAAC,IAAA,wCAA2B,EAAC,KAAK,CAAC,EAAE;gBACvC,OAAO;aACR;YAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CACxD,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACtC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAErE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,WAAW,GAAG,MAAM,oCAAoC,CACtD,gBAAgB,EAChB,SAAS,EACT,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAC1C,OAAO,EACP,WAAW,EACX,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAChE,CAAC;aACH;QACH,CAAC,CAAA,CACF,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC;CAAA;AAhDD,oFAgDC;AAED;;;;;;;;;;;GAWG;AACH,SAAsB,kCAAkC,CACtD,gBAAkC,EAClC,SAAuC,EACvC,sBAA+B,EAC/B,SAG+B,EAC/B,OAAiB,EAAE;;QAEnB,MAAM,WAAW,GAAG,MAAM,IAAA,wEAAmD,EAC3E,SAAS,EACT,sBAAsB,EACtB,CAAO,KAAK,EAAE,SAAS,EAAE,EAAE,gDAAC,OAAA,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAA,GAAA,CAC5E,CAAC;QAEF,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QAED,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,MAAM,IAAA,yEAAoD,EACxD,SAAS,EACT,sBAAsB,EACtB,CAAO,KAAK,EAAE,SAAS,EAAE,EAAE;YACzB,IAAI,KAAK,IAAI,CAAC,IAAA,wCAA2B,EAAC,KAAK,CAAC,EAAE;gBAChD,OAAO;aACR;YAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CACxD,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACtC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAErE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,IAAI,KAAK;oBAAE,MAAM;gBAEjB,MAAM,WAAW,GAAG,MAAM,kCAAkC,CAC1D,gBAAgB,EAChB,SAAS,EACT,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAC1C,SAAS,EACT,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAChE,CAAC;gBAEF,IAAI,WAAW,EAAE;oBACf,KAAK,GAAG,IAAI,CAAC;iBACd;aACF;QACH,CAAC,CAAA,CACF,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;CAAA;AAtDD,gFAsDC;AAED;;;;;;;;;;;GAWG;AACH,SAAsB,kCAAkC,CACtD,gBAAkC,EAClC,SAAuC,EACvC,sBAA+B,EAC/B,SAG+B,EAC/B,OAAiB,EAAE;;QAEnB,OAAO,CAAC,CAAC,MAAM,kCAAkC,CAC/C,gBAAgB,EAChB,SAAS,EACT,sBAAsB,EACtB,CAAO,IAAI,EAAE,IAAI,EAAE,EAAE,gDAAC,OAAA,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA,GAAA,EACpD,IAAI,CACL,CAAC,CAAC;IACL,CAAC;CAAA;AAjBD,gFAiBC;AAED;;;;;;;;;;;GAWG;AACH,SAAsB,iCAAiC,CACrD,gBAAkC,EAClC,SAAuC,EACvC,sBAA+B,EAC/B,MAGuD,EACvD,OAAiB,EAAE;;QAEnB,OAAO,IAAA,uEAAkD,EACvD,SAAS,EACT,sBAAsB,EACtB,CAAO,KAAK,EAAE,SAAS,EAAE,EAAE;YACzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;YAE9D,IAAI,CAAC,IAAA,wCAA2B,EAAC,QAAQ,CAAC,EAAE;gBAC1C,OAAO,QAAQ,CAAC;aACjB;YAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CACxD,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACzC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAErE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC3C,MAAM,iCAAiC,CACrC,gBAAgB,EAChB,SAAS,EACT,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAC7C,MAAM,EACN,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAChE,CAAC;aACL;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAA,CACF,CAAC;IACJ,CAAC;CAAA;AAxCD,8EAwCC"}
@@ -27,7 +27,7 @@ const rest_client_utils_1 = require("@datocms/rest-client-utils");
27
27
  * - **Caching schema entities**: Automatically caches item types, fields, fieldsets,
28
28
  * and plugins after the first API request, returning cached results on subsequent calls
29
29
  * - **Complex traversal operations**: Essential when using utilities like
30
- * `mapBlocksInFieldValues()` that need to repeatedly lookup block models and fields
30
+ * `mapBlocksInNonLocalizedFieldValue()` that need to repeatedly lookup block models and fields
31
31
  * while traversing nested content structures
32
32
  * - **Bulk operations**: Ideal for scripts that process multiple records of different
33
33
  * types and need efficient access to schema information
@@ -59,7 +59,7 @@ const rest_client_utils_1 = require("@datocms/rest-client-utils");
59
59
  * const sameBlogPost = await schemaRepository.getItemTypeByApiKey('blog_post');
60
60
  *
61
61
  * // Pass the repository to utilities that need schema information
62
- * await mapBlocksInFieldValues(schemaRepository, record, (block) => {
62
+ * await mapBlocksInNonLocalizedFieldValue(schemaRepository, record, (block) => {
63
63
  * // The utility will use the cached schema data internally
64
64
  * });
65
65
  * ```