@prismicio/types-internal 3.16.0 → 3.16.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/lib/content/fields/RepeatableContent.d.ts +51 -123
  2. package/lib/content/fields/RepeatableContent.js +10 -14
  3. package/lib/content/fields/nestable/RichTextContent/Block.d.ts +1036 -0
  4. package/lib/content/fields/nestable/RichTextContent/Block.js +31 -0
  5. package/lib/content/fields/nestable/RichTextContent/EmbedBlock.d.ts +60 -0
  6. package/lib/content/fields/nestable/RichTextContent/EmbedBlock.js +53 -0
  7. package/lib/content/fields/nestable/RichTextContent/ImageBlock.d.ts +203 -0
  8. package/lib/content/fields/nestable/RichTextContent/ImageBlock.js +36 -0
  9. package/lib/content/fields/nestable/RichTextContent/TableBlock.d.ts +500 -0
  10. package/lib/content/fields/nestable/RichTextContent/TableBlock.js +21 -0
  11. package/lib/content/fields/nestable/RichTextContent/TextBlock.d.ts +590 -0
  12. package/lib/content/fields/nestable/RichTextContent/TextBlock.js +80 -0
  13. package/lib/scripts/release.d.ts +1 -0
  14. package/lib/scripts/release.js +34 -0
  15. package/lib/src/_internal/utils.d.ts +36 -0
  16. package/lib/src/_internal/utils.js +20 -0
  17. package/lib/src/common/Asset.d.ts +16 -0
  18. package/lib/src/common/Asset.js +11 -0
  19. package/lib/src/common/Embed.d.ts +15 -0
  20. package/lib/src/common/Embed.js +10 -0
  21. package/lib/src/common/HexaColorCode.d.ts +4 -0
  22. package/lib/src/common/HexaColorCode.js +7 -0
  23. package/lib/src/common/UUID.d.ts +6 -0
  24. package/lib/src/common/UUID.js +8 -0
  25. package/lib/src/common/WidgetKey.d.ts +3 -0
  26. package/lib/src/common/WidgetKey.js +8 -0
  27. package/lib/src/common/index.d.ts +3 -0
  28. package/lib/src/common/index.js +6 -0
  29. package/lib/src/content/Document.d.ts +11803 -0
  30. package/lib/src/content/Document.js +266 -0
  31. package/lib/src/content/LegacyContentCtx.d.ts +64 -0
  32. package/lib/src/content/LegacyContentCtx.js +130 -0
  33. package/lib/src/content/fields/EmptyContent.d.ts +16 -0
  34. package/lib/src/content/fields/EmptyContent.js +30 -0
  35. package/lib/src/content/fields/GroupContent.d.ts +42 -0
  36. package/lib/src/content/fields/GroupContent.js +208 -0
  37. package/lib/src/content/fields/UIDContent.d.ts +16 -0
  38. package/lib/src/content/fields/UIDContent.js +25 -0
  39. package/lib/src/content/fields/WidgetContent.d.ts +11749 -0
  40. package/lib/src/content/fields/WidgetContent.js +57 -0
  41. package/lib/src/content/fields/index.d.ts +6 -0
  42. package/lib/src/content/fields/index.js +9 -0
  43. package/lib/src/content/fields/nestable/BooleanContent.d.ts +18 -0
  44. package/lib/src/content/fields/nestable/BooleanContent.js +35 -0
  45. package/lib/src/content/fields/nestable/EmbedContent.d.ts +78 -0
  46. package/lib/src/content/fields/nestable/EmbedContent.js +56 -0
  47. package/lib/src/content/fields/nestable/FieldContent/ColorContent.d.ts +18 -0
  48. package/lib/src/content/fields/nestable/FieldContent/ColorContent.js +35 -0
  49. package/lib/src/content/fields/nestable/FieldContent/DateContent.d.ts +18 -0
  50. package/lib/src/content/fields/nestable/FieldContent/DateContent.js +35 -0
  51. package/lib/src/content/fields/nestable/FieldContent/NumberContent.d.ts +18 -0
  52. package/lib/src/content/fields/nestable/FieldContent/NumberContent.js +35 -0
  53. package/lib/src/content/fields/nestable/FieldContent/RangeContent.d.ts +18 -0
  54. package/lib/src/content/fields/nestable/FieldContent/RangeContent.js +35 -0
  55. package/lib/src/content/fields/nestable/FieldContent/SelectContent.d.ts +20 -0
  56. package/lib/src/content/fields/nestable/FieldContent/SelectContent.js +46 -0
  57. package/lib/src/content/fields/nestable/FieldContent/TextContent.d.ts +18 -0
  58. package/lib/src/content/fields/nestable/FieldContent/TextContent.js +35 -0
  59. package/lib/src/content/fields/nestable/FieldContent/TimestampContent.d.ts +18 -0
  60. package/lib/src/content/fields/nestable/FieldContent/TimestampContent.js +35 -0
  61. package/lib/src/content/fields/nestable/FieldContent/common.d.ts +1 -0
  62. package/lib/src/content/fields/nestable/FieldContent/common.js +4 -0
  63. package/lib/src/content/fields/nestable/FieldContent/index.d.ts +49 -0
  64. package/lib/src/content/fields/nestable/FieldContent/index.js +38 -0
  65. package/lib/src/content/fields/nestable/GeoPointContent.d.ts +33 -0
  66. package/lib/src/content/fields/nestable/GeoPointContent.js +31 -0
  67. package/lib/src/content/fields/nestable/ImageContent.d.ts +227 -0
  68. package/lib/src/content/fields/nestable/ImageContent.js +73 -0
  69. package/lib/src/content/fields/nestable/IntegrationFieldContent.d.ts +16 -0
  70. package/lib/src/content/fields/nestable/IntegrationFieldContent.js +28 -0
  71. package/lib/src/content/fields/nestable/LinkContent.d.ts +919 -0
  72. package/lib/src/content/fields/nestable/LinkContent.js +399 -0
  73. package/lib/src/content/fields/nestable/NestableContent.d.ts +1953 -0
  74. package/lib/src/content/fields/nestable/NestableContent.js +167 -0
  75. package/lib/src/content/fields/nestable/RepeatableContent.d.ts +176 -0
  76. package/lib/src/content/fields/nestable/RepeatableContent.js +104 -0
  77. package/lib/src/content/fields/nestable/RichTextContent/Blocks.d.ts +1261 -0
  78. package/lib/src/content/fields/nestable/RichTextContent/Blocks.js +170 -0
  79. package/lib/src/content/fields/nestable/RichTextContent/index.d.ts +1004 -0
  80. package/lib/src/content/fields/nestable/RichTextContent/index.js +28 -0
  81. package/lib/src/content/fields/nestable/SeparatorContent.d.ts +13 -0
  82. package/lib/src/content/fields/nestable/SeparatorContent.js +22 -0
  83. package/lib/src/content/fields/nestable/TableContent.d.ts +770 -0
  84. package/lib/src/content/fields/nestable/TableContent.js +121 -0
  85. package/lib/src/content/fields/nestable/index.d.ts +12 -0
  86. package/lib/src/content/fields/nestable/index.js +15 -0
  87. package/lib/src/content/fields/slices/Slice/CompositeSliceContent.d.ts +3934 -0
  88. package/lib/src/content/fields/slices/Slice/CompositeSliceContent.js +195 -0
  89. package/lib/src/content/fields/slices/Slice/RepeatableContent.d.ts +774 -0
  90. package/lib/src/content/fields/slices/Slice/RepeatableContent.js +21 -0
  91. package/lib/src/content/fields/slices/Slice/SharedSliceContent.d.ts +3937 -0
  92. package/lib/src/content/fields/slices/Slice/SharedSliceContent.js +215 -0
  93. package/lib/src/content/fields/slices/Slice/SimpleSliceContent.d.ts +1962 -0
  94. package/lib/src/content/fields/slices/Slice/SimpleSliceContent.js +130 -0
  95. package/lib/src/content/fields/slices/Slice/SlicePrimaryContent.d.ts +1952 -0
  96. package/lib/src/content/fields/slices/Slice/SlicePrimaryContent.js +30 -0
  97. package/lib/src/content/fields/slices/Slice/index.d.ts +6810 -0
  98. package/lib/src/content/fields/slices/Slice/index.js +45 -0
  99. package/lib/src/content/fields/slices/SliceItem.d.ts +6846 -0
  100. package/lib/src/content/fields/slices/SliceItem.js +116 -0
  101. package/lib/src/content/fields/slices/SlicesContent.d.ts +9809 -0
  102. package/lib/src/content/fields/slices/SlicesContent.js +187 -0
  103. package/lib/src/content/fields/slices/index.d.ts +3 -0
  104. package/lib/src/content/fields/slices/index.js +6 -0
  105. package/lib/src/content/fields/withDefaultValues.d.ts +9 -0
  106. package/lib/src/content/fields/withDefaultValues.js +79 -0
  107. package/lib/src/content/index.d.ts +3 -0
  108. package/lib/src/content/index.js +6 -0
  109. package/lib/src/content/utils.d.ts +14 -0
  110. package/lib/src/content/utils.js +33 -0
  111. package/lib/src/customtypes/CustomType.d.ts +3680 -0
  112. package/lib/src/customtypes/CustomType.js +184 -0
  113. package/lib/src/customtypes/Section.d.ts +3635 -0
  114. package/lib/src/customtypes/Section.js +66 -0
  115. package/lib/src/customtypes/diff/Changes.d.ts +17 -0
  116. package/lib/src/customtypes/diff/Changes.js +9 -0
  117. package/lib/src/customtypes/diff/SharedSlice.d.ts +1624 -0
  118. package/lib/src/customtypes/diff/SharedSlice.js +55 -0
  119. package/lib/src/customtypes/diff/Variation.d.ts +1605 -0
  120. package/lib/src/customtypes/diff/Variation.js +113 -0
  121. package/lib/src/customtypes/diff/Widgets.d.ts +11 -0
  122. package/lib/src/customtypes/diff/Widgets.js +2 -0
  123. package/lib/src/customtypes/diff/index.d.ts +4 -0
  124. package/lib/src/customtypes/diff/index.js +7 -0
  125. package/lib/src/customtypes/index.d.ts +4 -0
  126. package/lib/src/customtypes/index.js +7 -0
  127. package/lib/src/customtypes/widgets/Group.d.ts +1352 -0
  128. package/lib/src/customtypes/widgets/Group.js +92 -0
  129. package/lib/src/customtypes/widgets/UID.d.ts +19 -0
  130. package/lib/src/customtypes/widgets/UID.js +21 -0
  131. package/lib/src/customtypes/widgets/Widget.d.ts +4457 -0
  132. package/lib/src/customtypes/widgets/Widget.js +49 -0
  133. package/lib/src/customtypes/widgets/index.d.ts +6 -0
  134. package/lib/src/customtypes/widgets/index.js +9 -0
  135. package/lib/src/customtypes/widgets/nestable/BooleanField.d.ts +20 -0
  136. package/lib/src/customtypes/widgets/nestable/BooleanField.js +21 -0
  137. package/lib/src/customtypes/widgets/nestable/Color.d.ts +17 -0
  138. package/lib/src/customtypes/widgets/nestable/Color.js +20 -0
  139. package/lib/src/customtypes/widgets/nestable/Date.d.ts +19 -0
  140. package/lib/src/customtypes/widgets/nestable/Date.js +21 -0
  141. package/lib/src/customtypes/widgets/nestable/Embed.d.ts +19 -0
  142. package/lib/src/customtypes/widgets/nestable/Embed.js +21 -0
  143. package/lib/src/customtypes/widgets/nestable/GeoPoint.d.ts +15 -0
  144. package/lib/src/customtypes/widgets/nestable/GeoPoint.js +19 -0
  145. package/lib/src/customtypes/widgets/nestable/Image.d.ts +44 -0
  146. package/lib/src/customtypes/widgets/nestable/Image.js +29 -0
  147. package/lib/src/customtypes/widgets/nestable/IntegrationField.d.ts +19 -0
  148. package/lib/src/customtypes/widgets/nestable/IntegrationField.js +21 -0
  149. package/lib/src/customtypes/widgets/nestable/Link.d.ts +196 -0
  150. package/lib/src/customtypes/widgets/nestable/Link.js +167 -0
  151. package/lib/src/customtypes/widgets/nestable/NestableWidget.d.ts +217 -0
  152. package/lib/src/customtypes/widgets/nestable/NestableWidget.js +39 -0
  153. package/lib/src/customtypes/widgets/nestable/Number.d.ts +23 -0
  154. package/lib/src/customtypes/widgets/nestable/Number.js +24 -0
  155. package/lib/src/customtypes/widgets/nestable/Range.d.ts +23 -0
  156. package/lib/src/customtypes/widgets/nestable/Range.js +24 -0
  157. package/lib/src/customtypes/widgets/nestable/RichText.d.ts +73 -0
  158. package/lib/src/customtypes/widgets/nestable/RichText.js +131 -0
  159. package/lib/src/customtypes/widgets/nestable/Select.d.ts +21 -0
  160. package/lib/src/customtypes/widgets/nestable/Select.js +22 -0
  161. package/lib/src/customtypes/widgets/nestable/Separator.d.ts +14 -0
  162. package/lib/src/customtypes/widgets/nestable/Separator.js +18 -0
  163. package/lib/src/customtypes/widgets/nestable/Table.d.ts +21 -0
  164. package/lib/src/customtypes/widgets/nestable/Table.js +30 -0
  165. package/lib/src/customtypes/widgets/nestable/Text.d.ts +19 -0
  166. package/lib/src/customtypes/widgets/nestable/Text.js +21 -0
  167. package/lib/src/customtypes/widgets/nestable/Timestamp.d.ts +19 -0
  168. package/lib/src/customtypes/widgets/nestable/Timestamp.js +21 -0
  169. package/lib/src/customtypes/widgets/nestable/index.d.ts +17 -0
  170. package/lib/src/customtypes/widgets/nestable/index.js +20 -0
  171. package/lib/src/customtypes/widgets/shared/ImageConstraint.d.ts +7 -0
  172. package/lib/src/customtypes/widgets/shared/ImageConstraint.js +31 -0
  173. package/lib/src/customtypes/widgets/shared/index.d.ts +1 -0
  174. package/lib/src/customtypes/widgets/shared/index.js +8 -0
  175. package/lib/src/customtypes/widgets/slices/CompositeSlice.d.ts +455 -0
  176. package/lib/src/customtypes/widgets/slices/CompositeSlice.js +63 -0
  177. package/lib/src/customtypes/widgets/slices/LegacySlice.d.ts +442 -0
  178. package/lib/src/customtypes/widgets/slices/LegacySlice.js +12 -0
  179. package/lib/src/customtypes/widgets/slices/SharedSlice.d.ts +1807 -0
  180. package/lib/src/customtypes/widgets/slices/SharedSlice.js +118 -0
  181. package/lib/src/customtypes/widgets/slices/SharedSliceRef.d.ts +5 -0
  182. package/lib/src/customtypes/widgets/slices/SharedSliceRef.js +9 -0
  183. package/lib/src/customtypes/widgets/slices/Slice.d.ts +6 -0
  184. package/lib/src/customtypes/widgets/slices/Slice.js +2 -0
  185. package/lib/src/customtypes/widgets/slices/SlicePrimaryWidget.d.ts +1259 -0
  186. package/lib/src/customtypes/widgets/slices/SlicePrimaryWidget.js +10 -0
  187. package/lib/src/customtypes/widgets/slices/Slices.d.ts +5917 -0
  188. package/lib/src/customtypes/widgets/slices/Slices.js +146 -0
  189. package/lib/src/customtypes/widgets/slices/SlicesTypes.d.ts +6 -0
  190. package/lib/src/customtypes/widgets/slices/SlicesTypes.js +11 -0
  191. package/lib/src/customtypes/widgets/slices/index.d.ts +8 -0
  192. package/lib/src/customtypes/widgets/slices/index.js +11 -0
  193. package/lib/src/utils/Arrays.d.ts +1 -0
  194. package/lib/src/utils/Arrays.js +13 -0
  195. package/lib/src/utils/DocumentId.d.ts +2 -0
  196. package/lib/src/utils/DocumentId.js +7 -0
  197. package/lib/src/utils/Objects.d.ts +8 -0
  198. package/lib/src/utils/Objects.js +42 -0
  199. package/lib/src/utils/index.d.ts +3 -0
  200. package/lib/src/utils/index.js +7 -0
  201. package/lib/src/validators/BasicTypes.d.ts +10 -0
  202. package/lib/src/validators/BasicTypes.js +25 -0
  203. package/lib/src/validators/DateFromString.d.ts +3 -0
  204. package/lib/src/validators/DateFromString.js +11 -0
  205. package/lib/src/validators/DateFromStringOrNumber.d.ts +3 -0
  206. package/lib/src/validators/DateFromStringOrNumber.js +10 -0
  207. package/lib/src/validators/DateFromTsMs.d.ts +3 -0
  208. package/lib/src/validators/DateFromTsMs.js +10 -0
  209. package/lib/src/validators/DefaultOrElse.d.ts +5 -0
  210. package/lib/src/validators/DefaultOrElse.js +21 -0
  211. package/lib/src/validators/IntFromNumber.d.ts +5 -0
  212. package/lib/src/validators/IntFromNumber.js +14 -0
  213. package/lib/src/validators/IntFromPixels.d.ts +8 -0
  214. package/lib/src/validators/IntFromPixels.js +24 -0
  215. package/lib/src/validators/NonEmptyString.d.ts +3 -0
  216. package/lib/src/validators/NonEmptyString.js +6 -0
  217. package/lib/src/validators/NonEmptyStringOrNull.d.ts +3 -0
  218. package/lib/src/validators/NonEmptyStringOrNull.js +15 -0
  219. package/lib/src/validators/NumberOrNull.d.ts +3 -0
  220. package/lib/src/validators/NumberOrNull.js +6 -0
  221. package/lib/src/validators/NumberRange.d.ts +32 -0
  222. package/lib/src/validators/NumberRange.js +40 -0
  223. package/lib/src/validators/StringFromBoolean.d.ts +5 -0
  224. package/lib/src/validators/StringFromBoolean.js +10 -0
  225. package/lib/src/validators/StringFromNumber.d.ts +5 -0
  226. package/lib/src/validators/StringFromNumber.js +10 -0
  227. package/lib/src/validators/StringOrNull.d.ts +3 -0
  228. package/lib/src/validators/StringOrNull.js +6 -0
  229. package/lib/src/validators/TrimmedString.d.ts +5 -0
  230. package/lib/src/validators/TrimmedString.js +23 -0
  231. package/lib/src/validators/function.d.ts +34 -0
  232. package/lib/src/validators/function.js +100 -0
  233. package/lib/src/validators/index.d.ts +15 -0
  234. package/lib/src/validators/index.js +31 -0
  235. package/package.json +1 -1
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.traverseGroupItemsContent = exports.traverseGroupContent = exports.groupContentWithDefaultValues = exports.GroupLegacy = exports.arrayWithIndexCodec = exports.GroupItemLegacy = exports.GroupContentDefaultValue = exports.isGroupContent = exports.GroupContent = exports.GroupItemContent = exports.GroupContentType = exports.GroupItemContentType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fp_ts_1 = require("fp-ts");
6
+ const Either_1 = require("fp-ts/lib/Either");
7
+ const function_1 = require("fp-ts/lib/function");
8
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
9
+ const customtypes_1 = require("../../customtypes");
10
+ const LegacyContentCtx_1 = require("../LegacyContentCtx");
11
+ const utils_1 = require("../utils");
12
+ const nestable_1 = require("./nestable");
13
+ const withDefaultValues_1 = require("./withDefaultValues");
14
+ exports.GroupItemContentType = "GroupItemContent";
15
+ exports.GroupContentType = "GroupContentType";
16
+ exports.GroupItemContent = t.recursion("GroupItemContent", () => t.strict({
17
+ __TYPE__: t.literal(exports.GroupItemContentType),
18
+ key: t.string,
19
+ value: t.array(t.tuple([t.string, t.union([nestable_1.NestableContent, exports.GroupContent])])),
20
+ }));
21
+ exports.GroupContent = t.recursion("GroupContent", () => t.strict({
22
+ __TYPE__: t.literal(exports.GroupContentType),
23
+ value: t.array(exports.GroupItemContent),
24
+ }));
25
+ const isGroupContent = (u) => (0, utils_1.hasContentType)(u) && u.__TYPE__ === exports.GroupContentType;
26
+ exports.isGroupContent = isGroupContent;
27
+ exports.GroupContentDefaultValue = {
28
+ __TYPE__: exports.GroupContentType,
29
+ value: [],
30
+ };
31
+ const itemLegacyReader = t.record(t.string, t.unknown);
32
+ const GroupItemLegacy = (ctx, index) => {
33
+ return new t.Type("GroupItemLegacy", (u) => (0, utils_1.hasContentType)(u) && u.__TYPE__ === exports.GroupItemContentType, (u) => {
34
+ const parsed = (0, function_1.pipe)(itemLegacyReader.decode(u), fp_ts_1.either.map((items) => {
35
+ const groupItemCtx = ctx.withContentKey(`${index}`);
36
+ const parsedItems = Object.entries(items).reduce((acc, [itemKey, itemValue]) => {
37
+ const itemCtx = (0, LegacyContentCtx_1.getFieldCtx)({
38
+ fieldKey: itemKey,
39
+ contentKey: itemKey,
40
+ ctx: groupItemCtx,
41
+ });
42
+ const result = itemCtx.fieldType === customtypes_1.GroupFieldType
43
+ ? (0, exports.GroupLegacy)(itemCtx).decode(itemValue)
44
+ : (0, nestable_1.NestableLegacy)(itemCtx).decode(itemValue);
45
+ if (!result)
46
+ return acc;
47
+ if ((0, Either_1.isLeft)(result))
48
+ return acc;
49
+ return [...acc, [itemKey, result.right]];
50
+ }, []);
51
+ return {
52
+ value: parsedItems,
53
+ __TYPE__: exports.GroupItemContentType,
54
+ key: groupItemCtx.fieldContentKey,
55
+ };
56
+ }));
57
+ return parsed;
58
+ }, (item) => {
59
+ const groupItemCtx = ctx.withContentKey(`${index}`);
60
+ return item.value.reduce((acc, [key, value]) => {
61
+ const itemCtx = (0, LegacyContentCtx_1.getFieldCtx)({ fieldKey: key, ctx });
62
+ const encoded = (0, exports.isGroupContent)(value)
63
+ ? (0, exports.GroupLegacy)(itemCtx).encode(value)
64
+ : (0, nestable_1.NestableLegacy)(itemCtx).encode(value);
65
+ if (!encoded)
66
+ return acc;
67
+ return {
68
+ content: { ...acc.content, [key]: encoded.content },
69
+ types: { ...acc.types, ...encoded.types },
70
+ keys: { ...acc.keys, ...encoded.keys },
71
+ };
72
+ }, { content: {}, types: {}, keys: { [groupItemCtx.keyOfKey]: item.key } });
73
+ });
74
+ };
75
+ exports.GroupItemLegacy = GroupItemLegacy;
76
+ function arrayWithIndexCodec(f) {
77
+ return new t.Type("ArrayWithIndexCodec", (u) => Array.isArray(u), (items) => (0, function_1.pipe)(t.array(t.unknown).decode(items), fp_ts_1.either.chain((validItems) => {
78
+ const decodedItems = validItems.map((item, index) => {
79
+ return f(index).decode(item);
80
+ });
81
+ return fp_ts_1.array.sequence(fp_ts_1.either.Applicative)(decodedItems);
82
+ })), (items) => items.map((item, index) => f(index).encode(item)));
83
+ }
84
+ exports.arrayWithIndexCodec = arrayWithIndexCodec;
85
+ const GroupLegacy = (ctx) => {
86
+ const codecDecode = arrayWithIndexCodec((index) => t.union([(0, exports.GroupItemLegacy)(ctx, index), t.null]));
87
+ const codecEncode = (items) => items.map((item, index) => (0, exports.GroupItemLegacy)(ctx, index).encode(item));
88
+ return new t.Type("GroupLegacy", exports.isGroupContent, (items) => {
89
+ return (0, function_1.pipe)(codecDecode.decode(items), fp_ts_1.either.map((parsedItems) => {
90
+ const value = parsedItems.map((i, index) => {
91
+ if (i === null) {
92
+ const key = ctx.withContentKey(`${index}`).fieldContentKey;
93
+ return { __TYPE__: exports.GroupItemContentType, key, value: [] };
94
+ }
95
+ return i;
96
+ });
97
+ return {
98
+ value,
99
+ __TYPE__: exports.GroupContentType,
100
+ };
101
+ }));
102
+ }, (g) => {
103
+ const res = codecEncode(g.value);
104
+ return {
105
+ content: res.map((block) => block.content),
106
+ types: res.reduce((acc, block) => {
107
+ return { ...acc, ...block.types };
108
+ }, { [ctx.keyOfType]: customtypes_1.GroupFieldType }),
109
+ keys: res.reduce((acc, block) => {
110
+ return { ...acc, ...block.keys };
111
+ }, {}),
112
+ };
113
+ });
114
+ };
115
+ exports.GroupLegacy = GroupLegacy;
116
+ function groupContentWithDefaultValues(customType, content) {
117
+ var _a;
118
+ const fields = (_a = customType.config) === null || _a === void 0 ? void 0 : _a.fields;
119
+ if (!fields)
120
+ return content;
121
+ return {
122
+ ...content,
123
+ value: (0, withDefaultValues_1.repeatableContentWithDefaultNestableContentValues)(fields, content.value),
124
+ };
125
+ }
126
+ exports.groupContentWithDefaultValues = groupContentWithDefaultValues;
127
+ function traverseGroupContent({ path, key, apiId, model, content, }) {
128
+ return (transform) => {
129
+ var _a;
130
+ const groupItems = traverseGroupItemsContent({
131
+ path,
132
+ model: (_a = model === null || model === void 0 ? void 0 : model.config) === null || _a === void 0 ? void 0 : _a.fields,
133
+ content: content.value,
134
+ })(transform);
135
+ return transform({
136
+ path,
137
+ key,
138
+ apiId,
139
+ model,
140
+ content: {
141
+ __TYPE__: content.__TYPE__,
142
+ value: groupItems,
143
+ },
144
+ });
145
+ };
146
+ }
147
+ exports.traverseGroupContent = traverseGroupContent;
148
+ function traverseGroupItemsContent({ path, model, content, }) {
149
+ return (transform) => {
150
+ return content.map((groupItem) => {
151
+ const groupItemPath = path.concat([
152
+ { key: groupItem.key, type: "GroupItem" },
153
+ ]);
154
+ const groupItemFields = groupItem.value.reduce((acc, [fieldKey, fieldContent]) => {
155
+ const fieldDef = model === null || model === void 0 ? void 0 : model[fieldKey];
156
+ let transformedField;
157
+ if ((0, exports.isGroupContent)(fieldContent)) {
158
+ transformedField = traverseGroupContent({
159
+ path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
160
+ key: fieldKey,
161
+ apiId: fieldKey,
162
+ model: (fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.type) === "Group" ? fieldDef : undefined,
163
+ content: fieldContent,
164
+ })(transform);
165
+ }
166
+ else if ((0, nestable_1.isRepeatableContent)(fieldContent)) {
167
+ transformedField = (0, nestable_1.traverseRepeatableContent)({
168
+ path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
169
+ key: fieldKey,
170
+ apiId: fieldKey,
171
+ model: (fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.type) === "Link" ? fieldDef : undefined,
172
+ content: fieldContent,
173
+ })(transform);
174
+ }
175
+ else if ((0, nestable_1.isTableContent)(fieldContent)) {
176
+ transformedField = (0, nestable_1.traverseTableContent)({
177
+ path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
178
+ key: fieldKey,
179
+ apiId: fieldKey,
180
+ model: (fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.type) === "Table" ? fieldDef : undefined,
181
+ content: fieldContent,
182
+ })(transform);
183
+ }
184
+ else {
185
+ transformedField = transform({
186
+ path: groupItemPath.concat([{ key: fieldKey, type: "Widget" }]),
187
+ key: fieldKey,
188
+ apiId: fieldKey,
189
+ model: fieldDef,
190
+ content: fieldContent,
191
+ });
192
+ }
193
+ // Can happen if the transform function returns undefined to filter out a field
194
+ if (!transformedField ||
195
+ !((0, nestable_1.isNestableContent)(transformedField) ||
196
+ (0, exports.isGroupContent)(transformedField)))
197
+ return acc;
198
+ return acc.concat([[fieldKey, transformedField]]);
199
+ }, []);
200
+ return {
201
+ __TYPE__: groupItem.__TYPE__,
202
+ key: groupItem.key,
203
+ value: groupItemFields,
204
+ };
205
+ });
206
+ };
207
+ }
208
+ exports.traverseGroupItemsContent = traverseGroupItemsContent;
@@ -0,0 +1,16 @@
1
+ import * as t from "io-ts";
2
+ import type { LegacyContentCtx, WithTypes } from "../LegacyContentCtx";
3
+ export declare const UIDContentType = "UIDContent";
4
+ export declare const isUIDContent: (u: unknown) => u is {
5
+ __TYPE__: "UIDContent";
6
+ value: string;
7
+ };
8
+ export declare const UIDLegacy: (ctx: LegacyContentCtx) => t.Type<{
9
+ __TYPE__: "UIDContent";
10
+ value: string;
11
+ }, WithTypes<string>, unknown>;
12
+ export declare const UIDContent: t.TypeC<{
13
+ __TYPE__: t.LiteralC<"UIDContent">;
14
+ value: t.StringC;
15
+ }>;
16
+ export declare type UIDContent = t.TypeOf<typeof UIDContent>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UIDContent = exports.UIDLegacy = exports.isUIDContent = exports.UIDContentType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fp_ts_1 = require("fp-ts");
6
+ const function_1 = require("fp-ts/lib/function");
7
+ const t = (0, tslib_1.__importStar)(require("io-ts"));
8
+ const utils_1 = require("../utils");
9
+ exports.UIDContentType = "UIDContent";
10
+ const isUIDContent = (u) => (0, utils_1.hasContentType)(u) && u.__TYPE__ === exports.UIDContentType;
11
+ exports.isUIDContent = isUIDContent;
12
+ const UIDLegacy = (ctx) => new t.Type("UIDLegacy", exports.isUIDContent, (u) => {
13
+ return (0, function_1.pipe)(t.string.decode(u), fp_ts_1.either.map((uid) => exports.UIDContent.encode({ value: uid, __TYPE__: exports.UIDContentType })));
14
+ }, (uid) => {
15
+ return {
16
+ content: uid.value,
17
+ types: { [ctx.keyOfType]: "UID" },
18
+ keys: {},
19
+ };
20
+ });
21
+ exports.UIDLegacy = UIDLegacy;
22
+ exports.UIDContent = t.type({
23
+ __TYPE__: t.literal(exports.UIDContentType),
24
+ value: t.string,
25
+ });