@datocms/cma-client 5.1.15 → 5.1.17

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 (33) hide show
  1. package/README.md +31 -28
  2. package/dist/cjs/generated/Client.js +1 -1
  3. package/dist/cjs/generated/resources/Item.js.map +1 -1
  4. package/dist/cjs/utilities/itemInstancesHrefSchema.js +3 -0
  5. package/dist/cjs/utilities/itemInstancesHrefSchema.js.map +1 -0
  6. package/dist/cjs/utilities/normalizedFieldValues.js +39 -39
  7. package/dist/cjs/utilities/normalizedFieldValues.js.map +1 -1
  8. package/dist/esm/generated/ApiTypes.d.ts +4 -6
  9. package/dist/esm/generated/Client.js +1 -1
  10. package/dist/esm/generated/RawApiTypes.d.ts +4 -6
  11. package/dist/esm/generated/resources/Item.d.ts +7 -7
  12. package/dist/esm/generated/resources/Item.js.map +1 -1
  13. package/dist/esm/utilities/itemDefinition.d.ts +30 -0
  14. package/dist/esm/utilities/itemInstancesHrefSchema.d.ts +256 -0
  15. package/dist/esm/utilities/itemInstancesHrefSchema.js +2 -0
  16. package/dist/esm/utilities/itemInstancesHrefSchema.js.map +1 -0
  17. package/dist/esm/utilities/normalizedFieldValues.d.ts +25 -25
  18. package/dist/esm/utilities/normalizedFieldValues.js +39 -39
  19. package/dist/esm/utilities/normalizedFieldValues.js.map +1 -1
  20. package/dist/types/generated/ApiTypes.d.ts +4 -6
  21. package/dist/types/generated/RawApiTypes.d.ts +4 -6
  22. package/dist/types/generated/resources/Item.d.ts +7 -7
  23. package/dist/types/utilities/itemDefinition.d.ts +30 -0
  24. package/dist/types/utilities/itemInstancesHrefSchema.d.ts +256 -0
  25. package/dist/types/utilities/normalizedFieldValues.d.ts +25 -25
  26. package/package.json +2 -2
  27. package/src/generated/ApiTypes.ts +7 -5
  28. package/src/generated/Client.ts +1 -1
  29. package/src/generated/RawApiTypes.ts +7 -5
  30. package/src/generated/resources/Item.ts +10 -10
  31. package/src/utilities/itemDefinition.ts +92 -0
  32. package/src/utilities/itemInstancesHrefSchema.ts +308 -0
  33. package/src/utilities/normalizedFieldValues.ts +60 -39
@@ -13,8 +13,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
13
13
  * This function handles both full Schema field objects and simplified Schema field objects
14
14
  * by checking the appropriate property based on the object structure.
15
15
  *
16
- * @param field - The DatoCMS field definition (either full or simple schema)
17
16
  * @returns true if the field is localized, false otherwise
17
+ * @param field - The DatoCMS field definition (either full or simple schema)
18
18
  */
19
19
  export function isLocalized(field) {
20
20
  return 'attributes' in field ? field.attributes.localized : field.localized;
@@ -36,11 +36,11 @@ export function isLocalizedFieldValue(value) {
36
36
  * This function normalizes the handling of field values by converting them into a consistent
37
37
  * array format, regardless of whether the field is localized or not.
38
38
  *
39
- * @param field - The DatoCMS field definition that determines localization behavior
40
39
  * @param value - The field value to convert (either a localized object or direct value)
40
+ * @param field - The DatoCMS field definition that determines localization behavior
41
41
  * @returns Array of entries where each entry contains a locale (string for localized, undefined for non-localized) and the corresponding value
42
42
  */
43
- export function toNormalizedFieldValueEntries(field, value) {
43
+ export function toNormalizedFieldValueEntries(value, field) {
44
44
  if (isLocalized(field)) {
45
45
  const localizedValue = value;
46
46
  return Object.entries(localizedValue).map(([locale, value]) => ({
@@ -57,11 +57,11 @@ export function toNormalizedFieldValueEntries(field, value) {
57
57
  * array of entries and converts them back to either a localized object or a direct value,
58
58
  * depending on the field's localization setting.
59
59
  *
60
- * @param field - The DatoCMS field definition that determines the output format
61
60
  * @param entries - Array of entries to convert back to field value format
61
+ * @param field - The DatoCMS field definition that determines the output format
62
62
  * @returns Either a localized object (for localized fields) or the direct value (for non-localized fields)
63
63
  */
64
- export function fromNormalizedFieldValueEntries(field, entries) {
64
+ export function fromNormalizedFieldValueEntries(entries, field) {
65
65
  if (isLocalized(field)) {
66
66
  return Object.fromEntries(entries.map(({ locale, value }) => [locale, value]));
67
67
  }
@@ -76,18 +76,18 @@ export function fromNormalizedFieldValueEntries(field, entries) {
76
76
  * For non-localized fields, applies the mapping function directly to the value.
77
77
  *
78
78
  * @template T - The type that the mapping function returns
79
+ * @param localizedOrNonLocalizedFieldValue - The field value (either localized object or direct value)
79
80
  * @param field - The DatoCMS field definition
80
- * @param value - The field value (either localized object or direct value)
81
81
  * @param mapFn - The function to apply to each locale value or the direct value
82
82
  * @returns The mapped value with the same structure as the input
83
83
  */
84
- export function mapNormalizedFieldValues(field, value, mapFn) {
85
- const entries = toNormalizedFieldValueEntries(field, value);
84
+ export function mapNormalizedFieldValues(localizedOrNonLocalizedFieldValue, field, mapFn) {
85
+ const entries = toNormalizedFieldValueEntries(localizedOrNonLocalizedFieldValue, field);
86
86
  const mappedEntries = entries.map(({ locale, value }) => ({
87
87
  locale,
88
88
  value: mapFn(locale, value),
89
89
  }));
90
- return fromNormalizedFieldValueEntries(field, mappedEntries);
90
+ return fromNormalizedFieldValueEntries(mappedEntries, field);
91
91
  }
92
92
  /**
93
93
  * Maps field values using a provided mapping function (async version).
@@ -95,21 +95,21 @@ export function mapNormalizedFieldValues(field, value, mapFn) {
95
95
  * For non-localized fields, applies the mapping function directly to the value.
96
96
  *
97
97
  * @template T - The type that the mapping function returns
98
+ * @param localizedOrNonLocalizedFieldValue - The field value (either localized object or direct value)
98
99
  * @param field - The DatoCMS field definition
99
- * @param value - The field value (either localized object or direct value)
100
100
  * @param mapFn - The function to apply to each locale value or the direct value
101
101
  * @returns The mapped value with the same structure as the input
102
102
  */
103
- export function mapNormalizedFieldValuesAsync(field, value, mapFn) {
103
+ export function mapNormalizedFieldValuesAsync(localizedOrNonLocalizedFieldValue, field, mapFn) {
104
104
  return __awaiter(this, void 0, void 0, function* () {
105
- const entries = toNormalizedFieldValueEntries(field, value);
105
+ const entries = toNormalizedFieldValueEntries(localizedOrNonLocalizedFieldValue, field);
106
106
  const mappedEntries = yield Promise.all(entries.map(({ locale, value }) => __awaiter(this, void 0, void 0, function* () {
107
107
  return ({
108
108
  locale,
109
109
  value: yield mapFn(locale, value),
110
110
  });
111
111
  })));
112
- return fromNormalizedFieldValueEntries(field, mappedEntries);
112
+ return fromNormalizedFieldValueEntries(mappedEntries, field);
113
113
  });
114
114
  }
115
115
  /**
@@ -117,17 +117,17 @@ export function mapNormalizedFieldValuesAsync(field, value, mapFn) {
117
117
  * For localized fields, filters each locale value.
118
118
  * For non-localized fields, returns the value if the filter passes, otherwise undefined.
119
119
  *
120
+ * @param localizedOrNonLocalizedFieldValue - The field value (either localized object or direct value)
120
121
  * @param field - The DatoCMS field definition
121
- * @param value - The field value (either localized object or direct value)
122
122
  * @param filterFn - The function to test each locale value or the direct value
123
123
  * @returns The filtered value with the same structure as the input
124
124
  */
125
- export function filterNormalizedFieldValues(field, value, filterFn) {
125
+ export function filterNormalizedFieldValues(localizedOrNonLocalizedFieldValue, field, filterFn) {
126
126
  var _a;
127
- const entries = toNormalizedFieldValueEntries(field, value);
127
+ const entries = toNormalizedFieldValueEntries(localizedOrNonLocalizedFieldValue, field);
128
128
  const filteredEntries = entries.filter((entry) => filterFn(entry.locale, entry.value));
129
129
  if (isLocalized(field)) {
130
- return fromNormalizedFieldValueEntries(field, filteredEntries);
130
+ return fromNormalizedFieldValueEntries(filteredEntries, field);
131
131
  }
132
132
  return filteredEntries.length > 0 ? (_a = filteredEntries[0]) === null || _a === void 0 ? void 0 : _a.value : undefined;
133
133
  }
@@ -136,15 +136,15 @@ export function filterNormalizedFieldValues(field, value, filterFn) {
136
136
  * For localized fields, filters each locale value.
137
137
  * For non-localized fields, returns the value if the filter passes, otherwise undefined.
138
138
  *
139
+ * @param localizedOrNonLocalizedFieldValue - The field value (either localized object or direct value)
139
140
  * @param field - The DatoCMS field definition
140
- * @param value - The field value (either localized object or direct value)
141
141
  * @param filterFn - The function to test each locale value or the direct value
142
142
  * @returns The filtered value with the same structure as the input
143
143
  */
144
- export function filterNormalizedFieldValuesAsync(field, value, filterFn) {
144
+ export function filterNormalizedFieldValuesAsync(localizedOrNonLocalizedFieldValue, field, filterFn) {
145
145
  var _a;
146
146
  return __awaiter(this, void 0, void 0, function* () {
147
- const entries = toNormalizedFieldValueEntries(field, value);
147
+ const entries = toNormalizedFieldValueEntries(localizedOrNonLocalizedFieldValue, field);
148
148
  const results = yield Promise.all(entries.map(({ locale, value }) => __awaiter(this, void 0, void 0, function* () {
149
149
  return ({
150
150
  locale,
@@ -156,7 +156,7 @@ export function filterNormalizedFieldValuesAsync(field, value, filterFn) {
156
156
  .filter(({ passed }) => passed)
157
157
  .map(({ locale, value }) => ({ locale, value }));
158
158
  if (isLocalized(field)) {
159
- return fromNormalizedFieldValueEntries(field, filteredEntries);
159
+ return fromNormalizedFieldValueEntries(filteredEntries, field);
160
160
  }
161
161
  return filteredEntries.length > 0 ? (_a = filteredEntries[0]) === null || _a === void 0 ? void 0 : _a.value : undefined;
162
162
  });
@@ -166,13 +166,13 @@ export function filterNormalizedFieldValuesAsync(field, value, filterFn) {
166
166
  * For localized fields, tests each locale value.
167
167
  * For non-localized fields, tests the direct value.
168
168
  *
169
+ * @param localizedOrNonLocalizedFieldValue - The field value (either localized object or direct value)
169
170
  * @param field - The DatoCMS field definition
170
- * @param value - The field value (either localized object or direct value)
171
171
  * @param testFn - The function to test each locale value or the direct value
172
172
  * @returns true if at least one value passes the test, false otherwise
173
173
  */
174
- export function someNormalizedFieldValues(field, value, testFn) {
175
- const entries = toNormalizedFieldValueEntries(field, value);
174
+ export function someNormalizedFieldValues(localizedOrNonLocalizedFieldValue, field, testFn) {
175
+ const entries = toNormalizedFieldValueEntries(localizedOrNonLocalizedFieldValue, field);
176
176
  return entries.some(({ locale, value }) => testFn(locale, value));
177
177
  }
178
178
  /**
@@ -180,14 +180,14 @@ export function someNormalizedFieldValues(field, value, testFn) {
180
180
  * For localized fields, tests each locale value.
181
181
  * For non-localized fields, tests the direct value.
182
182
  *
183
+ * @param localizedOrNonLocalizedFieldValue - The field value (either localized object or direct value)
183
184
  * @param field - The DatoCMS field definition
184
- * @param value - The field value (either localized object or direct value)
185
185
  * @param testFn - The function to test each locale value or the direct value
186
186
  * @returns true if at least one value passes the test, false otherwise
187
187
  */
188
- export function someNormalizedFieldValuesAsync(field, value, testFn) {
188
+ export function someNormalizedFieldValuesAsync(localizedOrNonLocalizedFieldValue, field, testFn) {
189
189
  return __awaiter(this, void 0, void 0, function* () {
190
- const entries = toNormalizedFieldValueEntries(field, value);
190
+ const entries = toNormalizedFieldValueEntries(localizedOrNonLocalizedFieldValue, field);
191
191
  const results = yield Promise.all(entries.map(({ locale, value }) => testFn(locale, value)));
192
192
  return results.some((result) => result);
193
193
  });
@@ -197,27 +197,27 @@ export function someNormalizedFieldValuesAsync(field, value, testFn) {
197
197
  * For localized fields, tests each locale value.
198
198
  * For non-localized fields, tests the direct value.
199
199
  *
200
+ * @param localizedOrNonLocalizedFieldValue - The field value (either localized object or direct value)
200
201
  * @param field - The DatoCMS field definition
201
- * @param value - The field value (either localized object or direct value)
202
202
  * @param testFn - The function to test each locale value or the direct value
203
203
  * @returns true if all values pass the test, false otherwise
204
204
  */
205
- export function everyNormalizedFieldValue(field, value, testFn) {
206
- return !someNormalizedFieldValues(field, value, (locale, localeValue) => !testFn(locale, localeValue));
205
+ export function everyNormalizedFieldValue(localizedOrNonLocalizedFieldValue, field, testFn) {
206
+ return !someNormalizedFieldValues(localizedOrNonLocalizedFieldValue, field, (locale, localeValue) => !testFn(locale, localeValue));
207
207
  }
208
208
  /**
209
209
  * Tests whether all field values pass the test implemented by the provided function (async version).
210
210
  * For localized fields, tests each locale value.
211
211
  * For non-localized fields, tests the direct value.
212
212
  *
213
+ * @param localizedOrNonLocalizedFieldValue - The field value (either localized object or direct value)
213
214
  * @param field - The DatoCMS field definition
214
- * @param value - The field value (either localized object or direct value)
215
215
  * @param testFn - The function to test each locale value or the direct value
216
216
  * @returns true if all values pass the test, false otherwise
217
217
  */
218
- export function everyNormalizedFieldValueAsync(field, value, testFn) {
218
+ export function everyNormalizedFieldValueAsync(localizedOrNonLocalizedFieldValue, field, testFn) {
219
219
  return __awaiter(this, void 0, void 0, function* () {
220
- return !(yield someNormalizedFieldValuesAsync(field, value, (locale, localeValue) => __awaiter(this, void 0, void 0, function* () { return !(yield testFn(locale, localeValue)); })));
220
+ return !(yield someNormalizedFieldValuesAsync(localizedOrNonLocalizedFieldValue, field, (locale, localeValue) => __awaiter(this, void 0, void 0, function* () { return !(yield testFn(locale, localeValue)); })));
221
221
  });
222
222
  }
223
223
  /**
@@ -225,12 +225,12 @@ export function everyNormalizedFieldValueAsync(field, value, testFn) {
225
225
  * For localized fields, visits each locale value.
226
226
  * For non-localized fields, visits the direct value.
227
227
  *
228
- * @param field - The DatoCMS field definition
229
228
  * @param value - The field value (either localized object or direct value)
229
+ * @param field - The DatoCMS field definition
230
230
  * @param visitFn - The function to call for each locale value or the direct value
231
231
  */
232
- export function visitNormalizedFieldValues(field, value, visitFn) {
233
- const entries = toNormalizedFieldValueEntries(field, value);
232
+ export function visitNormalizedFieldValues(value, field, visitFn) {
233
+ const entries = toNormalizedFieldValueEntries(value, field);
234
234
  for (const { locale, value } of entries) {
235
235
  visitFn(locale, value);
236
236
  }
@@ -240,13 +240,13 @@ export function visitNormalizedFieldValues(field, value, visitFn) {
240
240
  * For localized fields, visits each locale value.
241
241
  * For non-localized fields, visits the direct value.
242
242
  *
243
+ * @param localizedOrNonLocalizedFieldValue - The field value (either localized object or direct value)
243
244
  * @param field - The DatoCMS field definition
244
- * @param value - The field value (either localized object or direct value)
245
245
  * @param visitFn - The function to call for each locale value or the direct value
246
246
  */
247
- export function visitNormalizedFieldValuesAsync(field, value, visitFn) {
247
+ export function visitNormalizedFieldValuesAsync(localizedOrNonLocalizedFieldValue, field, visitFn) {
248
248
  return __awaiter(this, void 0, void 0, function* () {
249
- const entries = toNormalizedFieldValueEntries(field, value);
249
+ const entries = toNormalizedFieldValueEntries(localizedOrNonLocalizedFieldValue, field);
250
250
  yield Promise.all(entries.map(({ locale, value }) => visitFn(locale, value)));
251
251
  });
252
252
  }
@@ -1 +1 @@
1
- {"version":3,"file":"normalizedFieldValues.js","sourceRoot":"","sources":["../../../src/utilities/normalizedFieldValues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalizedFieldValues.js","sourceRoot":"","sources":["../../../src/utilities/normalizedFieldValues.ts"],"names":[],"mappings":";;;;;;;;;AAkCA;;;;;;;;GAQG;AACH,MAAM,UAAU,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;AAED,MAAM,UAAU,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;AAkBD;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAI3C,KAAoC,EACpC,KAAyC;IAEzC,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;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,+BAA+B,CAI7C,OAA0C,EAC1C,KAAyC;IAEzC,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;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAKtC,iCAA0E,EAC1E,KAAyC,EACzC,KAA8D;IAE9D,MAAM,OAAO,GAAG,6BAA6B,CAC3C,iCAAiC,EACjC,KAAK,CACN,CAAC;IACF,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,aAAa,EAAE,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAgB,6BAA6B,CAKjD,iCAA0E,EAC1E,KAAyC,EACzC,KAAuE;;QAEvE,MAAM,OAAO,GAAG,6BAA6B,CAC3C,iCAAiC,EACjC,KAAK,CACN,CAAC;QACF,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,aAAa,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CAIzC,iCAAgE,EAChE,KAAyC,EACzC,QAA4D;;IAE5D,MAAM,OAAO,GAAG,6BAA6B,CAC3C,iCAAiC,EACjC,KAAK,CACN,CAAC;IACF,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,eAAe,EAAE,KAAK,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;AAED;;;;;;;;;GASG;AACH,MAAM,UAAgB,gCAAgC,CAIpD,iCAAgE,EAChE,KAAyC,EACzC,QAAqE;;;QAErE,MAAM,OAAO,GAAG,6BAA6B,CAC3C,iCAAiC,EACjC,KAAK,CACN,CAAC;QACF,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,eAAe,EAAE,KAAK,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;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAIvC,iCAAgE,EAChE,KAAyC,EACzC,MAA0D;IAE1D,MAAM,OAAO,GAAG,6BAA6B,CAC3C,iCAAiC,EACjC,KAAK,CACN,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAgB,8BAA8B,CAIlD,iCAAgE,EAChE,KAAyC,EACzC,MAAmE;;QAEnE,MAAM,OAAO,GAAG,6BAA6B,CAC3C,iCAAiC,EACjC,KAAK,CACN,CAAC;QACF,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;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAIvC,iCAAgE,EAChE,KAAyC,EACzC,MAA0D;IAE1D,OAAO,CAAC,yBAAyB,CAC/B,iCAAiC,EACjC,KAAK,EACL,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAgB,8BAA8B,CAIlD,iCAAgE,EAChE,KAAyC,EACzC,MAAmE;;QAEnE,OAAO,CAAC,CAAC,MAAM,8BAA8B,CAC3C,iCAAiC,EACjC,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;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CAIxC,KAAoC,EACpC,KAAyC,EACzC,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;AAED;;;;;;;;GAQG;AACH,MAAM,UAAgB,+BAA+B,CAInD,iCAAgE,EAChE,KAAyC,EACzC,OAAiE;;QAEjE,MAAM,OAAO,GAAG,6BAA6B,CAC3C,iCAAiC,EACjC,KAAK,CACN,CAAC;QACF,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"}
@@ -1,5 +1,5 @@
1
1
  import type { FieldCreateConfig, FieldUpdateConfig, GenericFieldAttributes } from '../fieldTypes/schema';
2
- import type { ItemTypeDefinition, ToItemAttributes, ToItemAttributesInNestedResponse, ToItemAttributesInRequest } from '../utilities/itemDefinition';
2
+ import type { ItemTypeDefinition, ToItemAttributes, ToItemAttributesInNestedResponse, ToItemAttributesInRequest, ToItemHrefSchemaField, ToItemHrefSchemaOrderBy } from '../utilities/itemDefinition';
3
3
  export type Field = GenericFieldAttributes<FieldStableShell>;
4
4
  export type FieldAttributes = GenericFieldAttributes<FieldAttributesStableShell>;
5
5
  export type FieldCreateSchema = FieldCreateConfig<FieldCreateSchemaStableShell>;
@@ -800,7 +800,7 @@ export type ItemInstancesTargetSchema<D extends ItemTypeDefinition = ItemTypeDef
800
800
  * This interface was referenced by `Item`'s JSON-Schema
801
801
  * via the `instances.hrefSchema` link.
802
802
  */
803
- export type ItemInstancesHrefSchema = {
803
+ export type ItemInstancesHrefSchema<D extends ItemTypeDefinition = ItemTypeDefinition> = {
804
804
  /**
805
805
  * For Modular Content, Structured Text and Single Block fields. If set, returns full payload for nested blocks instead of IDs
806
806
  */
@@ -824,9 +824,7 @@ export type ItemInstancesHrefSchema = {
824
824
  /**
825
825
  * Same as [GraphQL API records filters](/docs/content-delivery-api/filtering-records): you must use square brackets to indicate nesting levels. E.g. if you wanna [filter by parent record](/docs/content-delivery-api/filtering-records#parent) in a tree of records, you must use `filter[fields][parent][eq]=<ID_VALUE>`. Use snake_case for fields names. If `locale` is defined, search within that locale. Otherwise environment's main locale will be used.
826
826
  */
827
- fields?: {
828
- [k: string]: unknown;
829
- };
827
+ fields?: ToItemHrefSchemaField<D>;
830
828
  /**
831
829
  * When set, only valid records are included in the results.
832
830
  */
@@ -853,7 +851,7 @@ export type ItemInstancesHrefSchema = {
853
851
  /**
854
852
  * Fields used to order results. You **must** specify also `filter[type]` with one element only to be able use this option. Format: `<field_name>_(ASC|DESC)`, where `<field_name>` can be either the API key of a model's field, or one of the following meta columns: `id`, `_updated_at`, `_created_at`, `_status`, `_published_at`, `_first_published_at`, `_publication_scheduled_at`, `_unpublishing_scheduled_at`, `_is_valid`, `position` (only for sortable models). You can pass multiple comma separated rules.
855
853
  */
856
- order_by?: string;
854
+ order_by?: ToItemHrefSchemaOrderBy<D>;
857
855
  /**
858
856
  * Whether you want the currently published versions (`published`, default) of your records, or the latest available (`current`)
859
857
  */
@@ -1,5 +1,5 @@
1
1
  import type { FieldCreateConfig, FieldUpdateConfig, GenericFieldAttributes } from '../fieldTypes/schema';
2
- import type { ItemTypeDefinition, ToItemAttributes, ToItemAttributesInNestedResponse, ToItemAttributesInRequest } from '../utilities/itemDefinition';
2
+ import type { ItemTypeDefinition, ToItemAttributes, ToItemAttributesInNestedResponse, ToItemAttributesInRequest, ToItemHrefSchemaField, ToItemHrefSchemaOrderBy } from '../utilities/itemDefinition';
3
3
  export type Field = FieldStableShell;
4
4
  export type FieldAttributes = GenericFieldAttributes<FieldAttributesStableShell>;
5
5
  export type FieldCreateSchema = Omit<FieldCreateSchemaStableShell, 'data'> & {
@@ -624,7 +624,7 @@ export type BuildEventInstancesHrefSchema = {
624
624
  * This interface was referenced by `Item`'s JSON-Schema
625
625
  * via the `instances.hrefSchema` link.
626
626
  */
627
- export type ItemInstancesHrefSchema = {
627
+ export type ItemInstancesHrefSchema<D extends ItemTypeDefinition = ItemTypeDefinition> = {
628
628
  /**
629
629
  * For Modular Content, Structured Text and Single Block fields. If set, returns full payload for nested blocks instead of IDs
630
630
  */
@@ -648,9 +648,7 @@ export type ItemInstancesHrefSchema = {
648
648
  /**
649
649
  * Same as [GraphQL API records filters](/docs/content-delivery-api/filtering-records): you must use square brackets to indicate nesting levels. E.g. if you wanna [filter by parent record](/docs/content-delivery-api/filtering-records#parent) in a tree of records, you must use `filter[fields][parent][eq]=<ID_VALUE>`. Use snake_case for fields names. If `locale` is defined, search within that locale. Otherwise environment's main locale will be used.
650
650
  */
651
- fields?: {
652
- [k: string]: unknown;
653
- };
651
+ fields?: ToItemHrefSchemaField<D>;
654
652
  /**
655
653
  * When set, only valid records are included in the results.
656
654
  */
@@ -677,7 +675,7 @@ export type ItemInstancesHrefSchema = {
677
675
  /**
678
676
  * Fields used to order results. You **must** specify also `filter[type]` with one element only to be able use this option. Format: `<field_name>_(ASC|DESC)`, where `<field_name>` can be either the API key of a model's field, or one of the following meta columns: `id`, `_updated_at`, `_created_at`, `_status`, `_published_at`, `_first_published_at`, `_publication_scheduled_at`, `_unpublishing_scheduled_at`, `_is_valid`, `position` (only for sortable models). You can pass multiple comma separated rules.
679
677
  */
680
- order_by?: string;
678
+ order_by?: ToItemHrefSchemaOrderBy<D>;
681
679
  /**
682
680
  * Whether you want the currently published versions (`published`, default) of your records, or the latest available (`current`)
683
681
  */
@@ -14,10 +14,10 @@ export default class Item extends BaseResource {
14
14
  * @throws {ApiError}
15
15
  * @throws {TimeoutError}
16
16
  */
17
- list<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams: ApiTypes.ItemInstancesHrefSchema & {
17
+ list<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams: ApiTypes.ItemInstancesHrefSchema<D> & {
18
18
  nested: true;
19
19
  }): Promise<ApiTypes.ItemInstancesTargetSchema<NoInfer<D>, true>>;
20
- list<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: ApiTypes.ItemInstancesHrefSchema & {
20
+ list<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: ApiTypes.ItemInstancesHrefSchema<D> & {
21
21
  nested?: false | undefined;
22
22
  }): Promise<ApiTypes.ItemInstancesTargetSchema<NoInfer<D>, false>>;
23
23
  /**
@@ -28,13 +28,13 @@ export default class Item extends BaseResource {
28
28
  * @throws {ApiError}
29
29
  * @throws {TimeoutError}
30
30
  */
31
- rawList<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams: RawApiTypes.ItemInstancesHrefSchema & {
31
+ rawList<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams: RawApiTypes.ItemInstancesHrefSchema<D> & {
32
32
  nested: true;
33
33
  }): Promise<RawApiTypes.ItemInstancesTargetSchema<NoInfer<D>, true>>;
34
- rawList<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: RawApiTypes.ItemInstancesHrefSchema & {
34
+ rawList<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: RawApiTypes.ItemInstancesHrefSchema<D> & {
35
35
  nested?: false | undefined;
36
36
  }): Promise<RawApiTypes.ItemInstancesTargetSchema<NoInfer<D>, false>>;
37
- rawList<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: RawApiTypes.ItemInstancesHrefSchema): Promise<RawApiTypes.ItemInstancesTargetSchema<NoInfer<D>, true>>;
37
+ rawList<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: RawApiTypes.ItemInstancesHrefSchema<D>): Promise<RawApiTypes.ItemInstancesTargetSchema<NoInfer<D>, true>>;
38
38
  /**
39
39
  * Async iterator to auto-paginate over elements returned by list()
40
40
  *
@@ -43,7 +43,7 @@ export default class Item extends BaseResource {
43
43
  * @throws {ApiError}
44
44
  * @throws {TimeoutError}
45
45
  */
46
- listPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: Utils.OmitFromKnownKeys<ApiTypes.ItemInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<ApiTypes.ItemInNestedResponse<NoInfer<D>>, void, unknown>;
46
+ listPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: Utils.OmitFromKnownKeys<ApiTypes.ItemInstancesHrefSchema<D>, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<ApiTypes.ItemInNestedResponse<NoInfer<D>>, void, unknown>;
47
47
  /**
48
48
  * Async iterator to auto-paginate over elements returned by rawList()
49
49
  *
@@ -52,7 +52,7 @@ export default class Item extends BaseResource {
52
52
  * @throws {ApiError}
53
53
  * @throws {TimeoutError}
54
54
  */
55
- rawListPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: Utils.OmitFromKnownKeys<RawApiTypes.ItemInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<RawApiTypes.ItemInNestedResponse<NoInfer<D>>, void, unknown>;
55
+ rawListPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: Utils.OmitFromKnownKeys<RawApiTypes.ItemInstancesHrefSchema<D>, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<RawApiTypes.ItemInNestedResponse<NoInfer<D>>, void, unknown>;
56
56
  /**
57
57
  * Validates an existing record field
58
58
  *
@@ -1,4 +1,5 @@
1
1
  import type { BlockInNestedResponse, BlockInRequest, BooleanFieldValue, ColorFieldValue, DateFieldValue, DateTimeFieldValue, FileFieldValue, FileFieldValueInRequest, FloatFieldValue, GalleryFieldValue, GalleryFieldValueInRequest, IntegerFieldValue, JsonFieldValue, LatLonFieldValue, LinkFieldValue, LinksFieldValue, RichTextFieldValue, RichTextFieldValueInNestedResponse, RichTextFieldValueInRequest, SeoFieldValue, SingleBlockFieldValue, SingleBlockFieldValueInNestedResponse, SingleBlockFieldValueInRequest, SlugFieldValue, StringFieldValue, StructuredTextFieldValue, StructuredTextFieldValueInNestedResponse, StructuredTextFieldValueInRequest, TextFieldValue, VideoFieldValue } from '../fieldTypes';
2
+ import type { BooleanHrefFilter, ColorHrefFilter, DateHrefFilter, DateTimeHrefFilter, FileHrefFilter, FloatHrefFilter, GalleryHrefFilter, IntegerHrefFilter, ItemMetaFilter, ItemMetaOrderBy, JsonHrefFilter, LatLonHrefFilter, LinkHrefFilter, LinksHrefFilter, ParentIdFilter, PositionFilter, RichTextHrefFilter, SeoHrefFilter, SingleBlockHrefFilter, SlugHrefFilter, StringHrefFilter, StructuredTextHrefFilter, TextHrefFilter, VideoHrefFilter } from './itemInstancesHrefSchema';
2
3
  import type { LocalizedFieldValue } from './normalizedFieldValues';
3
4
  /** Base field definition */
4
5
  type BaseFieldDefinition<Type extends string> = {
@@ -75,6 +76,29 @@ type FieldTypeToValueInRequest = {
75
76
  video: VideoFieldValue;
76
77
  unknown: unknown;
77
78
  };
79
+ type FieldTypeToHrefFilter = {
80
+ boolean: BooleanHrefFilter;
81
+ color: ColorHrefFilter;
82
+ date: DateHrefFilter;
83
+ date_time: DateTimeHrefFilter;
84
+ file: FileHrefFilter;
85
+ float: FloatHrefFilter;
86
+ gallery: GalleryHrefFilter;
87
+ integer: IntegerHrefFilter;
88
+ json: JsonHrefFilter;
89
+ lat_lon: LatLonHrefFilter;
90
+ link: LinkHrefFilter;
91
+ links: LinksHrefFilter;
92
+ rich_text: RichTextHrefFilter;
93
+ seo: SeoHrefFilter;
94
+ single_block: SingleBlockHrefFilter;
95
+ slug: SlugHrefFilter;
96
+ string: StringHrefFilter;
97
+ structured_text: StructuredTextHrefFilter;
98
+ text: TextHrefFilter;
99
+ video: VideoHrefFilter;
100
+ unknown: unknown;
101
+ };
78
102
  /** Localized wrapper */
79
103
  type LocalizeIfNeeded<T extends FieldDefinition, Value, Locales extends string> = T extends {
80
104
  localized: true;
@@ -102,6 +126,12 @@ export type ToItemAttributesInRequest<T extends ItemTypeDefinition<any, any, any
102
126
  export type ToItemAttributesInNestedResponse<T extends ItemTypeDefinition<any, any, any>> = T extends ItemTypeDefinition<infer Settings, infer ItemTypeId, infer Fields> ? keyof Fields extends never ? Record<string, unknown> : {
103
127
  [K in keyof Fields]: Fields[K] extends FieldDefinition ? FieldDefinitionToFieldValueInNestedResponse<Fields[K], Settings['locales']> : never;
104
128
  } : never;
129
+ export type ToItemHrefSchemaField<T extends ItemTypeDefinition<any, any, any>> = T extends ItemTypeDefinition<infer Settings, infer ItemTypeId, infer Fields> ? keyof Fields extends never ? Record<string, unknown> : ItemMetaFilter & Partial<{
130
+ [K in keyof Fields]: K extends 'position' ? PositionFilter : K extends 'parent_id' ? ParentIdFilter : Fields[K] extends FieldDefinition ? FieldTypeToHrefFilter[Fields[K]['type']] : never;
131
+ }> : never;
132
+ export type ToItemHrefSchemaOrderBy<T extends ItemTypeDefinition<any, any, any>> = (T extends ItemTypeDefinition<infer Settings, infer ItemTypeId, infer Fields> ? keyof Fields extends never ? string : {
133
+ [K in keyof Fields]: Fields[K] extends FieldDefinition ? Fields[K]['type'] extends 'boolean' | 'date' | 'date_time' | 'float' | 'integer' | 'string' ? `${K & string}_ASC` | `${K & string}_DESC` : never : never;
134
+ }[keyof Fields] : never) | ItemMetaOrderBy;
105
135
  type NestedItemTypeDefinitions<T extends ItemTypeDefinition<any, any, any>, Seen extends string = never> = T extends ItemTypeDefinition<any, infer Id, infer Fields> ? Id extends Seen ? never : {
106
136
  [K in keyof Fields]: Fields[K] extends RichTextFieldDefinition<infer B> ? B | NestedItemTypeDefinitions<B, Seen | Id> : Fields[K] extends SingleBlockFieldDefinition<infer B> ? B | NestedItemTypeDefinitions<B, Seen | Id> : Fields[K] extends StructuredTextFieldDefinition<infer B, infer I> ? B | I | NestedItemTypeDefinitions<B, Seen | Id> | NestedItemTypeDefinitions<I, Seen | Id> : never;
107
137
  }[keyof Fields] : never;