@prismicio/types-internal 1.5.3 → 2.0.0-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.
Files changed (252) hide show
  1. package/lib/common/WidgetKey.d.ts +3 -0
  2. package/lib/common/WidgetKey.js +8 -0
  3. package/lib/common/index.d.ts +1 -0
  4. package/lib/common/index.js +4 -0
  5. package/lib/content/Document.d.ts +4285 -2573
  6. package/lib/content/Document.js +87 -10
  7. package/lib/content/LegacyContentCtx.d.ts +41 -0
  8. package/lib/content/LegacyContentCtx.js +65 -0
  9. package/lib/content/fields/EmptyContent.d.ts +16 -0
  10. package/lib/content/fields/EmptyContent.js +30 -0
  11. package/lib/content/fields/GroupContent.d.ts +1063 -364
  12. package/lib/content/fields/GroupContent.js +65 -6
  13. package/lib/content/fields/UIDContent.d.ts +10 -1
  14. package/lib/content/fields/UIDContent.js +17 -4
  15. package/lib/content/fields/WidgetContent.d.ts +6820 -0
  16. package/lib/content/fields/WidgetContent.js +57 -0
  17. package/lib/content/fields/index.d.ts +1 -2989
  18. package/lib/content/fields/index.js +1 -18
  19. package/lib/content/fields/nestable/BooleanContent.d.ts +10 -1
  20. package/lib/content/fields/nestable/BooleanContent.js +17 -4
  21. package/lib/content/fields/nestable/EmbedContent.d.ts +56 -5
  22. package/lib/content/fields/nestable/EmbedContent.js +57 -6
  23. package/lib/content/fields/nestable/FieldContent/ColorContent.d.ts +18 -0
  24. package/lib/content/fields/nestable/FieldContent/ColorContent.js +34 -0
  25. package/lib/content/fields/nestable/FieldContent/DateContent.d.ts +18 -0
  26. package/lib/content/fields/nestable/FieldContent/DateContent.js +34 -0
  27. package/lib/content/fields/nestable/FieldContent/NumberContent.d.ts +18 -0
  28. package/lib/content/fields/nestable/FieldContent/NumberContent.js +34 -0
  29. package/lib/content/fields/nestable/FieldContent/RangeContent.d.ts +18 -0
  30. package/lib/content/fields/nestable/FieldContent/RangeContent.js +34 -0
  31. package/lib/content/fields/nestable/FieldContent/SelectContent.d.ts +18 -0
  32. package/lib/content/fields/nestable/FieldContent/SelectContent.js +34 -0
  33. package/lib/content/fields/nestable/FieldContent/TextContent.d.ts +18 -0
  34. package/lib/content/fields/nestable/FieldContent/TextContent.js +34 -0
  35. package/lib/content/fields/nestable/FieldContent/TimestampContent.d.ts +18 -0
  36. package/lib/content/fields/nestable/FieldContent/TimestampContent.js +34 -0
  37. package/lib/content/fields/nestable/FieldContent/common.d.ts +1 -0
  38. package/lib/content/fields/nestable/FieldContent/common.js +4 -0
  39. package/lib/content/fields/nestable/FieldContent/index.d.ts +49 -0
  40. package/lib/content/fields/nestable/FieldContent/index.js +38 -0
  41. package/lib/content/fields/nestable/FieldContent.d.ts +7 -1
  42. package/lib/content/fields/nestable/FieldContent.js +19 -4
  43. package/lib/content/fields/nestable/GeoPointContent.d.ts +19 -4
  44. package/lib/content/fields/nestable/GeoPointContent.js +22 -5
  45. package/lib/content/fields/nestable/ImageContent.d.ts +109 -11
  46. package/lib/content/fields/nestable/ImageContent.js +64 -6
  47. package/lib/content/fields/nestable/IntegrationFieldContent.d.ts +10 -1
  48. package/lib/content/fields/nestable/IntegrationFieldContent.js +20 -4
  49. package/lib/content/fields/nestable/LinkContent.d.ts +240 -87
  50. package/lib/content/fields/nestable/LinkContent.js +133 -36
  51. package/lib/content/fields/nestable/NestableContent.d.ts +711 -251
  52. package/lib/content/fields/nestable/NestableContent.js +116 -13
  53. package/lib/content/fields/nestable/RichTextContent/Blocks.d.ts +594 -0
  54. package/lib/content/fields/nestable/RichTextContent/Blocks.js +151 -0
  55. package/lib/content/fields/nestable/RichTextContent/index.d.ts +489 -0
  56. package/lib/content/fields/nestable/RichTextContent/index.js +27 -0
  57. package/lib/content/fields/nestable/SeparatorContent.d.ts +8 -1
  58. package/lib/content/fields/nestable/SeparatorContent.js +15 -4
  59. package/lib/content/fields/slices/CompositeSliceContent.d.ts +296 -362
  60. package/lib/content/fields/slices/RepeatableContent.d.ts +148 -181
  61. package/lib/content/fields/slices/SharedSliceContent.d.ts +296 -362
  62. package/lib/content/fields/slices/SimpleSliceContent.d.ts +296 -362
  63. package/lib/content/fields/slices/Slice/CompositeSliceContent.d.ts +1709 -0
  64. package/lib/content/fields/slices/Slice/CompositeSliceContent.js +81 -0
  65. package/lib/content/fields/slices/Slice/RepeatableContent.d.ts +582 -0
  66. package/lib/content/fields/slices/Slice/RepeatableContent.js +18 -0
  67. package/lib/content/fields/slices/Slice/SharedSliceContent.d.ts +1713 -0
  68. package/lib/content/fields/slices/Slice/SharedSliceContent.js +98 -0
  69. package/lib/content/fields/slices/Slice/SimpleSliceContent.d.ts +1429 -0
  70. package/lib/content/fields/slices/Slice/SimpleSliceContent.js +24 -0
  71. package/lib/content/fields/slices/Slice/index.d.ts +3216 -0
  72. package/lib/content/fields/slices/Slice/index.js +41 -0
  73. package/lib/content/fields/slices/SliceItem.d.ts +3498 -0
  74. package/lib/content/fields/slices/SliceItem.js +61 -0
  75. package/lib/content/fields/slices/SlicesContent.d.ts +4243 -3576
  76. package/lib/content/fields/slices/SlicesContent.js +28 -18
  77. package/lib/content/fields/slices/index.d.ts +4 -3
  78. package/lib/content/fields/slices/index.js +4 -3
  79. package/lib/content/index.d.ts +1 -0
  80. package/lib/content/index.js +1 -0
  81. package/lib/content/utils.d.ts +10 -0
  82. package/lib/content/utils.js +19 -0
  83. package/lib/customtypes/CustomType.d.ts +366 -366
  84. package/lib/customtypes/CustomType.js +4 -7
  85. package/lib/customtypes/Section.d.ts +366 -366
  86. package/lib/customtypes/Section.js +2 -2
  87. package/lib/customtypes/diff/SharedSlice.d.ts +4 -4
  88. package/lib/customtypes/diff/Variation.d.ts +4 -4
  89. package/lib/customtypes/widgets/Group.d.ts +1 -0
  90. package/lib/customtypes/widgets/Group.js +6 -5
  91. package/lib/customtypes/widgets/UID.d.ts +1 -0
  92. package/lib/customtypes/widgets/UID.js +3 -2
  93. package/lib/customtypes/widgets/Widget.d.ts +384 -362
  94. package/lib/customtypes/widgets/Widget.js +29 -8
  95. package/lib/customtypes/widgets/index.d.ts +6 -7
  96. package/lib/customtypes/widgets/index.js +6 -11
  97. package/lib/customtypes/widgets/nestable/BooleanField.d.ts +10 -3
  98. package/lib/customtypes/widgets/nestable/BooleanField.js +6 -6
  99. package/lib/customtypes/widgets/nestable/Color.d.ts +8 -3
  100. package/lib/customtypes/widgets/nestable/Color.js +6 -6
  101. package/lib/customtypes/widgets/nestable/Date.d.ts +9 -3
  102. package/lib/customtypes/widgets/nestable/Date.js +6 -6
  103. package/lib/customtypes/widgets/nestable/Embed.d.ts +9 -3
  104. package/lib/customtypes/widgets/nestable/Embed.js +6 -6
  105. package/lib/customtypes/widgets/nestable/GeoPoint.d.ts +7 -3
  106. package/lib/customtypes/widgets/nestable/GeoPoint.js +6 -6
  107. package/lib/customtypes/widgets/nestable/Image.d.ts +25 -3
  108. package/lib/customtypes/widgets/nestable/Image.js +8 -8
  109. package/lib/customtypes/widgets/nestable/IntegrationField.d.ts +9 -3
  110. package/lib/customtypes/widgets/nestable/IntegrationField.js +6 -6
  111. package/lib/customtypes/widgets/nestable/Link.d.ts +14 -2
  112. package/lib/customtypes/widgets/nestable/Link.js +7 -6
  113. package/lib/customtypes/widgets/nestable/NestableWidget.d.ts +3 -3
  114. package/lib/customtypes/widgets/nestable/NestableWidget.js +30 -30
  115. package/lib/customtypes/widgets/nestable/Number.d.ts +11 -3
  116. package/lib/customtypes/widgets/nestable/Number.js +6 -6
  117. package/lib/customtypes/widgets/nestable/Range.d.ts +11 -3
  118. package/lib/customtypes/widgets/nestable/Range.js +6 -6
  119. package/lib/customtypes/widgets/nestable/RichText.d.ts +1 -0
  120. package/lib/customtypes/widgets/nestable/RichText.js +3 -3
  121. package/lib/customtypes/widgets/nestable/Select.d.ts +10 -3
  122. package/lib/customtypes/widgets/nestable/Select.js +6 -6
  123. package/lib/customtypes/widgets/nestable/Separator.d.ts +7 -3
  124. package/lib/customtypes/widgets/nestable/Separator.js +6 -6
  125. package/lib/customtypes/widgets/nestable/Text.d.ts +9 -2
  126. package/lib/customtypes/widgets/nestable/Text.js +7 -6
  127. package/lib/customtypes/widgets/nestable/Timestamp.d.ts +9 -3
  128. package/lib/customtypes/widgets/nestable/Timestamp.js +6 -6
  129. package/lib/customtypes/widgets/nestable/index.d.ts +15 -15
  130. package/lib/customtypes/widgets/nestable/index.js +15 -31
  131. package/lib/customtypes/widgets/slices/CompositeSlice.d.ts +1 -0
  132. package/lib/customtypes/widgets/slices/CompositeSlice.js +7 -6
  133. package/lib/customtypes/widgets/slices/LegacySlice.js +2 -2
  134. package/lib/customtypes/widgets/slices/SharedSlice.d.ts +1 -0
  135. package/lib/customtypes/widgets/slices/SharedSlice.js +7 -7
  136. package/lib/customtypes/widgets/slices/SharedSliceRef.js +2 -2
  137. package/lib/customtypes/widgets/slices/Slices.d.ts +364 -362
  138. package/lib/customtypes/widgets/slices/Slices.js +8 -8
  139. package/lib/customtypes/widgets/slices/SlicesTypes.d.ts +6 -5
  140. package/lib/customtypes/widgets/slices/SlicesTypes.js +8 -4
  141. package/lib/documents/DocumentData.d.ts +3 -14
  142. package/lib/documents/DocumentData.js +5 -60
  143. package/lib/documents/widgets/nestable/ImageContent.d.ts +1 -1
  144. package/lib/documents/widgets/nestable/ImageContent.js +2 -2
  145. package/lib/utils/Objects.d.ts +1 -0
  146. package/lib/utils/Objects.js +10 -1
  147. package/package.json +1 -1
  148. package/src/common/WidgetKey.ts +13 -0
  149. package/src/common/index.ts +1 -0
  150. package/src/content/Document.ts +129 -16
  151. package/src/content/LegacyContentCtx.ts +57 -0
  152. package/src/content/fields/EmptyContent.ts +45 -0
  153. package/src/content/fields/GroupContent.ts +103 -8
  154. package/src/content/fields/UIDContent.ts +33 -3
  155. package/src/content/fields/WidgetContent.ts +76 -0
  156. package/src/content/fields/index.ts +1 -23
  157. package/src/content/fields/nestable/BooleanContent.ts +32 -3
  158. package/src/content/fields/nestable/EmbedContent.ts +79 -8
  159. package/src/content/fields/nestable/FieldContent/ColorContent.ts +48 -0
  160. package/src/content/fields/nestable/FieldContent/DateContent.ts +48 -0
  161. package/src/content/fields/nestable/FieldContent/NumberContent.ts +48 -0
  162. package/src/content/fields/nestable/FieldContent/RangeContent.ts +48 -0
  163. package/src/content/fields/nestable/FieldContent/SelectContent.ts +48 -0
  164. package/src/content/fields/nestable/FieldContent/TextContent.ts +48 -0
  165. package/src/content/fields/nestable/FieldContent/TimestampContent.ts +48 -0
  166. package/src/content/fields/nestable/FieldContent/common.ts +1 -0
  167. package/src/content/fields/nestable/FieldContent/index.ts +40 -0
  168. package/src/content/fields/nestable/GeoPointContent.ts +38 -7
  169. package/src/content/fields/nestable/ImageContent.ts +91 -11
  170. package/src/content/fields/nestable/IntegrationFieldContent.ts +42 -3
  171. package/src/content/fields/nestable/LinkContent.ts +208 -47
  172. package/src/content/fields/nestable/NestableContent.ts +180 -24
  173. package/src/content/fields/nestable/RichTextContent/Blocks.ts +205 -0
  174. package/src/content/fields/nestable/RichTextContent/index.ts +43 -0
  175. package/src/content/fields/nestable/SeparatorContent.ts +26 -3
  176. package/src/content/fields/slices/Slice/CompositeSliceContent.ts +118 -0
  177. package/src/content/fields/slices/{RepeatableContent.ts → Slice/RepeatableContent.ts} +7 -4
  178. package/src/content/fields/slices/Slice/SharedSliceContent.ts +129 -0
  179. package/src/content/fields/slices/Slice/SimpleSliceContent.ts +30 -0
  180. package/src/content/fields/slices/Slice/index.ts +47 -0
  181. package/src/content/fields/slices/SliceItem.ts +83 -0
  182. package/src/content/fields/slices/SlicesContent.ts +47 -19
  183. package/src/content/fields/slices/index.ts +4 -3
  184. package/src/content/index.ts +1 -0
  185. package/src/content/utils.ts +20 -0
  186. package/src/customtypes/CustomType.ts +4 -10
  187. package/src/customtypes/Section.ts +1 -1
  188. package/src/customtypes/widgets/Group.ts +4 -4
  189. package/src/customtypes/widgets/UID.ts +3 -2
  190. package/src/customtypes/widgets/Widget.ts +53 -7
  191. package/src/customtypes/widgets/index.ts +6 -7
  192. package/src/customtypes/widgets/nestable/BooleanField.ts +7 -8
  193. package/src/customtypes/widgets/nestable/Color.ts +6 -8
  194. package/src/customtypes/widgets/nestable/Date.ts +7 -8
  195. package/src/customtypes/widgets/nestable/Embed.ts +7 -8
  196. package/src/customtypes/widgets/nestable/GeoPoint.ts +7 -8
  197. package/src/customtypes/widgets/nestable/Image.ts +9 -10
  198. package/src/customtypes/widgets/nestable/IntegrationField.ts +6 -8
  199. package/src/customtypes/widgets/nestable/Link.ts +7 -6
  200. package/src/customtypes/widgets/nestable/NestableWidget.ts +17 -18
  201. package/src/customtypes/widgets/nestable/Number.ts +7 -8
  202. package/src/customtypes/widgets/nestable/Range.ts +7 -8
  203. package/src/customtypes/widgets/nestable/RichText.ts +3 -2
  204. package/src/customtypes/widgets/nestable/Select.ts +7 -8
  205. package/src/customtypes/widgets/nestable/Separator.ts +7 -8
  206. package/src/customtypes/widgets/nestable/Text.ts +7 -6
  207. package/src/customtypes/widgets/nestable/Timestamp.ts +7 -8
  208. package/src/customtypes/widgets/nestable/index.ts +15 -15
  209. package/src/customtypes/widgets/slices/CompositeSlice.ts +5 -4
  210. package/src/customtypes/widgets/slices/LegacySlice.ts +1 -1
  211. package/src/customtypes/widgets/slices/SharedSlice.ts +5 -4
  212. package/src/customtypes/widgets/slices/SharedSliceRef.ts +2 -2
  213. package/src/customtypes/widgets/slices/Slices.ts +7 -6
  214. package/src/customtypes/widgets/slices/SlicesTypes.ts +10 -5
  215. package/src/utils/Objects.ts +12 -0
  216. package/src/content/fields/nestable/FieldContent.ts +0 -25
  217. package/src/content/fields/nestable/RichTextContent.ts +0 -32
  218. package/src/content/fields/slices/CompositeSliceContent.ts +0 -14
  219. package/src/content/fields/slices/SharedSliceContent.ts +0 -14
  220. package/src/content/fields/slices/SimpleSliceContent.ts +0 -7
  221. package/src/customtypes/widgets/WidgetTypes.ts +0 -24
  222. package/src/documents/DocumentData.ts +0 -112
  223. package/src/documents/index.ts +0 -2
  224. package/src/documents/widgets/EmptyContent.ts +0 -8
  225. package/src/documents/widgets/GroupContent.ts +0 -91
  226. package/src/documents/widgets/SimpleWidgetContent.ts +0 -96
  227. package/src/documents/widgets/StaticWidgetContent.ts +0 -46
  228. package/src/documents/widgets/UIDContent.ts +0 -18
  229. package/src/documents/widgets/index.ts +0 -70
  230. package/src/documents/widgets/nestable/BooleanContent.ts +0 -21
  231. package/src/documents/widgets/nestable/EmbedContent.ts +0 -56
  232. package/src/documents/widgets/nestable/FieldContent.ts +0 -53
  233. package/src/documents/widgets/nestable/GeoPointContent.ts +0 -18
  234. package/src/documents/widgets/nestable/ImageContent.ts +0 -51
  235. package/src/documents/widgets/nestable/IntegrationFieldsContent.ts +0 -26
  236. package/src/documents/widgets/nestable/Link/DocumentLink.ts +0 -18
  237. package/src/documents/widgets/nestable/Link/ExternalLink.ts +0 -31
  238. package/src/documents/widgets/nestable/Link/FileLink.ts +0 -30
  239. package/src/documents/widgets/nestable/Link/ImageLink.ts +0 -31
  240. package/src/documents/widgets/nestable/Link/LinkContent.ts +0 -25
  241. package/src/documents/widgets/nestable/Link/index.ts +0 -35
  242. package/src/documents/widgets/nestable/SeparatorContent.ts +0 -13
  243. package/src/documents/widgets/nestable/StructuredTextContent/Block.ts +0 -126
  244. package/src/documents/widgets/nestable/StructuredTextContent/index.ts +0 -25
  245. package/src/documents/widgets/nestable/index.ts +0 -35
  246. package/src/documents/widgets/slices/CompositeSliceContent.ts +0 -77
  247. package/src/documents/widgets/slices/SharedSliceContent.ts +0 -94
  248. package/src/documents/widgets/slices/SimpleSliceContent.ts +0 -4
  249. package/src/documents/widgets/slices/SliceWidgetContent.ts +0 -51
  250. package/src/documents/widgets/slices/SlicesContent.ts +0 -91
  251. package/src/documents/widgets/slices/index.ts +0 -5
  252. package/src/index.ts +0 -3
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Block = exports.BlockLegacy = exports.TextBlock = exports.checkEmbedBlock = exports.EmbedBlock = exports.checkImageBlock = exports.ImageBlock = exports.ValidatedMetas = exports.Span = exports.Meta = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fp_ts_1 = require("fp-ts");
6
+ const E = (0, tslib_1.__importStar)(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 nestable_1 = require("../../../../customtypes/widgets/nestable");
10
+ const validators_1 = require("../../../../validators");
11
+ const function_2 = require("../../../../validators/function");
12
+ const EmbedContent_1 = require("../EmbedContent");
13
+ const ImageContent_1 = require("../ImageContent");
14
+ const LinkContent_1 = require("../LinkContent");
15
+ exports.Meta = t.exact(t.intersection([
16
+ t.partial({
17
+ data: t.unknown,
18
+ }),
19
+ t.type({
20
+ start: t.number,
21
+ end: t.number,
22
+ type: t.union([nestable_1.RichTextNodeTypeCodec, t.literal("label")]),
23
+ }),
24
+ ]));
25
+ // export alias for code clarity
26
+ exports.Span = exports.Meta;
27
+ const ValidatedMetas = (linkCodec) => new t.Type("ValidatedMetas", (metas) => Array.isArray(metas) && metas.every(exports.Meta.is), (metas, c) => {
28
+ if (Array.isArray(metas)) {
29
+ const res = metas
30
+ .reduce((acc, maybeMeta) => {
31
+ const maybeDecodedMeta = exports.Meta.decode(maybeMeta);
32
+ if (E.isRight(maybeDecodedMeta)) {
33
+ const meta = maybeDecodedMeta.right;
34
+ // if it's an hyperlink it should have data validated as link otherwise we don't care and keep the meta
35
+ if (meta.data && meta.type === "hyperlink") {
36
+ const decoded = linkCodec.decode(meta.data);
37
+ if (decoded._tag === "Left")
38
+ return acc;
39
+ return [...acc, { ...meta, data: decoded.right }];
40
+ }
41
+ else if (meta.type !== "hyperlink") {
42
+ return [...acc, meta];
43
+ }
44
+ }
45
+ return acc;
46
+ }, [])
47
+ .sort((m1, m2) => m1.start - m2.start);
48
+ return t.success(res);
49
+ }
50
+ else
51
+ return t.failure(metas, c);
52
+ }, (m) => {
53
+ return m.reduce((acc, meta) => {
54
+ if (meta.type === "hyperlink" && meta.data) {
55
+ // since the Span data are typed as unknown we have to redecode for type safety and then encode to either new format or legacy.
56
+ const decoded = linkCodec.decode(meta.data);
57
+ if (decoded._tag === "Left")
58
+ return acc;
59
+ return [...acc, { ...meta, data: linkCodec.encode(decoded.right) }];
60
+ }
61
+ return [...acc, exports.Meta.encode(meta)];
62
+ }, []);
63
+ });
64
+ exports.ValidatedMetas = ValidatedMetas;
65
+ exports.ImageBlock = t.exact(t.intersection([
66
+ t.type({
67
+ type: t.literal(nestable_1.RichTextNodeType.image),
68
+ data: t.intersection([
69
+ ImageContent_1.ImageContentView,
70
+ t.partial({
71
+ linkTo: (0, function_2.nullable)(LinkContent_1.Link),
72
+ }),
73
+ ]),
74
+ }),
75
+ t.partial({
76
+ label: validators_1.StringOrNull,
77
+ direction: validators_1.StringOrNull,
78
+ }),
79
+ ]));
80
+ function checkImageBlock(block) {
81
+ return block.type === nestable_1.RichTextNodeType.image;
82
+ }
83
+ exports.checkImageBlock = checkImageBlock;
84
+ const embedBlockLegacyCodec = t.exact(t.intersection([
85
+ t.type({
86
+ type: t.literal(nestable_1.RichTextNodeType.embed),
87
+ data: EmbedContent_1.EmbedContentLegacy,
88
+ }),
89
+ t.partial({
90
+ label: validators_1.StringOrNull,
91
+ direction: validators_1.StringOrNull,
92
+ }),
93
+ ]));
94
+ const EmbedBlockLegacy = new t.Type("EmbedBlockLegacy", (u) => u.type === "embed", (block) => (0, function_1.pipe)(embedBlockLegacyCodec.decode(block), fp_ts_1.either.map((parsedBlock) => {
95
+ return exports.EmbedBlock.encode({
96
+ ...parsedBlock,
97
+ data: EmbedContent_1.EmbedContent.encode({
98
+ ...parsedBlock.data,
99
+ __TYPE__: EmbedContent_1.EmbedContentType,
100
+ }),
101
+ });
102
+ })), (embedBlock) => {
103
+ return embedBlockLegacyCodec.encode(embedBlock);
104
+ });
105
+ exports.EmbedBlock = t.exact(t.intersection([
106
+ t.type({
107
+ type: t.literal(nestable_1.RichTextNodeType.embed),
108
+ data: EmbedContent_1.EmbedContent,
109
+ }),
110
+ t.partial({
111
+ label: validators_1.StringOrNull,
112
+ direction: validators_1.StringOrNull,
113
+ }),
114
+ ]));
115
+ function checkEmbedBlock(block) {
116
+ return block.type === nestable_1.RichTextNodeType.embed;
117
+ }
118
+ exports.checkEmbedBlock = checkEmbedBlock;
119
+ const TextBlockCodec = (linkCodec) => t.exact(t.intersection([
120
+ t.type({
121
+ 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),
122
+ content: t.intersection([
123
+ t.type({
124
+ text: t.string,
125
+ }),
126
+ t.partial({
127
+ spans: (0, exports.ValidatedMetas)(linkCodec),
128
+ }),
129
+ ]),
130
+ }),
131
+ t.partial({
132
+ label: t.string,
133
+ direction: t.string,
134
+ }),
135
+ ]));
136
+ exports.TextBlock = TextBlockCodec(LinkContent_1.Link);
137
+ const TextBlockLegacy = TextBlockCodec(LinkContent_1.LinkLegacy);
138
+ const legacyBlockCodec = t.union([
139
+ EmbedBlockLegacy,
140
+ exports.ImageBlock,
141
+ TextBlockLegacy,
142
+ ]);
143
+ exports.BlockLegacy = new t.Type("BlockLegacy", (u) => EmbedBlockLegacy.is(u) || exports.ImageBlock.is(u) || TextBlockLegacy.is(u), (legacyBlock) => legacyBlockCodec.decode(legacyBlock), (block) => {
144
+ if (exports.ImageBlock.is(block))
145
+ return exports.ImageBlock.encode(block);
146
+ else if (exports.EmbedBlock.is(block))
147
+ return EmbedBlockLegacy.encode(block);
148
+ else
149
+ return TextBlockLegacy.encode(block);
150
+ });
151
+ exports.Block = t.union([exports.ImageBlock, exports.EmbedBlock, exports.TextBlock]);
@@ -0,0 +1,489 @@
1
+ import * as t from "io-ts";
2
+ import type { LegacyContentCtx, WithTypes } from "../../../LegacyContentCtx";
3
+ export declare const RichTextContentType = "StructuredTextContent";
4
+ export declare const isRichTextContent: (u: unknown) => u is {
5
+ __TYPE__: "StructuredTextContent";
6
+ value: (({
7
+ type: "image";
8
+ data: {
9
+ origin: {
10
+ id: string;
11
+ url: string;
12
+ width: number;
13
+ height: number;
14
+ };
15
+ width: number;
16
+ height: number;
17
+ edit: {
18
+ zoom: number;
19
+ crop: {
20
+ x: number;
21
+ y: number;
22
+ };
23
+ background: string;
24
+ };
25
+ } & {
26
+ url?: string;
27
+ credits?: string | null;
28
+ alt?: string | null;
29
+ provider?: string | null | undefined;
30
+ } & {
31
+ linkTo?: ({
32
+ __TYPE__: "ImageLink";
33
+ } & {
34
+ id: string;
35
+ url: string;
36
+ height: string;
37
+ width: string;
38
+ size: string;
39
+ name: string;
40
+ kind: string;
41
+ } & {
42
+ date?: string | null | undefined;
43
+ }) | ({
44
+ id: string;
45
+ url: string;
46
+ name: string;
47
+ kind: string;
48
+ } & {
49
+ date?: string | null | undefined;
50
+ size?: string;
51
+ } & {
52
+ __TYPE__: "FileLink";
53
+ } & {
54
+ size?: string;
55
+ }) | ({
56
+ __TYPE__: "DocumentLink";
57
+ } & {
58
+ id: string;
59
+ }) | ({
60
+ __TYPE__: "ExternalLink";
61
+ } & {
62
+ url: string;
63
+ } & {
64
+ kind?: "web";
65
+ target?: string | null | undefined;
66
+ preview?: {
67
+ title?: string;
68
+ } | null | undefined;
69
+ }) | null | undefined;
70
+ };
71
+ } & {
72
+ label?: string | null | undefined;
73
+ direction?: string | null | undefined;
74
+ }) | ({
75
+ type: "embed";
76
+ data: {
77
+ embed_url: string;
78
+ type: string;
79
+ } & {
80
+ version?: string | number | null;
81
+ title?: string | null | undefined;
82
+ author_name?: string | null | undefined;
83
+ author_url?: string | null | undefined;
84
+ provider_name?: string | null | undefined;
85
+ provider_url?: string | null | undefined;
86
+ cache_age?: string | number | null;
87
+ thumbnail_url?: string | null | undefined;
88
+ thumbnail_width?: number | null | undefined;
89
+ thumbnail_height?: number | null | undefined;
90
+ html?: string | null | undefined;
91
+ } & {
92
+ __TYPE__: "EmbedContent";
93
+ };
94
+ } & {
95
+ label?: string | null | undefined;
96
+ direction?: string | null | undefined;
97
+ }) | ({
98
+ type: "paragraph" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "strong" | "em" | "preformatted" | "hyperlink" | "image" | "embed" | "list-item" | "o-list-item" | "rtl";
99
+ content: {
100
+ text: string;
101
+ } & {
102
+ spans?: ({
103
+ data?: unknown;
104
+ } & {
105
+ start: number;
106
+ end: number;
107
+ type: "label" | "paragraph" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "strong" | "em" | "preformatted" | "hyperlink" | "image" | "embed" | "list-item" | "o-list-item" | "rtl";
108
+ })[];
109
+ };
110
+ } & {
111
+ label?: string;
112
+ direction?: string;
113
+ }))[];
114
+ };
115
+ export declare const RichTextContent: t.ExactC<t.TypeC<{
116
+ __TYPE__: t.LiteralC<"StructuredTextContent">;
117
+ value: t.ArrayC<t.UnionC<[t.ExactC<t.IntersectionC<[t.TypeC<{
118
+ type: t.LiteralC<"image">;
119
+ data: t.IntersectionC<[t.ExactC<t.IntersectionC<[t.TypeC<{
120
+ origin: t.ExactC<t.TypeC<{
121
+ id: t.StringC;
122
+ url: t.StringC;
123
+ width: t.NumberC;
124
+ height: t.NumberC;
125
+ }>>;
126
+ width: t.NumberC;
127
+ height: t.NumberC;
128
+ edit: t.TypeC<{
129
+ zoom: t.NumberC;
130
+ crop: t.TypeC<{
131
+ x: t.NumberC;
132
+ y: t.NumberC;
133
+ }>;
134
+ background: t.StringC;
135
+ }>;
136
+ }>, t.PartialC<{
137
+ url: t.StringC;
138
+ credits: t.Type<string | null, string | null, unknown>;
139
+ alt: t.Type<string | null, string | null, unknown>;
140
+ provider: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
141
+ }>]>>, t.PartialC<{
142
+ linkTo: t.UnionC<[t.Type<({
143
+ __TYPE__: "ImageLink";
144
+ } & {
145
+ id: string;
146
+ url: string;
147
+ height: string;
148
+ width: string;
149
+ size: string;
150
+ name: string;
151
+ kind: string;
152
+ } & {
153
+ date?: string | null | undefined;
154
+ }) | ({
155
+ id: string;
156
+ url: string;
157
+ name: string;
158
+ kind: string;
159
+ } & {
160
+ date?: string | null | undefined;
161
+ size?: string;
162
+ } & {
163
+ __TYPE__: "FileLink";
164
+ } & {
165
+ size?: string;
166
+ }) | ({
167
+ __TYPE__: "DocumentLink";
168
+ } & {
169
+ id: string;
170
+ }) | ({
171
+ __TYPE__: "ExternalLink";
172
+ } & {
173
+ url: string;
174
+ } & {
175
+ kind?: "web";
176
+ target?: string | null | undefined;
177
+ preview?: {
178
+ title?: string;
179
+ } | null | undefined;
180
+ }), ({
181
+ __TYPE__: "ImageLink";
182
+ } & {
183
+ id: string;
184
+ url: string;
185
+ height: string;
186
+ width: string;
187
+ size: string;
188
+ name: string;
189
+ kind: string;
190
+ } & {
191
+ date?: string | null | undefined;
192
+ }) | ({
193
+ id: string;
194
+ url: string;
195
+ name: string;
196
+ kind: string;
197
+ } & {
198
+ date?: string | null | undefined;
199
+ size?: string;
200
+ } & {
201
+ __TYPE__: "FileLink";
202
+ } & {
203
+ size?: string;
204
+ }) | ({
205
+ __TYPE__: "DocumentLink";
206
+ } & {
207
+ id: string;
208
+ }) | ({
209
+ __TYPE__: "ExternalLink";
210
+ } & {
211
+ url: string;
212
+ } & {
213
+ kind?: "web";
214
+ target?: string | null | undefined;
215
+ preview?: {
216
+ title?: string;
217
+ } | null | undefined;
218
+ }), unknown>, t.NullC, t.UndefinedC]>;
219
+ }>]>;
220
+ }>, t.PartialC<{
221
+ label: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
222
+ direction: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
223
+ }>]>>, t.ExactC<t.IntersectionC<[t.TypeC<{
224
+ type: t.LiteralC<"embed">;
225
+ data: t.IntersectionC<[t.ExactC<t.IntersectionC<[t.TypeC<{
226
+ embed_url: t.StringC;
227
+ type: t.StringC;
228
+ }>, t.PartialC<{
229
+ version: t.UnionC<[t.StringC, t.NumberC, t.NullC]>;
230
+ title: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
231
+ author_name: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
232
+ author_url: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
233
+ provider_name: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
234
+ provider_url: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
235
+ cache_age: t.UnionC<[t.StringC, t.NumberC, t.NullC]>;
236
+ thumbnail_url: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
237
+ thumbnail_width: t.UnionC<[t.Type<number, number, unknown>, t.NullC, t.UndefinedC]>;
238
+ thumbnail_height: t.UnionC<[t.Type<number, number, unknown>, t.NullC, t.UndefinedC]>;
239
+ html: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
240
+ }>]>>, t.ExactC<t.TypeC<{
241
+ __TYPE__: t.LiteralC<"EmbedContent">;
242
+ }>>]>;
243
+ }>, t.PartialC<{
244
+ label: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
245
+ direction: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
246
+ }>]>>, t.ExactC<t.IntersectionC<[t.TypeC<{
247
+ type: t.Type<"paragraph" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "strong" | "em" | "preformatted" | "hyperlink" | "image" | "embed" | "list-item" | "o-list-item" | "rtl", "paragraph" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "strong" | "em" | "preformatted" | "hyperlink" | "image" | "embed" | "list-item" | "o-list-item" | "rtl", unknown>;
248
+ content: t.IntersectionC<[t.TypeC<{
249
+ text: t.StringC;
250
+ }>, t.PartialC<{
251
+ spans: t.Type<({
252
+ data?: unknown;
253
+ } & {
254
+ start: number;
255
+ end: number;
256
+ type: "label" | "paragraph" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "strong" | "em" | "preformatted" | "hyperlink" | "image" | "embed" | "list-item" | "o-list-item" | "rtl";
257
+ })[], ({
258
+ data?: unknown;
259
+ } & {
260
+ start: number;
261
+ end: number;
262
+ type: "label" | "paragraph" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "strong" | "em" | "preformatted" | "hyperlink" | "image" | "embed" | "list-item" | "o-list-item" | "rtl";
263
+ })[], unknown>;
264
+ }>]>;
265
+ }>, t.PartialC<{
266
+ label: t.StringC;
267
+ direction: t.StringC;
268
+ }>]>>]>>;
269
+ }>>;
270
+ export declare type RichTextContent = t.TypeOf<typeof RichTextContent>;
271
+ export * from "./Blocks";
272
+ export declare const RichTextLegacy: (ctx: LegacyContentCtx) => t.Type<{
273
+ __TYPE__: "StructuredTextContent";
274
+ value: (({
275
+ type: "image";
276
+ data: {
277
+ origin: {
278
+ id: string;
279
+ url: string;
280
+ width: number;
281
+ height: number;
282
+ };
283
+ width: number;
284
+ height: number;
285
+ edit: {
286
+ zoom: number;
287
+ crop: {
288
+ x: number;
289
+ y: number;
290
+ };
291
+ background: string;
292
+ };
293
+ } & {
294
+ url?: string;
295
+ credits?: string | null;
296
+ alt?: string | null;
297
+ provider?: string | null | undefined;
298
+ } & {
299
+ linkTo?: ({
300
+ __TYPE__: "ImageLink";
301
+ } & {
302
+ id: string;
303
+ url: string;
304
+ height: string;
305
+ width: string;
306
+ size: string;
307
+ name: string;
308
+ kind: string;
309
+ } & {
310
+ date?: string | null | undefined;
311
+ }) | ({
312
+ id: string;
313
+ url: string;
314
+ name: string;
315
+ kind: string;
316
+ } & {
317
+ date?: string | null | undefined;
318
+ size?: string;
319
+ } & {
320
+ __TYPE__: "FileLink";
321
+ } & {
322
+ size?: string;
323
+ }) | ({
324
+ __TYPE__: "DocumentLink";
325
+ } & {
326
+ id: string;
327
+ }) | ({
328
+ __TYPE__: "ExternalLink";
329
+ } & {
330
+ url: string;
331
+ } & {
332
+ kind?: "web";
333
+ target?: string | null | undefined;
334
+ preview?: {
335
+ title?: string;
336
+ } | null | undefined;
337
+ }) | null | undefined;
338
+ };
339
+ } & {
340
+ label?: string | null | undefined;
341
+ direction?: string | null | undefined;
342
+ }) | ({
343
+ type: "embed";
344
+ data: {
345
+ embed_url: string;
346
+ type: string;
347
+ } & {
348
+ version?: string | number | null;
349
+ title?: string | null | undefined;
350
+ author_name?: string | null | undefined;
351
+ author_url?: string | null | undefined;
352
+ provider_name?: string | null | undefined;
353
+ provider_url?: string | null | undefined;
354
+ cache_age?: string | number | null;
355
+ thumbnail_url?: string | null | undefined;
356
+ thumbnail_width?: number | null | undefined;
357
+ thumbnail_height?: number | null | undefined;
358
+ html?: string | null | undefined;
359
+ } & {
360
+ __TYPE__: "EmbedContent";
361
+ };
362
+ } & {
363
+ label?: string | null | undefined;
364
+ direction?: string | null | undefined;
365
+ }) | ({
366
+ type: "paragraph" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "strong" | "em" | "preformatted" | "hyperlink" | "image" | "embed" | "list-item" | "o-list-item" | "rtl";
367
+ content: {
368
+ text: string;
369
+ } & {
370
+ spans?: ({
371
+ data?: unknown;
372
+ } & {
373
+ start: number;
374
+ end: number;
375
+ type: "label" | "paragraph" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "strong" | "em" | "preformatted" | "hyperlink" | "image" | "embed" | "list-item" | "o-list-item" | "rtl";
376
+ })[];
377
+ };
378
+ } & {
379
+ label?: string;
380
+ direction?: string;
381
+ }))[];
382
+ }, WithTypes<(({
383
+ type: "image";
384
+ data: {
385
+ origin: {
386
+ id: string;
387
+ url: string;
388
+ width: number;
389
+ height: number;
390
+ };
391
+ width: number;
392
+ height: number;
393
+ edit: {
394
+ zoom: number;
395
+ crop: {
396
+ x: number;
397
+ y: number;
398
+ };
399
+ background: string;
400
+ };
401
+ } & {
402
+ url?: string;
403
+ credits?: string | null;
404
+ alt?: string | null;
405
+ provider?: string | null | undefined;
406
+ } & {
407
+ linkTo?: ({
408
+ __TYPE__: "ImageLink";
409
+ } & {
410
+ id: string;
411
+ url: string;
412
+ height: string;
413
+ width: string;
414
+ size: string;
415
+ name: string;
416
+ kind: string;
417
+ } & {
418
+ date?: string | null | undefined;
419
+ }) | ({
420
+ id: string;
421
+ url: string;
422
+ name: string;
423
+ kind: string;
424
+ } & {
425
+ date?: string | null | undefined;
426
+ size?: string;
427
+ } & {
428
+ __TYPE__: "FileLink";
429
+ } & {
430
+ size?: string;
431
+ }) | ({
432
+ __TYPE__: "DocumentLink";
433
+ } & {
434
+ id: string;
435
+ }) | ({
436
+ __TYPE__: "ExternalLink";
437
+ } & {
438
+ url: string;
439
+ } & {
440
+ kind?: "web";
441
+ target?: string | null | undefined;
442
+ preview?: {
443
+ title?: string;
444
+ } | null | undefined;
445
+ }) | null | undefined;
446
+ };
447
+ } & {
448
+ label?: string | null | undefined;
449
+ direction?: string | null | undefined;
450
+ }) | ({
451
+ type: "embed";
452
+ data: {
453
+ embed_url: string;
454
+ type: string;
455
+ } & {
456
+ version?: string | number | null;
457
+ title?: string | null | undefined;
458
+ author_name?: string | null | undefined;
459
+ author_url?: string | null | undefined;
460
+ provider_name?: string | null | undefined;
461
+ provider_url?: string | null | undefined;
462
+ cache_age?: string | number | null;
463
+ thumbnail_url?: string | null | undefined;
464
+ thumbnail_width?: number | null | undefined;
465
+ thumbnail_height?: number | null | undefined;
466
+ html?: string | null | undefined;
467
+ } & {
468
+ __TYPE__: "EmbedContent";
469
+ };
470
+ } & {
471
+ label?: string | null | undefined;
472
+ direction?: string | null | undefined;
473
+ }) | ({
474
+ type: "paragraph" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "strong" | "em" | "preformatted" | "hyperlink" | "image" | "embed" | "list-item" | "o-list-item" | "rtl";
475
+ content: {
476
+ text: string;
477
+ } & {
478
+ spans?: ({
479
+ data?: unknown;
480
+ } & {
481
+ start: number;
482
+ end: number;
483
+ type: "label" | "paragraph" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "strong" | "em" | "preformatted" | "hyperlink" | "image" | "embed" | "list-item" | "o-list-item" | "rtl";
484
+ })[];
485
+ };
486
+ } & {
487
+ label?: string;
488
+ direction?: string;
489
+ }))[]>, unknown>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RichTextLegacy = exports.RichTextContent = exports.isRichTextContent = exports.RichTextContentType = 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
+ const Blocks_1 = require("./Blocks");
10
+ exports.RichTextContentType = "StructuredTextContent";
11
+ const isRichTextContent = (u) => (0, utils_1.hasContentType)(u) && u.__TYPE__ === exports.RichTextContentType;
12
+ exports.isRichTextContent = isRichTextContent;
13
+ const legacyReader = t.array(Blocks_1.BlockLegacy);
14
+ exports.RichTextContent = t.strict({
15
+ __TYPE__: t.literal(exports.RichTextContentType),
16
+ value: t.array(Blocks_1.Block),
17
+ });
18
+ (0, tslib_1.__exportStar)(require("./Blocks"), exports);
19
+ const RichTextLegacy = (ctx) => new t.Type("RichTextLegacy", exports.isRichTextContent, (u) => {
20
+ return (0, function_1.pipe)(legacyReader.decode(u), fp_ts_1.either.map((r) => exports.RichTextContent.encode({ value: r, __TYPE__: exports.RichTextContentType })));
21
+ }, (r) => {
22
+ return {
23
+ content: legacyReader.encode(r.value),
24
+ types: { [ctx.keyOfType]: "StructuredText" },
25
+ };
26
+ });
27
+ exports.RichTextLegacy = RichTextLegacy;
@@ -1,6 +1,13 @@
1
1
  import * as t from "io-ts";
2
+ import type { LegacyContentCtx, WithTypes } from "../../LegacyContentCtx";
3
+ export declare const SeparatorContentType = "SeparatorContent";
4
+ export declare const isSeparatorContent: (u: unknown) => u is {
5
+ __TYPE__: "SeparatorContent";
6
+ };
7
+ export declare const SeparatorLegacy: (ctx: LegacyContentCtx) => t.Type<{
8
+ __TYPE__: "SeparatorContent";
9
+ }, WithTypes<unknown>, unknown>;
2
10
  export declare const SeparatorContent: t.ExactC<t.TypeC<{
3
11
  __TYPE__: t.LiteralC<"SeparatorContent">;
4
12
  }>>;
5
13
  export declare type SeparatorContent = t.TypeOf<typeof SeparatorContent>;
6
- export declare const SeparatorContentType = "SeparatorContent";