@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,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Block = exports.BlockLegacy = exports.TextBlockLegacy = exports.TextBlock = exports.checkEmbedBlock = exports.EmbedBlock = exports.checkImageBlock = exports.ImageBlock = exports.ValidatedSpans = exports.SpanLegacy = exports.Span = 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 io_ts_types_1 = require("io-ts-types");
|
|
10
|
+
const nestable_1 = require("../../../../customtypes/widgets/nestable");
|
|
11
|
+
const validators_1 = require("../../../../validators");
|
|
12
|
+
const function_2 = require("../../../../validators/function");
|
|
13
|
+
const EmbedContent_1 = require("../EmbedContent");
|
|
14
|
+
const ImageContent_1 = require("../ImageContent");
|
|
15
|
+
const LinkContent_1 = require("../LinkContent");
|
|
16
|
+
const linkSpan = (linkCodec) => t.strict({
|
|
17
|
+
data: linkCodec,
|
|
18
|
+
start: t.number,
|
|
19
|
+
end: t.number,
|
|
20
|
+
type: t.literal(nestable_1.RichTextNodeType.hyperlink),
|
|
21
|
+
});
|
|
22
|
+
const labelSpan = t.strict({
|
|
23
|
+
data: (0, io_ts_types_1.withFallback)(t.string, ""),
|
|
24
|
+
start: t.number,
|
|
25
|
+
end: t.number,
|
|
26
|
+
type: t.literal("label"),
|
|
27
|
+
});
|
|
28
|
+
const basicSpan = t.strict({
|
|
29
|
+
start: t.number,
|
|
30
|
+
end: t.number,
|
|
31
|
+
type: t.keyof({
|
|
32
|
+
[nestable_1.RichTextNodeType.strong]: null,
|
|
33
|
+
[nestable_1.RichTextNodeType.em]: null,
|
|
34
|
+
"list-item": null, // legacy case that should not happen, we shouldn't support this in new page builder or migration API
|
|
35
|
+
}),
|
|
36
|
+
});
|
|
37
|
+
exports.Span = t.union([linkSpan(LinkContent_1.FilledLink), labelSpan, basicSpan]);
|
|
38
|
+
exports.SpanLegacy = t.union([
|
|
39
|
+
linkSpan(LinkContent_1.FilledLinkLegacy),
|
|
40
|
+
labelSpan,
|
|
41
|
+
basicSpan,
|
|
42
|
+
]);
|
|
43
|
+
const ValidatedSpans = (spanCodec) => {
|
|
44
|
+
return new t.Type("ValidatedSpans", (spans) => Array.isArray(spans) && spans.every(spanCodec.is), (spans, c) => {
|
|
45
|
+
if (Array.isArray(spans)) {
|
|
46
|
+
const res = spans
|
|
47
|
+
.reduce((acc, maybeSpan) => {
|
|
48
|
+
const decodedSpan = spanCodec.decode(maybeSpan);
|
|
49
|
+
if ((0, Either_1.isLeft)(decodedSpan))
|
|
50
|
+
return acc;
|
|
51
|
+
return [...acc, decodedSpan.right];
|
|
52
|
+
}, [])
|
|
53
|
+
.sort((m1, m2) => m1.start - m2.start);
|
|
54
|
+
return t.success(res);
|
|
55
|
+
}
|
|
56
|
+
else
|
|
57
|
+
return t.failure(spans, c);
|
|
58
|
+
}, (m) => {
|
|
59
|
+
return m.reduce((acc, meta) => {
|
|
60
|
+
const encoded = spanCodec.encode(meta);
|
|
61
|
+
return [...acc, encoded];
|
|
62
|
+
}, []);
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
exports.ValidatedSpans = ValidatedSpans;
|
|
66
|
+
// We allow any codec here and let TypeScript infer the resulting codec.
|
|
67
|
+
// Typing it more precisely creates conflicts.
|
|
68
|
+
//
|
|
69
|
+
// Using `t.Mixed` rather than `t.Type<A, O>` causes `data.linkTo` to be
|
|
70
|
+
// typed as `any`. It seems to be an issue with the `nullable` helper.
|
|
71
|
+
const ImageBlockCodec = (linkCodec) => t.exact(t.intersection([
|
|
72
|
+
t.type({
|
|
73
|
+
type: t.literal(nestable_1.RichTextNodeType.image),
|
|
74
|
+
data: t.intersection([
|
|
75
|
+
ImageContent_1.ImageContentView,
|
|
76
|
+
t.partial({
|
|
77
|
+
linkTo: (0, function_2.nullable)(linkCodec),
|
|
78
|
+
}),
|
|
79
|
+
]),
|
|
80
|
+
}),
|
|
81
|
+
t.partial({
|
|
82
|
+
label: validators_1.StringOrNull,
|
|
83
|
+
direction: validators_1.StringOrNull,
|
|
84
|
+
}),
|
|
85
|
+
]));
|
|
86
|
+
exports.ImageBlock = ImageBlockCodec(LinkContent_1.FilledLink);
|
|
87
|
+
const ImageBlockLegacy = ImageBlockCodec(LinkContent_1.FilledLinkLegacy);
|
|
88
|
+
function checkImageBlock(block) {
|
|
89
|
+
return block.type === nestable_1.RichTextNodeType.image;
|
|
90
|
+
}
|
|
91
|
+
exports.checkImageBlock = checkImageBlock;
|
|
92
|
+
const embedBlockLegacyCodec = t.exact(t.intersection([
|
|
93
|
+
t.type({
|
|
94
|
+
type: t.literal(nestable_1.RichTextNodeType.embed),
|
|
95
|
+
data: t.unknown,
|
|
96
|
+
}),
|
|
97
|
+
t.partial({
|
|
98
|
+
label: validators_1.StringOrNull,
|
|
99
|
+
direction: validators_1.StringOrNull,
|
|
100
|
+
}),
|
|
101
|
+
]));
|
|
102
|
+
const EmbedBlockLegacy = new t.Type("EmbedBlockLegacy", (u) => u.type === "embed", (block) => (0, function_1.pipe)(embedBlockLegacyCodec.decode(block), fp_ts_1.either.chain((decodedBlock) => {
|
|
103
|
+
return fp_ts_1.either.map((decodedData) => {
|
|
104
|
+
return [decodedBlock, decodedData];
|
|
105
|
+
})(EmbedContent_1.EmbedContentLegacy.decode(decodedBlock.data));
|
|
106
|
+
}), fp_ts_1.either.map(([block, parsedData]) => {
|
|
107
|
+
return exports.EmbedBlock.encode({
|
|
108
|
+
...block,
|
|
109
|
+
data: {
|
|
110
|
+
...parsedData,
|
|
111
|
+
__TYPE__: EmbedContent_1.EmbedContentType,
|
|
112
|
+
all: block.data,
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
})), (embedBlock) => {
|
|
116
|
+
return {
|
|
117
|
+
...embedBlockLegacyCodec.encode(embedBlock),
|
|
118
|
+
data: EmbedContent_1.EmbedContentLegacy.encode(embedBlock.data),
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
exports.EmbedBlock = t.exact(t.intersection([
|
|
122
|
+
t.type({
|
|
123
|
+
type: t.literal(nestable_1.RichTextNodeType.embed),
|
|
124
|
+
data: EmbedContent_1.EmbedContent,
|
|
125
|
+
}),
|
|
126
|
+
t.partial({
|
|
127
|
+
label: validators_1.StringOrNull,
|
|
128
|
+
direction: validators_1.StringOrNull,
|
|
129
|
+
}),
|
|
130
|
+
]));
|
|
131
|
+
function checkEmbedBlock(block) {
|
|
132
|
+
return block.type === nestable_1.RichTextNodeType.embed;
|
|
133
|
+
}
|
|
134
|
+
exports.checkEmbedBlock = checkEmbedBlock;
|
|
135
|
+
const TextBlockCodec = (spanCodec) => t.exact(t.intersection([
|
|
136
|
+
t.type({
|
|
137
|
+
type: (0, function_2.refineType)(nestable_1.RichTextNodeTypeCodec, `string which isn't ${nestable_1.RichTextNodeType.image} ${nestable_1.RichTextNodeType.embed}`, (s) => s !== nestable_1.RichTextNodeType.image && s !== nestable_1.RichTextNodeType.embed),
|
|
138
|
+
content: t.intersection([
|
|
139
|
+
t.type({
|
|
140
|
+
text: t.string,
|
|
141
|
+
}),
|
|
142
|
+
t.partial({
|
|
143
|
+
spans: (0, exports.ValidatedSpans)(spanCodec),
|
|
144
|
+
}),
|
|
145
|
+
]),
|
|
146
|
+
}),
|
|
147
|
+
t.partial({
|
|
148
|
+
label: t.string,
|
|
149
|
+
direction: t.string,
|
|
150
|
+
}),
|
|
151
|
+
]));
|
|
152
|
+
/* These Text block will decode codec A and encode from codec B to A */
|
|
153
|
+
exports.TextBlock = TextBlockCodec(exports.Span);
|
|
154
|
+
exports.TextBlockLegacy = TextBlockCodec(exports.SpanLegacy);
|
|
155
|
+
const legacyBlockCodec = t.union([
|
|
156
|
+
EmbedBlockLegacy,
|
|
157
|
+
ImageBlockLegacy,
|
|
158
|
+
exports.TextBlockLegacy,
|
|
159
|
+
]);
|
|
160
|
+
exports.BlockLegacy = new t.Type("BlockLegacy", (u) => EmbedBlockLegacy.is(u) || ImageBlockLegacy.is(u) || exports.TextBlockLegacy.is(u), (legacyBlock) => legacyBlockCodec.decode(legacyBlock), (block) => {
|
|
161
|
+
return (() => {
|
|
162
|
+
if (exports.ImageBlock.is(block))
|
|
163
|
+
return ImageBlockLegacy.encode(block);
|
|
164
|
+
else if (exports.EmbedBlock.is(block))
|
|
165
|
+
return EmbedBlockLegacy.encode(block);
|
|
166
|
+
else
|
|
167
|
+
return exports.TextBlockLegacy.encode(block);
|
|
168
|
+
})();
|
|
169
|
+
});
|
|
170
|
+
exports.Block = t.union([exports.ImageBlock, exports.EmbedBlock, exports.TextBlock]);
|