@datocms/cma-client 5.1.10 → 5.1.12
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.
- package/README.md +569 -0
- package/dist/cjs/fieldTypes/boolean.js +2 -2
- package/dist/cjs/fieldTypes/boolean.js.map +1 -1
- package/dist/cjs/fieldTypes/color.js +2 -2
- package/dist/cjs/fieldTypes/color.js.map +1 -1
- package/dist/cjs/fieldTypes/date.js +2 -3
- package/dist/cjs/fieldTypes/date.js.map +1 -1
- package/dist/cjs/fieldTypes/date_time.js +2 -2
- package/dist/cjs/fieldTypes/date_time.js.map +1 -1
- package/dist/cjs/fieldTypes/file.js +33 -5
- package/dist/cjs/fieldTypes/file.js.map +1 -1
- package/dist/cjs/fieldTypes/float.js +2 -2
- package/dist/cjs/fieldTypes/float.js.map +1 -1
- package/dist/cjs/fieldTypes/gallery.js +20 -5
- package/dist/cjs/fieldTypes/gallery.js.map +1 -1
- package/dist/cjs/fieldTypes/index.js +2 -2
- package/dist/cjs/fieldTypes/index.js.map +1 -1
- package/dist/cjs/fieldTypes/integer.js +2 -2
- package/dist/cjs/fieldTypes/integer.js.map +1 -1
- package/dist/cjs/fieldTypes/json.js +2 -3
- package/dist/cjs/fieldTypes/json.js.map +1 -1
- package/dist/cjs/fieldTypes/lat_lon.js +2 -2
- package/dist/cjs/fieldTypes/lat_lon.js.map +1 -1
- package/dist/cjs/fieldTypes/link.js +4 -4
- package/dist/cjs/fieldTypes/link.js.map +1 -1
- package/dist/cjs/fieldTypes/links.js +5 -3
- package/dist/cjs/fieldTypes/links.js.map +1 -1
- package/dist/cjs/fieldTypes/rich_text.js +18 -18
- package/dist/cjs/fieldTypes/rich_text.js.map +1 -1
- package/dist/cjs/fieldTypes/schema.js +3 -0
- package/dist/cjs/fieldTypes/schema.js.map +1 -0
- package/dist/cjs/fieldTypes/seo.js +2 -3
- package/dist/cjs/fieldTypes/seo.js.map +1 -1
- package/dist/cjs/fieldTypes/single_block.js +20 -19
- package/dist/cjs/fieldTypes/single_block.js.map +1 -1
- package/dist/cjs/fieldTypes/slug.js +2 -3
- package/dist/cjs/fieldTypes/slug.js.map +1 -1
- package/dist/cjs/fieldTypes/string.js +2 -2
- package/dist/cjs/fieldTypes/string.js.map +1 -1
- package/dist/cjs/fieldTypes/structured_text.js +17 -18
- package/dist/cjs/fieldTypes/structured_text.js.map +1 -1
- package/dist/cjs/fieldTypes/text.js +2 -3
- package/dist/cjs/fieldTypes/text.js.map +1 -1
- package/dist/cjs/fieldTypes/video.js +2 -2
- package/dist/cjs/fieldTypes/video.js.map +1 -1
- package/dist/cjs/generated/Client.js +1 -1
- package/dist/cjs/generated/resources/Item.js.map +1 -1
- package/dist/cjs/generated/resources/ScheduledPublication.js.map +1 -1
- package/dist/cjs/generated/resources/ScheduledUnpublishing.js.map +1 -1
- package/dist/cjs/generated/resources/Upload.js.map +1 -1
- package/dist/cjs/index.js +5 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utilities/buildBlockRecord.js +1 -45
- package/dist/cjs/utilities/buildBlockRecord.js.map +1 -1
- package/dist/cjs/utilities/duplicateBlockRecord.js +49 -0
- package/dist/cjs/utilities/duplicateBlockRecord.js.map +1 -0
- package/dist/cjs/utilities/inspectItem.js +427 -0
- package/dist/cjs/utilities/inspectItem.js.map +1 -0
- package/dist/cjs/utilities/{blocks.js → nonRecursiveBlocks.js} +60 -234
- package/dist/cjs/utilities/nonRecursiveBlocks.js.map +1 -0
- package/dist/cjs/utilities/{fieldValue.js → normalizedFieldValues.js} +53 -41
- package/dist/cjs/utilities/normalizedFieldValues.js.map +1 -0
- package/dist/cjs/utilities/recursiveBlocks.js +73 -92
- package/dist/cjs/utilities/recursiveBlocks.js.map +1 -1
- package/dist/cjs/utilities/schemaRepository.js +2 -2
- package/dist/esm/fieldTypes/boolean.d.ts +1 -1
- package/dist/esm/fieldTypes/boolean.js +2 -2
- package/dist/esm/fieldTypes/boolean.js.map +1 -1
- package/dist/esm/fieldTypes/color.d.ts +1 -1
- package/dist/esm/fieldTypes/color.js +2 -2
- package/dist/esm/fieldTypes/color.js.map +1 -1
- package/dist/esm/fieldTypes/date.d.ts +1 -1
- package/dist/esm/fieldTypes/date.js +2 -3
- package/dist/esm/fieldTypes/date.js.map +1 -1
- package/dist/esm/fieldTypes/date_time.d.ts +1 -1
- package/dist/esm/fieldTypes/date_time.js +2 -2
- package/dist/esm/fieldTypes/date_time.js.map +1 -1
- package/dist/esm/fieldTypes/file.d.ts +68 -1
- package/dist/esm/fieldTypes/file.js +29 -3
- package/dist/esm/fieldTypes/file.js.map +1 -1
- package/dist/esm/fieldTypes/float.d.ts +1 -1
- package/dist/esm/fieldTypes/float.js +2 -2
- package/dist/esm/fieldTypes/float.js.map +1 -1
- package/dist/esm/fieldTypes/gallery.d.ts +27 -11
- package/dist/esm/fieldTypes/gallery.js +17 -4
- package/dist/esm/fieldTypes/gallery.js.map +1 -1
- package/dist/esm/fieldTypes/index.d.ts +2 -2
- package/dist/esm/fieldTypes/index.js +2 -2
- package/dist/esm/fieldTypes/index.js.map +1 -1
- package/dist/esm/fieldTypes/integer.d.ts +1 -1
- package/dist/esm/fieldTypes/integer.js +2 -2
- package/dist/esm/fieldTypes/integer.js.map +1 -1
- package/dist/esm/fieldTypes/json.d.ts +1 -1
- package/dist/esm/fieldTypes/json.js +2 -3
- package/dist/esm/fieldTypes/json.js.map +1 -1
- package/dist/esm/fieldTypes/lat_lon.d.ts +1 -1
- package/dist/esm/fieldTypes/lat_lon.js +2 -2
- package/dist/esm/fieldTypes/lat_lon.js.map +1 -1
- package/dist/esm/fieldTypes/link.d.ts +1 -1
- package/dist/esm/fieldTypes/link.js +4 -4
- package/dist/esm/fieldTypes/link.js.map +1 -1
- package/dist/esm/fieldTypes/links.d.ts +1 -1
- package/dist/esm/fieldTypes/links.js +5 -3
- package/dist/esm/fieldTypes/links.js.map +1 -1
- package/dist/esm/fieldTypes/rich_text.d.ts +9 -10
- package/dist/esm/fieldTypes/rich_text.js +13 -13
- package/dist/esm/fieldTypes/rich_text.js.map +1 -1
- package/dist/esm/fieldTypes/schema.d.ts +59 -0
- package/dist/esm/fieldTypes/schema.js +2 -0
- package/dist/esm/fieldTypes/schema.js.map +1 -0
- package/dist/esm/fieldTypes/seo.d.ts +1 -1
- package/dist/esm/fieldTypes/seo.js +2 -3
- package/dist/esm/fieldTypes/seo.js.map +1 -1
- package/dist/esm/fieldTypes/single_block.d.ts +31 -16
- package/dist/esm/fieldTypes/single_block.js +15 -14
- package/dist/esm/fieldTypes/single_block.js.map +1 -1
- package/dist/esm/fieldTypes/slug.d.ts +1 -1
- package/dist/esm/fieldTypes/slug.js +2 -3
- package/dist/esm/fieldTypes/slug.js.map +1 -1
- package/dist/esm/fieldTypes/string.d.ts +1 -1
- package/dist/esm/fieldTypes/string.js +2 -2
- package/dist/esm/fieldTypes/string.js.map +1 -1
- package/dist/esm/fieldTypes/structured_text.d.ts +15 -16
- package/dist/esm/fieldTypes/structured_text.js +12 -13
- package/dist/esm/fieldTypes/structured_text.js.map +1 -1
- package/dist/esm/fieldTypes/text.d.ts +1 -1
- package/dist/esm/fieldTypes/text.js +2 -3
- package/dist/esm/fieldTypes/text.js.map +1 -1
- package/dist/esm/fieldTypes/video.d.ts +1 -1
- package/dist/esm/fieldTypes/video.js +2 -2
- package/dist/esm/fieldTypes/video.js.map +1 -1
- package/dist/esm/generated/ApiTypes.d.ts +90 -980
- package/dist/esm/generated/Client.js +1 -1
- package/dist/esm/generated/RawApiTypes.d.ts +156 -999
- package/dist/esm/generated/resources/Field.d.ts +200 -200
- package/dist/esm/generated/resources/Item.d.ts +34 -34
- package/dist/esm/generated/resources/Item.js.map +1 -1
- package/dist/esm/generated/resources/ItemVersion.d.ts +3 -1
- package/dist/esm/generated/resources/ScheduledPublication.d.ts +3 -3
- package/dist/esm/generated/resources/ScheduledPublication.js.map +1 -1
- package/dist/esm/generated/resources/ScheduledUnpublishing.d.ts +3 -3
- package/dist/esm/generated/resources/ScheduledUnpublishing.js.map +1 -1
- package/dist/esm/generated/resources/Upload.d.ts +6 -6
- package/dist/esm/generated/resources/Upload.js.map +1 -1
- package/dist/esm/index.d.ts +5 -4
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utilities/buildBlockRecord.d.ts +3 -5
- package/dist/esm/utilities/buildBlockRecord.js +0 -43
- package/dist/esm/utilities/buildBlockRecord.js.map +1 -1
- package/dist/esm/utilities/duplicateBlockRecord.d.ts +6 -0
- package/dist/esm/utilities/duplicateBlockRecord.js +45 -0
- package/dist/esm/utilities/duplicateBlockRecord.js.map +1 -0
- package/dist/esm/utilities/inspectItem.d.ts +8 -0
- package/dist/esm/utilities/inspectItem.js +400 -0
- package/dist/esm/utilities/inspectItem.js.map +1 -0
- package/dist/esm/utilities/itemDefinition.d.ts +45 -23
- package/dist/esm/utilities/nonRecursiveBlocks.d.ts +114 -0
- package/dist/esm/utilities/{blocks.js → nonRecursiveBlocks.js} +52 -220
- package/dist/esm/utilities/nonRecursiveBlocks.js.map +1 -0
- package/dist/{types/utilities/fieldValue.d.ts → esm/utilities/normalizedFieldValues.d.ts} +15 -14
- package/dist/esm/utilities/{fieldValue.js → normalizedFieldValues.js} +39 -28
- package/dist/esm/utilities/normalizedFieldValues.js.map +1 -0
- package/dist/esm/utilities/recursiveBlocks.d.ts +124 -11
- package/dist/esm/utilities/recursiveBlocks.js +65 -84
- package/dist/esm/utilities/recursiveBlocks.js.map +1 -1
- package/dist/esm/utilities/schemaRepository.d.ts +2 -2
- package/dist/esm/utilities/schemaRepository.js +2 -2
- package/dist/types/fieldTypes/boolean.d.ts +1 -1
- package/dist/types/fieldTypes/color.d.ts +1 -1
- package/dist/types/fieldTypes/date.d.ts +1 -1
- package/dist/types/fieldTypes/date_time.d.ts +1 -1
- package/dist/types/fieldTypes/file.d.ts +68 -1
- package/dist/types/fieldTypes/float.d.ts +1 -1
- package/dist/types/fieldTypes/gallery.d.ts +27 -11
- package/dist/types/fieldTypes/index.d.ts +2 -2
- package/dist/types/fieldTypes/integer.d.ts +1 -1
- package/dist/types/fieldTypes/json.d.ts +1 -1
- package/dist/types/fieldTypes/lat_lon.d.ts +1 -1
- package/dist/types/fieldTypes/link.d.ts +1 -1
- package/dist/types/fieldTypes/links.d.ts +1 -1
- package/dist/types/fieldTypes/rich_text.d.ts +9 -10
- package/dist/types/fieldTypes/schema.d.ts +59 -0
- package/dist/types/fieldTypes/seo.d.ts +1 -1
- package/dist/types/fieldTypes/single_block.d.ts +31 -16
- package/dist/types/fieldTypes/slug.d.ts +1 -1
- package/dist/types/fieldTypes/string.d.ts +1 -1
- package/dist/types/fieldTypes/structured_text.d.ts +15 -16
- package/dist/types/fieldTypes/text.d.ts +1 -1
- package/dist/types/fieldTypes/video.d.ts +1 -1
- package/dist/types/generated/ApiTypes.d.ts +90 -980
- package/dist/types/generated/RawApiTypes.d.ts +156 -999
- package/dist/types/generated/resources/Field.d.ts +200 -200
- package/dist/types/generated/resources/Item.d.ts +34 -34
- package/dist/types/generated/resources/ItemVersion.d.ts +3 -1
- package/dist/types/generated/resources/ScheduledPublication.d.ts +3 -3
- package/dist/types/generated/resources/ScheduledUnpublishing.d.ts +3 -3
- package/dist/types/generated/resources/Upload.d.ts +6 -6
- package/dist/types/index.d.ts +5 -4
- package/dist/types/utilities/buildBlockRecord.d.ts +3 -5
- package/dist/types/utilities/duplicateBlockRecord.d.ts +6 -0
- package/dist/types/utilities/inspectItem.d.ts +8 -0
- package/dist/types/utilities/itemDefinition.d.ts +45 -23
- package/dist/types/utilities/nonRecursiveBlocks.d.ts +114 -0
- package/dist/{esm/utilities/fieldValue.d.ts → types/utilities/normalizedFieldValues.d.ts} +15 -14
- package/dist/types/utilities/recursiveBlocks.d.ts +124 -11
- package/dist/types/utilities/schemaRepository.d.ts +2 -2
- package/package.json +4 -4
- package/src/fieldTypes/boolean.ts +5 -3
- package/src/fieldTypes/color.ts +5 -3
- package/src/fieldTypes/date.ts +5 -4
- package/src/fieldTypes/date_time.ts +5 -3
- package/src/fieldTypes/file.ts +98 -4
- package/src/fieldTypes/float.ts +5 -3
- package/src/fieldTypes/gallery.ts +53 -20
- package/src/fieldTypes/index.ts +2 -3
- package/src/fieldTypes/integer.ts +5 -3
- package/src/fieldTypes/json.ts +5 -4
- package/src/fieldTypes/lat_lon.ts +5 -3
- package/src/fieldTypes/link.ts +7 -5
- package/src/fieldTypes/links.ts +8 -4
- package/src/fieldTypes/rich_text.ts +33 -31
- package/src/fieldTypes/schema.ts +657 -0
- package/src/fieldTypes/seo.ts +5 -4
- package/src/fieldTypes/single_block.ts +71 -46
- package/src/fieldTypes/slug.ts +5 -4
- package/src/fieldTypes/string.ts +5 -3
- package/src/fieldTypes/structured_text.ts +64 -58
- package/src/fieldTypes/text.ts +5 -4
- package/src/fieldTypes/video.ts +5 -3
- package/src/generated/ApiTypes.ts +217 -1880
- package/src/generated/Client.ts +1 -1
- package/src/generated/RawApiTypes.ts +272 -2113
- package/src/generated/resources/Item.ts +93 -187
- package/src/generated/resources/ScheduledPublication.ts +4 -15
- package/src/generated/resources/ScheduledUnpublishing.ts +4 -15
- package/src/generated/resources/Upload.ts +9 -32
- package/src/index.ts +5 -4
- package/src/utilities/buildBlockRecord.ts +4 -59
- package/src/utilities/duplicateBlockRecord.ts +52 -0
- package/src/utilities/inspectItem.ts +602 -0
- package/src/utilities/itemDefinition.ts +130 -92
- package/src/utilities/nonRecursiveBlocks.ts +406 -0
- package/src/utilities/{fieldValue.ts → normalizedFieldValues.ts} +70 -30
- package/src/utilities/recursiveBlocks.ts +484 -204
- package/src/utilities/schemaRepository.ts +2 -2
- package/dist/cjs/utilities/blocks.js.map +0 -1
- package/dist/cjs/utilities/fieldValue.js.map +0 -1
- package/dist/esm/utilities/blocks.d.ts +0 -180
- package/dist/esm/utilities/blocks.js.map +0 -1
- package/dist/esm/utilities/fieldValue.js.map +0 -1
- package/dist/types/utilities/blocks.d.ts +0 -180
- package/src/utilities/blocks.ts +0 -626
|
@@ -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.
|
|
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
|
|
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.
|
|
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 `
|
|
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
|
|
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.
|
|
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
|
|
80
|
-
const entries =
|
|
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
|
|
97
|
+
return fromNormalizedFieldValueEntries(field, mappedEntries);
|
|
86
98
|
}
|
|
87
|
-
exports.
|
|
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
|
|
111
|
+
function mapNormalizedFieldValuesAsync(field, value, mapFn) {
|
|
100
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
-
const entries =
|
|
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
|
|
120
|
+
return fromNormalizedFieldValueEntries(field, mappedEntries);
|
|
109
121
|
});
|
|
110
122
|
}
|
|
111
|
-
exports.
|
|
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
|
|
134
|
+
function filterNormalizedFieldValues(field, value, filterFn) {
|
|
123
135
|
var _a;
|
|
124
|
-
const entries =
|
|
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
|
|
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.
|
|
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
|
|
154
|
+
function filterNormalizedFieldValuesAsync(field, value, filterFn) {
|
|
143
155
|
var _a;
|
|
144
156
|
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
-
const entries =
|
|
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
|
|
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.
|
|
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
|
|
174
|
-
const entries =
|
|
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.
|
|
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
|
|
200
|
+
function someNormalizedFieldValuesAsync(field, value, testFn) {
|
|
189
201
|
return __awaiter(this, void 0, void 0, function* () {
|
|
190
|
-
const entries =
|
|
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.
|
|
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
|
|
207
|
-
return !
|
|
218
|
+
function everyNormalizedFieldValue(field, value, testFn) {
|
|
219
|
+
return !someNormalizedFieldValues(field, value, (locale, localeValue) => !testFn(locale, localeValue));
|
|
208
220
|
}
|
|
209
|
-
exports.
|
|
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
|
|
232
|
+
function everyNormalizedFieldValueAsync(field, value, testFn) {
|
|
221
233
|
return __awaiter(this, void 0, void 0, function* () {
|
|
222
|
-
return !(yield
|
|
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.
|
|
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
|
|
236
|
-
const entries =
|
|
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.
|
|
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
|
|
263
|
+
function visitNormalizedFieldValuesAsync(field, value, visitFn) {
|
|
252
264
|
return __awaiter(this, void 0, void 0, function* () {
|
|
253
|
-
const entries =
|
|
265
|
+
const entries = toNormalizedFieldValueEntries(field, value);
|
|
254
266
|
yield Promise.all(entries.map(({ locale, value }) => visitFn(locale, value)));
|
|
255
267
|
});
|
|
256
268
|
}
|
|
257
|
-
exports.
|
|
258
|
-
//# sourceMappingURL=
|
|
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":"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"}
|
|
@@ -9,13 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
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
|
|
15
|
-
|
|
16
|
-
function visitBlocksInFieldValues(schemaRepository, field, value, visitor, path = []) {
|
|
14
|
+
const nonRecursiveBlocks_1 = require("./nonRecursiveBlocks");
|
|
15
|
+
function visitBlocksInNonLocalizedFieldValue(nonLocalizedFieldValue, fieldType, schemaRepository, visitor, path = []) {
|
|
17
16
|
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
-
yield (0,
|
|
17
|
+
yield (0, nonRecursiveBlocks_1.nonRecursiveVisitBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
|
|
19
18
|
yield visitor(block, [...path, ...innerPath]);
|
|
20
19
|
if (!(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(block)) {
|
|
21
20
|
return;
|
|
@@ -23,108 +22,93 @@ function visitBlocksInFieldValues(schemaRepository, field, value, visitor, path
|
|
|
23
22
|
const itemType = yield schemaRepository.getRawItemTypeById(block.relationships.item_type.data.id);
|
|
24
23
|
const fields = yield schemaRepository.getRawItemTypeFields(itemType);
|
|
25
24
|
for (const field of fields) {
|
|
26
|
-
yield (
|
|
27
|
-
...path,
|
|
28
|
-
...innerPath,
|
|
29
|
-
'attributes',
|
|
30
|
-
field.attributes.api_key,
|
|
31
|
-
...(locale ? [locale] : []),
|
|
32
|
-
]));
|
|
25
|
+
yield visitBlocksInNonLocalizedFieldValue(block.attributes[field.attributes.api_key], field.attributes.field_type, schemaRepository, visitor, [...path, ...innerPath, 'attributes', field.attributes.api_key]);
|
|
33
26
|
}
|
|
34
27
|
}));
|
|
35
28
|
});
|
|
36
29
|
}
|
|
37
|
-
exports.
|
|
38
|
-
function
|
|
30
|
+
exports.visitBlocksInNonLocalizedFieldValue = visitBlocksInNonLocalizedFieldValue;
|
|
31
|
+
function findAllBlocksInNonLocalizedFieldValue(nonLocalizedFieldValue, fieldType, schemaRepository, predicate, path = []) {
|
|
39
32
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
33
|
const results = [];
|
|
41
|
-
const directMatches = yield (0,
|
|
34
|
+
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
35
|
results.push(...directMatches.map(({ item, path: innerPath }) => ({
|
|
43
36
|
item,
|
|
44
37
|
path: [...path, ...innerPath],
|
|
45
38
|
})));
|
|
46
|
-
yield (0,
|
|
39
|
+
yield (0, nonRecursiveBlocks_1.nonRecursiveVisitBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
|
|
47
40
|
if (!(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(block)) {
|
|
48
41
|
return;
|
|
49
42
|
}
|
|
50
43
|
const itemType = yield schemaRepository.getRawItemTypeById(block.relationships.item_type.data.id);
|
|
51
44
|
const fields = yield schemaRepository.getRawItemTypeFields(itemType);
|
|
52
45
|
for (const field of fields) {
|
|
53
|
-
yield (
|
|
54
|
-
|
|
55
|
-
...path,
|
|
56
|
-
...innerPath,
|
|
57
|
-
'attributes',
|
|
58
|
-
field.attributes.api_key,
|
|
59
|
-
...(locale ? [locale] : []),
|
|
60
|
-
]);
|
|
61
|
-
results.push(...nestedResults);
|
|
62
|
-
}));
|
|
46
|
+
const nestedResults = yield findAllBlocksInNonLocalizedFieldValue(block.attributes[field.attributes.api_key], field.attributes.field_type, schemaRepository, predicate, [...path, ...innerPath, 'attributes', field.attributes.api_key]);
|
|
47
|
+
results.push(...nestedResults);
|
|
63
48
|
}
|
|
64
49
|
}));
|
|
65
50
|
return results;
|
|
66
51
|
});
|
|
67
52
|
}
|
|
68
|
-
exports.
|
|
69
|
-
function
|
|
53
|
+
exports.findAllBlocksInNonLocalizedFieldValue = findAllBlocksInNonLocalizedFieldValue;
|
|
54
|
+
function filterBlocksInNonLocalizedFieldValue(nonLocalizedFieldValue, fieldType, schemaRepository, predicate, options = {}, path = []) {
|
|
70
55
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
|
|
56
|
+
const { traversalDirection = 'top-down' } = options;
|
|
57
|
+
const mapperFunc = (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
|
|
72
58
|
const blockPath = [...path, ...innerPath];
|
|
73
|
-
const passes = yield predicate(block, blockPath);
|
|
74
|
-
if (!passes) {
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
59
|
if (!(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(block)) {
|
|
78
|
-
return
|
|
60
|
+
return block;
|
|
79
61
|
}
|
|
80
62
|
const itemType = yield schemaRepository.getRawItemTypeById(block.relationships.item_type.data.id);
|
|
81
63
|
const fields = yield schemaRepository.getRawItemTypeFields(itemType);
|
|
64
|
+
if (traversalDirection === 'top-down') {
|
|
65
|
+
const blockCopy = Object.assign(Object.assign({}, block), { attributes: Object.assign({}, block.attributes) });
|
|
66
|
+
for (const field of fields) {
|
|
67
|
+
blockCopy.attributes[field.attributes.api_key] =
|
|
68
|
+
yield filterBlocksInNonLocalizedFieldValue(blockCopy.attributes[field.attributes.api_key], field.attributes.field_type, schemaRepository, predicate, options, [...blockPath, 'attributes', field.attributes.api_key]);
|
|
69
|
+
}
|
|
70
|
+
return blockCopy;
|
|
71
|
+
}
|
|
72
|
+
const blockCopy = Object.assign(Object.assign({}, block), { attributes: Object.assign({}, block.attributes) });
|
|
82
73
|
for (const field of fields) {
|
|
83
|
-
|
|
84
|
-
...blockPath,
|
|
85
|
-
'attributes',
|
|
86
|
-
field.attributes.api_key,
|
|
87
|
-
...(locale ? [locale] : []),
|
|
88
|
-
]));
|
|
74
|
+
blockCopy.attributes[field.attributes.api_key] =
|
|
75
|
+
yield filterBlocksInNonLocalizedFieldValue(blockCopy.attributes[field.attributes.api_key], field.attributes.field_type, schemaRepository, predicate, options, [...blockPath, 'attributes', field.attributes.api_key]);
|
|
89
76
|
}
|
|
90
|
-
return
|
|
77
|
+
return blockCopy;
|
|
78
|
+
});
|
|
79
|
+
const mappedValue = yield (0, nonRecursiveBlocks_1.nonRecursiveMapBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, mapperFunc);
|
|
80
|
+
return (0, nonRecursiveBlocks_1.nonRecursiveFilterBlocksInNonLocalizedFieldValueAsync)(fieldType, mappedValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
const blockPath = [...path, ...innerPath];
|
|
82
|
+
return yield predicate(block, blockPath);
|
|
91
83
|
}));
|
|
92
84
|
});
|
|
93
85
|
}
|
|
94
|
-
exports.
|
|
95
|
-
function
|
|
86
|
+
exports.filterBlocksInNonLocalizedFieldValue = filterBlocksInNonLocalizedFieldValue;
|
|
87
|
+
function reduceBlocksInNonLocalizedFieldValue(nonLocalizedFieldValue, fieldType, schemaRepository, reducer, initialValue, path = []) {
|
|
96
88
|
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
-
let accumulator = yield (0,
|
|
98
|
-
yield (0,
|
|
89
|
+
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);
|
|
90
|
+
yield (0, nonRecursiveBlocks_1.nonRecursiveVisitBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
|
|
99
91
|
if (!(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(block)) {
|
|
100
92
|
return;
|
|
101
93
|
}
|
|
102
94
|
const itemType = yield schemaRepository.getRawItemTypeById(block.relationships.item_type.data.id);
|
|
103
95
|
const fields = yield schemaRepository.getRawItemTypeFields(itemType);
|
|
104
96
|
for (const field of fields) {
|
|
105
|
-
yield (
|
|
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
|
-
}));
|
|
97
|
+
accumulator = yield reduceBlocksInNonLocalizedFieldValue(block.attributes[field.attributes.api_key], field.attributes.field_type, schemaRepository, reducer, accumulator, [...path, ...innerPath, 'attributes', field.attributes.api_key]);
|
|
114
98
|
}
|
|
115
99
|
}));
|
|
116
100
|
return accumulator;
|
|
117
101
|
});
|
|
118
102
|
}
|
|
119
|
-
exports.
|
|
120
|
-
function
|
|
103
|
+
exports.reduceBlocksInNonLocalizedFieldValue = reduceBlocksInNonLocalizedFieldValue;
|
|
104
|
+
function someBlocksInNonLocalizedFieldValue(nonLocalizedFieldValue, fieldType, schemaRepository, predicate, path = []) {
|
|
121
105
|
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
const directMatch = yield (0,
|
|
106
|
+
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
107
|
if (directMatch) {
|
|
124
108
|
return true;
|
|
125
109
|
}
|
|
126
110
|
let found = false;
|
|
127
|
-
yield (0,
|
|
111
|
+
yield (0, nonRecursiveBlocks_1.nonRecursiveVisitBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
|
|
128
112
|
if (found || !(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(block)) {
|
|
129
113
|
return;
|
|
130
114
|
}
|
|
@@ -133,54 +117,51 @@ function someBlocksInFieldValues(schemaRepository, field, value, predicate, path
|
|
|
133
117
|
for (const field of fields) {
|
|
134
118
|
if (found)
|
|
135
119
|
break;
|
|
136
|
-
yield (
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
...path,
|
|
141
|
-
...innerPath,
|
|
142
|
-
'attributes',
|
|
143
|
-
field.attributes.api_key,
|
|
144
|
-
...(locale ? [locale] : []),
|
|
145
|
-
]);
|
|
146
|
-
if (nestedMatch) {
|
|
147
|
-
found = true;
|
|
148
|
-
}
|
|
149
|
-
}));
|
|
120
|
+
const nestedMatch = yield someBlocksInNonLocalizedFieldValue(block.attributes[field.attributes.api_key], field.attributes.field_type, schemaRepository, predicate, [...path, ...innerPath, 'attributes', field.attributes.api_key]);
|
|
121
|
+
if (nestedMatch) {
|
|
122
|
+
found = true;
|
|
123
|
+
}
|
|
150
124
|
}
|
|
151
125
|
}));
|
|
152
126
|
return found;
|
|
153
127
|
});
|
|
154
128
|
}
|
|
155
|
-
exports.
|
|
156
|
-
function
|
|
129
|
+
exports.someBlocksInNonLocalizedFieldValue = someBlocksInNonLocalizedFieldValue;
|
|
130
|
+
function everyBlockInNonLocalizedFieldValue(nonLocalizedFieldValue, fieldType, schemaRepository, predicate, path = []) {
|
|
157
131
|
return __awaiter(this, void 0, void 0, function* () {
|
|
158
|
-
return !(yield
|
|
132
|
+
return !(yield someBlocksInNonLocalizedFieldValue(nonLocalizedFieldValue, fieldType, schemaRepository, (item, path) => __awaiter(this, void 0, void 0, function* () { return !(yield predicate(item, path)); }), path));
|
|
159
133
|
});
|
|
160
134
|
}
|
|
161
|
-
exports.
|
|
162
|
-
function
|
|
135
|
+
exports.everyBlockInNonLocalizedFieldValue = everyBlockInNonLocalizedFieldValue;
|
|
136
|
+
function mapBlocksInNonLocalizedFieldValue(nonLocalizedFieldValue, fieldType, schemaRepository, mapper, options = {}, path = []) {
|
|
163
137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
138
|
+
const { traversalDirection = 'top-down' } = options;
|
|
139
|
+
return (0, nonRecursiveBlocks_1.nonRecursiveMapBlocksInNonLocalizedFieldValueAsync)(fieldType, nonLocalizedFieldValue, (block, innerPath) => __awaiter(this, void 0, void 0, function* () {
|
|
140
|
+
const blockPath = [...path, ...innerPath];
|
|
141
|
+
if (!(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(block)) {
|
|
142
|
+
return yield mapper(block, blockPath);
|
|
168
143
|
}
|
|
169
|
-
const itemType = yield schemaRepository.getRawItemTypeById(
|
|
144
|
+
const itemType = yield schemaRepository.getRawItemTypeById(block.relationships.item_type.data.id);
|
|
170
145
|
const fields = yield schemaRepository.getRawItemTypeFields(itemType);
|
|
146
|
+
if (traversalDirection === 'top-down') {
|
|
147
|
+
const newBlock = yield mapper(block, blockPath);
|
|
148
|
+
if (!(0, fieldTypes_1.isItemWithOptionalIdAndMeta)(newBlock)) {
|
|
149
|
+
return newBlock;
|
|
150
|
+
}
|
|
151
|
+
for (const field of fields) {
|
|
152
|
+
newBlock.attributes[field.attributes.api_key] =
|
|
153
|
+
yield mapBlocksInNonLocalizedFieldValue(newBlock.attributes[field.attributes.api_key], field.attributes.field_type, schemaRepository, mapper, options, [...blockPath, 'attributes', field.attributes.api_key]);
|
|
154
|
+
}
|
|
155
|
+
return newBlock;
|
|
156
|
+
}
|
|
157
|
+
const blockCopy = Object.assign({}, block);
|
|
171
158
|
for (const field of fields) {
|
|
172
|
-
|
|
173
|
-
yield (
|
|
174
|
-
...path,
|
|
175
|
-
...innerPath,
|
|
176
|
-
'attributes',
|
|
177
|
-
field.attributes.api_key,
|
|
178
|
-
...(locale ? [locale] : []),
|
|
179
|
-
]));
|
|
159
|
+
blockCopy.attributes[field.attributes.api_key] =
|
|
160
|
+
yield mapBlocksInNonLocalizedFieldValue(blockCopy.attributes[field.attributes.api_key], field.attributes.field_type, schemaRepository, mapper, options, [...blockPath, 'attributes', field.attributes.api_key]);
|
|
180
161
|
}
|
|
181
|
-
return
|
|
162
|
+
return yield mapper(blockCopy, blockPath);
|
|
182
163
|
}));
|
|
183
164
|
});
|
|
184
165
|
}
|
|
185
|
-
exports.
|
|
166
|
+
exports.mapBlocksInNonLocalizedFieldValue = mapBlocksInNonLocalizedFieldValue;
|
|
186
167
|
//# sourceMappingURL=recursiveBlocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recursiveBlocks.js","sourceRoot":"","sources":["../../../src/utilities/recursiveBlocks.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"recursiveBlocks.js","sourceRoot":"","sources":["../../../src/utilities/recursiveBlocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
* `
|
|
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
|
|
62
|
+
* await mapBlocksInNonLocalizedFieldValue(schemaRepository, record, (block) => {
|
|
63
63
|
* // The utility will use the cached schema data internally
|
|
64
64
|
* });
|
|
65
65
|
* ```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type LocalizedFieldValue } from '../utilities/normalizedFieldValues';
|
|
2
2
|
import type { BooleanEditorConfiguration } from './appearance/boolean';
|
|
3
3
|
import type { BooleanRadioGroupEditorConfiguration } from './appearance/boolean_radio_group';
|
|
4
4
|
export type BooleanFieldValue = boolean | null;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { isLocalizedFieldValue, } from '../utilities/normalizedFieldValues';
|
|
1
2
|
export function isBooleanFieldValue(value) {
|
|
2
3
|
return typeof value === 'boolean' || value === null;
|
|
3
4
|
}
|
|
4
5
|
export function isLocalizedBooleanFieldValue(value) {
|
|
5
|
-
return (
|
|
6
|
-
value !== null &&
|
|
6
|
+
return (isLocalizedFieldValue(value) &&
|
|
7
7
|
Object.values(value).every(isBooleanFieldValue));
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=boolean.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../src/fieldTypes/boolean.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../src/fieldTypes/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAM5C,MAAM,UAAU,mBAAmB,CACjC,KAAc;IAEd,OAAO,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAc;IAEd,OAAO,CACL,qBAAqB,CAAC,KAAK,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAChD,CAAC;AACJ,CAAC"}
|