@prismicio/types-internal 0.1.1 → 0.2.3

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 (292) hide show
  1. package/README.md +13 -13
  2. package/{dist → lib}/customtypes/CustomType.d.ts +697 -715
  3. package/{dist → lib}/customtypes/CustomType.js +42 -52
  4. package/{dist → lib}/customtypes/Format.d.ts +0 -0
  5. package/{dist → lib}/customtypes/Format.js +0 -0
  6. package/{dist → lib}/customtypes/Section.d.ts +1035 -1062
  7. package/lib/customtypes/Section.js +21 -0
  8. package/lib/customtypes/index.d.ts +4 -0
  9. package/lib/customtypes/index.js +9 -0
  10. package/{dist → lib}/customtypes/widgets/Group.d.ts +45 -45
  11. package/lib/customtypes/widgets/Group.js +24 -0
  12. package/{dist → lib}/customtypes/widgets/UID.d.ts +4 -4
  13. package/lib/customtypes/widgets/UID.js +21 -0
  14. package/{dist → lib}/customtypes/widgets/Widget.d.ts +1036 -1063
  15. package/lib/customtypes/widgets/Widget.js +27 -0
  16. package/{dist → lib}/customtypes/widgets/WidgetTypes.d.ts +0 -0
  17. package/{dist → lib}/customtypes/widgets/WidgetTypes.js +0 -0
  18. package/lib/customtypes/widgets/index.d.ts +7 -0
  19. package/lib/customtypes/widgets/index.js +14 -0
  20. package/{dist → lib}/customtypes/widgets/nestable/BooleanField.d.ts +3 -3
  21. package/lib/customtypes/widgets/nestable/BooleanField.js +21 -0
  22. package/{dist → lib}/customtypes/widgets/nestable/Color.d.ts +4 -4
  23. package/lib/customtypes/widgets/nestable/Color.js +20 -0
  24. package/{dist → lib}/customtypes/widgets/nestable/Date.d.ts +4 -4
  25. package/lib/customtypes/widgets/nestable/Date.js +21 -0
  26. package/{dist → lib}/customtypes/widgets/nestable/Embed.d.ts +4 -4
  27. package/lib/customtypes/widgets/nestable/Embed.js +21 -0
  28. package/{dist → lib}/customtypes/widgets/nestable/GeoPoint.d.ts +4 -4
  29. package/lib/customtypes/widgets/nestable/GeoPoint.js +19 -0
  30. package/lib/customtypes/widgets/nestable/Image.d.ts +23 -0
  31. package/lib/customtypes/widgets/nestable/Image.js +29 -0
  32. package/{dist → lib}/customtypes/widgets/nestable/IntegrationField.d.ts +4 -4
  33. package/lib/customtypes/widgets/nestable/IntegrationField.js +21 -0
  34. package/{dist → lib}/customtypes/widgets/nestable/Link.d.ts +4 -4
  35. package/lib/customtypes/widgets/nestable/Link.js +54 -0
  36. package/{dist → lib}/customtypes/widgets/nestable/NestableWidget.d.ts +42 -42
  37. package/lib/customtypes/widgets/nestable/NestableWidget.js +37 -0
  38. package/{dist → lib}/customtypes/widgets/nestable/Number.d.ts +4 -4
  39. package/lib/customtypes/widgets/nestable/Number.js +24 -0
  40. package/{dist → lib}/customtypes/widgets/nestable/Range.d.ts +4 -4
  41. package/lib/customtypes/widgets/nestable/Range.js +24 -0
  42. package/{dist → lib}/customtypes/widgets/nestable/RichText.d.ts +6 -6
  43. package/lib/customtypes/widgets/nestable/RichText.js +111 -0
  44. package/lib/customtypes/widgets/nestable/Select.d.ts +15 -0
  45. package/lib/customtypes/widgets/nestable/Select.js +22 -0
  46. package/{dist → lib}/customtypes/widgets/nestable/Separator.d.ts +3 -3
  47. package/lib/customtypes/widgets/nestable/Separator.js +18 -0
  48. package/{dist → lib}/customtypes/widgets/nestable/Text.d.ts +4 -4
  49. package/lib/customtypes/widgets/nestable/Text.js +21 -0
  50. package/{dist → lib}/customtypes/widgets/nestable/Timestamp.d.ts +4 -4
  51. package/lib/customtypes/widgets/nestable/Timestamp.js +21 -0
  52. package/lib/customtypes/widgets/nestable/index.d.ts +15 -0
  53. package/{dist → lib}/customtypes/widgets/nestable/index.js +0 -0
  54. package/{dist → lib}/customtypes/widgets/shared/ImageConstraint.d.ts +3 -3
  55. package/lib/customtypes/widgets/shared/ImageConstraint.js +31 -0
  56. package/lib/customtypes/widgets/shared/index.d.ts +1 -0
  57. package/{dist → lib}/customtypes/widgets/shared/index.js +0 -0
  58. package/{dist → lib}/customtypes/widgets/slices/CompositeSlice.d.ts +87 -87
  59. package/lib/customtypes/widgets/slices/CompositeSlice.js +25 -0
  60. package/{dist → lib}/customtypes/widgets/slices/LegacySlice.d.ts +86 -95
  61. package/lib/customtypes/widgets/slices/LegacySlice.js +8 -0
  62. package/{dist → lib}/customtypes/widgets/slices/SharedSlice.d.ts +84 -84
  63. package/lib/customtypes/widgets/slices/SharedSlice.js +35 -0
  64. package/{dist → lib}/customtypes/widgets/slices/SharedSliceRef.d.ts +2 -2
  65. package/lib/customtypes/widgets/slices/SharedSliceRef.js +9 -0
  66. package/lib/customtypes/widgets/slices/Slice.d.ts +6 -0
  67. package/{dist → lib}/customtypes/widgets/slices/Slice.js +0 -0
  68. package/{dist → lib}/customtypes/widgets/slices/Slices.d.ts +1550 -1604
  69. package/lib/customtypes/widgets/slices/Slices.js +93 -0
  70. package/{dist → lib}/customtypes/widgets/slices/SlicesTypes.d.ts +0 -0
  71. package/{dist → lib}/customtypes/widgets/slices/SlicesTypes.js +0 -0
  72. package/lib/customtypes/widgets/slices/index.d.ts +7 -0
  73. package/lib/customtypes/widgets/slices/index.js +16 -0
  74. package/lib/documents/DocumentData.d.ts +8 -0
  75. package/lib/documents/DocumentData.js +28 -0
  76. package/lib/documents/index.d.ts +2 -0
  77. package/lib/documents/index.js +7 -0
  78. package/lib/documents/widgets/EmptyContent.d.ts +8 -0
  79. package/lib/documents/widgets/EmptyContent.js +9 -0
  80. package/lib/documents/widgets/GroupContent.d.ts +16 -0
  81. package/lib/documents/widgets/GroupContent.js +59 -0
  82. package/lib/documents/widgets/SimpleWidgetContent.d.ts +20 -0
  83. package/lib/documents/widgets/SimpleWidgetContent.js +75 -0
  84. package/lib/documents/widgets/StaticWidgetContent.d.ts +10 -0
  85. package/lib/documents/widgets/StaticWidgetContent.js +26 -0
  86. package/lib/documents/widgets/UIDContent.d.ts +7 -0
  87. package/lib/documents/widgets/UIDContent.js +10 -0
  88. package/lib/documents/widgets/index.d.ts +35 -0
  89. package/lib/documents/widgets/index.js +36 -0
  90. package/lib/documents/widgets/nestable/BooleanContent.d.ts +8 -0
  91. package/lib/documents/widgets/nestable/BooleanContent.js +11 -0
  92. package/lib/documents/widgets/nestable/EmbedContent.d.ts +40 -0
  93. package/lib/documents/widgets/nestable/EmbedContent.js +36 -0
  94. package/lib/documents/widgets/nestable/FieldContent.d.ts +12 -0
  95. package/lib/documents/widgets/nestable/FieldContent.js +37 -0
  96. package/lib/documents/widgets/nestable/GeoPointContent.d.ts +17 -0
  97. package/lib/documents/widgets/nestable/GeoPointContent.js +13 -0
  98. package/lib/documents/widgets/nestable/ImageContent.d.ts +127 -0
  99. package/lib/documents/widgets/nestable/ImageContent.js +41 -0
  100. package/lib/documents/widgets/nestable/IntegrationFieldsContent.d.ts +8 -0
  101. package/lib/documents/widgets/nestable/IntegrationFieldsContent.js +16 -0
  102. package/lib/documents/widgets/nestable/Link/DocumentLink.d.ts +12 -0
  103. package/lib/documents/widgets/nestable/Link/DocumentLink.js +13 -0
  104. package/lib/documents/widgets/nestable/Link/ExternalLink.d.ts +24 -0
  105. package/lib/documents/widgets/nestable/Link/ExternalLink.js +24 -0
  106. package/lib/documents/widgets/nestable/Link/FileLink.d.ts +22 -0
  107. package/lib/documents/widgets/nestable/Link/FileLink.js +24 -0
  108. package/lib/documents/widgets/nestable/Link/ImageLink.d.ts +28 -0
  109. package/lib/documents/widgets/nestable/Link/ImageLink.js +26 -0
  110. package/lib/documents/widgets/nestable/Link/LinkContent.d.ts +36 -0
  111. package/lib/documents/widgets/nestable/Link/LinkContent.js +13 -0
  112. package/lib/documents/widgets/nestable/Link/index.d.ts +89 -0
  113. package/lib/documents/widgets/nestable/Link/index.js +35 -0
  114. package/lib/documents/widgets/nestable/SeparatorContent.d.ts +7 -0
  115. package/lib/documents/widgets/nestable/SeparatorContent.js +10 -0
  116. package/lib/documents/widgets/nestable/StructuredTextContent/Block.d.ts +274 -0
  117. package/lib/documents/widgets/nestable/StructuredTextContent/Block.js +97 -0
  118. package/lib/documents/widgets/nestable/StructuredTextContent/index.d.ts +9 -0
  119. package/lib/documents/widgets/nestable/StructuredTextContent/index.js +14 -0
  120. package/lib/documents/widgets/nestable/index.d.ts +26 -0
  121. package/lib/documents/widgets/nestable/index.js +40 -0
  122. package/lib/documents/widgets/slices/CompositeSliceContent.d.ts +14 -0
  123. package/lib/documents/widgets/slices/CompositeSliceContent.js +50 -0
  124. package/lib/documents/widgets/slices/SharedSliceContent.d.ts +15 -0
  125. package/lib/documents/widgets/slices/SharedSliceContent.js +62 -0
  126. package/lib/documents/widgets/slices/SimpleSliceContent.d.ts +6 -0
  127. package/lib/documents/widgets/slices/SimpleSliceContent.js +6 -0
  128. package/lib/documents/widgets/slices/SliceWidgetContent.d.ts +8 -0
  129. package/lib/documents/widgets/slices/SliceWidgetContent.js +26 -0
  130. package/lib/documents/widgets/slices/SlicesContent.d.ts +17 -0
  131. package/lib/documents/widgets/slices/SlicesContent.js +51 -0
  132. package/lib/documents/widgets/slices/index.d.ts +5 -0
  133. package/lib/documents/widgets/slices/index.js +8 -0
  134. package/lib/index.d.ts +3 -0
  135. package/lib/index.js +7 -0
  136. package/lib/validators/DateFromString.d.ts +3 -0
  137. package/lib/validators/DateFromString.js +10 -0
  138. package/lib/validators/DateFromStringOrNumber.d.ts +3 -0
  139. package/lib/validators/DateFromStringOrNumber.js +10 -0
  140. package/lib/validators/DateFromTsMs.d.ts +3 -0
  141. package/lib/validators/DateFromTsMs.js +10 -0
  142. package/lib/validators/IntFromNumber.d.ts +5 -0
  143. package/lib/validators/IntFromNumber.js +14 -0
  144. package/lib/validators/IntFromPixels.d.ts +8 -0
  145. package/lib/validators/IntFromPixels.js +24 -0
  146. package/lib/validators/NonEmptyString.d.ts +3 -0
  147. package/lib/validators/NonEmptyString.js +6 -0
  148. package/lib/validators/NonEmptyStringOrNull.d.ts +3 -0
  149. package/lib/validators/NonEmptyStringOrNull.js +15 -0
  150. package/lib/validators/NumberOrNull.d.ts +3 -0
  151. package/lib/validators/NumberOrNull.js +6 -0
  152. package/lib/validators/StringFromBoolean.d.ts +5 -0
  153. package/lib/validators/StringFromBoolean.js +10 -0
  154. package/lib/validators/StringFromNumber.d.ts +5 -0
  155. package/lib/validators/StringFromNumber.js +10 -0
  156. package/lib/validators/StringOrNull.d.ts +3 -0
  157. package/lib/validators/StringOrNull.js +6 -0
  158. package/lib/validators/function.d.ts +14 -0
  159. package/lib/validators/function.js +60 -0
  160. package/lib/validators/index.d.ts +12 -0
  161. package/lib/validators/index.js +27 -0
  162. package/package.json +30 -18
  163. package/src/customtypes/CustomType.ts +173 -116
  164. package/src/customtypes/Format.ts +3 -3
  165. package/src/customtypes/Section.ts +26 -13
  166. package/src/customtypes/index.ts +4 -4
  167. package/src/customtypes/widgets/Group.ts +21 -20
  168. package/src/customtypes/widgets/UID.ts +18 -17
  169. package/src/customtypes/widgets/Widget.ts +22 -23
  170. package/src/customtypes/widgets/WidgetTypes.ts +21 -21
  171. package/src/customtypes/widgets/index.ts +7 -7
  172. package/src/customtypes/widgets/nestable/BooleanField.ts +19 -19
  173. package/src/customtypes/widgets/nestable/Color.ts +17 -16
  174. package/src/customtypes/widgets/nestable/Date.ts +19 -18
  175. package/src/customtypes/widgets/nestable/Embed.ts +19 -18
  176. package/src/customtypes/widgets/nestable/GeoPoint.ts +17 -16
  177. package/src/customtypes/widgets/nestable/Image.ts +26 -26
  178. package/src/customtypes/widgets/nestable/IntegrationField.ts +18 -17
  179. package/src/customtypes/widgets/nestable/Link.ts +80 -68
  180. package/src/customtypes/widgets/nestable/NestableWidget.ts +32 -32
  181. package/src/customtypes/widgets/nestable/Number.ts +22 -21
  182. package/src/customtypes/widgets/nestable/Range.ts +22 -21
  183. package/src/customtypes/widgets/nestable/RichText.ts +164 -134
  184. package/src/customtypes/widgets/nestable/Select.ts +22 -21
  185. package/src/customtypes/widgets/nestable/Separator.ts +15 -14
  186. package/src/customtypes/widgets/nestable/Text.ts +18 -17
  187. package/src/customtypes/widgets/nestable/Timestamp.ts +19 -18
  188. package/src/customtypes/widgets/nestable/index.ts +15 -15
  189. package/src/customtypes/widgets/shared/ImageConstraint.ts +31 -29
  190. package/src/customtypes/widgets/shared/index.ts +1 -1
  191. package/src/customtypes/widgets/slices/CompositeSlice.ts +21 -21
  192. package/src/customtypes/widgets/slices/LegacySlice.ts +5 -10
  193. package/src/customtypes/widgets/slices/SharedSlice.ts +33 -31
  194. package/src/customtypes/widgets/slices/SharedSliceRef.ts +6 -6
  195. package/src/customtypes/widgets/slices/Slice.ts +4 -4
  196. package/src/customtypes/widgets/slices/Slices.ts +95 -73
  197. package/src/customtypes/widgets/slices/SlicesTypes.ts +3 -3
  198. package/src/customtypes/widgets/slices/index.ts +7 -7
  199. package/src/documents/DocumentData.ts +54 -0
  200. package/src/documents/index.ts +2 -0
  201. package/src/documents/widgets/EmptyContent.ts +8 -0
  202. package/src/documents/widgets/GroupContent.ts +91 -0
  203. package/src/documents/widgets/SimpleWidgetContent.ts +96 -0
  204. package/src/documents/widgets/StaticWidgetContent.ts +46 -0
  205. package/src/documents/widgets/UIDContent.ts +18 -0
  206. package/src/documents/widgets/index.ts +56 -0
  207. package/src/documents/widgets/nestable/BooleanContent.ts +21 -0
  208. package/src/documents/widgets/nestable/EmbedContent.ts +54 -0
  209. package/src/documents/widgets/nestable/FieldContent.ts +45 -0
  210. package/src/documents/widgets/nestable/GeoPointContent.ts +18 -0
  211. package/src/documents/widgets/nestable/ImageContent.ts +51 -0
  212. package/src/documents/widgets/nestable/IntegrationFieldsContent.ts +26 -0
  213. package/src/documents/widgets/nestable/Link/DocumentLink.ts +18 -0
  214. package/src/documents/widgets/nestable/Link/ExternalLink.ts +31 -0
  215. package/src/documents/widgets/nestable/Link/FileLink.ts +29 -0
  216. package/src/documents/widgets/nestable/Link/ImageLink.ts +31 -0
  217. package/src/documents/widgets/nestable/Link/LinkContent.ts +22 -0
  218. package/src/documents/widgets/nestable/Link/index.ts +33 -0
  219. package/src/documents/widgets/nestable/SeparatorContent.ts +8 -0
  220. package/src/documents/widgets/nestable/StructuredTextContent/Block.ts +122 -0
  221. package/src/documents/widgets/nestable/StructuredTextContent/index.ts +25 -0
  222. package/src/documents/widgets/nestable/index.ts +35 -0
  223. package/src/documents/widgets/slices/CompositeSliceContent.ts +77 -0
  224. package/src/documents/widgets/slices/SharedSliceContent.ts +94 -0
  225. package/src/documents/widgets/slices/SimpleSliceContent.ts +4 -0
  226. package/src/documents/widgets/slices/SliceWidgetContent.ts +51 -0
  227. package/src/documents/widgets/slices/SlicesContent.ts +91 -0
  228. package/src/documents/widgets/slices/index.ts +5 -0
  229. package/src/index.ts +3 -1
  230. package/src/validators/DateFromString.ts +17 -0
  231. package/src/validators/DateFromStringOrNumber.ts +17 -0
  232. package/src/validators/DateFromTsMs.ts +17 -0
  233. package/src/validators/IntFromNumber.ts +22 -24
  234. package/src/validators/IntFromPixels.ts +27 -26
  235. package/src/validators/NonEmptyString.ts +9 -0
  236. package/src/validators/NonEmptyStringOrNull.ts +22 -0
  237. package/src/validators/NumberOrNull.ts +5 -0
  238. package/src/validators/StringFromBoolean.ts +17 -19
  239. package/src/validators/StringFromNumber.ts +17 -19
  240. package/src/validators/StringOrNull.ts +4 -2
  241. package/src/validators/function.ts +71 -0
  242. package/src/validators/index.ts +12 -0
  243. package/dist/customtypes/Section.js +0 -40
  244. package/dist/customtypes/index.d.ts +0 -4
  245. package/dist/customtypes/index.js +0 -30
  246. package/dist/customtypes/widgets/Group.js +0 -45
  247. package/dist/customtypes/widgets/UID.js +0 -42
  248. package/dist/customtypes/widgets/Widget.js +0 -51
  249. package/dist/customtypes/widgets/index.d.ts +0 -7
  250. package/dist/customtypes/widgets/index.js +0 -35
  251. package/dist/customtypes/widgets/nestable/BooleanField.js +0 -42
  252. package/dist/customtypes/widgets/nestable/Color.js +0 -41
  253. package/dist/customtypes/widgets/nestable/Date.js +0 -42
  254. package/dist/customtypes/widgets/nestable/Embed.js +0 -42
  255. package/dist/customtypes/widgets/nestable/GeoPoint.js +0 -40
  256. package/dist/customtypes/widgets/nestable/Image.d.ts +0 -23
  257. package/dist/customtypes/widgets/nestable/Image.js +0 -50
  258. package/dist/customtypes/widgets/nestable/IntegrationField.js +0 -42
  259. package/dist/customtypes/widgets/nestable/Link.js +0 -78
  260. package/dist/customtypes/widgets/nestable/NestableWidget.js +0 -58
  261. package/dist/customtypes/widgets/nestable/Number.js +0 -45
  262. package/dist/customtypes/widgets/nestable/Range.js +0 -45
  263. package/dist/customtypes/widgets/nestable/RichText.js +0 -134
  264. package/dist/customtypes/widgets/nestable/Select.d.ts +0 -15
  265. package/dist/customtypes/widgets/nestable/Select.js +0 -45
  266. package/dist/customtypes/widgets/nestable/Separator.js +0 -39
  267. package/dist/customtypes/widgets/nestable/Text.js +0 -42
  268. package/dist/customtypes/widgets/nestable/Timestamp.js +0 -42
  269. package/dist/customtypes/widgets/nestable/index.d.ts +0 -15
  270. package/dist/customtypes/widgets/shared/ImageConstraint.js +0 -48
  271. package/dist/customtypes/widgets/shared/index.d.ts +0 -1
  272. package/dist/customtypes/widgets/slices/CompositeSlice.js +0 -46
  273. package/dist/customtypes/widgets/slices/LegacySlice.js +0 -34
  274. package/dist/customtypes/widgets/slices/SharedSlice.js +0 -56
  275. package/dist/customtypes/widgets/slices/SharedSliceRef.js +0 -30
  276. package/dist/customtypes/widgets/slices/Slice.d.ts +0 -6
  277. package/dist/customtypes/widgets/slices/Slices.js +0 -106
  278. package/dist/customtypes/widgets/slices/index.d.ts +0 -7
  279. package/dist/customtypes/widgets/slices/index.js +0 -37
  280. package/dist/index.d.ts +0 -1
  281. package/dist/index.js +0 -23
  282. package/dist/index.js.map +0 -1
  283. package/dist/validators/IntFromNumber.d.ts +0 -7
  284. package/dist/validators/IntFromNumber.js +0 -35
  285. package/dist/validators/IntFromPixels.d.ts +0 -7
  286. package/dist/validators/IntFromPixels.js +0 -43
  287. package/dist/validators/StringFromBoolean.d.ts +0 -7
  288. package/dist/validators/StringFromBoolean.js +0 -31
  289. package/dist/validators/StringFromNumber.d.ts +0 -7
  290. package/dist/validators/StringFromNumber.js +0 -31
  291. package/dist/validators/StringOrNull.d.ts +0 -2
  292. package/dist/validators/StringOrNull.js +0 -24
@@ -1,159 +1,189 @@
1
- import * as t from 'io-ts'
2
- import { StringOrNull } from '../../../validators/StringOrNull'
3
- import { either } from 'fp-ts/lib/Either'
4
- import WidgetTypes from '../WidgetTypes'
5
- import ImageConstraint from '../shared/ImageConstraint'
1
+ import { either } from "fp-ts/lib/Either"
2
+ import * as t from "io-ts"
6
3
 
7
- const DEFAULT_OPTION = 'paragraph'
4
+ import { StringOrNull } from "../../../validators"
5
+ import ImageConstraint from "../shared/ImageConstraint"
6
+ import WidgetTypes from "../WidgetTypes"
7
+
8
+ const DEFAULT_OPTION = "paragraph"
8
9
  const options = [
9
- 'heading1',
10
- 'heading2',
11
- 'heading3',
12
- 'heading4',
13
- 'heading5',
14
- 'heading6',
15
- 'paragraph',
16
- 'strong',
17
- 'em',
18
- 'preformatted',
19
- 'hyperlink',
20
- 'image',
21
- 'embed',
22
- 'list-item',
23
- 'o-list-item',
24
- 'rtl'
25
- ];
10
+ "heading1",
11
+ "heading2",
12
+ "heading3",
13
+ "heading4",
14
+ "heading5",
15
+ "heading6",
16
+ "paragraph",
17
+ "strong",
18
+ "em",
19
+ "preformatted",
20
+ "hyperlink",
21
+ "image",
22
+ "embed",
23
+ "list-item",
24
+ "o-list-item",
25
+ "rtl",
26
+ ]
26
27
 
27
28
  const RichTextOptions = new t.Type<string, string, unknown>(
28
- 'RichTextOptions',
29
- (u: unknown): u is string => typeof u === 'string',
30
- (u: unknown, context: t.Context) => {
31
- return either.chain(
32
- t.union([
33
- t.string,
34
- t.null
35
- ]).validate(u as unknown, context), (s: string | null) => {
36
- if(!s) return t.success(DEFAULT_OPTION)
37
- const entries = s.split(',').map((e: string) => e.trim())
38
- const filtered = entries.filter(entry => options.includes(entry))
39
- if(!filtered.length) return t.success(DEFAULT_OPTION)
40
-
41
- return t.success(filtered.join(','))
42
- }
43
- );
44
- },
45
- a => a
46
- )
29
+ "RichTextOptions",
30
+ (u: unknown): u is string => typeof u === "string",
31
+ (u: unknown, context: t.Context) => {
32
+ return either.chain(
33
+ t.union([t.string, t.null]).validate(u, context),
34
+ (s: string | null) => {
35
+ if (!s) return t.success(DEFAULT_OPTION)
36
+ const entries = s.split(",").map((e: string) => e.trim())
37
+ const filtered = entries.filter((entry) => options.includes(entry))
38
+ if (!filtered.length) return t.success(DEFAULT_OPTION)
47
39
 
40
+ return t.success(filtered.join(","))
41
+ },
42
+ )
43
+ },
44
+ (a) => a,
45
+ )
48
46
 
49
- const NoLabels = (labels: string | string[] | {
50
- [x: string]: {
51
- name: string;
52
- }[];
53
- } | null) => {
54
- if(!labels) return t.success([])
47
+ const NoLabels = (
48
+ labels:
49
+ | string
50
+ | string[]
51
+ | {
52
+ [x: string]: {
53
+ name: string
54
+ }[]
55
+ }
56
+ | null,
57
+ ) => {
58
+ if (!labels) return t.success([])
59
+ return
55
60
  }
56
61
 
57
- const LabelsAsObject = (labels: string | string[] | {
58
- [x: string]: {
59
- name: string;
60
- }[];
61
- } | null) => {
62
- if(labels instanceof Object) {
63
- const labelsObj = labels as { [x: string]: { name: string }[] }
64
-
65
- // empty labels
66
- if(!Object.entries(labelsObj).length) return t.success([])
67
-
68
- // weird case labels with empty key as parent
69
- if(labelsObj['']) {
70
- return t.success(labelsObj[''].map(l => l.name))
71
- }
72
-
73
- const convertedObjectToArray = Object.entries(labelsObj)
74
- .reduce<ReadonlyArray<string>>((acc, [, labelsEntries]) => {
75
- return acc.concat(labelsEntries.map(l => l.name))
76
- }, [])
77
- .filter(Boolean)
78
-
79
- return t.success(convertedObjectToArray)
80
- }
62
+ const LabelsAsObject = (
63
+ labels:
64
+ | string
65
+ | string[]
66
+ | {
67
+ [x: string]: {
68
+ name: string
69
+ }[]
70
+ }
71
+ | null,
72
+ ) => {
73
+ if (labels instanceof Object) {
74
+ const labelsObj = labels as { [x: string]: { name: string }[] }
75
+
76
+ // empty labels
77
+ if (!Object.entries(labelsObj).length) return t.success([])
78
+
79
+ // weird case labels with empty key as parent
80
+ if (labelsObj[""]) {
81
+ return t.success(labelsObj[""].map((l) => l.name))
82
+ }
83
+
84
+ const convertedObjectToArray = Object.entries(labelsObj)
85
+ .reduce<ReadonlyArray<string>>((acc, [, labelsEntries]) => {
86
+ return acc.concat(labelsEntries.map((l) => l.name))
87
+ }, [])
88
+ .filter(Boolean)
89
+
90
+ return t.success(convertedObjectToArray)
91
+ }
92
+ return
81
93
  }
82
94
 
83
- const LabelsAsArray = (labels: string | string[] | {
84
- [x: string]: {
85
- name: string;
86
- }[];
87
- } | null) => {
88
- if(labels instanceof Array) {
89
- const isValidLabels = labels.reduce((acc, l) => acc && typeof l === 'string', true)
90
- if(isValidLabels) return t.success(labels)
91
- }
95
+ const LabelsAsArray = (
96
+ labels:
97
+ | string
98
+ | string[]
99
+ | {
100
+ [x: string]: {
101
+ name: string
102
+ }[]
103
+ }
104
+ | null,
105
+ ) => {
106
+ if (labels instanceof Array) {
107
+ const isValidLabels = labels.reduce(
108
+ (acc, l) => acc && typeof l === "string",
109
+ true,
110
+ )
111
+ if (isValidLabels) return t.success(labels)
112
+ }
113
+ return
92
114
  }
93
115
 
94
- const LabelsAsString = (labels: string | string[] | {
95
- [x: string]: {
96
- name: string;
97
- }[];
98
- } | null) => {
99
- if(typeof labels === 'string') {
100
- return t.success([labels])
101
- }
116
+ const LabelsAsString = (
117
+ labels:
118
+ | string
119
+ | string[]
120
+ | {
121
+ [x: string]: {
122
+ name: string
123
+ }[]
124
+ }
125
+ | null,
126
+ ) => {
127
+ if (typeof labels === "string") {
128
+ return t.success([labels])
129
+ }
130
+ return
102
131
  }
103
132
 
104
133
  const RichTextLabels = new t.Type<Array<string>, object, unknown>(
105
- 'RichTextLabels',
106
- (u: unknown): u is any => {
107
- return u instanceof Array
108
- },
109
- (u: unknown, context: t.Context) => {
110
- const legacyValidator = t.record(t.string, t.array(t.record(t.literal("name"), t.string)))
111
- const validator = t.array(t.string)
112
-
113
- return either.chain(
114
- t.union([
115
- legacyValidator,
116
- validator,
117
- t.string,
118
- t.null,
119
- ]).validate(u, context), (labels) => {
120
- return (
121
- NoLabels(labels) ||
122
- LabelsAsArray(labels) ||
123
- LabelsAsObject(labels) ||
124
- LabelsAsString(labels) ||
125
- t.failure(u, context)
126
- )
127
- }
128
- )
129
- },
130
- res => res
134
+ "RichTextLabels",
135
+ (u: unknown): u is Array<string> => {
136
+ return u instanceof Array
137
+ },
138
+ (u: unknown, context: t.Context) => {
139
+ const legacyValidator = t.record(
140
+ t.string,
141
+ t.array(t.record(t.literal("name"), t.string)),
142
+ )
143
+ const validator = t.array(t.string)
144
+
145
+ return either.chain(
146
+ t
147
+ .union([legacyValidator, validator, t.string, t.null])
148
+ .validate(u, context),
149
+ (labels) => {
150
+ return (
151
+ NoLabels(labels) ||
152
+ LabelsAsArray(labels) ||
153
+ LabelsAsObject(labels) ||
154
+ LabelsAsString(labels) ||
155
+ t.failure(u, context)
156
+ )
157
+ },
158
+ )
159
+ },
160
+ (res) => res,
131
161
  )
132
162
 
133
163
  const RichTextConfig = t.exact(
134
- t.partial({
135
- label: StringOrNull,
136
- placeholder: t.string,
137
- useAsTitle: t.boolean,
138
- single: RichTextOptions,
139
- multi: RichTextOptions,
140
- imageConstraint: ImageConstraint,
141
- labels: RichTextLabels,
142
- allowTargetBlank: t.boolean
143
- })
164
+ t.partial({
165
+ label: StringOrNull,
166
+ placeholder: t.string,
167
+ useAsTitle: t.boolean,
168
+ single: RichTextOptions,
169
+ multi: RichTextOptions,
170
+ imageConstraint: ImageConstraint,
171
+ labels: RichTextLabels,
172
+ allowTargetBlank: t.boolean,
173
+ }),
144
174
  )
145
175
  type RichTextConfig = t.TypeOf<typeof RichTextConfig>
146
176
 
147
177
  const RichText = t.exact(
148
- t.intersection([
149
- t.type({
150
- type: t.literal(WidgetTypes.RichText)
151
- }),
152
- t.partial({
153
- fieldset: StringOrNull,
154
- config: RichTextConfig
155
- })
156
- ])
178
+ t.intersection([
179
+ t.type({
180
+ type: t.literal(WidgetTypes.RichText),
181
+ }),
182
+ t.partial({
183
+ fieldset: StringOrNull,
184
+ config: RichTextConfig,
185
+ }),
186
+ ]),
157
187
  )
158
188
  type RichText = t.TypeOf<typeof RichText>
159
189
 
@@ -1,32 +1,33 @@
1
- import * as t from 'io-ts'
2
- import { StringOrNull } from '../../../validators/StringOrNull'
3
- import { StringFromBoolean } from '../../../validators/StringFromBoolean'
4
- import WidgetTypes from '../WidgetTypes'
1
+ import * as t from "io-ts"
5
2
 
6
- import { StringFromNumber } from '../../../validators/StringFromNumber'
3
+ import {
4
+ StringFromBoolean,
5
+ StringFromNumber,
6
+ StringOrNull,
7
+ } from "../../../validators"
8
+ import WidgetTypes from "../WidgetTypes"
7
9
 
8
10
  const SelectConfig = t.exact(
9
- t.partial({
10
- label: StringOrNull,
11
- placeholder: t.string,
12
- default_value: t.string,
13
- options: t.array(t.union([t.string, StringFromNumber, StringFromBoolean]))
14
- })
11
+ t.partial({
12
+ label: StringOrNull,
13
+ placeholder: t.string,
14
+ default_value: t.string,
15
+ options: t.array(t.union([t.string, StringFromNumber, StringFromBoolean])),
16
+ }),
15
17
  )
16
18
  type SelectConfig = t.TypeOf<typeof SelectConfig>
17
19
 
18
20
  const Select = t.exact(
19
- t.intersection([
20
- t.type({
21
- type: t.literal(WidgetTypes.Select)
22
- }),
23
- t.partial({
24
- fieldset: StringOrNull,
25
- config: SelectConfig
26
- })
27
- ])
21
+ t.intersection([
22
+ t.type({
23
+ type: t.literal(WidgetTypes.Select),
24
+ }),
25
+ t.partial({
26
+ fieldset: StringOrNull,
27
+ config: SelectConfig,
28
+ }),
29
+ ]),
28
30
  )
29
31
  type Select = t.TypeOf<typeof Select>
30
32
 
31
33
  export default Select
32
-
@@ -1,23 +1,24 @@
1
- import * as t from 'io-ts'
2
- import { StringOrNull } from '../../../validators/StringOrNull'
3
- import WidgetTypes from '../WidgetTypes'
1
+ import * as t from "io-ts"
2
+
3
+ import { StringOrNull } from "../../../validators"
4
+ import WidgetTypes from "../WidgetTypes"
4
5
 
5
6
  const SeparatorConfig = t.exact(
6
- t.partial({
7
- label: StringOrNull
8
- })
7
+ t.partial({
8
+ label: StringOrNull,
9
+ }),
9
10
  )
10
11
  type SeparatorConfig = t.TypeOf<typeof SeparatorConfig>
11
12
 
12
13
  const Separator = t.exact(
13
- t.intersection([
14
- t.type({
15
- type: t.literal(WidgetTypes.Separator)
16
- }),
17
- t.partial({
18
- config: SeparatorConfig
19
- })
20
- ])
14
+ t.intersection([
15
+ t.type({
16
+ type: t.literal(WidgetTypes.Separator),
17
+ }),
18
+ t.partial({
19
+ config: SeparatorConfig,
20
+ }),
21
+ ]),
21
22
  )
22
23
  type Separator = t.TypeOf<typeof Separator>
23
24
 
@@ -1,26 +1,27 @@
1
- import * as t from 'io-ts'
2
- import { StringOrNull } from '../../../validators/StringOrNull'
3
- import WidgetTypes from '../WidgetTypes'
1
+ import * as t from "io-ts"
2
+
3
+ import { StringOrNull } from "../../../validators"
4
+ import WidgetTypes from "../WidgetTypes"
4
5
 
5
6
  const TextConfig = t.exact(
6
- t.partial({
7
- label: StringOrNull,
8
- useAsTitle: t.boolean,
9
- placeholder: t.string
10
- })
7
+ t.partial({
8
+ label: StringOrNull,
9
+ useAsTitle: t.boolean,
10
+ placeholder: t.string,
11
+ }),
11
12
  )
12
13
  type TextConfig = t.TypeOf<typeof TextConfig>
13
14
 
14
15
  const Text = t.exact(
15
- t.intersection([
16
- t.type({
17
- type: t.literal(WidgetTypes.Text)
18
- }),
19
- t.partial({
20
- fieldset: StringOrNull,
21
- config: TextConfig
22
- })
23
- ])
16
+ t.intersection([
17
+ t.type({
18
+ type: t.literal(WidgetTypes.Text),
19
+ }),
20
+ t.partial({
21
+ fieldset: StringOrNull,
22
+ config: TextConfig,
23
+ }),
24
+ ]),
24
25
  )
25
26
  type Text = t.TypeOf<typeof Text>
26
27
 
@@ -1,27 +1,28 @@
1
- import * as t from 'io-ts'
2
- import { StringOrNull } from '../../../validators/StringOrNull'
3
- import WidgetTypes from '../WidgetTypes'
1
+ import * as t from "io-ts"
2
+
3
+ import { StringOrNull } from "../../../validators"
4
+ import WidgetTypes from "../WidgetTypes"
4
5
 
5
6
  const TimestampConfig = t.exact(
6
- t.partial({
7
- label: StringOrNull,
8
- placeholder: t.string,
9
- default: t.string
10
- })
7
+ t.partial({
8
+ label: StringOrNull,
9
+ placeholder: t.string,
10
+ default: t.string,
11
+ }),
11
12
  )
12
13
  type TimestampConfig = t.TypeOf<typeof TimestampConfig>
13
14
 
14
15
  const Timestamp = t.exact(
15
- t.intersection([
16
- t.type({
17
- type: t.literal(WidgetTypes.Timestamp)
18
- }),
19
- t.partial({
20
- fieldset: StringOrNull,
21
- config: TimestampConfig
22
- })
23
- ])
16
+ t.intersection([
17
+ t.type({
18
+ type: t.literal(WidgetTypes.Timestamp),
19
+ }),
20
+ t.partial({
21
+ fieldset: StringOrNull,
22
+ config: TimestampConfig,
23
+ }),
24
+ ]),
24
25
  )
25
26
  type Timestamp = t.TypeOf<typeof Timestamp>
26
27
 
27
- export default Timestamp
28
+ export default Timestamp
@@ -1,15 +1,15 @@
1
- export { default as BooleanField } from './BooleanField'
2
- export { default as Color } from './Color'
3
- export { default as Date } from './Date'
4
- export { default as GeoPoint } from './GeoPoint'
5
- export { default as Image } from './Image'
6
- export { default as IntegrationField } from './IntegrationField'
7
- export { default as Link } from './Link'
8
- export { default as NestableWidget } from './NestableWidget'
9
- export { default as Number } from './Number'
10
- export { default as Range } from './Range'
11
- export { default as RichText } from './RichText'
12
- export { default as Select } from './Select'
13
- export { default as Separator } from './Separator'
14
- export { default as Text } from './Text'
15
- export { default as Timestamp } from './Timestamp'
1
+ export { default as BooleanField } from "./BooleanField"
2
+ export { default as Color } from "./Color"
3
+ export { default as Date } from "./Date"
4
+ export { default as GeoPoint } from "./GeoPoint"
5
+ export { default as Image } from "./Image"
6
+ export { default as IntegrationField } from "./IntegrationField"
7
+ export { default as Link } from "./Link"
8
+ export { default as NestableWidget } from "./NestableWidget"
9
+ export { default as Number } from "./Number"
10
+ export { default as Range } from "./Range"
11
+ export { default as RichText } from "./RichText"
12
+ export { default as Select } from "./Select"
13
+ export { default as Separator } from "./Separator"
14
+ export { default as Text } from "./Text"
15
+ export { default as Timestamp } from "./Timestamp"
@@ -1,37 +1,39 @@
1
- import * as t from 'io-ts'
2
- import { either } from 'fp-ts/lib/Either'
3
- import { IntFromString } from 'io-ts-types/lib/IntFromString'
1
+ import { either } from "fp-ts/lib/Either"
2
+ import * as t from "io-ts"
3
+ import { IntFromString } from "io-ts-types/lib/IntFromString"
4
4
 
5
- import { IntFromNumber } from '../../../validators/IntFromNumber'
6
- import { IntFromPixels } from '../../../validators/IntFromPixels'
5
+ import { IntFromNumber, IntFromPixels } from "../../../validators"
7
6
 
8
- const SideConstraint = new t.Type<number | null, any, unknown>(
9
- 'SideConstraints',
10
- (u: unknown): u is any => {
11
- return !u || typeof u === 'number'
12
- },
13
- (u: unknown, context: t.Context) => {
14
- return either.chain(
15
- t.union([
16
- t.literal('auto'),
17
- t.literal(''),
18
- t.Int,
19
- IntFromString,
20
- IntFromNumber,
21
- IntFromPixels,
22
- t.null
23
- ]).validate(u, context), (constraint) => {
24
- if(constraint === 'auto' || constraint === '') return t.success(null)
25
- return t.success(constraint)
26
- }
27
- )
28
- },
29
- res => res
7
+ const SideConstraint = new t.Type<number | null, unknown, unknown>(
8
+ "SideConstraints",
9
+ (u: unknown): u is number | null => {
10
+ return !u || typeof u === "number"
11
+ },
12
+ (u: unknown, context: t.Context) => {
13
+ return either.chain(
14
+ t
15
+ .union([
16
+ t.literal("auto"),
17
+ t.literal(""),
18
+ t.Int,
19
+ IntFromString,
20
+ IntFromNumber,
21
+ IntFromPixels,
22
+ t.null,
23
+ ])
24
+ .validate(u, context),
25
+ (constraint) => {
26
+ if (constraint === "auto" || constraint === "") return t.success(null)
27
+ return t.success(constraint)
28
+ },
29
+ )
30
+ },
31
+ (res) => res,
30
32
  )
31
33
 
32
34
  const ImageConstraint = t.partial({
33
- width: SideConstraint,
34
- height: SideConstraint
35
+ width: SideConstraint,
36
+ height: SideConstraint,
35
37
  })
36
38
 
37
39
  type ImageConstraint = t.TypeOf<typeof ImageConstraint>
@@ -1 +1 @@
1
- export { default as ImageConstraint } from './ImageConstraint'
1
+ export { default as ImageConstraint } from "./ImageConstraint"