@prismicio/types-internal 4.0.0-pr.6.eb53f11 → 4.0.0-pr.9.e09af2c

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 (167) hide show
  1. package/README.md +5 -5
  2. package/dist/content/boolean.d.ts.map +1 -1
  3. package/dist/content/boolean.js.map +1 -1
  4. package/dist/content/document.d.ts +2 -3019
  5. package/dist/content/document.d.ts.map +1 -1
  6. package/dist/content/field.d.ts +1 -30
  7. package/dist/content/field.d.ts.map +1 -1
  8. package/dist/content/field.js +1 -1
  9. package/dist/content/field.js.map +1 -1
  10. package/dist/content/group.d.ts +2 -1
  11. package/dist/content/group.d.ts.map +1 -1
  12. package/dist/content/group.js.map +1 -1
  13. package/dist/content/legacy/boolean.d.ts +1 -0
  14. package/dist/content/legacy/embed.d.ts +1 -0
  15. package/dist/content/legacy/empty.d.ts +1 -0
  16. package/dist/content/legacy/field.d.ts +1 -0
  17. package/dist/content/legacy/geopoint.d.ts +1 -0
  18. package/dist/content/legacy/group.d.ts +9 -0
  19. package/dist/content/legacy/group.d.ts.map +1 -0
  20. package/dist/content/legacy/group.js.map +1 -1
  21. package/dist/content/legacy/integrationField.d.ts +1 -0
  22. package/dist/content/legacy/link.d.ts +41 -0
  23. package/dist/content/legacy/link.d.ts.map +1 -0
  24. package/dist/content/legacy/link.js.map +1 -1
  25. package/dist/content/legacy/nestable.d.ts +1 -0
  26. package/dist/content/legacy/nestable.js.map +1 -1
  27. package/dist/content/legacy/repeatable.d.ts +1 -0
  28. package/dist/content/legacy/repeatable.js +2 -8
  29. package/dist/content/legacy/repeatable.js.map +1 -1
  30. package/dist/content/legacy/richText.d.ts +109 -0
  31. package/dist/content/legacy/richText.d.ts.map +1 -0
  32. package/dist/content/legacy/richText.js.map +1 -1
  33. package/dist/content/legacy/separator.d.ts +1 -0
  34. package/dist/content/legacy/slice.js +2 -3
  35. package/dist/content/legacy/slice.js.map +1 -1
  36. package/dist/content/legacy/table.d.ts +1 -0
  37. package/dist/content/link.d.ts +74 -99
  38. package/dist/content/link.d.ts.map +1 -1
  39. package/dist/content/link.js +2 -2
  40. package/dist/content/link.js.map +1 -1
  41. package/dist/content/nestable.d.ts +13 -749
  42. package/dist/content/nestable.d.ts.map +1 -1
  43. package/dist/content/nestable.js +1 -0
  44. package/dist/content/nestable.js.map +1 -1
  45. package/dist/content/repeatable.d.ts +3 -98
  46. package/dist/content/repeatable.d.ts.map +1 -1
  47. package/dist/content/richText.d.ts +20 -248
  48. package/dist/content/richText.d.ts.map +1 -1
  49. package/dist/content/richText.js.map +1 -1
  50. package/dist/content/slice.d.ts +6 -4509
  51. package/dist/content/slice.d.ts.map +1 -1
  52. package/dist/content/slice.js.map +1 -1
  53. package/dist/content/slices.d.ts +8 -6765
  54. package/dist/content/slices.d.ts.map +1 -1
  55. package/dist/content/table.d.ts +2 -134
  56. package/dist/content/table.d.ts.map +1 -1
  57. package/dist/content/widget.d.ts +5 -3020
  58. package/dist/content/widget.d.ts.map +1 -1
  59. package/dist/content/widget.js.map +1 -1
  60. package/dist/helpers/contentPath.js +1 -1
  61. package/dist/helpers/customTypeModel.d.ts +3 -2
  62. package/dist/helpers/customTypeModel.d.ts.map +1 -1
  63. package/dist/helpers/customTypeModel.js +31 -1
  64. package/dist/helpers/customTypeModel.js.map +1 -1
  65. package/dist/helpers/documentContent.d.ts +3 -2
  66. package/dist/helpers/documentContent.d.ts.map +1 -1
  67. package/dist/helpers/documentContent.js +14 -1
  68. package/dist/helpers/documentContent.js.map +1 -1
  69. package/dist/helpers/sliceContent.d.ts +12 -0
  70. package/dist/helpers/sliceContent.d.ts.map +1 -0
  71. package/dist/helpers/sliceContent.js +60 -0
  72. package/dist/helpers/sliceContent.js.map +1 -0
  73. package/dist/helpers/traverseContent.d.ts +15 -16
  74. package/dist/helpers/traverseContent.d.ts.map +1 -1
  75. package/dist/helpers/traverseContent.js +53 -19
  76. package/dist/helpers/traverseContent.js.map +1 -1
  77. package/dist/helpers/traverseContentWithModel.d.ts +14 -15
  78. package/dist/helpers/traverseContentWithModel.d.ts.map +1 -1
  79. package/dist/helpers/traverseContentWithModel.js +61 -35
  80. package/dist/helpers/traverseContentWithModel.js.map +1 -1
  81. package/dist/helpers/withDefaultContent.d.ts +17 -0
  82. package/dist/helpers/withDefaultContent.d.ts.map +1 -0
  83. package/dist/helpers/withDefaultContent.js +113 -0
  84. package/dist/helpers/withDefaultContent.js.map +1 -0
  85. package/dist/index.d.ts +16 -14
  86. package/dist/index.js +4 -1
  87. package/dist/io-ts.d.ts +3629 -70848
  88. package/dist/io-ts.d.ts.map +1 -1
  89. package/dist/io-ts.js +126 -124
  90. package/dist/io-ts.js.map +1 -1
  91. package/dist/model/customType.d.ts +3 -3329
  92. package/dist/model/customType.d.ts.map +1 -1
  93. package/dist/model/group.d.ts +375 -376
  94. package/dist/model/group.d.ts.map +1 -1
  95. package/dist/model/group.js.map +1 -1
  96. package/dist/model/image.d.ts +4 -4
  97. package/dist/model/image.js.map +1 -1
  98. package/dist/model/link.d.ts +2 -2
  99. package/dist/model/link.js.map +1 -1
  100. package/dist/model/nestable.d.ts +17 -178
  101. package/dist/model/nestable.d.ts.map +1 -1
  102. package/dist/model/nestable.js +3 -3
  103. package/dist/model/nestable.js.map +1 -1
  104. package/dist/model/richText.d.ts +3 -7
  105. package/dist/model/richText.d.ts.map +1 -1
  106. package/dist/model/richText.js +4 -3
  107. package/dist/model/richText.js.map +1 -1
  108. package/dist/model/section.d.ts +3 -3329
  109. package/dist/model/section.d.ts.map +1 -1
  110. package/dist/model/select.d.ts +1 -1
  111. package/dist/model/select.js +1 -1
  112. package/dist/model/select.js.map +1 -1
  113. package/dist/model/slice.d.ts +1360 -3691
  114. package/dist/model/slice.d.ts.map +1 -1
  115. package/dist/model/slice.js +10 -5
  116. package/dist/model/slice.js.map +1 -1
  117. package/dist/model/slices.d.ts +3 -2195
  118. package/dist/model/slices.d.ts.map +1 -1
  119. package/dist/model/table.d.ts +2 -1
  120. package/dist/model/table.d.ts.map +1 -1
  121. package/dist/model/table.js +9 -7
  122. package/dist/model/table.js.map +1 -1
  123. package/dist/model/widget.d.ts +7 -3334
  124. package/dist/model/widget.d.ts.map +1 -1
  125. package/dist/model/widget.js +5 -2
  126. package/dist/model/widget.js.map +1 -1
  127. package/dist/zod4.d.ts +1796 -34837
  128. package/dist/zod4.d.ts.map +1 -1
  129. package/dist/zod4.js +126 -124
  130. package/dist/zod4.js.map +1 -1
  131. package/package.json +3 -2
  132. package/src/content/boolean.ts +0 -13
  133. package/src/content/field.ts +9 -16
  134. package/src/content/group.ts +6 -56
  135. package/src/content/legacy/group.ts +12 -4
  136. package/src/content/legacy/link.ts +32 -9
  137. package/src/content/legacy/nestable.ts +26 -2
  138. package/src/content/legacy/repeatable.ts +3 -16
  139. package/src/content/legacy/richText.ts +37 -5
  140. package/src/content/legacy/slice.ts +8 -7
  141. package/src/content/legacy/widget.ts +6 -2
  142. package/src/content/link.ts +32 -9
  143. package/src/content/nestable.ts +43 -22
  144. package/src/content/richText.ts +19 -7
  145. package/src/content/slice.ts +2 -2
  146. package/src/content/widget.ts +6 -2
  147. package/src/helpers/customTypeModel.ts +44 -0
  148. package/src/helpers/documentContent.ts +32 -1
  149. package/src/helpers/sliceContent.ts +86 -0
  150. package/src/helpers/traverseContent.ts +96 -32
  151. package/src/helpers/traverseContentWithModel.ts +73 -48
  152. package/src/helpers/withDefaultContent.ts +173 -0
  153. package/src/index.ts +6 -1
  154. package/src/io-ts.ts +166 -144
  155. package/src/model/diff/sharedSlice.ts +2 -2
  156. package/src/model/diff/variation.ts +7 -7
  157. package/src/model/group.ts +4 -1
  158. package/src/model/image.ts +1 -1
  159. package/src/model/link.ts +1 -1
  160. package/src/model/nestable.ts +33 -1
  161. package/src/model/richText.ts +2 -2
  162. package/src/model/select.ts +2 -2
  163. package/src/model/slice.ts +38 -13
  164. package/src/model/table.ts +11 -2
  165. package/src/model/widget.ts +14 -6
  166. package/src/zod4.ts +166 -144
  167. package/src/content/withDefaultValues.ts +0 -114
@@ -1,114 +0,0 @@
1
- import type { GroupModel, NestedGroupModel } from "../model/group"
2
- import type { NestableModel } from "../model/nestable"
3
- import { GroupContentType, groupContentWithDefaultValues, GroupContentSchema } from "./group"
4
- import type { GroupContent } from "./group"
5
- import { NestableContentDefaultValue } from "./nestable"
6
- import type { NestableContent } from "./nestable"
7
-
8
- /**
9
- * Applies default values to slice primary content (non-repeat zone) based on the model configuration.
10
- * For each widget in the customType that has no corresponding content, this will add the default value.
11
- */
12
- export function withDefaultSlicePrimaryContentValues(
13
- customType: Record<string, NestableModel | NestedGroupModel>,
14
- content: Partial<Record<string, NestableContent | GroupContent>>,
15
- ): Record<string, NestableContent | GroupContent> {
16
- const updatedContent = content as Record<string, NestableContent | GroupContent>
17
-
18
- for (const [widgetKey, widgetDef] of Object.entries(customType)) {
19
- const widgetContent = content[widgetKey]
20
-
21
- if (widgetContent === undefined) {
22
- if (widgetDef.type === "Group") {
23
- updatedContent[widgetKey] = groupContentWithDefaultValues(widgetDef, {
24
- __TYPE__: GroupContentType,
25
- value: [],
26
- })
27
- } else {
28
- const defaultValue = NestableContentDefaultValue(widgetDef)
29
-
30
- if (defaultValue) {
31
- updatedContent[widgetKey] = defaultValue
32
- }
33
- }
34
-
35
- continue
36
- }
37
-
38
- const maybeGroupContent = GroupContentSchema.safeParse(widgetContent)
39
- if (widgetDef.type === "Group" && maybeGroupContent.success) {
40
- updatedContent[widgetKey] = groupContentWithDefaultValues(widgetDef, maybeGroupContent.data)
41
- }
42
- }
43
-
44
- return updatedContent
45
- }
46
-
47
- /**
48
- * Applies default values to nestable content based on the model configuration.
49
- * For each widget in the customType that has no corresponding content, this will add the default value.
50
- */
51
- export function withDefaultNestableContentValues(
52
- customType: Record<string, NestableModel>,
53
- content: Record<string, NestableContent>,
54
- ): Record<string, NestableContent> {
55
- return Object.entries(customType).reduce<Record<string, NestableContent>>(
56
- (updatedContent, [widgetKey, widgetDef]) => {
57
- if (content[widgetKey] === undefined) {
58
- const defaultValue = NestableContentDefaultValue(widgetDef)
59
- return defaultValue !== undefined
60
- ? {
61
- ...updatedContent,
62
- [widgetKey]: defaultValue,
63
- }
64
- : updatedContent
65
- }
66
-
67
- return updatedContent
68
- },
69
- content,
70
- )
71
- }
72
-
73
- /**
74
- * Applies default values to repeatable content items (like group items or slice repeat zones).
75
- * For each item, it ensures all required fields have values based on the model configuration.
76
- */
77
- export function repeatableContentWithDefaultNestableContentValues<
78
- T extends {
79
- value: [string, GroupContent | NestableContent][]
80
- },
81
- >(fields: Record<string, GroupModel | NestableModel>, content: T[]): T[] {
82
- const groupKeys = Object.entries(fields)
83
- return content.map((contentItem) => {
84
- return groupKeys.reduce((updatedContentItem, [key, fieldDef]) => {
85
- const maybeContentItemValue = contentItem.value.find(([_key]) => _key === key)
86
-
87
- if (fieldDef.type === "Group") {
88
- const defaultValue = groupContentWithDefaultValues(
89
- fieldDef,
90
- (maybeContentItemValue?.[1] as GroupContent | undefined) ?? {
91
- __TYPE__: GroupContentType,
92
- value: [],
93
- },
94
- )
95
- return {
96
- ...updatedContentItem,
97
- value: [
98
- // Since there was default content for the group, we need to remove the old one
99
- ...updatedContentItem.value.filter(([_key]) => _key !== key),
100
- ...(defaultValue ? [[key, defaultValue]] : []),
101
- ],
102
- }
103
- } else if (!maybeContentItemValue) {
104
- const defaultValue = NestableContentDefaultValue(fieldDef)
105
- return {
106
- ...updatedContentItem,
107
- value: [...updatedContentItem.value, ...(defaultValue ? [[key, defaultValue]] : [])],
108
- }
109
- }
110
-
111
- return updatedContentItem
112
- }, contentItem)
113
- })
114
- }