@prismicio/types-internal 4.0.0-pr.6.7b0b0be → 4.0.0-pr.6.bbcafda

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 (138) hide show
  1. package/dist/content/codec/link.js +8 -8
  2. package/dist/content/codec/link.js.map +1 -1
  3. package/dist/content/codec/richText.js +2 -2
  4. package/dist/content/codec/richText.js.map +1 -1
  5. package/dist/content/document.d.ts +2 -3019
  6. package/dist/content/document.d.ts.map +1 -1
  7. package/dist/content/field.d.ts +1 -30
  8. package/dist/content/field.d.ts.map +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/richText.d.ts +109 -0
  29. package/dist/content/legacy/richText.d.ts.map +1 -0
  30. package/dist/content/legacy/richText.js +3 -3
  31. package/dist/content/legacy/richText.js.map +1 -1
  32. package/dist/content/legacy/separator.d.ts +1 -0
  33. package/dist/content/legacy/slice.js.map +1 -1
  34. package/dist/content/legacy/table.d.ts +1 -0
  35. package/dist/content/link.d.ts +74 -99
  36. package/dist/content/link.d.ts.map +1 -1
  37. package/dist/content/link.js +2 -2
  38. package/dist/content/link.js.map +1 -1
  39. package/dist/content/nestable.d.ts +13 -749
  40. package/dist/content/nestable.d.ts.map +1 -1
  41. package/dist/content/nestable.js.map +1 -1
  42. package/dist/content/repeatable.d.ts +3 -98
  43. package/dist/content/repeatable.d.ts.map +1 -1
  44. package/dist/content/richText.d.ts +81 -131
  45. package/dist/content/richText.d.ts.map +1 -1
  46. package/dist/content/richText.js +5 -4
  47. package/dist/content/richText.js.map +1 -1
  48. package/dist/content/slice.d.ts +6 -4509
  49. package/dist/content/slice.d.ts.map +1 -1
  50. package/dist/content/slice.js.map +1 -1
  51. package/dist/content/slices.d.ts +8 -6765
  52. package/dist/content/slices.d.ts.map +1 -1
  53. package/dist/content/table.d.ts +2 -134
  54. package/dist/content/table.d.ts.map +1 -1
  55. package/dist/content/widget.d.ts +5 -3020
  56. package/dist/content/widget.d.ts.map +1 -1
  57. package/dist/content/widget.js.map +1 -1
  58. package/dist/helpers/customTypeModel.d.ts +1 -1
  59. package/dist/helpers/documentContent.d.ts +3 -9
  60. package/dist/helpers/documentContent.d.ts.map +1 -1
  61. package/dist/helpers/documentContent.js +3 -3
  62. package/dist/helpers/documentContent.js.map +1 -1
  63. package/dist/helpers/traverseContent.d.ts +10 -11
  64. package/dist/helpers/traverseContent.d.ts.map +1 -1
  65. package/dist/helpers/traverseContent.js.map +1 -1
  66. package/dist/helpers/traverseContentWithModel.d.ts +10 -11
  67. package/dist/helpers/traverseContentWithModel.d.ts.map +1 -1
  68. package/dist/helpers/traverseContentWithModel.js.map +1 -1
  69. package/dist/index.d.ts +25 -25
  70. package/dist/io-ts.d.ts +3380 -70926
  71. package/dist/io-ts.d.ts.map +1 -1
  72. package/dist/io-ts.js +125 -122
  73. package/dist/io-ts.js.map +1 -1
  74. package/dist/model/customType.d.ts +3 -3329
  75. package/dist/model/customType.d.ts.map +1 -1
  76. package/dist/model/group.d.ts +391 -392
  77. package/dist/model/group.d.ts.map +1 -1
  78. package/dist/model/group.js.map +1 -1
  79. package/dist/model/image.d.ts +4 -4
  80. package/dist/model/image.js.map +1 -1
  81. package/dist/model/link.d.ts +18 -18
  82. package/dist/model/link.d.ts.map +1 -1
  83. package/dist/model/link.js +7 -7
  84. package/dist/model/link.js.map +1 -1
  85. package/dist/model/nestable.d.ts +17 -178
  86. package/dist/model/nestable.d.ts.map +1 -1
  87. package/dist/model/nestable.js.map +1 -1
  88. package/dist/model/richText.d.ts +3 -7
  89. package/dist/model/richText.d.ts.map +1 -1
  90. package/dist/model/richText.js.map +1 -1
  91. package/dist/model/section.d.ts +3 -3329
  92. package/dist/model/section.d.ts.map +1 -1
  93. package/dist/model/select.d.ts +1 -1
  94. package/dist/model/select.js +1 -1
  95. package/dist/model/select.js.map +1 -1
  96. package/dist/model/slice.d.ts +861 -3800
  97. package/dist/model/slice.d.ts.map +1 -1
  98. package/dist/model/slice.js +7 -2
  99. package/dist/model/slice.js.map +1 -1
  100. package/dist/model/slices.d.ts +3 -2195
  101. package/dist/model/slices.d.ts.map +1 -1
  102. package/dist/model/widget.d.ts +6 -3331
  103. package/dist/model/widget.d.ts.map +1 -1
  104. package/dist/model/widget.js.map +1 -1
  105. package/dist/zod4.d.ts +1345 -34797
  106. package/dist/zod4.d.ts.map +1 -1
  107. package/dist/zod4.js +125 -122
  108. package/dist/zod4.js.map +1 -1
  109. package/package.json +3 -2
  110. package/src/content/codec/link.ts +8 -8
  111. package/src/content/codec/richText.ts +10 -6
  112. package/src/content/field.ts +9 -2
  113. package/src/content/group.ts +5 -2
  114. package/src/content/legacy/group.ts +10 -4
  115. package/src/content/legacy/link.ts +32 -9
  116. package/src/content/legacy/nestable.ts +26 -2
  117. package/src/content/legacy/richText.ts +40 -7
  118. package/src/content/legacy/slice.ts +2 -2
  119. package/src/content/legacy/widget.ts +6 -2
  120. package/src/content/link.ts +32 -9
  121. package/src/content/nestable.ts +40 -2
  122. package/src/content/richText.ts +31 -9
  123. package/src/content/slice.ts +2 -2
  124. package/src/content/widget.ts +6 -2
  125. package/src/helpers/documentContent.ts +12 -15
  126. package/src/helpers/traverseContent.ts +12 -19
  127. package/src/helpers/traverseContentWithModel.ts +10 -16
  128. package/src/index.ts +3 -2
  129. package/src/io-ts.ts +166 -140
  130. package/src/model/group.ts +4 -1
  131. package/src/model/image.ts +1 -1
  132. package/src/model/link.ts +39 -45
  133. package/src/model/nestable.ts +33 -1
  134. package/src/model/richText.ts +2 -2
  135. package/src/model/select.ts +2 -2
  136. package/src/model/slice.ts +36 -9
  137. package/src/model/widget.ts +8 -4
  138. package/src/zod4.ts +166 -140
@@ -24,7 +24,8 @@ import type { NestableModel } from "../model/nestable"
24
24
  import type {
25
25
  CompositeSliceModel,
26
26
  LegacySliceModel,
27
- SharedSliceVariationModel,
27
+ SharedSliceVariationContentModel,
28
+ SliceContentModel,
28
29
  } from "../model/slice"
29
30
  import type { StaticSlicesModel } from "../model/slices"
30
31
  import { TableCellModel } from "../model/table"
@@ -105,7 +106,7 @@ export function traverseSlicesContentWithModel(
105
106
  const variationID = sliceItemContent.widget.variation
106
107
  const variationModel = model.variations.find((variation) => variation.id === variationID)
107
108
  if (variationModel) {
108
- const sharedSliceVariationModel: SharedSliceVariationModel = {
109
+ const sharedSliceVariationModel: SharedSliceVariationContentModel = {
109
110
  type: "SharedSlice",
110
111
  sliceName: model.id,
111
112
  variationID,
@@ -165,7 +166,7 @@ export function traverseSlicesContentWithModel(
165
166
  }
166
167
 
167
168
  type TraverseSharedSliceContentWithModelConfig = {
168
- model: SharedSliceVariationModel
169
+ model: SharedSliceVariationContentModel
169
170
  transformWidget?: TraverseWidgetContentWithModelFunction
170
171
  transformSlice?: TraverseSliceContentWithModelFunction
171
172
  }
@@ -181,10 +182,8 @@ export function traverseSharedSliceContentWithModel(
181
182
  return
182
183
  }
183
184
 
184
- const {
185
- transformWidget = (args) => args.content,
186
- transformSlice = (args) => args.content
187
- } = config
185
+ const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =
186
+ config
188
187
 
189
188
  const traversedPrimary: SharedSliceContent["primary"] = {}
190
189
  for (const [key, model] of Object.entries(config.model.fields.primary ?? {})) {
@@ -239,10 +238,8 @@ export function traverseCompositeSliceContentWithModel(
239
238
  return
240
239
  }
241
240
 
242
- const {
243
- transformWidget = (args) => args.content,
244
- transformSlice = (args) => args.content
245
- } = config
241
+ const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =
242
+ config
246
243
 
247
244
  const traversedPrimary: CompositeSliceContent["nonRepeat"] = {}
248
245
  for (const [key, model] of Object.entries(config.model?.["non-repeat"] ?? {})) {
@@ -297,7 +294,7 @@ export function traverseLegacySliceContentWithModel(
297
294
  const {
298
295
  model,
299
296
  transformWidget = (args) => args.content,
300
- transformSlice = (args) => args.content
297
+ transformSlice = (args) => args.content,
301
298
  } = config
302
299
 
303
300
  const traversedContent = traverseWidgetContentWithModel(path, key, apiID, content.widget, {
@@ -517,15 +514,12 @@ export function traverseTableContentWithModel(
517
514
  }
518
515
 
519
516
  // Internals
520
-
521
- type SliceModel = SharedSliceVariationModel | CompositeSliceModel | LegacySliceModel
522
-
523
517
  export type TraverseSliceContentWithModelFunction = <TContent extends SliceItemContent>(args: {
524
518
  path: contentPath.Path
525
519
  key: string
526
520
  apiID: string
527
521
  content?: TContent
528
- model: SliceModel
522
+ model: SliceContentModel
529
523
  }) => TContent | undefined
530
524
 
531
525
  export type TraverseWidgetContentWithModelFunction<
package/src/index.ts CHANGED
@@ -27,7 +27,7 @@ export type { IntegrationFieldContent } from "./content/integrationField"
27
27
  export type { LinkContent } from "./content/link"
28
28
  export type { NestableContent } from "./content/nestable"
29
29
  export type { RepeatableContent } from "./content/repeatable"
30
- export type { RichTextContent } from "./content/richText"
30
+ export type { RichTextContent, RichTextContentBlock, RichTextContentSpan } from "./content/richText"
31
31
  export type { SeparatorContent } from "./content/separator"
32
32
  export type {
33
33
  LegacySliceContent,
@@ -69,9 +69,10 @@ export type {
69
69
  CompositeSliceModel,
70
70
  SharedSliceModel,
71
71
  SharedSliceRefModel,
72
- SharedSliceVariationModel,
72
+ SharedSliceVariationContentModel as SharedSliceVariationModel,
73
73
  StaticSliceModel,
74
74
  DynamicSliceModel,
75
+ SliceContentModel,
75
76
  SliceModelType,
76
77
  } from "./model/slice"
77
78
  export type { DynamicSlicesModel, StaticSlicesModel } from "./model/slices"
package/src/io-ts.ts CHANGED
@@ -2,13 +2,13 @@ import * as t from "io-ts"
2
2
  import type { ZodMiniType } from "zod/mini"
3
3
 
4
4
  // Common
5
- import { AssetSchema } from "./common/asset"
6
- import { EmbedSchema } from "./common/embed"
7
- import { HexaColorCodeSchema } from "./common/hexaColorCode"
8
- import { NonEmptyStringSchema } from "./common/nonEmptyString"
9
- import { WidgetKeySchema } from "./common/widgetKey"
5
+ import { AssetSchema as rawAssetSchema } from "./common/asset"
6
+ import { EmbedSchema as rawEmbedSchema } from "./common/embed"
7
+ import { HexaColorCodeSchema as rawHexaColorCodeSchema } from "./common/hexaColorCode"
8
+ import { NonEmptyStringSchema as rawNonEmptyStringSchema } from "./common/nonEmptyString"
9
+ import { WidgetKeySchema as rawWidgetKeySchema } from "./common/widgetKey"
10
10
  // Content
11
- import { BooleanContentSchema } from "./content/boolean"
11
+ import { BooleanContentSchema as rawBooleanContentSchema } from "./content/boolean"
12
12
  import { BooleanLegacyCodec } from "./content/codec/boolean"
13
13
  import { DocumentLegacyCodec } from "./content/codec/document"
14
14
  import { EmbedLegacyCodec } from "./content/codec/embed"
@@ -42,119 +42,144 @@ import { SliceItemLegacyCodec, SlicesLegacyCodec } from "./content/codec/slices"
42
42
  import { TableLegacyCodec } from "./content/codec/table"
43
43
  import { UIDLegacyCodec } from "./content/codec/uid"
44
44
  import { WidgetLegacyCodec } from "./content/codec/widget"
45
- import { DocumentContentSchema } from "./content/document"
46
- import { EmbedContentSchema } from "./content/embed"
47
- import { EmptyContentSchema } from "./content/empty"
45
+ import { DocumentContentSchema as rawDocumentContentSchema } from "./content/document"
46
+ import { EmbedContentSchema as rawEmbedContentSchema } from "./content/embed"
47
+ import { EmptyContentSchema as rawEmptyContentSchema } from "./content/empty"
48
48
  import {
49
- ColorContentSchema,
50
- DateContentSchema,
51
- NumberContentSchema,
52
- RangeContentSchema,
53
- SelectContentSchema,
54
- TextContentSchema,
55
- TimestampContentSchema,
56
- FieldContentSchema,
49
+ ColorContentSchema as rawColorContentSchema,
50
+ DateContentSchema as rawDateContentSchema,
51
+ NumberContentSchema as rawNumberContentSchema,
52
+ RangeContentSchema as rawRangeContentSchema,
53
+ SelectContentSchema as rawSelectContentSchema,
54
+ TextContentSchema as rawTextContentSchema,
55
+ TimestampContentSchema as rawTimestampContentSchema,
56
+ FieldContentSchema as rawFieldContentSchema,
57
57
  } from "./content/field"
58
- import { GeoPointContentSchema } from "./content/geopoint"
59
- import { GroupContentSchema, GroupItemContentSchema } from "./content/group"
60
- import { ImageContentSchema } from "./content/image"
61
- import { IntegrationFieldContentSchema } from "./content/integrationField"
62
- import { LinkContentSchema } from "./content/link"
63
- import { NestableContentSchema } from "./content/nestable"
64
- import { RepeatableContentSchema } from "./content/repeatable"
65
- import { RichTextContentSchema } from "./content/richText"
66
- import { SeparatorContentSchema } from "./content/separator"
58
+ import { GeoPointContentSchema as rawGeoPointContentSchema } from "./content/geopoint"
67
59
  import {
68
- LegacySliceContentSchema,
69
- CompositeSliceContentSchema,
70
- SharedSliceContentSchema,
71
- SliceContentSchema,
60
+ GroupContentSchema as rawGroupContentSchema,
61
+ GroupItemContentSchema as rawGroupItemContentSchema,
62
+ } from "./content/group"
63
+ import { ImageContentSchema as rawImageContentSchema } from "./content/image"
64
+ import { IntegrationFieldContentSchema as rawIntegrationFieldContentSchema } from "./content/integrationField"
65
+ import { LinkContentSchema as rawLinkContentSchema } from "./content/link"
66
+ import { NestableContentSchema as rawNestableContentSchema } from "./content/nestable"
67
+ import { RepeatableContentSchema as rawRepeatableContentSchema } from "./content/repeatable"
68
+ import {
69
+ RichTextContentSchema as rawRichTextContentSchema,
70
+ RichTextContentBlockSchema as rawRichTextContentBlockSchema,
71
+ RichTextContentSpanSchema as rawRichTextContentSpanSchema,
72
+ } from "./content/richText"
73
+ import { SeparatorContentSchema as rawSeparatorContentSchema } from "./content/separator"
74
+ import {
75
+ LegacySliceContentSchema as rawLegacySliceContentSchema,
76
+ CompositeSliceContentSchema as rawCompositeSliceContentSchema,
77
+ SharedSliceContentSchema as rawSharedSliceContentSchema,
78
+ SliceContentSchema as rawSliceContentSchema,
72
79
  } from "./content/slice"
73
80
  import {
74
- LegacySliceItemContentSchema,
75
- CompositeSliceItemContentSchema,
76
- SharedSliceItemContentSchema,
77
- SliceItemContentSchema,
78
- SlicesContentSchema,
81
+ LegacySliceItemContentSchema as rawLegacySliceItemContentSchema,
82
+ CompositeSliceItemContentSchema as rawCompositeSliceItemContentSchema,
83
+ SharedSliceItemContentSchema as rawSharedSliceItemContentSchema,
84
+ SliceItemContentSchema as rawSliceItemContentSchema,
85
+ SlicesContentSchema as rawSlicesContentSchema,
79
86
  } from "./content/slices"
80
- import { TableContentSchema } from "./content/table"
81
- import { UIDContentSchema } from "./content/uid"
82
- import { WidgetContentSchema } from "./content/widget"
87
+ import { TableContentSchema as rawTableContentSchema } from "./content/table"
88
+ import { UIDContentSchema as rawUIDContentSchema } from "./content/uid"
89
+ import { WidgetContentSchema as rawWidgetContentSchema } from "./content/widget"
83
90
  // Model
84
- import { BooleanModelSchema } from "./model/boolean"
85
- import { ColorModelSchema } from "./model/color"
86
- import { StaticCustomTypeModelSchema, CustomTypeModelSchema } from "./model/customType"
87
- import { DateModelSchema } from "./model/date"
88
- import { EmbedModelSchema } from "./model/embed"
89
- import { GeoPointModelSchema } from "./model/geopoint"
90
- import { GroupModelSchema, NestedGroupModelSchema } from "./model/group"
91
- import { ImageModelSchema } from "./model/image"
92
- import { IntegrationFieldModelSchema } from "./model/integrationField"
93
- import { LinkModelSchema } from "./model/link"
94
- import { NestableModelSchema } from "./model/nestable"
95
- import { NumberModelSchema } from "./model/number"
96
- import { RangeModelSchema } from "./model/range"
97
- import { RichTextModelSchema } from "./model/richText"
98
- import { StaticSectionModelSchema, DynamicSectionModelSchema } from "./model/section"
99
- import { SelectModelSchema } from "./model/select"
100
- import { SeparatorModelSchema } from "./model/separator"
91
+ import { BooleanModelSchema as rawBooleanModelSchema } from "./model/boolean"
92
+ import { ColorModelSchema as rawColorModelSchema } from "./model/color"
93
+ import {
94
+ StaticCustomTypeModelSchema as rawStaticCustomTypeModelSchema,
95
+ CustomTypeModelSchema as rawCustomTypeModelSchema,
96
+ } from "./model/customType"
97
+ import { DateModelSchema as rawDateModelSchema } from "./model/date"
98
+ import { EmbedModelSchema as rawEmbedModelSchema } from "./model/embed"
99
+ import { GeoPointModelSchema as rawGeoPointModelSchema } from "./model/geopoint"
100
+ import {
101
+ GroupModelSchema as rawGroupModelSchema,
102
+ NestedGroupModelSchema as rawNestedGroupModelSchema,
103
+ } from "./model/group"
104
+ import { ImageModelSchema as rawImageModelSchema } from "./model/image"
105
+ import { IntegrationFieldModelSchema as rawIntegrationFieldModelSchema } from "./model/integrationField"
106
+ import { LinkModelSchema as rawLinkModelSchema } from "./model/link"
107
+ import { NestableModelSchema as rawNestableModelSchema } from "./model/nestable"
108
+ import { NumberModelSchema as rawNumberModelSchema } from "./model/number"
109
+ import { RangeModelSchema as rawRangeModelSchema } from "./model/range"
110
+ import { RichTextModelSchema as rawRichTextModelSchema } from "./model/richText"
101
111
  import {
102
- LegacySliceModelSchema,
103
- CompositeSliceModelSchema,
104
- SharedSliceModelSchema,
105
- SharedSliceRefModelSchema,
106
- StaticSliceModelSchema,
107
- DynamicSliceModelSchema,
112
+ StaticSectionModelSchema as rawStaticSectionModelSchema,
113
+ DynamicSectionModelSchema as rawDynamicSectionModelSchema,
114
+ } from "./model/section"
115
+ import { SelectModelSchema as rawSelectModelSchema } from "./model/select"
116
+ import { SeparatorModelSchema as rawSeparatorModelSchema } from "./model/separator"
117
+ import {
118
+ LegacySliceModelSchema as rawLegacySliceModelSchema,
119
+ CompositeSliceModelSchema as rawCompositeSliceModelSchema,
120
+ SharedSliceModelSchema as rawSharedSliceModelSchema,
121
+ SharedSliceRefModelSchema as rawSharedSliceRefModelSchema,
122
+ StaticSliceModelSchema as rawStaticSliceModelSchema,
123
+ DynamicSliceModelSchema as rawDynamicSliceModelSchema,
124
+ SliceContentModelSchema as rawSliceContentModelSchema,
108
125
  } from "./model/slice"
109
- import { DynamicSlicesModelSchema, StaticSlicesModelSchema } from "./model/slices"
110
- import { TableModelSchema } from "./model/table"
111
- import { TextModelSchema } from "./model/text"
112
- import { TimestampModelSchema } from "./model/timestamp"
113
- import { UIDModelSchema } from "./model/uid"
114
- import { StaticWidgetModelSchema, DynamicWidgetModelSchema } from "./model/widget"
126
+ import {
127
+ DynamicSlicesModelSchema as rawDynamicSlicesModelSchema,
128
+ StaticSlicesModelSchema as rawStaticSlicesModelSchema,
129
+ } from "./model/slices"
130
+ import { TableModelSchema as rawTableModelSchema } from "./model/table"
131
+ import { TextModelSchema as rawTextModelSchema } from "./model/text"
132
+ import { TimestampModelSchema as rawTimestampModelSchema } from "./model/timestamp"
133
+ import { UIDModelSchema as rawUIDModelSchema } from "./model/uid"
134
+ import {
135
+ StaticWidgetModelSchema as rawStaticWidgetModelSchema,
136
+ DynamicWidgetModelSchema as rawDynamicWidgetModelSchema,
137
+ } from "./model/widget"
115
138
 
116
139
  // Common
117
- export const Asset = toIOTS(AssetSchema)
118
- export const Embed = toIOTS(EmbedSchema)
119
- export const HexaColorCode = toIOTS(HexaColorCodeSchema)
120
- export const NonEmptyString = toIOTS(NonEmptyStringSchema)
121
- export const WidgetKey = toIOTS(WidgetKeySchema)
140
+ export const AssetSchema = toIOTS(rawAssetSchema)
141
+ export const EmbedSchema = toIOTS(rawEmbedSchema)
142
+ export const HexaColorCodeSchema = toIOTS(rawHexaColorCodeSchema)
143
+ export const NonEmptyStringSchema = toIOTS(rawNonEmptyStringSchema)
144
+ export const WidgetKeySchema = toIOTS(rawWidgetKeySchema)
122
145
 
123
146
  // Content
124
- export const BooleanContent = toIOTS(BooleanContentSchema)
125
- export const ColorContent = toIOTS(ColorContentSchema)
126
- export const DateContent = toIOTS(DateContentSchema)
127
- export const EmptyContent = toIOTS(EmptyContentSchema)
128
- export const GeoPointContent = toIOTS(GeoPointContentSchema)
129
- export const LinkContent = toIOTS(LinkContentSchema)
130
- export const NumberContent = toIOTS(NumberContentSchema)
131
- export const RangeContent = toIOTS(RangeContentSchema)
132
- export const SelectContent = toIOTS(SelectContentSchema)
133
- export const SeparatorContent = toIOTS(SeparatorContentSchema)
134
- export const SharedSliceContent = toIOTS(SharedSliceContentSchema)
135
- export const TextContent = toIOTS(TextContentSchema)
136
- export const TimestampContent = toIOTS(TimestampContentSchema)
137
- export const FieldContent = toIOTS(FieldContentSchema)
138
- export const UIDContent = toIOTS(UIDContentSchema)
139
- export const IntegrationFieldContent = toIOTS(IntegrationFieldContentSchema)
140
- export const EmbedContent = toIOTS(EmbedContentSchema)
141
- export const ImageContent = toIOTS(ImageContentSchema)
142
- export const RichTextContent = toIOTS(RichTextContentSchema)
143
- export const TableContent = toIOTS(TableContentSchema)
144
- export const RepeatableContent = toIOTS(RepeatableContentSchema)
145
- export const NestableContent = toIOTS(NestableContentSchema)
146
- export const GroupContent = toIOTS(GroupContentSchema)
147
- export const GroupItemContent = toIOTS(GroupItemContentSchema)
148
- export const CompositeSliceContent = toIOTS(CompositeSliceContentSchema)
149
- export const LegacySliceContent = toIOTS(LegacySliceContentSchema)
150
- export const SliceContent = toIOTS(SliceContentSchema)
151
- export const LegacySliceItemContent = toIOTS(LegacySliceItemContentSchema)
152
- export const CompositeSliceItemContent = toIOTS(CompositeSliceItemContentSchema)
153
- export const SharedSliceItemContent = toIOTS(SharedSliceItemContentSchema)
154
- export const SliceItemContent = toIOTS(SliceItemContentSchema)
155
- export const SlicesContent = toIOTS(SlicesContentSchema)
156
- export const WidgetContent = toIOTS(WidgetContentSchema)
157
- export const DocumentContent = toIOTS(DocumentContentSchema)
147
+ export const BooleanContentSchema = toIOTS(rawBooleanContentSchema)
148
+ export const ColorContentSchema = toIOTS(rawColorContentSchema)
149
+ export const DateContentSchema = toIOTS(rawDateContentSchema)
150
+ export const EmptyContentSchema = toIOTS(rawEmptyContentSchema)
151
+ export const GeoPointContentSchema = toIOTS(rawGeoPointContentSchema)
152
+ export const LinkContentSchema = toIOTS(rawLinkContentSchema)
153
+ export const NumberContentSchema = toIOTS(rawNumberContentSchema)
154
+ export const RangeContentSchema = toIOTS(rawRangeContentSchema)
155
+ export const SelectContentSchema = toIOTS(rawSelectContentSchema)
156
+ export const SeparatorContentSchema = toIOTS(rawSeparatorContentSchema)
157
+ export const SharedSliceContentSchema = toIOTS(rawSharedSliceContentSchema)
158
+ export const TextContentSchema = toIOTS(rawTextContentSchema)
159
+ export const TimestampContentSchema = toIOTS(rawTimestampContentSchema)
160
+ export const FieldContentSchema = toIOTS(rawFieldContentSchema)
161
+ export const UIDContentSchema = toIOTS(rawUIDContentSchema)
162
+ export const IntegrationFieldContentSchema = toIOTS(rawIntegrationFieldContentSchema)
163
+ export const EmbedContentSchema = toIOTS(rawEmbedContentSchema)
164
+ export const ImageContentSchema = toIOTS(rawImageContentSchema)
165
+ export const RichTextContentSchema = toIOTS(rawRichTextContentSchema)
166
+ export const RichTextContentBlockSchema = toIOTS(rawRichTextContentBlockSchema)
167
+ export const RichTextContentSpanSchema = toIOTS(rawRichTextContentSpanSchema)
168
+ export const TableContentSchema = toIOTS(rawTableContentSchema)
169
+ export const RepeatableContentSchema = toIOTS(rawRepeatableContentSchema)
170
+ export const NestableContentSchema = toIOTS(rawNestableContentSchema)
171
+ export const GroupContentSchema = toIOTS(rawGroupContentSchema)
172
+ export const GroupItemContentSchema = toIOTS(rawGroupItemContentSchema)
173
+ export const CompositeSliceContentSchema = toIOTS(rawCompositeSliceContentSchema)
174
+ export const LegacySliceContentSchema = toIOTS(rawLegacySliceContentSchema)
175
+ export const SliceContentSchema = toIOTS(rawSliceContentSchema)
176
+ export const LegacySliceItemContentSchema = toIOTS(rawLegacySliceItemContentSchema)
177
+ export const CompositeSliceItemContentSchema = toIOTS(rawCompositeSliceItemContentSchema)
178
+ export const SharedSliceItemContentSchema = toIOTS(rawSharedSliceItemContentSchema)
179
+ export const SliceItemContentSchema = toIOTS(rawSliceItemContentSchema)
180
+ export const SlicesContentSchema = toIOTS(rawSlicesContentSchema)
181
+ export const WidgetContentSchema = toIOTS(rawWidgetContentSchema)
182
+ export const DocumentContentSchema = toIOTS(rawDocumentContentSchema)
158
183
 
159
184
  // Content legacy
160
185
  export const BooleanLegacy = toIOTSCodec(BooleanLegacyCodec)
@@ -189,40 +214,41 @@ export const WidgetLegacy = toIOTSCodec(WidgetLegacyCodec)
189
214
  export const DocumentLegacy = toIOTSCodec(DocumentLegacyCodec)
190
215
 
191
216
  // Model
192
- export const BooleanModel = toIOTS(BooleanModelSchema)
193
- export const ColorModel = toIOTS(ColorModelSchema)
194
- export const DateModel = toIOTS(DateModelSchema)
195
- export const EmbedModel = toIOTS(EmbedModelSchema)
196
- export const GeoPointModel = toIOTS(GeoPointModelSchema)
197
- export const ImageModel = toIOTS(ImageModelSchema)
198
- export const IntegrationFieldModel = toIOTS(IntegrationFieldModelSchema)
199
- export const LinkModel = toIOTS(LinkModelSchema)
200
- export const NestableModel = toIOTS(NestableModelSchema)
201
- export const NumberModel = toIOTS(NumberModelSchema)
202
- export const RangeModel = toIOTS(RangeModelSchema)
203
- export const RichTextModel = toIOTS(RichTextModelSchema)
204
- export const SelectModel = toIOTS(SelectModelSchema)
205
- export const SeparatorModel = toIOTS(SeparatorModelSchema)
206
- export const SharedSliceModel = toIOTS(SharedSliceModelSchema)
207
- export const TableModel = toIOTS(TableModelSchema)
208
- export const TextModel = toIOTS(TextModelSchema)
209
- export const TimestampModel = toIOTS(TimestampModelSchema)
210
- export const UIDModel = toIOTS(UIDModelSchema)
211
- export const GroupModel = toIOTS(GroupModelSchema)
212
- export const NestedGroupModel = toIOTS(NestedGroupModelSchema)
213
- export const SharedSliceRefModel = toIOTS(SharedSliceRefModelSchema)
214
- export const CompositeSliceModel = toIOTS(CompositeSliceModelSchema)
215
- export const LegacySliceModel = toIOTS(LegacySliceModelSchema)
216
- export const DynamicSliceModel = toIOTS(DynamicSliceModelSchema)
217
- export const StaticSliceModel = toIOTS(StaticSliceModelSchema)
218
- export const DynamicSlicesModel = toIOTS(DynamicSlicesModelSchema)
219
- export const StaticSlicesModel = toIOTS(StaticSlicesModelSchema)
220
- export const StaticWidgetModel = toIOTS(StaticWidgetModelSchema)
221
- export const DynamicWidgetModel = toIOTS(DynamicWidgetModelSchema)
222
- export const StaticSectionModel = toIOTS(StaticSectionModelSchema)
223
- export const DynamicSectionModel = toIOTS(DynamicSectionModelSchema)
224
- export const StaticCustomTypeModel = toIOTS(StaticCustomTypeModelSchema)
225
- export const CustomTypeModel = toIOTS(CustomTypeModelSchema)
217
+ export const BooleanModelSchema = toIOTS(rawBooleanModelSchema)
218
+ export const ColorModelSchema = toIOTS(rawColorModelSchema)
219
+ export const DateModelSchema = toIOTS(rawDateModelSchema)
220
+ export const EmbedModelSchema = toIOTS(rawEmbedModelSchema)
221
+ export const GeoPointModelSchema = toIOTS(rawGeoPointModelSchema)
222
+ export const ImageModelSchema = toIOTS(rawImageModelSchema)
223
+ export const IntegrationFieldModelSchema = toIOTS(rawIntegrationFieldModelSchema)
224
+ export const LinkModelSchema = toIOTS(rawLinkModelSchema)
225
+ export const NestableModelSchema = toIOTS(rawNestableModelSchema)
226
+ export const NumberModelSchema = toIOTS(rawNumberModelSchema)
227
+ export const RangeModelSchema = toIOTS(rawRangeModelSchema)
228
+ export const RichTextModelSchema = toIOTS(rawRichTextModelSchema)
229
+ export const SelectModelSchema = toIOTS(rawSelectModelSchema)
230
+ export const SeparatorModelSchema = toIOTS(rawSeparatorModelSchema)
231
+ export const SharedSliceModelSchema = toIOTS(rawSharedSliceModelSchema)
232
+ export const TableModelSchema = toIOTS(rawTableModelSchema)
233
+ export const TextModelSchema = toIOTS(rawTextModelSchema)
234
+ export const TimestampModelSchema = toIOTS(rawTimestampModelSchema)
235
+ export const UIDModelSchema = toIOTS(rawUIDModelSchema)
236
+ export const GroupModelSchema = toIOTS(rawGroupModelSchema)
237
+ export const NestedGroupModelSchema = toIOTS(rawNestedGroupModelSchema)
238
+ export const SharedSliceRefModelSchema = toIOTS(rawSharedSliceRefModelSchema)
239
+ export const CompositeSliceModelSchema = toIOTS(rawCompositeSliceModelSchema)
240
+ export const LegacySliceModelSchema = toIOTS(rawLegacySliceModelSchema)
241
+ export const DynamicSliceModelSchema = toIOTS(rawDynamicSliceModelSchema)
242
+ export const StaticSliceModelSchema = toIOTS(rawStaticSliceModelSchema)
243
+ export const SliceContentModelSchema = toIOTS(rawSliceContentModelSchema)
244
+ export const DynamicSlicesModelSchema = toIOTS(rawDynamicSlicesModelSchema)
245
+ export const StaticSlicesModelSchema = toIOTS(rawStaticSlicesModelSchema)
246
+ export const StaticWidgetModelSchema = toIOTS(rawStaticWidgetModelSchema)
247
+ export const DynamicWidgetModelSchema = toIOTS(rawDynamicWidgetModelSchema)
248
+ export const StaticSectionModelSchema = toIOTS(rawStaticSectionModelSchema)
249
+ export const DynamicSectionModelSchema = toIOTS(rawDynamicSectionModelSchema)
250
+ export const StaticCustomTypeModelSchema = toIOTS(rawStaticCustomTypeModelSchema)
251
+ export const CustomTypeModelSchema = toIOTS(rawCustomTypeModelSchema)
226
252
 
227
253
  function toIOTS<T>(type: ZodMiniType<T>): t.Type<T> {
228
254
  return new t.Type<T>(
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod/mini"
2
2
 
3
3
  import { WidgetKeySchema } from "../common/widgetKey"
4
+ import type { NestableModel } from "./nestable"
4
5
  import { NestableModelSchema } from "./nestable"
5
6
 
6
7
  export const GroupFieldType = "Group"
@@ -30,7 +31,9 @@ export type NestedGroupModel = z.infer<typeof NestedGroupModelSchema>
30
31
 
31
32
  // Group - allows Nestable | NestedGroup in fields (max 2 levels of nesting)
32
33
  export const GroupModelSchema = createGroupSchema(
33
- z.union([NestableModelSchema, NestedGroupModelSchema]),
34
+ z.union([NestableModelSchema, NestedGroupModelSchema]) as z.ZodMiniType<
35
+ NestableModel | NestedGroupModel
36
+ >,
34
37
  )
35
38
 
36
39
  export type GroupModel = z.infer<typeof GroupModelSchema>
@@ -8,7 +8,7 @@ import { z } from "zod/mini"
8
8
  * - "auto" or "" → null
9
9
  * - null
10
10
  */
11
- export const SideConstraintSchema = z.union([
11
+ export const SideConstraintSchema: z.ZodMiniType<number | null> = z.union([
12
12
  z.pipe(
13
13
  z.literal("auto"),
14
14
  z.transform(() => null),
package/src/model/link.ts CHANGED
@@ -3,7 +3,7 @@ import { z } from "zod/mini"
3
3
  // Accepts string | string[], normalizes string to [string]
4
4
  const MasksArrayStringSchema = z.pipe(
5
5
  z.union([z.array(z.string()), z.string()]),
6
- z.transform((val): readonly string[] => (typeof val === "string" ? [val] : val)),
6
+ z.transform((val): string[] => (typeof val === "string" ? [val] : val)),
7
7
  )
8
8
 
9
9
  // --- CustomTypes hierarchy (field selection in content relationship fields) ---
@@ -15,9 +15,7 @@ const noDuplicateStrings = z.refine(
15
15
  "Fields have duplicates.",
16
16
  )
17
17
 
18
- const CustomTypeLevel2FieldGroupFieldsSchema = z.readonly(
19
- z.array(z.string()).check(noDuplicateStrings),
20
- )
18
+ const CustomTypeLevel2FieldGroupFieldsSchema = z.array(z.string()).check(noDuplicateStrings)
21
19
 
22
20
  const CustomTypeLevel2FieldSchema = z.union([
23
21
  z.object({ id: z.string(), fields: CustomTypeLevel2FieldGroupFieldsSchema }),
@@ -30,18 +28,18 @@ const noDuplicateIds = (items: unknown) => {
30
28
  return ids.size === arr.length
31
29
  }
32
30
 
33
- const CustomTypeLevel2FieldsSchema = z.readonly(
34
- z.array(CustomTypeLevel2FieldSchema).check(z.refine(noDuplicateIds, "Fields have duplicates.")),
35
- )
31
+ const CustomTypeLevel2FieldsSchema = z
32
+ .array(CustomTypeLevel2FieldSchema)
33
+ .check(z.refine(noDuplicateIds, "Fields have duplicates."))
36
34
 
37
35
  const CustomTypeLevel2Schema = z.union([
38
36
  z.string(),
39
37
  z.object({ id: z.string(), fields: CustomTypeLevel2FieldsSchema }),
40
38
  ])
41
39
 
42
- const CustomTypesLevel2Schema = z.readonly(
43
- z.array(CustomTypeLevel2Schema).check(z.refine(noDuplicateIds, "Custom types have duplicates.")),
44
- )
40
+ const CustomTypesLevel2Schema = z
41
+ .array(CustomTypeLevel2Schema)
42
+ .check(z.refine(noDuplicateIds, "Custom types have duplicates."))
45
43
 
46
44
  // Level 1
47
45
 
@@ -55,11 +53,9 @@ const CustomTypeLevel1FieldGroupFieldSchema = z.union([
55
53
  z.string(),
56
54
  ])
57
55
 
58
- const CustomTypeLevel1FieldGroupFieldsSchema = z.readonly(
59
- z
60
- .array(CustomTypeLevel1FieldGroupFieldSchema)
61
- .check(z.refine(noDuplicateIds, "Fields have duplicates.")),
62
- )
56
+ const CustomTypeLevel1FieldGroupFieldsSchema = z
57
+ .array(CustomTypeLevel1FieldGroupFieldSchema)
58
+ .check(z.refine(noDuplicateIds, "Fields have duplicates."))
63
59
 
64
60
  const CustomTypeLevel1FieldSchema = z.union([
65
61
  z.object({
@@ -70,45 +66,43 @@ const CustomTypeLevel1FieldSchema = z.union([
70
66
  z.string(),
71
67
  ])
72
68
 
73
- const CustomTypeLevel1FieldsSchema = z.readonly(
74
- z.array(CustomTypeLevel1FieldSchema).check(z.refine(noDuplicateIds, "Fields have duplicates.")),
75
- )
69
+ const CustomTypeLevel1FieldsSchema = z
70
+ .array(CustomTypeLevel1FieldSchema)
71
+ .check(z.refine(noDuplicateIds, "Fields have duplicates."))
76
72
 
77
73
  const CustomTypeLevel1Schema = z.union([
78
74
  z.string(),
79
75
  z.object({ id: z.string(), fields: CustomTypeLevel1FieldsSchema }),
80
76
  ])
81
77
 
82
- const CustomTypesSchema = z.readonly(
83
- z.array(CustomTypeLevel1Schema).check(({ value, issues }) => {
84
- const cts = value as ({ id: string } | string)[]
85
- const push = (message: string) => issues.push({ code: "custom", input: value, message })
86
- const strings = new Set<string>()
87
- const objects = new Set<string>()
88
- for (const ct of cts) {
89
- let failed = false
90
- if (typeof ct === "string") {
91
- failed = objects.has(ct)
92
- strings.add(ct)
93
- } else {
94
- const { id } = ct
95
- failed = strings.has(id) || objects.has(id)
96
- objects.add(id)
97
- }
98
- if (failed) {
99
- push("Custom types have duplicates.")
100
- return
101
- }
78
+ const CustomTypesSchema = z.array(CustomTypeLevel1Schema).check(({ value, issues }) => {
79
+ const cts = value as ({ id: string } | string)[]
80
+ const push = (message: string) => issues.push({ code: "custom", input: value, message })
81
+ const strings = new Set<string>()
82
+ const objects = new Set<string>()
83
+ for (const ct of cts) {
84
+ let failed = false
85
+ if (typeof ct === "string") {
86
+ failed = objects.has(ct)
87
+ strings.add(ct)
88
+ } else {
89
+ const { id } = ct
90
+ failed = strings.has(id) || objects.has(id)
91
+ objects.add(id)
102
92
  }
103
- if (objects.size > 1) {
104
- push("Cannot have multiple custom types with fields selection.")
93
+ if (failed) {
94
+ push("Custom types have duplicates.")
105
95
  return
106
96
  }
107
- if (strings.size > 0 && objects.size > 0) {
108
- push("Cannot mix custom types as strings and objects with fields.")
109
- }
110
- }),
111
- )
97
+ }
98
+ if (objects.size > 1) {
99
+ push("Cannot have multiple custom types with fields selection.")
100
+ return
101
+ }
102
+ if (strings.size > 0 && objects.size > 0) {
103
+ push("Cannot mix custom types as strings and objects with fields.")
104
+ }
105
+ })
112
106
 
113
107
  // --- Select with fallback to null ---
114
108