@prismicio/types-internal 2.2.1-alpha.0 → 2.2.1-remove-import.alpha-1

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 (250) hide show
  1. package/lib/common/UUID.d.ts +1 -2
  2. package/lib/content/fields/slices/Slice/CompositeSliceContent.js +1 -2
  3. package/lib/content/fields/slices/Slice/SimpleSliceContent.js +2 -4
  4. package/package.json +1 -1
  5. package/src/common/UUID.ts +1 -1
  6. package/src/content/fields/slices/Slice/CompositeSliceContent.ts +1 -2
  7. package/src/content/fields/slices/Slice/SimpleSliceContent.ts +2 -5
  8. package/lib/import/converters/Document.d.ts +0 -4
  9. package/lib/import/converters/Document.js +0 -21
  10. package/lib/import/converters/fields/Group.d.ts +0 -4
  11. package/lib/import/converters/fields/Group.js +0 -14
  12. package/lib/import/converters/fields/RepeatableZone.d.ts +0 -317
  13. package/lib/import/converters/fields/RepeatableZone.js +0 -15
  14. package/lib/import/converters/fields/RepeatableZoneItem.d.ts +0 -11
  15. package/lib/import/converters/fields/RepeatableZoneItem.js +0 -19
  16. package/lib/import/converters/fields/Slices/SharedSlice.d.ts +0 -4
  17. package/lib/import/converters/fields/Slices/SharedSlice.js +0 -19
  18. package/lib/import/converters/fields/Slices/SharedSliceContent.d.ts +0 -10
  19. package/lib/import/converters/fields/Slices/SharedSliceContent.js +0 -23
  20. package/lib/import/converters/fields/Slices/Slices.d.ts +0 -4
  21. package/lib/import/converters/fields/Slices/Slices.js +0 -16
  22. package/lib/import/converters/fields/Slices/index.d.ts +0 -1
  23. package/lib/import/converters/fields/Slices/index.js +0 -4
  24. package/lib/import/converters/fields/UID.d.ts +0 -3
  25. package/lib/import/converters/fields/UID.js +0 -10
  26. package/lib/import/converters/fields/index.d.ts +0 -4
  27. package/lib/import/converters/fields/index.js +0 -7
  28. package/lib/import/converters/fields/nestable/Boolean.d.ts +0 -3
  29. package/lib/import/converters/fields/nestable/Boolean.js +0 -12
  30. package/lib/import/converters/fields/nestable/Color.d.ts +0 -3
  31. package/lib/import/converters/fields/nestable/Color.js +0 -13
  32. package/lib/import/converters/fields/nestable/Date.d.ts +0 -3
  33. package/lib/import/converters/fields/nestable/Date.js +0 -15
  34. package/lib/import/converters/fields/nestable/Embed.d.ts +0 -4
  35. package/lib/import/converters/fields/nestable/Embed.js +0 -32
  36. package/lib/import/converters/fields/nestable/GeoPoint.d.ts +0 -3
  37. package/lib/import/converters/fields/nestable/GeoPoint.js +0 -15
  38. package/lib/import/converters/fields/nestable/Image.d.ts +0 -28
  39. package/lib/import/converters/fields/nestable/Image.js +0 -67
  40. package/lib/import/converters/fields/nestable/Link.d.ts +0 -4
  41. package/lib/import/converters/fields/nestable/Link.js +0 -70
  42. package/lib/import/converters/fields/nestable/Nestable.d.ts +0 -5
  43. package/lib/import/converters/fields/nestable/Nestable.js +0 -35
  44. package/lib/import/converters/fields/nestable/Number.d.ts +0 -3
  45. package/lib/import/converters/fields/nestable/Number.js +0 -13
  46. package/lib/import/converters/fields/nestable/RichText/embedBlock.d.ts +0 -4
  47. package/lib/import/converters/fields/nestable/RichText/embedBlock.js +0 -14
  48. package/lib/import/converters/fields/nestable/RichText/imageBlock.d.ts +0 -4
  49. package/lib/import/converters/fields/nestable/RichText/imageBlock.js +0 -12
  50. package/lib/import/converters/fields/nestable/RichText/index.d.ts +0 -4
  51. package/lib/import/converters/fields/nestable/RichText/index.js +0 -22
  52. package/lib/import/converters/fields/nestable/RichText/textBlock.d.ts +0 -4
  53. package/lib/import/converters/fields/nestable/RichText/textBlock.js +0 -54
  54. package/lib/import/converters/fields/nestable/Select.d.ts +0 -3
  55. package/lib/import/converters/fields/nestable/Select.js +0 -13
  56. package/lib/import/converters/fields/nestable/Text.d.ts +0 -3
  57. package/lib/import/converters/fields/nestable/Text.js +0 -13
  58. package/lib/import/converters/fields/nestable/Timestamp.d.ts +0 -3
  59. package/lib/import/converters/fields/nestable/Timestamp.js +0 -13
  60. package/lib/import/converters/fields/nestable/index.d.ts +0 -13
  61. package/lib/import/converters/fields/nestable/index.js +0 -16
  62. package/lib/import/converters/index.d.ts +0 -2
  63. package/lib/import/converters/index.js +0 -5
  64. package/lib/import/index.d.ts +0 -2
  65. package/lib/import/index.js +0 -5
  66. package/lib/import/validators/Document.d.ts +0 -6
  67. package/lib/import/validators/Document.js +0 -64
  68. package/lib/import/validators/fields/ImportContent.d.ts +0 -5
  69. package/lib/import/validators/fields/ImportContent.js +0 -21
  70. package/lib/import/validators/fields/ImportField.d.ts +0 -141
  71. package/lib/import/validators/fields/ImportField.js +0 -33
  72. package/lib/import/validators/fields/ImportGroup.d.ts +0 -345
  73. package/lib/import/validators/fields/ImportGroup.js +0 -27
  74. package/lib/import/validators/fields/ImportSlices/ImportSlices.d.ts +0 -8
  75. package/lib/import/validators/fields/ImportSlices/ImportSlices.js +0 -30
  76. package/lib/import/validators/fields/ImportSlices/SharedSlice/SharedSlice.d.ts +0 -16
  77. package/lib/import/validators/fields/ImportSlices/SharedSlice/SharedSlice.js +0 -61
  78. package/lib/import/validators/fields/ImportSlices/SharedSlice/errors.d.ts +0 -4
  79. package/lib/import/validators/fields/ImportSlices/SharedSlice/errors.js +0 -7
  80. package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/OptionalSharedSliceId.d.ts +0 -2
  81. package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/OptionalSharedSliceId.js +0 -15
  82. package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceId.d.ts +0 -9
  83. package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceId.js +0 -39
  84. package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceType.d.ts +0 -11
  85. package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceType.js +0 -24
  86. package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceVariation.d.ts +0 -11
  87. package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceVariation.js +0 -24
  88. package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/index.d.ts +0 -4
  89. package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/index.js +0 -7
  90. package/lib/import/validators/fields/ImportSlices/SharedSlice/index.d.ts +0 -3
  91. package/lib/import/validators/fields/ImportSlices/SharedSlice/index.js +0 -6
  92. package/lib/import/validators/fields/ImportSlices/SharedSlice/utils.d.ts +0 -342
  93. package/lib/import/validators/fields/ImportSlices/SharedSlice/utils.js +0 -11
  94. package/lib/import/validators/fields/ImportSlices/index.d.ts +0 -1
  95. package/lib/import/validators/fields/ImportSlices/index.js +0 -4
  96. package/lib/import/validators/fields/ImportSlices/utils.d.ts +0 -4
  97. package/lib/import/validators/fields/ImportSlices/utils.js +0 -35
  98. package/lib/import/validators/fields/RepeatableZone.d.ts +0 -11
  99. package/lib/import/validators/fields/RepeatableZone.js +0 -14
  100. package/lib/import/validators/fields/RepeatableZoneItem.d.ts +0 -11
  101. package/lib/import/validators/fields/RepeatableZoneItem.js +0 -39
  102. package/lib/import/validators/fields/UID.d.ts +0 -6
  103. package/lib/import/validators/fields/UID.js +0 -15
  104. package/lib/import/validators/fields/index.d.ts +0 -4
  105. package/lib/import/validators/fields/index.js +0 -7
  106. package/lib/import/validators/fields/nestable/Boolean.d.ts +0 -6
  107. package/lib/import/validators/fields/nestable/Boolean.js +0 -6
  108. package/lib/import/validators/fields/nestable/Color.d.ts +0 -6
  109. package/lib/import/validators/fields/nestable/Color.js +0 -15
  110. package/lib/import/validators/fields/nestable/Date.d.ts +0 -6
  111. package/lib/import/validators/fields/nestable/Date.js +0 -19
  112. package/lib/import/validators/fields/nestable/Embed.d.ts +0 -13
  113. package/lib/import/validators/fields/nestable/Embed.js +0 -31
  114. package/lib/import/validators/fields/nestable/GeoPoint.d.ts +0 -13
  115. package/lib/import/validators/fields/nestable/GeoPoint.js +0 -13
  116. package/lib/import/validators/fields/nestable/Image/default.d.ts +0 -22
  117. package/lib/import/validators/fields/nestable/Image/default.js +0 -19
  118. package/lib/import/validators/fields/nestable/Image/index.d.ts +0 -26
  119. package/lib/import/validators/fields/nestable/Image/index.js +0 -32
  120. package/lib/import/validators/fields/nestable/Image/merge.d.ts +0 -23
  121. package/lib/import/validators/fields/nestable/Image/merge.js +0 -44
  122. package/lib/import/validators/fields/nestable/Image/model.d.ts +0 -18
  123. package/lib/import/validators/fields/nestable/Image/model.js +0 -2
  124. package/lib/import/validators/fields/nestable/Image/validators.d.ts +0 -132
  125. package/lib/import/validators/fields/nestable/Image/validators.js +0 -43
  126. package/lib/import/validators/fields/nestable/ImportRichText/ImportBlock.d.ts +0 -6
  127. package/lib/import/validators/fields/nestable/ImportRichText/ImportBlock.js +0 -25
  128. package/lib/import/validators/fields/nestable/ImportRichText/ImportRichText.d.ts +0 -24
  129. package/lib/import/validators/fields/nestable/ImportRichText/ImportRichText.js +0 -32
  130. package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportBlockType.d.ts +0 -6
  131. package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportBlockType.js +0 -18
  132. package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportEmbedBlock.d.ts +0 -10
  133. package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportEmbedBlock.js +0 -11
  134. package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportImageBlock.d.ts +0 -22
  135. package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportImageBlock.js +0 -13
  136. package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportTextBlock.d.ts +0 -78
  137. package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportTextBlock.js +0 -43
  138. package/lib/import/validators/fields/nestable/ImportRichText/blocks/Span.d.ts +0 -79
  139. package/lib/import/validators/fields/nestable/ImportRichText/blocks/Span.js +0 -27
  140. package/lib/import/validators/fields/nestable/ImportRichText/blocks/index.d.ts +0 -4
  141. package/lib/import/validators/fields/nestable/ImportRichText/blocks/index.js +0 -7
  142. package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/HyperlinkSpan.d.ts +0 -24
  143. package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/HyperlinkSpan.js +0 -18
  144. package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/LabelSpan.d.ts +0 -12
  145. package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/LabelSpan.js +0 -16
  146. package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/SpanLocation.d.ts +0 -5
  147. package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/SpanLocation.js +0 -10
  148. package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/TextSpan.d.ts +0 -15
  149. package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/TextSpan.js +0 -20
  150. package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/index.d.ts +0 -2
  151. package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/index.js +0 -5
  152. package/lib/import/validators/fields/nestable/ImportRichText/index.d.ts +0 -2
  153. package/lib/import/validators/fields/nestable/ImportRichText/index.js +0 -7
  154. package/lib/import/validators/fields/nestable/Link.d.ts +0 -53
  155. package/lib/import/validators/fields/nestable/Link.js +0 -35
  156. package/lib/import/validators/fields/nestable/Nestable.d.ts +0 -192
  157. package/lib/import/validators/fields/nestable/Nestable.js +0 -71
  158. package/lib/import/validators/fields/nestable/Number.d.ts +0 -17
  159. package/lib/import/validators/fields/nestable/Number.js +0 -17
  160. package/lib/import/validators/fields/nestable/Select.d.ts +0 -16
  161. package/lib/import/validators/fields/nestable/Select.js +0 -19
  162. package/lib/import/validators/fields/nestable/Text.d.ts +0 -6
  163. package/lib/import/validators/fields/nestable/Text.js +0 -6
  164. package/lib/import/validators/fields/nestable/Timestamp.d.ts +0 -7
  165. package/lib/import/validators/fields/nestable/Timestamp.js +0 -19
  166. package/lib/import/validators/fields/nestable/index.d.ts +0 -14
  167. package/lib/import/validators/fields/nestable/index.js +0 -19
  168. package/lib/import/validators/index.d.ts +0 -2
  169. package/lib/import/validators/index.js +0 -5
  170. package/src/import/converters/Document.ts +0 -38
  171. package/src/import/converters/fields/Group.ts +0 -18
  172. package/src/import/converters/fields/RepeatableZone.ts +0 -19
  173. package/src/import/converters/fields/RepeatableZoneItem.ts +0 -32
  174. package/src/import/converters/fields/Slices/SharedSlice.ts +0 -24
  175. package/src/import/converters/fields/Slices/SharedSliceContent.ts +0 -27
  176. package/src/import/converters/fields/Slices/Slices.ts +0 -20
  177. package/src/import/converters/fields/Slices/index.ts +0 -1
  178. package/src/import/converters/fields/UID.ts +0 -9
  179. package/src/import/converters/fields/index.ts +0 -4
  180. package/src/import/converters/fields/nestable/Boolean.ts +0 -13
  181. package/src/import/converters/fields/nestable/Color.ts +0 -14
  182. package/src/import/converters/fields/nestable/Date.ts +0 -17
  183. package/src/import/converters/fields/nestable/Embed.ts +0 -37
  184. package/src/import/converters/fields/nestable/GeoPoint.ts +0 -16
  185. package/src/import/converters/fields/nestable/Image.ts +0 -91
  186. package/src/import/converters/fields/nestable/Link.ts +0 -77
  187. package/src/import/converters/fields/nestable/Nestable.ts +0 -55
  188. package/src/import/converters/fields/nestable/Number.ts +0 -14
  189. package/src/import/converters/fields/nestable/RichText/embedBlock.ts +0 -17
  190. package/src/import/converters/fields/nestable/RichText/imageBlock.ts +0 -17
  191. package/src/import/converters/fields/nestable/RichText/index.ts +0 -23
  192. package/src/import/converters/fields/nestable/RichText/textBlock.ts +0 -62
  193. package/src/import/converters/fields/nestable/Select.ts +0 -14
  194. package/src/import/converters/fields/nestable/Text.ts +0 -14
  195. package/src/import/converters/fields/nestable/Timestamp.ts +0 -14
  196. package/src/import/converters/fields/nestable/index.ts +0 -13
  197. package/src/import/converters/index.ts +0 -2
  198. package/src/import/index.ts +0 -2
  199. package/src/import/validators/Document.ts +0 -103
  200. package/src/import/validators/fields/ImportContent.ts +0 -30
  201. package/src/import/validators/fields/ImportField.ts +0 -36
  202. package/src/import/validators/fields/ImportGroup.ts +0 -45
  203. package/src/import/validators/fields/ImportSlices/ImportSlices.ts +0 -56
  204. package/src/import/validators/fields/ImportSlices/SharedSlice/SharedSlice.ts +0 -104
  205. package/src/import/validators/fields/ImportSlices/SharedSlice/errors.ts +0 -6
  206. package/src/import/validators/fields/ImportSlices/SharedSlice/fields/OptionalSharedSliceId.ts +0 -20
  207. package/src/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceId.ts +0 -65
  208. package/src/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceType.ts +0 -45
  209. package/src/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceVariation.ts +0 -45
  210. package/src/import/validators/fields/ImportSlices/SharedSlice/fields/index.ts +0 -4
  211. package/src/import/validators/fields/ImportSlices/SharedSlice/index.ts +0 -3
  212. package/src/import/validators/fields/ImportSlices/SharedSlice/utils.ts +0 -21
  213. package/src/import/validators/fields/ImportSlices/index.ts +0 -1
  214. package/src/import/validators/fields/ImportSlices/utils.ts +0 -43
  215. package/src/import/validators/fields/RepeatableZone.ts +0 -21
  216. package/src/import/validators/fields/RepeatableZoneItem.ts +0 -64
  217. package/src/import/validators/fields/UID.ts +0 -27
  218. package/src/import/validators/fields/index.ts +0 -4
  219. package/src/import/validators/fields/nestable/Boolean.ts +0 -7
  220. package/src/import/validators/fields/nestable/Color.ts +0 -28
  221. package/src/import/validators/fields/nestable/Date.ts +0 -34
  222. package/src/import/validators/fields/nestable/Embed.ts +0 -41
  223. package/src/import/validators/fields/nestable/GeoPoint.ts +0 -21
  224. package/src/import/validators/fields/nestable/Image/default.ts +0 -22
  225. package/src/import/validators/fields/nestable/Image/index.ts +0 -66
  226. package/src/import/validators/fields/nestable/Image/merge.ts +0 -64
  227. package/src/import/validators/fields/nestable/Image/model.ts +0 -18
  228. package/src/import/validators/fields/nestable/Image/validators.ts +0 -70
  229. package/src/import/validators/fields/nestable/ImportRichText/ImportBlock.ts +0 -39
  230. package/src/import/validators/fields/nestable/ImportRichText/ImportRichText.ts +0 -54
  231. package/src/import/validators/fields/nestable/ImportRichText/blocks/ImportBlockType.ts +0 -44
  232. package/src/import/validators/fields/nestable/ImportRichText/blocks/ImportEmbedBlock.ts +0 -13
  233. package/src/import/validators/fields/nestable/ImportRichText/blocks/ImportImageBlock.ts +0 -17
  234. package/src/import/validators/fields/nestable/ImportRichText/blocks/ImportTextBlock.ts +0 -56
  235. package/src/import/validators/fields/nestable/ImportRichText/blocks/Span.ts +0 -48
  236. package/src/import/validators/fields/nestable/ImportRichText/blocks/index.ts +0 -4
  237. package/src/import/validators/fields/nestable/ImportRichText/blocks/spans/HyperlinkSpan.ts +0 -24
  238. package/src/import/validators/fields/nestable/ImportRichText/blocks/spans/LabelSpan.ts +0 -19
  239. package/src/import/validators/fields/nestable/ImportRichText/blocks/spans/SpanLocation.ts +0 -8
  240. package/src/import/validators/fields/nestable/ImportRichText/blocks/spans/TextSpan.ts +0 -24
  241. package/src/import/validators/fields/nestable/ImportRichText/blocks/spans/index.ts +0 -2
  242. package/src/import/validators/fields/nestable/ImportRichText/index.ts +0 -2
  243. package/src/import/validators/fields/nestable/Link.ts +0 -59
  244. package/src/import/validators/fields/nestable/Nestable.ts +0 -88
  245. package/src/import/validators/fields/nestable/Number.ts +0 -38
  246. package/src/import/validators/fields/nestable/Select.ts +0 -38
  247. package/src/import/validators/fields/nestable/Text.ts +0 -7
  248. package/src/import/validators/fields/nestable/Timestamp.ts +0 -39
  249. package/src/import/validators/fields/nestable/index.ts +0 -14
  250. package/src/import/validators/index.ts +0 -2
@@ -1,56 +0,0 @@
1
- import * as t from "io-ts"
2
-
3
- import { String } from "../../../../../../validators"
4
- import { withCustomError } from "../../../../../../validators/function"
5
- import { Span } from "./Span"
6
-
7
- export const ImportTextBlockTypes = {
8
- Paragraph: "paragraph",
9
- OListItem: "o-list-item",
10
- ListItem: "list-item",
11
- Heading1: "heading1",
12
- Heading2: "heading2",
13
- Heading3: "heading3",
14
- Heading4: "heading4",
15
- Heading5: "heading5",
16
- Heading6: "heading6",
17
- Preformatted: "preformatted",
18
- } as const
19
-
20
- export const ImportTextBlockType = t.keyof({
21
- [ImportTextBlockTypes.Paragraph]: null,
22
- [ImportTextBlockTypes.OListItem]: null,
23
- [ImportTextBlockTypes.ListItem]: null,
24
- [ImportTextBlockTypes.Heading1]: null,
25
- [ImportTextBlockTypes.Heading2]: null,
26
- [ImportTextBlockTypes.Heading3]: null,
27
- [ImportTextBlockTypes.Heading4]: null,
28
- [ImportTextBlockTypes.Heading5]: null,
29
- [ImportTextBlockTypes.Heading6]: null,
30
- [ImportTextBlockTypes.Preformatted]: null,
31
- })
32
-
33
- export type ImportTextBlockType = t.TypeOf<typeof ImportTextBlockType>
34
-
35
- const TextDirection = withCustomError(
36
- t.union([t.literal("ltr"), t.literal("rtl")]),
37
- () => "The 'direction' property must be one of the following: ltr, rtl",
38
- )
39
-
40
- export const ImportTextBlock = t.exact(
41
- t.intersection([
42
- t.type({
43
- type: ImportTextBlockType,
44
- text: String,
45
- }),
46
- t.partial({
47
- spans: withCustomError(
48
- t.array(Span),
49
- () => "The 'spans' field must be an array",
50
- ),
51
- direction: TextDirection,
52
- }),
53
- ]),
54
- )
55
-
56
- export type ImportTextBlock = t.TypeOf<typeof ImportTextBlock>
@@ -1,48 +0,0 @@
1
- import * as t from "io-ts"
2
-
3
- import { withCustomError } from "../../../../../../validators/function"
4
- import {
5
- HyperlinkSpan,
6
- HyperlinkSpanType,
7
- TextSpan,
8
- TextSpanType,
9
- } from "./spans"
10
- import { LabelSpan, LabelSpanType } from "./spans/LabelSpan"
11
-
12
- const SpanType = withCustomError(
13
- t.union([HyperlinkSpanType, TextSpanType, LabelSpanType]),
14
- () =>
15
- `Span 'type' field must be specified and have one of the following values: ${[
16
- ...Object.keys(TextSpanType.keys),
17
- LabelSpanType.value,
18
- ].join(", ")} or ${HyperlinkSpanType.value}`,
19
- )
20
- export type SpanType = t.TypeOf<typeof SpanType>
21
-
22
- const SpanTypeValidator = withCustomError(
23
- t.type({
24
- type: SpanType,
25
- }),
26
- () => "Span must be an object",
27
- )
28
-
29
- const SpanShape = t.union([HyperlinkSpan, TextSpan, LabelSpan])
30
-
31
- export type Span = t.TypeOf<typeof SpanShape>
32
-
33
- export const Span = SpanTypeValidator.pipe(
34
- new t.Type<Span, Span, { type: SpanType }>(
35
- "Span",
36
- (u): u is Span => SpanShape.is(u),
37
- (u, c) => {
38
- if (HyperlinkSpanType.is(u.type)) {
39
- return HyperlinkSpan.validate(u, c)
40
- } else if (LabelSpanType.is(u.type)) {
41
- return LabelSpan.validate(u, c)
42
- } else {
43
- return TextSpan.validate(u, c)
44
- }
45
- },
46
- t.identity,
47
- ),
48
- )
@@ -1,4 +0,0 @@
1
- export * from "./ImportBlockType"
2
- export * from "./ImportEmbedBlock"
3
- export * from "./ImportImageBlock"
4
- export * from "./ImportTextBlock"
@@ -1,24 +0,0 @@
1
- import * as t from "io-ts"
2
-
3
- import { withCustomError } from "../../../../../../../validators/function"
4
- import { Link } from "../../../Link"
5
- import { SpanLocation } from "./SpanLocation"
6
-
7
- export const HyperlinkSpanType = t.literal("hyperlink")
8
-
9
- export type HyperlinkSpanType = t.TypeOf<typeof HyperlinkSpanType>
10
-
11
- export const HyperlinkSpan = t.exact(
12
- t.intersection([
13
- t.type({
14
- type: HyperlinkSpanType,
15
- }),
16
- SpanLocation,
17
- withCustomError(
18
- t.type({
19
- data: Link,
20
- }),
21
- () => "Hyperlink span must contain a 'data' field with link data",
22
- ),
23
- ]),
24
- )
@@ -1,19 +0,0 @@
1
- import * as t from "io-ts"
2
-
3
- import { SpanLocation } from "./SpanLocation"
4
-
5
- export const LabelSpanType = t.literal("label")
6
-
7
- export const LabelSpan = t.exact(
8
- t.intersection([
9
- t.type({
10
- type: LabelSpanType,
11
- data: t.strict({
12
- label: t.string,
13
- }),
14
- }),
15
- SpanLocation,
16
- ]),
17
- )
18
-
19
- export type LabelSpan = t.TypeOf<typeof LabelSpan>
@@ -1,8 +0,0 @@
1
- import * as t from "io-ts"
2
-
3
- import { Number } from "../../../../../../../validators"
4
-
5
- export const SpanLocation = t.type({
6
- start: Number,
7
- end: Number,
8
- })
@@ -1,24 +0,0 @@
1
- import * as t from "io-ts"
2
-
3
- import { SpanLocation } from "./SpanLocation"
4
-
5
- const TextSpanTypes = {
6
- Strong: "strong",
7
- Em: "em",
8
- } as const
9
-
10
- export const TextSpanType = t.keyof({
11
- [TextSpanTypes.Strong]: null,
12
- [TextSpanTypes.Em]: null,
13
- })
14
-
15
- export const TextSpan = t.exact(
16
- t.intersection([
17
- t.type({
18
- type: TextSpanType,
19
- }),
20
- SpanLocation,
21
- ]),
22
- )
23
-
24
- export type TextSpan = t.TypeOf<typeof TextSpan>
@@ -1,2 +0,0 @@
1
- export * from "./HyperlinkSpan"
2
- export * from "./TextSpan"
@@ -1,2 +0,0 @@
1
- export { ImportBlock } from "./ImportBlock"
2
- export { ImportRichText } from "./ImportRichText"
@@ -1,59 +0,0 @@
1
- import type { OutputOf, TypeOf } from "io-ts"
2
- import * as t from "io-ts"
3
-
4
- import { DocumentId } from "../../../../utils/DocumentId"
5
- import { DefaultOrElse, String } from "../../../../validators"
6
- import { withCustomError } from "../../../../validators/function"
7
- import { ImportContent } from "../ImportContent"
8
-
9
- const LinkTypeValidator = t.type({
10
- link_type: withCustomError(
11
- t.union([t.literal("Web"), t.literal("Document"), t.literal("Media")]),
12
- () => "The value must be `Web`, `Document` or `Media`",
13
- ),
14
- })
15
-
16
- const WebLink = t.exact(
17
- t.intersection([
18
- t.type({
19
- link_type: t.literal("Web"),
20
- url: String,
21
- }),
22
- t.partial({
23
- target: String,
24
- }),
25
- ]),
26
- )
27
- export type WebLink = t.TypeOf<typeof WebLink>
28
-
29
- const DocumentLink = t.strict({
30
- link_type: t.literal("Document"),
31
- id: DocumentId,
32
- })
33
- export type DocumentLink = t.TypeOf<typeof DocumentLink>
34
-
35
- const MediaLink = t.strict({
36
- link_type: t.literal("Media"),
37
- id: String,
38
- })
39
- export type MediaLink = t.TypeOf<typeof MediaLink>
40
-
41
- export const Link = LinkTypeValidator.pipe(
42
- t.union([WebLink, DocumentLink, MediaLink]),
43
- )
44
- export type Link = TypeOf<typeof Link>
45
-
46
- // This is the default value for the link
47
- const AnyLink = t.strict({
48
- link_type: t.literal("Any"),
49
- })
50
-
51
- export const ImportLink = ImportContent(
52
- "Link",
53
- DefaultOrElse<
54
- TypeOf<typeof AnyLink>,
55
- TypeOf<typeof Link>,
56
- OutputOf<typeof Link>
57
- >(AnyLink)(Link),
58
- )
59
- export type ImportLink = TypeOf<typeof ImportLink>
@@ -1,88 +0,0 @@
1
- import type { NestableWidget } from "../../../../customtypes"
2
- import { ImportBoolean } from "./Boolean"
3
- import { ImportColor } from "./Color"
4
- import { ImportDate } from "./Date"
5
- import { ImportEmbed } from "./Embed"
6
- import { ImportGeoPoint } from "./GeoPoint"
7
- import { ImportImage } from "./Image"
8
- import { ImportRichText } from "./ImportRichText"
9
- import { ImportLink } from "./Link"
10
- import { ImportNumber } from "./Number"
11
- import { ImportSelect } from "./Select"
12
- import { ImportText } from "./Text"
13
- import { ImportTimestamp } from "./Timestamp"
14
-
15
- export type ImportNestable =
16
- | ImportBoolean
17
- | ImportColor
18
- | ImportNumber
19
- | ImportSelect
20
- | ImportText
21
- | ImportDate
22
- | ImportTimestamp
23
- | ImportEmbed
24
- | ImportLink
25
- | ImportGeoPoint
26
- | ImportImage
27
- | ImportRichText
28
-
29
- const getCodecOrThrow = (field: NestableWidget) => {
30
- switch (field.type) {
31
- case "Boolean":
32
- return ImportBoolean
33
- case "Color":
34
- return ImportColor
35
- case "Number":
36
- return ImportNumber(field)
37
- case "Select":
38
- return ImportSelect(field)
39
- case "Text":
40
- return ImportText
41
- case "Date":
42
- return ImportDate
43
- case "Timestamp":
44
- return ImportTimestamp
45
- case "Embed":
46
- return ImportEmbed
47
- case "Link":
48
- return ImportLink
49
- case "Image":
50
- return ImportImage(field)
51
- case "GeoPoint":
52
- return ImportGeoPoint
53
- case "StructuredText":
54
- return ImportRichText(field)
55
- default:
56
- throw new Error(`Unsupported type of nestable field ${field.type}`)
57
- }
58
- }
59
-
60
- export const ImportNestable = {
61
- is(u: unknown): u is ImportNestable {
62
- return (
63
- ImportBoolean.is(u) ||
64
- ImportColor.is(u) ||
65
- ImportNumber().is(u) ||
66
- ImportSelect().is(u) ||
67
- ImportText.is(u) ||
68
- ImportDate.is(u) ||
69
- ImportTimestamp.is(u) ||
70
- ImportEmbed.is(u) ||
71
- ImportLink.is(u) ||
72
- ImportGeoPoint.is(u) ||
73
- ImportImage().is(u) ||
74
- ImportRichText().is(u)
75
- )
76
- },
77
- decode: (field: NestableWidget) => {
78
- return (content: unknown) => {
79
- const codec = getCodecOrThrow(field)
80
- return {
81
- codec,
82
- result: codec.decode(content),
83
- }
84
- }
85
- },
86
-
87
- getCodec: getCodecOrThrow,
88
- }
@@ -1,38 +0,0 @@
1
- import * as t from "io-ts"
2
-
3
- import type {
4
- Number as NumberField,
5
- NumberConfig,
6
- } from "../../../../customtypes"
7
- import { NullOrElse, Number } from "../../../../validators"
8
- import { ImportContent } from "../ImportContent"
9
-
10
- const numberValue = (config?: NumberConfig) =>
11
- Number.pipe(
12
- new t.Type<number, number, number>(
13
- "ImportNumberValue",
14
- (u: unknown): u is number => Number.is(u),
15
- (n: number, c: t.Context) => {
16
- const min = config?.min
17
- const max = config?.max
18
-
19
- if ((min !== undefined && n < min) || (max !== undefined && n > max)) {
20
- return t.failure(
21
- n,
22
- c,
23
- `The value must be between [${min !== undefined ? min : ""}, ${
24
- max !== undefined ? max : ""
25
- }]`,
26
- )
27
- }
28
-
29
- return t.success(n)
30
- },
31
- t.identity,
32
- ),
33
- )
34
-
35
- export const ImportNumber = (field?: NumberField) =>
36
- ImportContent("Number", NullOrElse(numberValue(field?.config)))
37
-
38
- export type ImportNumber = t.TypeOf<ReturnType<typeof ImportNumber>>
@@ -1,38 +0,0 @@
1
- import * as t from "io-ts"
2
-
3
- import type { Select, SelectConfig } from "../../../../customtypes"
4
- import { NullOrElse, String } from "../../../../validators"
5
- import { ImportContent } from "../ImportContent"
6
-
7
- const selectValue = (config?: SelectConfig) =>
8
- String.pipe(
9
- new t.Type<string, string, string>(
10
- "ImportSelectValue",
11
- (u: unknown): u is string => String.is(u),
12
- (s: string, c: t.Context) => {
13
- if (!config?.options) {
14
- return t.failure(
15
- s,
16
- c,
17
- "The value must be defined in the custom type's configuration of the field",
18
- )
19
- }
20
-
21
- if (!config.options.includes(s)) {
22
- return t.failure(
23
- s,
24
- c,
25
- `The value must be one of these: ${config.options?.join(",")}`,
26
- )
27
- }
28
-
29
- return t.success(s)
30
- },
31
- t.identity,
32
- ),
33
- )
34
-
35
- export const ImportSelect = (field?: Select) =>
36
- ImportContent("Select", NullOrElse(selectValue(field?.config)))
37
-
38
- export type ImportSelect = t.TypeOf<ReturnType<typeof ImportSelect>>
@@ -1,7 +0,0 @@
1
- import type { TypeOf } from "io-ts"
2
-
3
- import { NullOrElse, String } from "../../../../validators"
4
- import { ImportContent } from "../ImportContent"
5
-
6
- export const ImportText = ImportContent("Text", NullOrElse(String))
7
- export type ImportText = TypeOf<typeof ImportText>
@@ -1,39 +0,0 @@
1
- import { chain } from "fp-ts/Either"
2
- import { pipe } from "fp-ts/function"
3
- import * as t from "io-ts"
4
-
5
- import { NullOrElse, String } from "../../../../validators"
6
- import { ImportContent } from "../ImportContent"
7
-
8
- export const TIMESTAMP_INPUT_REGEX =
9
- /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:(?:[+-]{1}\d{2}:?\d{2})|Z)$/
10
-
11
- const timestampValue = new t.Type<Date, Date, unknown>(
12
- "ImportTimestampValue",
13
- (u: unknown): u is Date => u instanceof Date,
14
- (u: unknown, c: t.Context) =>
15
- pipe(
16
- String.validate(u, c),
17
- chain((s: string) => {
18
- const date = new Date(s)
19
- const isInvalidDate = isNaN(date.getTime())
20
-
21
- if (isInvalidDate || !TIMESTAMP_INPUT_REGEX.test(s)) {
22
- return t.failure(
23
- u,
24
- c,
25
- "The value must be a DateTime in the format YYYY-MM-DDTHH:MM:SS+0000",
26
- )
27
- }
28
-
29
- return t.success(date)
30
- }),
31
- ),
32
- t.identity,
33
- )
34
-
35
- export const ImportTimestamp = ImportContent(
36
- "Timestamp",
37
- NullOrElse(timestampValue),
38
- )
39
- export type ImportTimestamp = t.TypeOf<typeof ImportTimestamp>
@@ -1,14 +0,0 @@
1
- export * from "./Boolean"
2
- export * from "./Color"
3
- export * from "./Date"
4
- export { ImportEmbed } from "./Embed"
5
- export * from "./GeoPoint"
6
- export * from "./Image"
7
- export * from "./Image/index"
8
- export * from "./ImportRichText"
9
- export * from "./Link"
10
- export * from "./Nestable"
11
- export * from "./Number"
12
- export * from "./Select"
13
- export * from "./Text"
14
- export * from "./Timestamp"
@@ -1,2 +0,0 @@
1
- export * from "./Document"
2
- export * from "./fields"