@prismicio/types-internal 3.16.0 → 3.16.1-alpha.0
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/lib/content/fields/RepeatableContent.d.ts +51 -123
- package/lib/content/fields/RepeatableContent.js +10 -14
- package/lib/content/fields/nestable/RichTextContent/Block.d.ts +1036 -0
- package/lib/content/fields/nestable/RichTextContent/Block.js +31 -0
- package/lib/content/fields/nestable/RichTextContent/EmbedBlock.d.ts +60 -0
- package/lib/content/fields/nestable/RichTextContent/EmbedBlock.js +53 -0
- package/lib/content/fields/nestable/RichTextContent/ImageBlock.d.ts +203 -0
- package/lib/content/fields/nestable/RichTextContent/ImageBlock.js +36 -0
- package/lib/content/fields/nestable/RichTextContent/TableBlock.d.ts +500 -0
- package/lib/content/fields/nestable/RichTextContent/TableBlock.js +21 -0
- package/lib/content/fields/nestable/RichTextContent/TextBlock.d.ts +590 -0
- package/lib/content/fields/nestable/RichTextContent/TextBlock.js +80 -0
- package/lib/scripts/release.d.ts +1 -0
- package/lib/scripts/release.js +34 -0
- package/lib/src/_internal/utils.d.ts +36 -0
- package/lib/src/_internal/utils.js +20 -0
- package/lib/src/common/Asset.d.ts +16 -0
- package/lib/src/common/Asset.js +11 -0
- package/lib/src/common/Embed.d.ts +15 -0
- package/lib/src/common/Embed.js +10 -0
- package/lib/src/common/HexaColorCode.d.ts +4 -0
- package/lib/src/common/HexaColorCode.js +7 -0
- package/lib/src/common/UUID.d.ts +6 -0
- package/lib/src/common/UUID.js +8 -0
- package/lib/src/common/WidgetKey.d.ts +3 -0
- package/lib/src/common/WidgetKey.js +8 -0
- package/lib/src/common/index.d.ts +3 -0
- package/lib/src/common/index.js +6 -0
- package/lib/src/content/Document.d.ts +11803 -0
- package/lib/src/content/Document.js +266 -0
- package/lib/src/content/LegacyContentCtx.d.ts +64 -0
- package/lib/src/content/LegacyContentCtx.js +130 -0
- package/lib/src/content/fields/EmptyContent.d.ts +16 -0
- package/lib/src/content/fields/EmptyContent.js +30 -0
- package/lib/src/content/fields/GroupContent.d.ts +42 -0
- package/lib/src/content/fields/GroupContent.js +208 -0
- package/lib/src/content/fields/UIDContent.d.ts +16 -0
- package/lib/src/content/fields/UIDContent.js +25 -0
- package/lib/src/content/fields/WidgetContent.d.ts +11749 -0
- package/lib/src/content/fields/WidgetContent.js +57 -0
- package/lib/src/content/fields/index.d.ts +6 -0
- package/lib/src/content/fields/index.js +9 -0
- package/lib/src/content/fields/nestable/BooleanContent.d.ts +18 -0
- package/lib/src/content/fields/nestable/BooleanContent.js +35 -0
- package/lib/src/content/fields/nestable/EmbedContent.d.ts +78 -0
- package/lib/src/content/fields/nestable/EmbedContent.js +56 -0
- package/lib/src/content/fields/nestable/FieldContent/ColorContent.d.ts +18 -0
- package/lib/src/content/fields/nestable/FieldContent/ColorContent.js +35 -0
- package/lib/src/content/fields/nestable/FieldContent/DateContent.d.ts +18 -0
- package/lib/src/content/fields/nestable/FieldContent/DateContent.js +35 -0
- package/lib/src/content/fields/nestable/FieldContent/NumberContent.d.ts +18 -0
- package/lib/src/content/fields/nestable/FieldContent/NumberContent.js +35 -0
- package/lib/src/content/fields/nestable/FieldContent/RangeContent.d.ts +18 -0
- package/lib/src/content/fields/nestable/FieldContent/RangeContent.js +35 -0
- package/lib/src/content/fields/nestable/FieldContent/SelectContent.d.ts +20 -0
- package/lib/src/content/fields/nestable/FieldContent/SelectContent.js +46 -0
- package/lib/src/content/fields/nestable/FieldContent/TextContent.d.ts +18 -0
- package/lib/src/content/fields/nestable/FieldContent/TextContent.js +35 -0
- package/lib/src/content/fields/nestable/FieldContent/TimestampContent.d.ts +18 -0
- package/lib/src/content/fields/nestable/FieldContent/TimestampContent.js +35 -0
- package/lib/src/content/fields/nestable/FieldContent/common.d.ts +1 -0
- package/lib/src/content/fields/nestable/FieldContent/common.js +4 -0
- package/lib/src/content/fields/nestable/FieldContent/index.d.ts +49 -0
- package/lib/src/content/fields/nestable/FieldContent/index.js +38 -0
- package/lib/src/content/fields/nestable/GeoPointContent.d.ts +33 -0
- package/lib/src/content/fields/nestable/GeoPointContent.js +31 -0
- package/lib/src/content/fields/nestable/ImageContent.d.ts +227 -0
- package/lib/src/content/fields/nestable/ImageContent.js +73 -0
- package/lib/src/content/fields/nestable/IntegrationFieldContent.d.ts +16 -0
- package/lib/src/content/fields/nestable/IntegrationFieldContent.js +28 -0
- package/lib/src/content/fields/nestable/LinkContent.d.ts +919 -0
- package/lib/src/content/fields/nestable/LinkContent.js +399 -0
- package/lib/src/content/fields/nestable/NestableContent.d.ts +1953 -0
- package/lib/src/content/fields/nestable/NestableContent.js +167 -0
- package/lib/src/content/fields/nestable/RepeatableContent.d.ts +176 -0
- package/lib/src/content/fields/nestable/RepeatableContent.js +104 -0
- package/lib/src/content/fields/nestable/RichTextContent/Blocks.d.ts +1261 -0
- package/lib/src/content/fields/nestable/RichTextContent/Blocks.js +170 -0
- package/lib/src/content/fields/nestable/RichTextContent/index.d.ts +1004 -0
- package/lib/src/content/fields/nestable/RichTextContent/index.js +28 -0
- package/lib/src/content/fields/nestable/SeparatorContent.d.ts +13 -0
- package/lib/src/content/fields/nestable/SeparatorContent.js +22 -0
- package/lib/src/content/fields/nestable/TableContent.d.ts +770 -0
- package/lib/src/content/fields/nestable/TableContent.js +121 -0
- package/lib/src/content/fields/nestable/index.d.ts +12 -0
- package/lib/src/content/fields/nestable/index.js +15 -0
- package/lib/src/content/fields/slices/Slice/CompositeSliceContent.d.ts +3934 -0
- package/lib/src/content/fields/slices/Slice/CompositeSliceContent.js +195 -0
- package/lib/src/content/fields/slices/Slice/RepeatableContent.d.ts +774 -0
- package/lib/src/content/fields/slices/Slice/RepeatableContent.js +21 -0
- package/lib/src/content/fields/slices/Slice/SharedSliceContent.d.ts +3937 -0
- package/lib/src/content/fields/slices/Slice/SharedSliceContent.js +215 -0
- package/lib/src/content/fields/slices/Slice/SimpleSliceContent.d.ts +1962 -0
- package/lib/src/content/fields/slices/Slice/SimpleSliceContent.js +130 -0
- package/lib/src/content/fields/slices/Slice/SlicePrimaryContent.d.ts +1952 -0
- package/lib/src/content/fields/slices/Slice/SlicePrimaryContent.js +30 -0
- package/lib/src/content/fields/slices/Slice/index.d.ts +6810 -0
- package/lib/src/content/fields/slices/Slice/index.js +45 -0
- package/lib/src/content/fields/slices/SliceItem.d.ts +6846 -0
- package/lib/src/content/fields/slices/SliceItem.js +116 -0
- package/lib/src/content/fields/slices/SlicesContent.d.ts +9809 -0
- package/lib/src/content/fields/slices/SlicesContent.js +187 -0
- package/lib/src/content/fields/slices/index.d.ts +3 -0
- package/lib/src/content/fields/slices/index.js +6 -0
- package/lib/src/content/fields/withDefaultValues.d.ts +9 -0
- package/lib/src/content/fields/withDefaultValues.js +79 -0
- package/lib/src/content/index.d.ts +3 -0
- package/lib/src/content/index.js +6 -0
- package/lib/src/content/utils.d.ts +14 -0
- package/lib/src/content/utils.js +33 -0
- package/lib/src/customtypes/CustomType.d.ts +3680 -0
- package/lib/src/customtypes/CustomType.js +184 -0
- package/lib/src/customtypes/Section.d.ts +3635 -0
- package/lib/src/customtypes/Section.js +66 -0
- package/lib/src/customtypes/diff/Changes.d.ts +17 -0
- package/lib/src/customtypes/diff/Changes.js +9 -0
- package/lib/src/customtypes/diff/SharedSlice.d.ts +1624 -0
- package/lib/src/customtypes/diff/SharedSlice.js +55 -0
- package/lib/src/customtypes/diff/Variation.d.ts +1605 -0
- package/lib/src/customtypes/diff/Variation.js +113 -0
- package/lib/src/customtypes/diff/Widgets.d.ts +11 -0
- package/lib/src/customtypes/diff/Widgets.js +2 -0
- package/lib/src/customtypes/diff/index.d.ts +4 -0
- package/lib/src/customtypes/diff/index.js +7 -0
- package/lib/src/customtypes/index.d.ts +4 -0
- package/lib/src/customtypes/index.js +7 -0
- package/lib/src/customtypes/widgets/Group.d.ts +1352 -0
- package/lib/src/customtypes/widgets/Group.js +92 -0
- package/lib/src/customtypes/widgets/UID.d.ts +19 -0
- package/lib/src/customtypes/widgets/UID.js +21 -0
- package/lib/src/customtypes/widgets/Widget.d.ts +4457 -0
- package/lib/src/customtypes/widgets/Widget.js +49 -0
- package/lib/src/customtypes/widgets/index.d.ts +6 -0
- package/lib/src/customtypes/widgets/index.js +9 -0
- package/lib/src/customtypes/widgets/nestable/BooleanField.d.ts +20 -0
- package/lib/src/customtypes/widgets/nestable/BooleanField.js +21 -0
- package/lib/src/customtypes/widgets/nestable/Color.d.ts +17 -0
- package/lib/src/customtypes/widgets/nestable/Color.js +20 -0
- package/lib/src/customtypes/widgets/nestable/Date.d.ts +19 -0
- package/lib/src/customtypes/widgets/nestable/Date.js +21 -0
- package/lib/src/customtypes/widgets/nestable/Embed.d.ts +19 -0
- package/lib/src/customtypes/widgets/nestable/Embed.js +21 -0
- package/lib/src/customtypes/widgets/nestable/GeoPoint.d.ts +15 -0
- package/lib/src/customtypes/widgets/nestable/GeoPoint.js +19 -0
- package/lib/src/customtypes/widgets/nestable/Image.d.ts +44 -0
- package/lib/src/customtypes/widgets/nestable/Image.js +29 -0
- package/lib/src/customtypes/widgets/nestable/IntegrationField.d.ts +19 -0
- package/lib/src/customtypes/widgets/nestable/IntegrationField.js +21 -0
- package/lib/src/customtypes/widgets/nestable/Link.d.ts +196 -0
- package/lib/src/customtypes/widgets/nestable/Link.js +167 -0
- package/lib/src/customtypes/widgets/nestable/NestableWidget.d.ts +217 -0
- package/lib/src/customtypes/widgets/nestable/NestableWidget.js +39 -0
- package/lib/src/customtypes/widgets/nestable/Number.d.ts +23 -0
- package/lib/src/customtypes/widgets/nestable/Number.js +24 -0
- package/lib/src/customtypes/widgets/nestable/Range.d.ts +23 -0
- package/lib/src/customtypes/widgets/nestable/Range.js +24 -0
- package/lib/src/customtypes/widgets/nestable/RichText.d.ts +73 -0
- package/lib/src/customtypes/widgets/nestable/RichText.js +131 -0
- package/lib/src/customtypes/widgets/nestable/Select.d.ts +21 -0
- package/lib/src/customtypes/widgets/nestable/Select.js +22 -0
- package/lib/src/customtypes/widgets/nestable/Separator.d.ts +14 -0
- package/lib/src/customtypes/widgets/nestable/Separator.js +18 -0
- package/lib/src/customtypes/widgets/nestable/Table.d.ts +21 -0
- package/lib/src/customtypes/widgets/nestable/Table.js +30 -0
- package/lib/src/customtypes/widgets/nestable/Text.d.ts +19 -0
- package/lib/src/customtypes/widgets/nestable/Text.js +21 -0
- package/lib/src/customtypes/widgets/nestable/Timestamp.d.ts +19 -0
- package/lib/src/customtypes/widgets/nestable/Timestamp.js +21 -0
- package/lib/src/customtypes/widgets/nestable/index.d.ts +17 -0
- package/lib/src/customtypes/widgets/nestable/index.js +20 -0
- package/lib/src/customtypes/widgets/shared/ImageConstraint.d.ts +7 -0
- package/lib/src/customtypes/widgets/shared/ImageConstraint.js +31 -0
- package/lib/src/customtypes/widgets/shared/index.d.ts +1 -0
- package/lib/src/customtypes/widgets/shared/index.js +8 -0
- package/lib/src/customtypes/widgets/slices/CompositeSlice.d.ts +455 -0
- package/lib/src/customtypes/widgets/slices/CompositeSlice.js +63 -0
- package/lib/src/customtypes/widgets/slices/LegacySlice.d.ts +442 -0
- package/lib/src/customtypes/widgets/slices/LegacySlice.js +12 -0
- package/lib/src/customtypes/widgets/slices/SharedSlice.d.ts +1807 -0
- package/lib/src/customtypes/widgets/slices/SharedSlice.js +118 -0
- package/lib/src/customtypes/widgets/slices/SharedSliceRef.d.ts +5 -0
- package/lib/src/customtypes/widgets/slices/SharedSliceRef.js +9 -0
- package/lib/src/customtypes/widgets/slices/Slice.d.ts +6 -0
- package/lib/src/customtypes/widgets/slices/Slice.js +2 -0
- package/lib/src/customtypes/widgets/slices/SlicePrimaryWidget.d.ts +1259 -0
- package/lib/src/customtypes/widgets/slices/SlicePrimaryWidget.js +10 -0
- package/lib/src/customtypes/widgets/slices/Slices.d.ts +5917 -0
- package/lib/src/customtypes/widgets/slices/Slices.js +146 -0
- package/lib/src/customtypes/widgets/slices/SlicesTypes.d.ts +6 -0
- package/lib/src/customtypes/widgets/slices/SlicesTypes.js +11 -0
- package/lib/src/customtypes/widgets/slices/index.d.ts +8 -0
- package/lib/src/customtypes/widgets/slices/index.js +11 -0
- package/lib/src/utils/Arrays.d.ts +1 -0
- package/lib/src/utils/Arrays.js +13 -0
- package/lib/src/utils/DocumentId.d.ts +2 -0
- package/lib/src/utils/DocumentId.js +7 -0
- package/lib/src/utils/Objects.d.ts +8 -0
- package/lib/src/utils/Objects.js +42 -0
- package/lib/src/utils/index.d.ts +3 -0
- package/lib/src/utils/index.js +7 -0
- package/lib/src/validators/BasicTypes.d.ts +10 -0
- package/lib/src/validators/BasicTypes.js +25 -0
- package/lib/src/validators/DateFromString.d.ts +3 -0
- package/lib/src/validators/DateFromString.js +11 -0
- package/lib/src/validators/DateFromStringOrNumber.d.ts +3 -0
- package/lib/src/validators/DateFromStringOrNumber.js +10 -0
- package/lib/src/validators/DateFromTsMs.d.ts +3 -0
- package/lib/src/validators/DateFromTsMs.js +10 -0
- package/lib/src/validators/DefaultOrElse.d.ts +5 -0
- package/lib/src/validators/DefaultOrElse.js +21 -0
- package/lib/src/validators/IntFromNumber.d.ts +5 -0
- package/lib/src/validators/IntFromNumber.js +14 -0
- package/lib/src/validators/IntFromPixels.d.ts +8 -0
- package/lib/src/validators/IntFromPixels.js +24 -0
- package/lib/src/validators/NonEmptyString.d.ts +3 -0
- package/lib/src/validators/NonEmptyString.js +6 -0
- package/lib/src/validators/NonEmptyStringOrNull.d.ts +3 -0
- package/lib/src/validators/NonEmptyStringOrNull.js +15 -0
- package/lib/src/validators/NumberOrNull.d.ts +3 -0
- package/lib/src/validators/NumberOrNull.js +6 -0
- package/lib/src/validators/NumberRange.d.ts +32 -0
- package/lib/src/validators/NumberRange.js +40 -0
- package/lib/src/validators/StringFromBoolean.d.ts +5 -0
- package/lib/src/validators/StringFromBoolean.js +10 -0
- package/lib/src/validators/StringFromNumber.d.ts +5 -0
- package/lib/src/validators/StringFromNumber.js +10 -0
- package/lib/src/validators/StringOrNull.d.ts +3 -0
- package/lib/src/validators/StringOrNull.js +6 -0
- package/lib/src/validators/TrimmedString.d.ts +5 -0
- package/lib/src/validators/TrimmedString.js +23 -0
- package/lib/src/validators/function.d.ts +34 -0
- package/lib/src/validators/function.js +100 -0
- package/lib/src/validators/index.d.ts +15 -0
- package/lib/src/validators/index.js +31 -0
- package/package.json +1 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.traverseGroupItemsContent = exports.traverseGroupContent = exports.groupContentWithDefaultValues = exports.GroupLegacy = exports.arrayWithIndexCodec = exports.GroupItemLegacy = exports.GroupContentDefaultValue = exports.isGroupContent = exports.GroupContent = exports.GroupItemContent = exports.GroupContentType = exports.GroupItemContentType = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fp_ts_1 = require("fp-ts");
|
|
6
|
+
const Either_1 = require("fp-ts/lib/Either");
|
|
7
|
+
const function_1 = require("fp-ts/lib/function");
|
|
8
|
+
const t = (0, tslib_1.__importStar)(require("io-ts"));
|
|
9
|
+
const customtypes_1 = require("../../customtypes");
|
|
10
|
+
const LegacyContentCtx_1 = require("../LegacyContentCtx");
|
|
11
|
+
const utils_1 = require("../utils");
|
|
12
|
+
const nestable_1 = require("./nestable");
|
|
13
|
+
const withDefaultValues_1 = require("./withDefaultValues");
|
|
14
|
+
exports.GroupItemContentType = "GroupItemContent";
|
|
15
|
+
exports.GroupContentType = "GroupContentType";
|
|
16
|
+
exports.GroupItemContent = t.recursion("GroupItemContent", () => t.strict({
|
|
17
|
+
__TYPE__: t.literal(exports.GroupItemContentType),
|
|
18
|
+
key: t.string,
|
|
19
|
+
value: t.array(t.tuple([t.string, t.union([nestable_1.NestableContent, exports.GroupContent])])),
|
|
20
|
+
}));
|
|
21
|
+
exports.GroupContent = t.recursion("GroupContent", () => t.strict({
|
|
22
|
+
__TYPE__: t.literal(exports.GroupContentType),
|
|
23
|
+
value: t.array(exports.GroupItemContent),
|
|
24
|
+
}));
|
|
25
|
+
const isGroupContent = (u) => (0, utils_1.hasContentType)(u) && u.__TYPE__ === exports.GroupContentType;
|
|
26
|
+
exports.isGroupContent = isGroupContent;
|
|
27
|
+
exports.GroupContentDefaultValue = {
|
|
28
|
+
__TYPE__: exports.GroupContentType,
|
|
29
|
+
value: [],
|
|
30
|
+
};
|
|
31
|
+
const itemLegacyReader = t.record(t.string, t.unknown);
|
|
32
|
+
const GroupItemLegacy = (ctx, index) => {
|
|
33
|
+
return new t.Type("GroupItemLegacy", (u) => (0, utils_1.hasContentType)(u) && u.__TYPE__ === exports.GroupItemContentType, (u) => {
|
|
34
|
+
const parsed = (0, function_1.pipe)(itemLegacyReader.decode(u), fp_ts_1.either.map((items) => {
|
|
35
|
+
const groupItemCtx = ctx.withContentKey(`${index}`);
|
|
36
|
+
const parsedItems = Object.entries(items).reduce((acc, [itemKey, itemValue]) => {
|
|
37
|
+
const itemCtx = (0, LegacyContentCtx_1.getFieldCtx)({
|
|
38
|
+
fieldKey: itemKey,
|
|
39
|
+
contentKey: itemKey,
|
|
40
|
+
ctx: groupItemCtx,
|
|
41
|
+
});
|
|
42
|
+
const result = itemCtx.fieldType === customtypes_1.GroupFieldType
|
|
43
|
+
? (0, exports.GroupLegacy)(itemCtx).decode(itemValue)
|
|
44
|
+
: (0, nestable_1.NestableLegacy)(itemCtx).decode(itemValue);
|
|
45
|
+
if (!result)
|
|
46
|
+
return acc;
|
|
47
|
+
if ((0, Either_1.isLeft)(result))
|
|
48
|
+
return acc;
|
|
49
|
+
return [...acc, [itemKey, result.right]];
|
|
50
|
+
}, []);
|
|
51
|
+
return {
|
|
52
|
+
value: parsedItems,
|
|
53
|
+
__TYPE__: exports.GroupItemContentType,
|
|
54
|
+
key: groupItemCtx.fieldContentKey,
|
|
55
|
+
};
|
|
56
|
+
}));
|
|
57
|
+
return parsed;
|
|
58
|
+
}, (item) => {
|
|
59
|
+
const groupItemCtx = ctx.withContentKey(`${index}`);
|
|
60
|
+
return item.value.reduce((acc, [key, value]) => {
|
|
61
|
+
const itemCtx = (0, LegacyContentCtx_1.getFieldCtx)({ fieldKey: key, ctx });
|
|
62
|
+
const encoded = (0, exports.isGroupContent)(value)
|
|
63
|
+
? (0, exports.GroupLegacy)(itemCtx).encode(value)
|
|
64
|
+
: (0, nestable_1.NestableLegacy)(itemCtx).encode(value);
|
|
65
|
+
if (!encoded)
|
|
66
|
+
return acc;
|
|
67
|
+
return {
|
|
68
|
+
content: { ...acc.content, [key]: encoded.content },
|
|
69
|
+
types: { ...acc.types, ...encoded.types },
|
|
70
|
+
keys: { ...acc.keys, ...encoded.keys },
|
|
71
|
+
};
|
|
72
|
+
}, { content: {}, types: {}, keys: { [groupItemCtx.keyOfKey]: item.key } });
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
exports.GroupItemLegacy = GroupItemLegacy;
|
|
76
|
+
function arrayWithIndexCodec(f) {
|
|
77
|
+
return new t.Type("ArrayWithIndexCodec", (u) => Array.isArray(u), (items) => (0, function_1.pipe)(t.array(t.unknown).decode(items), fp_ts_1.either.chain((validItems) => {
|
|
78
|
+
const decodedItems = validItems.map((item, index) => {
|
|
79
|
+
return f(index).decode(item);
|
|
80
|
+
});
|
|
81
|
+
return fp_ts_1.array.sequence(fp_ts_1.either.Applicative)(decodedItems);
|
|
82
|
+
})), (items) => items.map((item, index) => f(index).encode(item)));
|
|
83
|
+
}
|
|
84
|
+
exports.arrayWithIndexCodec = arrayWithIndexCodec;
|
|
85
|
+
const GroupLegacy = (ctx) => {
|
|
86
|
+
const codecDecode = arrayWithIndexCodec((index) => t.union([(0, exports.GroupItemLegacy)(ctx, index), t.null]));
|
|
87
|
+
const codecEncode = (items) => items.map((item, index) => (0, exports.GroupItemLegacy)(ctx, index).encode(item));
|
|
88
|
+
return new t.Type("GroupLegacy", exports.isGroupContent, (items) => {
|
|
89
|
+
return (0, function_1.pipe)(codecDecode.decode(items), fp_ts_1.either.map((parsedItems) => {
|
|
90
|
+
const value = parsedItems.map((i, index) => {
|
|
91
|
+
if (i === null) {
|
|
92
|
+
const key = ctx.withContentKey(`${index}`).fieldContentKey;
|
|
93
|
+
return { __TYPE__: exports.GroupItemContentType, key, value: [] };
|
|
94
|
+
}
|
|
95
|
+
return i;
|
|
96
|
+
});
|
|
97
|
+
return {
|
|
98
|
+
value,
|
|
99
|
+
__TYPE__: exports.GroupContentType,
|
|
100
|
+
};
|
|
101
|
+
}));
|
|
102
|
+
}, (g) => {
|
|
103
|
+
const res = codecEncode(g.value);
|
|
104
|
+
return {
|
|
105
|
+
content: res.map((block) => block.content),
|
|
106
|
+
types: res.reduce((acc, block) => {
|
|
107
|
+
return { ...acc, ...block.types };
|
|
108
|
+
}, { [ctx.keyOfType]: customtypes_1.GroupFieldType }),
|
|
109
|
+
keys: res.reduce((acc, block) => {
|
|
110
|
+
return { ...acc, ...block.keys };
|
|
111
|
+
}, {}),
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
exports.GroupLegacy = GroupLegacy;
|
|
116
|
+
function groupContentWithDefaultValues(customType, content) {
|
|
117
|
+
var _a;
|
|
118
|
+
const fields = (_a = customType.config) === null || _a === void 0 ? void 0 : _a.fields;
|
|
119
|
+
if (!fields)
|
|
120
|
+
return content;
|
|
121
|
+
return {
|
|
122
|
+
...content,
|
|
123
|
+
value: (0, withDefaultValues_1.repeatableContentWithDefaultNestableContentValues)(fields, content.value),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
exports.groupContentWithDefaultValues = groupContentWithDefaultValues;
|
|
127
|
+
function traverseGroupContent({ path, key, apiId, model, content, }) {
|
|
128
|
+
return (transform) => {
|
|
129
|
+
var _a;
|
|
130
|
+
const groupItems = traverseGroupItemsContent({
|
|
131
|
+
path,
|
|
132
|
+
model: (_a = model === null || model === void 0 ? void 0 : model.config) === null || _a === void 0 ? void 0 : _a.fields,
|
|
133
|
+
content: content.value,
|
|
134
|
+
})(transform);
|
|
135
|
+
return transform({
|
|
136
|
+
path,
|
|
137
|
+
key,
|
|
138
|
+
apiId,
|
|
139
|
+
model,
|
|
140
|
+
content: {
|
|
141
|
+
__TYPE__: content.__TYPE__,
|
|
142
|
+
value: groupItems,
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
exports.traverseGroupContent = traverseGroupContent;
|
|
148
|
+
function traverseGroupItemsContent({ path, model, content, }) {
|
|
149
|
+
return (transform) => {
|
|
150
|
+
return content.map((groupItem) => {
|
|
151
|
+
const groupItemPath = path.concat([
|
|
152
|
+
{ key: groupItem.key, type: "GroupItem" },
|
|
153
|
+
]);
|
|
154
|
+
const groupItemFields = groupItem.value.reduce((acc, [fieldKey, fieldContent]) => {
|
|
155
|
+
const fieldDef = model === null || model === void 0 ? void 0 : model[fieldKey];
|
|
156
|
+
let transformedField;
|
|
157
|
+
if ((0, exports.isGroupContent)(fieldContent)) {
|
|
158
|
+
transformedField = traverseGroupContent({
|
|
159
|
+
path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
|
|
160
|
+
key: fieldKey,
|
|
161
|
+
apiId: fieldKey,
|
|
162
|
+
model: (fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.type) === "Group" ? fieldDef : undefined,
|
|
163
|
+
content: fieldContent,
|
|
164
|
+
})(transform);
|
|
165
|
+
}
|
|
166
|
+
else if ((0, nestable_1.isRepeatableContent)(fieldContent)) {
|
|
167
|
+
transformedField = (0, nestable_1.traverseRepeatableContent)({
|
|
168
|
+
path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
|
|
169
|
+
key: fieldKey,
|
|
170
|
+
apiId: fieldKey,
|
|
171
|
+
model: (fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.type) === "Link" ? fieldDef : undefined,
|
|
172
|
+
content: fieldContent,
|
|
173
|
+
})(transform);
|
|
174
|
+
}
|
|
175
|
+
else if ((0, nestable_1.isTableContent)(fieldContent)) {
|
|
176
|
+
transformedField = (0, nestable_1.traverseTableContent)({
|
|
177
|
+
path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
|
|
178
|
+
key: fieldKey,
|
|
179
|
+
apiId: fieldKey,
|
|
180
|
+
model: (fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.type) === "Table" ? fieldDef : undefined,
|
|
181
|
+
content: fieldContent,
|
|
182
|
+
})(transform);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
transformedField = transform({
|
|
186
|
+
path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
|
|
187
|
+
key: fieldKey,
|
|
188
|
+
apiId: fieldKey,
|
|
189
|
+
model: fieldDef,
|
|
190
|
+
content: fieldContent,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
// Can happen if the transform function returns undefined to filter out a field
|
|
194
|
+
if (!transformedField ||
|
|
195
|
+
!((0, nestable_1.isNestableContent)(transformedField) ||
|
|
196
|
+
(0, exports.isGroupContent)(transformedField)))
|
|
197
|
+
return acc;
|
|
198
|
+
return acc.concat([[fieldKey, transformedField]]);
|
|
199
|
+
}, []);
|
|
200
|
+
return {
|
|
201
|
+
__TYPE__: groupItem.__TYPE__,
|
|
202
|
+
key: groupItem.key,
|
|
203
|
+
value: groupItemFields,
|
|
204
|
+
};
|
|
205
|
+
});
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
exports.traverseGroupItemsContent = traverseGroupItemsContent;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as t from "io-ts";
|
|
2
|
+
import type { LegacyContentCtx, WithTypes } from "../LegacyContentCtx";
|
|
3
|
+
export declare const UIDContentType = "UIDContent";
|
|
4
|
+
export declare const isUIDContent: (u: unknown) => u is {
|
|
5
|
+
__TYPE__: "UIDContent";
|
|
6
|
+
value: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const UIDLegacy: (ctx: LegacyContentCtx) => t.Type<{
|
|
9
|
+
__TYPE__: "UIDContent";
|
|
10
|
+
value: string;
|
|
11
|
+
}, WithTypes<string>, unknown>;
|
|
12
|
+
export declare const UIDContent: t.TypeC<{
|
|
13
|
+
__TYPE__: t.LiteralC<"UIDContent">;
|
|
14
|
+
value: t.StringC;
|
|
15
|
+
}>;
|
|
16
|
+
export declare type UIDContent = t.TypeOf<typeof UIDContent>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UIDContent = exports.UIDLegacy = exports.isUIDContent = exports.UIDContentType = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fp_ts_1 = require("fp-ts");
|
|
6
|
+
const function_1 = require("fp-ts/lib/function");
|
|
7
|
+
const t = (0, tslib_1.__importStar)(require("io-ts"));
|
|
8
|
+
const utils_1 = require("../utils");
|
|
9
|
+
exports.UIDContentType = "UIDContent";
|
|
10
|
+
const isUIDContent = (u) => (0, utils_1.hasContentType)(u) && u.__TYPE__ === exports.UIDContentType;
|
|
11
|
+
exports.isUIDContent = isUIDContent;
|
|
12
|
+
const UIDLegacy = (ctx) => new t.Type("UIDLegacy", exports.isUIDContent, (u) => {
|
|
13
|
+
return (0, function_1.pipe)(t.string.decode(u), fp_ts_1.either.map((uid) => exports.UIDContent.encode({ value: uid, __TYPE__: exports.UIDContentType })));
|
|
14
|
+
}, (uid) => {
|
|
15
|
+
return {
|
|
16
|
+
content: uid.value,
|
|
17
|
+
types: { [ctx.keyOfType]: "UID" },
|
|
18
|
+
keys: {},
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
exports.UIDLegacy = UIDLegacy;
|
|
22
|
+
exports.UIDContent = t.type({
|
|
23
|
+
__TYPE__: t.literal(exports.UIDContentType),
|
|
24
|
+
value: t.string,
|
|
25
|
+
});
|