@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
@@ -0,0 +1,17 @@
1
+ import * as O from "fp-ts/Option";
2
+ import { SliceWidgetContent } from "./SliceWidgetContent";
3
+ export declare type SlicesContentItem = {
4
+ key: string;
5
+ name: string;
6
+ maybeLabel: string | undefined;
7
+ widget: SliceWidgetContent;
8
+ };
9
+ export declare const SlicesContentType = "SliceContentType";
10
+ export declare type SlicesContent = {
11
+ __TYPE__: typeof SlicesContentType;
12
+ value: SlicesContentItem[];
13
+ };
14
+ export declare const SlicesContent: {
15
+ itemsCodec: (value: unknown, codecWidget: (n: string, v: unknown) => O.Option<SliceWidgetContent>) => O.Option<SlicesContentItem>;
16
+ fromJson: (key: string, value: unknown, fieldTypes: Map<string, string>, fieldPositions: Map<string, number>) => O.Option<SlicesContent>;
17
+ };
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SlicesContent = exports.SlicesContentType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const A = (0, tslib_1.__importStar)(require("fp-ts/Array"));
6
+ const function_1 = require("fp-ts/function");
7
+ const O = (0, tslib_1.__importStar)(require("fp-ts/Option"));
8
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
9
+ const function_2 = require("../../../validators/function");
10
+ const SliceWidgetContent_1 = require("./SliceWidgetContent");
11
+ exports.SlicesContentType = "SliceContentType";
12
+ const codec = t.exact(t.intersection([
13
+ t.type({
14
+ key: t.string,
15
+ value: t.unknown,
16
+ }),
17
+ t.partial({
18
+ label: (0, function_2.nullable)(t.string),
19
+ }),
20
+ ]));
21
+ exports.SlicesContent = {
22
+ itemsCodec: (value, codecWidget) => {
23
+ return (0, function_1.pipe)(codec.decode(value), O.fromEither, O.chain((r) => {
24
+ const stopIdx = r.key.indexOf("$");
25
+ const name = r.key.substring(0, stopIdx > 0 ? stopIdx : undefined);
26
+ const maybeWidget = codecWidget(name, r.value);
27
+ return O.map((widget) => {
28
+ return {
29
+ key: r.key,
30
+ name,
31
+ maybeLabel: r.label ?? undefined,
32
+ widget: widget,
33
+ };
34
+ })(maybeWidget);
35
+ }));
36
+ },
37
+ fromJson: (key, value, fieldTypes, fieldPositions) => {
38
+ if (fieldTypes.get(key) === "Slices") {
39
+ const jsItems = O.getOrElse(() => new Array())(O.fromEither(t.array(t.unknown).decode(value)));
40
+ const widgetCodec = (name, wValue) => SliceWidgetContent_1.SliceWidgetContent.fromJson([key], name, wValue, fieldTypes, fieldPositions);
41
+ return O.some({
42
+ value: A.compact(jsItems.map((jsItem) => exports.SlicesContent.itemsCodec(jsItem, widgetCodec))),
43
+ __TYPE__: exports.SlicesContentType,
44
+ });
45
+ }
46
+ else {
47
+ console.error("fieldTypes.get(key) !== 'Slices'");
48
+ return O.none;
49
+ }
50
+ },
51
+ };
@@ -0,0 +1,5 @@
1
+ export * from "./CompositeSliceContent";
2
+ export * from "./SharedSliceContent";
3
+ export * from "./SimpleSliceContent";
4
+ export * from "./SlicesContent";
5
+ export * from "./SliceWidgetContent";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./CompositeSliceContent"), exports);
5
+ (0, tslib_1.__exportStar)(require("./SharedSliceContent"), exports);
6
+ (0, tslib_1.__exportStar)(require("./SimpleSliceContent"), exports);
7
+ (0, tslib_1.__exportStar)(require("./SlicesContent"), exports);
8
+ (0, tslib_1.__exportStar)(require("./SliceWidgetContent"), exports);
package/lib/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * as CustomTypes from "./customtypes";
2
+ export * as Documents from "./documents";
3
+ export * as Validators from "./validators";
package/lib/index.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Validators = exports.Documents = exports.CustomTypes = void 0;
4
+ const tslib_1 = require("tslib");
5
+ exports.CustomTypes = (0, tslib_1.__importStar)(require("./customtypes"));
6
+ exports.Documents = (0, tslib_1.__importStar)(require("./documents"));
7
+ exports.Validators = (0, tslib_1.__importStar)(require("./validators"));
@@ -0,0 +1,3 @@
1
+ import * as t from "io-ts";
2
+ declare const _default: t.Type<Date, string, unknown>;
3
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const Either_1 = require("fp-ts/Either");
5
+ const function_1 = require("fp-ts/function");
6
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
7
+ exports.default = new t.Type("dateFromString", (u) => u instanceof Date, (u, c) => (0, function_1.pipe)(t.string.validate(u, c), (0, Either_1.chain)((s) => {
8
+ const d = new Date(s);
9
+ return isNaN(d.getTime()) ? t.failure(u, c) : t.success(d);
10
+ })), (date) => date.toISOString());
@@ -0,0 +1,3 @@
1
+ import * as t from "io-ts";
2
+ declare const _default: t.Type<Date, Date, unknown>;
3
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const Either_1 = require("fp-ts/Either");
5
+ const function_1 = require("fp-ts/function");
6
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
7
+ exports.default = new t.Type("dateFromStringOrNumber", (u) => u instanceof Date, (u, c) => (0, function_1.pipe)(t.union([t.number, t.string]).validate(u, c), (0, Either_1.chain)((s) => {
8
+ const d = new Date(s);
9
+ return isNaN(d.getTime()) ? t.failure(u, c) : t.success(d);
10
+ })), (date) => date);
@@ -0,0 +1,3 @@
1
+ import * as t from "io-ts";
2
+ declare const _default: t.Type<Date, number, unknown>;
3
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const Either_1 = require("fp-ts/Either");
5
+ const function_1 = require("fp-ts/function");
6
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
7
+ exports.default = new t.Type("dateFromTsMs", (u) => u instanceof Date, (u, c) => (0, function_1.pipe)(t.number.validate(u, c), (0, Either_1.chain)((s) => {
8
+ const d = new Date(s);
9
+ return isNaN(d.getTime()) ? t.failure(u, c) : t.success(d);
10
+ })), (date) => date.getTime());
@@ -0,0 +1,5 @@
1
+ import * as t from "io-ts";
2
+ export declare type IntFromNumberC = t.Type<t.Int, number, unknown>;
3
+ declare const _default: t.Type<t.Int, number, unknown>;
4
+ /** A codec that succeeds if a number can be parsed to an integer */
5
+ export default _default;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const Either_1 = require("fp-ts/Either");
5
+ const function_1 = require("fp-ts/function");
6
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
7
+ /** A codec that succeeds if a number can be parsed to an integer */
8
+ exports.default = new t.Type("IntFromNumber", t.Int.is, (u, c) => (0, function_1.pipe)(t.number.validate(u, c), (0, Either_1.chain)((n) => {
9
+ if (t.Int.is(n))
10
+ return t.success(n);
11
+ else {
12
+ return t.success(Math.round(n));
13
+ }
14
+ })), t.Int.encode);
@@ -0,0 +1,8 @@
1
+ import * as t from "io-ts";
2
+ export declare type IntFromPixelsC = t.Type<t.Int, string, unknown>;
3
+ declare const _default: t.Type<t.Int, string, unknown>;
4
+ /**
5
+ * A codec that succeeds if a string representing pixels (eg: "200px") can be
6
+ * parsed to an integer
7
+ */
8
+ export default _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const Either_1 = require("fp-ts/Either");
5
+ const function_1 = require("fp-ts/function");
6
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
7
+ const PixelsRegex = /^([0-9]+)px$/;
8
+ /**
9
+ * A codec that succeeds if a string representing pixels (eg: "200px") can be
10
+ * parsed to an integer
11
+ */
12
+ exports.default = new t.Type("IntFromPixels", t.Int.is, (u, c) => (0, function_1.pipe)(t.string.validate(u, c), (0, Either_1.chain)((strPixels) => {
13
+ try {
14
+ const matched = strPixels.match(PixelsRegex);
15
+ if (!matched)
16
+ return t.failure(u, c);
17
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
18
+ const parsed = parseInt(matched[1]);
19
+ return t.success(parsed);
20
+ }
21
+ catch {
22
+ return t.failure(u, c);
23
+ }
24
+ })), String);
@@ -0,0 +1,3 @@
1
+ import * as t from "io-ts";
2
+ declare const _default: t.Type<string, string, unknown>;
3
+ export default _default;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
5
+ const function_1 = require("./function");
6
+ exports.default = (0, function_1.refineType)(t.string, "nonEmptyString", (s) => s.trim().length > 0);
@@ -0,0 +1,3 @@
1
+ import { Type } from "io-ts";
2
+ declare const _default: Type<string | null, string | null, unknown>;
3
+ export default _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const Either_1 = require("fp-ts/Either");
5
+ const function_1 = require("fp-ts/function");
6
+ const io_ts_1 = require("io-ts");
7
+ const StringOrNull_1 = (0, tslib_1.__importDefault)(require("./StringOrNull"));
8
+ exports.default = new io_ts_1.Type("nonEmptyStringOrNull", (u) => typeof u === "string" || u === null, (u, c) => (0, function_1.pipe)(StringOrNull_1.default.validate(u, c), (0, Either_1.chain)((s) => {
9
+ if (typeof s === "string" && s.length > 0) {
10
+ return (0, io_ts_1.success)(s);
11
+ }
12
+ else {
13
+ return (0, io_ts_1.success)(null);
14
+ }
15
+ })), (s) => s);
@@ -0,0 +1,3 @@
1
+ import * as t from "io-ts";
2
+ declare const _default: t.UnionC<[t.Type<number, number, unknown>, t.NullC, t.UndefinedC]>;
3
+ export default _default;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
5
+ const function_1 = require("./function");
6
+ exports.default = (0, function_1.nullable)(t.number);
@@ -0,0 +1,5 @@
1
+ import * as t from "io-ts";
2
+ export declare type StringFromBooleanC = t.Type<string, string, unknown>;
3
+ declare const _default: t.Type<string, string, unknown>;
4
+ /** A codec that validates a Boolean and convert it as a string */
5
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const Either_1 = require("fp-ts/Either");
5
+ const function_1 = require("fp-ts/function");
6
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
7
+ /** A codec that validates a Boolean and convert it as a string */
8
+ exports.default = new t.Type("StringFromInt", t.string.is, (u, c) => (0, function_1.pipe)(t.boolean.validate(u, c), (0, Either_1.chain)((i) => {
9
+ return t.success(i.toString());
10
+ })), (i) => i);
@@ -0,0 +1,5 @@
1
+ import * as t from "io-ts";
2
+ export declare type StringFromNumberC = t.Type<string, string, unknown>;
3
+ declare const _default: t.Type<string, string, unknown>;
4
+ /** A codec that validates a number and convert it as a string */
5
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const Either_1 = require("fp-ts/Either");
5
+ const function_1 = require("fp-ts/function");
6
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
7
+ /** A codec that validates a number and convert it as a string */
8
+ exports.default = new t.Type("StringFromInt", t.string.is, (u, c) => (0, function_1.pipe)(t.number.validate(u, c), (0, Either_1.chain)((i) => {
9
+ return t.success(i.toString());
10
+ })), (i) => i);
@@ -0,0 +1,3 @@
1
+ import * as t from "io-ts";
2
+ declare const _default: t.UnionC<[t.Type<string, string, unknown>, t.NullC, t.UndefinedC]>;
3
+ export default _default;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
5
+ const function_1 = require("./function");
6
+ exports.default = (0, function_1.nullable)(t.string);
@@ -0,0 +1,14 @@
1
+ import * as t from "io-ts";
2
+ export declare function nullable<A, O>(c: t.Type<A, O>): t.UnionC<[t.Type<A, O, unknown>, t.NullC, t.UndefinedC]>;
3
+ export declare function refineType<A, O, I>(type: t.Type<A, O, I>, newName: string, pred: (a: A) => boolean): t.Type<A, O, I>;
4
+ export declare function filterDouble(value: string): number | null;
5
+ export declare function formatDateTime(date: Date): string;
6
+ export declare function formatDate(date: Date): string;
7
+ export declare function grouped<A>(array: A[], n: number): A[][];
8
+ export declare function objectToMap<T>(object: {
9
+ [key: string]: T;
10
+ }): Map<string, T>;
11
+ export declare function isEmpty(obj: object): boolean;
12
+ export declare function addType<A, O extends object, I, T extends string>(codec: t.Type<A, O, I>, t: T): t.Type<A, O & {
13
+ __TYPE__: T;
14
+ }, I>;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addType = exports.isEmpty = exports.objectToMap = exports.grouped = exports.formatDate = exports.formatDateTime = exports.filterDouble = exports.refineType = exports.nullable = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fp_ts_1 = require("fp-ts");
6
+ const function_1 = require("fp-ts/function");
7
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
8
+ const mapOutput_1 = require("io-ts-types/mapOutput");
9
+ function nullable(c) {
10
+ return t.union([c, t.null, t.undefined]);
11
+ }
12
+ exports.nullable = nullable;
13
+ function refineType(type, newName, pred) {
14
+ return new t.Type(newName, type.is, (u, c) => (0, function_1.pipe)(type.validate(u, c), fp_ts_1.either.chain((v) => (pred(v) ? t.success(v) : t.failure(u, c)))), type.encode);
15
+ }
16
+ exports.refineType = refineType;
17
+ function filterDouble(value) {
18
+ if (value === "") {
19
+ return null;
20
+ }
21
+ const result = Number(value);
22
+ return Number.isNaN(result) ? null : result;
23
+ }
24
+ exports.filterDouble = filterDouble;
25
+ function formatDateTime(date) {
26
+ return date.toISOString().replace(/\.\d{3}Z$/, "+0000");
27
+ }
28
+ exports.formatDateTime = formatDateTime;
29
+ function formatDate(date) {
30
+ return date.toISOString().replace(/T.*/, "");
31
+ }
32
+ exports.formatDate = formatDate;
33
+ function grouped(array, n) {
34
+ return array.reduce((acc, curr, idx) => {
35
+ if (idx % n === 0) {
36
+ acc.push([curr]);
37
+ }
38
+ else {
39
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
40
+ acc[Math.floor(idx / n)].push(curr);
41
+ }
42
+ return acc;
43
+ }, new Array());
44
+ }
45
+ exports.grouped = grouped;
46
+ function objectToMap(object) {
47
+ return new Map(Object.entries(object));
48
+ }
49
+ exports.objectToMap = objectToMap;
50
+ function isEmpty(obj) {
51
+ for (const _x in obj) {
52
+ return false;
53
+ }
54
+ return true;
55
+ }
56
+ exports.isEmpty = isEmpty;
57
+ function addType(codec, t) {
58
+ return (0, mapOutput_1.mapOutput)(codec, (o) => ({ ...o, __TYPE__: t }));
59
+ }
60
+ exports.addType = addType;
@@ -0,0 +1,12 @@
1
+ export { default as DateFromString } from "./DateFromString";
2
+ export { default as DateFromStringOrNumber } from "./DateFromStringOrNumber";
3
+ export { default as DateFromTsMs } from "./DateFromTsMs";
4
+ export * as Function from "./function";
5
+ export { default as IntFromNumber } from "./IntFromNumber";
6
+ export { default as IntFromPixels } from "./IntFromPixels";
7
+ export { default as NonEmptyString } from "./NonEmptyString";
8
+ export { default as NonEmptyStringOrNull } from "./NonEmptyStringOrNull";
9
+ export { default as NumberOrNull } from "./NumberOrNull";
10
+ export { default as StringFromBoolean } from "./StringFromBoolean";
11
+ export { default as StringFromNumber } from "./StringFromNumber";
12
+ export { default as StringOrNull } from "./StringOrNull";
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringOrNull = exports.StringFromNumber = exports.StringFromBoolean = exports.NumberOrNull = exports.NonEmptyStringOrNull = exports.NonEmptyString = exports.IntFromPixels = exports.IntFromNumber = exports.Function = exports.DateFromTsMs = exports.DateFromStringOrNumber = exports.DateFromString = void 0;
4
+ const tslib_1 = require("tslib");
5
+ var DateFromString_1 = require("./DateFromString");
6
+ Object.defineProperty(exports, "DateFromString", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(DateFromString_1).default; } });
7
+ var DateFromStringOrNumber_1 = require("./DateFromStringOrNumber");
8
+ Object.defineProperty(exports, "DateFromStringOrNumber", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(DateFromStringOrNumber_1).default; } });
9
+ var DateFromTsMs_1 = require("./DateFromTsMs");
10
+ Object.defineProperty(exports, "DateFromTsMs", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(DateFromTsMs_1).default; } });
11
+ exports.Function = (0, tslib_1.__importStar)(require("./function"));
12
+ var IntFromNumber_1 = require("./IntFromNumber");
13
+ Object.defineProperty(exports, "IntFromNumber", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(IntFromNumber_1).default; } });
14
+ var IntFromPixels_1 = require("./IntFromPixels");
15
+ Object.defineProperty(exports, "IntFromPixels", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(IntFromPixels_1).default; } });
16
+ var NonEmptyString_1 = require("./NonEmptyString");
17
+ Object.defineProperty(exports, "NonEmptyString", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(NonEmptyString_1).default; } });
18
+ var NonEmptyStringOrNull_1 = require("./NonEmptyStringOrNull");
19
+ Object.defineProperty(exports, "NonEmptyStringOrNull", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(NonEmptyStringOrNull_1).default; } });
20
+ var NumberOrNull_1 = require("./NumberOrNull");
21
+ Object.defineProperty(exports, "NumberOrNull", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(NumberOrNull_1).default; } });
22
+ var StringFromBoolean_1 = require("./StringFromBoolean");
23
+ Object.defineProperty(exports, "StringFromBoolean", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(StringFromBoolean_1).default; } });
24
+ var StringFromNumber_1 = require("./StringFromNumber");
25
+ Object.defineProperty(exports, "StringFromNumber", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(StringFromNumber_1).default; } });
26
+ var StringOrNull_1 = require("./StringOrNull");
27
+ Object.defineProperty(exports, "StringOrNull", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(StringOrNull_1).default; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prismicio/types-internal",
3
- "version": "0.1.1",
3
+ "version": "0.2.3",
4
4
  "description": "Prismic types for Custom Types and Prismic Data",
5
5
  "keywords": [
6
6
  "typescript",
@@ -12,10 +12,10 @@
12
12
  },
13
13
  "license": "Apache-2.0",
14
14
  "author": "Prismic <contact@prismic.io> (https://prismic.io)",
15
- "main": "dist/index.js",
16
- "types": "dist/index.d.ts",
15
+ "main": "lib/index.js",
16
+ "types": "lib/index.d.ts",
17
17
  "files": [
18
- "dist",
18
+ "lib",
19
19
  "src"
20
20
  ],
21
21
  "scripts": {
@@ -27,34 +27,46 @@
27
27
  "release:dry": "standard-version --dry-run",
28
28
  "release:alpha": "npm run test && standard-version --release-as major --prerelease alpha && git push --follow-tags && npm run build && npm publish --tag alpha",
29
29
  "release:alpha:dry": "standard-version --release-as major --prerelease alpha --dry-run",
30
- "lint": "eslint --ext .js,.ts .",
31
- "unit": "nyc --reporter=lcovonly --reporter=text --exclude-after-remap=false ava",
32
- "size": "size-limit",
33
- "test": "npm run lint && npm run unit && npm run build && npm run size"
30
+ "test": "jest --no-cache --silent=false --verbose=false",
31
+ "eslint": "eslint . --cache --cache-location .caches/eslint --cache-strategy content --ext js,ts,tsx --max-warnings 0",
32
+ "eslint-fix": "npm run eslint -- --fix",
33
+ "preflight": "npm run prettier && npm run build && npm run eslint",
34
+ "prettier": "prettier --check .",
35
+ "prettier-write": "prettier --write ."
34
36
  },
35
37
  "dependencies": {
36
- "fp-ts": "^2.11.8",
37
- "io-ts": "^2.2.16",
38
- "io-ts-types": "^0.5.16"
38
+ "monocle-ts": "^2.3.11",
39
+ "newtype-ts": "^0.3.5",
40
+ "tslib": "^2.3.1"
39
41
  },
40
42
  "devDependencies": {
41
- "@size-limit/preset-small-lib": "^7.0.5",
43
+ "@relmify/jest-fp-ts": "^1.1.1",
44
+ "@types/jest": "^27.4.0",
42
45
  "@typescript-eslint/eslint-plugin": "^5.8.1",
43
46
  "@typescript-eslint/parser": "^5.8.1",
44
47
  "ava": "^3.15.0",
45
- "eslint": "^8.6.0",
46
- "eslint-config-prettier": "^8.3.0",
47
- "eslint-plugin-prettier": "^4.0.0",
48
- "eslint-plugin-tsdoc": "^0.2.14",
48
+ "eslint": "8.6.0",
49
+ "eslint-config-prettier": "8.3.0",
50
+ "eslint-plugin-only-warn": "1.0.3",
51
+ "eslint-plugin-simple-import-sort": "7.0.0",
52
+ "eslint-plugin-storybook": "0.5.5",
53
+ "fp-ts": "^2.11.8",
54
+ "io-ts": "^2.2.16",
55
+ "io-ts-types": "^0.5.16",
56
+ "jest": "^27.5.1",
49
57
  "nyc": "^15.1.0",
50
58
  "prettier": "^2.5.1",
51
59
  "prettier-plugin-jsdoc": "^0.3.30",
52
- "siroc": "^0.16.0",
53
- "size-limit": "^7.0.5",
54
60
  "standard-version": "^9.3.2",
55
61
  "ts-eager": "^2.0.2",
62
+ "ts-jest": "^27.1.3",
56
63
  "typescript": "^4.5.5"
57
64
  },
65
+ "peerDependencies": {
66
+ "fp-ts": "^2.11.8",
67
+ "io-ts": "^2.2.16",
68
+ "io-ts-types": "^0.5.16"
69
+ },
58
70
  "engines": {
59
71
  "node": ">=12.7.0"
60
72
  },