@prismicio/types-internal 4.0.0-pr.6.09bccf8 → 4.0.0-pr.6.38cb7de
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.
- package/dist/content/codec/document.js +1 -1
- package/dist/content/codec/legacyContentCtx.d.ts.map +1 -1
- package/dist/content/codec/legacyContentCtx.js.map +1 -1
- package/dist/content/codec/link.js +8 -8
- package/dist/content/codec/link.js.map +1 -1
- package/dist/content/codec/richText.js +2 -2
- package/dist/content/codec/richText.js.map +1 -1
- package/dist/content/codec/slice.js.map +1 -1
- package/dist/content/document.d.ts +2 -3019
- package/dist/content/document.d.ts.map +1 -1
- package/dist/content/field.d.ts +1 -30
- package/dist/content/field.d.ts.map +1 -1
- package/dist/content/field.js.map +1 -1
- package/dist/content/group.d.ts +2 -1
- package/dist/content/group.d.ts.map +1 -1
- package/dist/content/group.js.map +1 -1
- package/dist/content/legacy/boolean.d.ts +1 -0
- package/dist/content/legacy/embed.d.ts +1 -0
- package/dist/content/legacy/empty.d.ts +1 -0
- package/dist/content/legacy/field.d.ts +1 -0
- package/dist/content/legacy/geopoint.d.ts +1 -0
- package/dist/content/legacy/group.d.ts +9 -0
- package/dist/content/legacy/group.d.ts.map +1 -0
- package/dist/content/legacy/group.js.map +1 -1
- package/dist/content/legacy/integrationField.d.ts +1 -0
- package/dist/content/legacy/link.d.ts +41 -0
- package/dist/content/legacy/link.d.ts.map +1 -0
- package/dist/content/legacy/link.js.map +1 -1
- package/dist/content/legacy/nestable.d.ts +1 -0
- package/dist/content/legacy/nestable.js.map +1 -1
- package/dist/content/legacy/repeatable.d.ts +1 -0
- package/dist/content/legacy/richText.d.ts +109 -0
- package/dist/content/legacy/richText.d.ts.map +1 -0
- package/dist/content/legacy/richText.js +3 -3
- package/dist/content/legacy/richText.js.map +1 -1
- package/dist/content/legacy/separator.d.ts +1 -0
- package/dist/content/legacy/slice.js.map +1 -1
- package/dist/content/legacy/table.d.ts +1 -0
- package/dist/content/link.d.ts +74 -99
- package/dist/content/link.d.ts.map +1 -1
- package/dist/content/link.js +2 -2
- package/dist/content/link.js.map +1 -1
- package/dist/content/nestable.d.ts +13 -749
- package/dist/content/nestable.d.ts.map +1 -1
- package/dist/content/nestable.js.map +1 -1
- package/dist/content/repeatable.d.ts +3 -98
- package/dist/content/repeatable.d.ts.map +1 -1
- package/dist/content/richText.d.ts +81 -131
- package/dist/content/richText.d.ts.map +1 -1
- package/dist/content/richText.js +5 -4
- package/dist/content/richText.js.map +1 -1
- package/dist/content/slice.d.ts +6 -4509
- package/dist/content/slice.d.ts.map +1 -1
- package/dist/content/slice.js.map +1 -1
- package/dist/content/slices.d.ts +8 -6765
- package/dist/content/slices.d.ts.map +1 -1
- package/dist/content/slices.js +4 -4
- package/dist/content/slices.js.map +1 -1
- package/dist/content/table.d.ts +2 -134
- package/dist/content/table.d.ts.map +1 -1
- package/dist/content/widget.d.ts +5 -3020
- package/dist/content/widget.d.ts.map +1 -1
- package/dist/content/widget.js.map +1 -1
- package/dist/helpers/customTypeModel.d.ts +1 -1
- package/dist/helpers/customTypeModel.d.ts.map +1 -1
- package/dist/helpers/customTypeModel.js.map +1 -1
- package/dist/helpers/documentContent.d.ts +3 -9
- package/dist/helpers/documentContent.d.ts.map +1 -1
- package/dist/helpers/documentContent.js +5 -5
- package/dist/helpers/documentContent.js.map +1 -1
- package/dist/helpers/traverseContent.d.ts +16 -17
- package/dist/helpers/traverseContent.d.ts.map +1 -1
- package/dist/helpers/traverseContent.js +4 -4
- package/dist/helpers/traverseContent.js.map +1 -1
- package/dist/helpers/traverseContentWithModel.d.ts +16 -17
- package/dist/helpers/traverseContentWithModel.d.ts.map +1 -1
- package/dist/helpers/traverseContentWithModel.js +4 -4
- package/dist/helpers/traverseContentWithModel.js.map +1 -1
- package/dist/index.d.ts +26 -26
- package/dist/index.js +2 -1
- package/dist/io-ts.d.ts +3380 -67677
- package/dist/io-ts.d.ts.map +1 -1
- package/dist/io-ts.js +125 -119
- package/dist/io-ts.js.map +1 -1
- package/dist/model/customType.d.ts +3 -3329
- package/dist/model/customType.d.ts.map +1 -1
- package/dist/model/group.d.ts +391 -392
- package/dist/model/group.d.ts.map +1 -1
- package/dist/model/group.js.map +1 -1
- package/dist/model/image.d.ts +4 -4
- package/dist/model/image.js.map +1 -1
- package/dist/model/link.d.ts +18 -18
- package/dist/model/link.d.ts.map +1 -1
- package/dist/model/link.js +7 -7
- package/dist/model/link.js.map +1 -1
- package/dist/model/nestable.d.ts +17 -178
- package/dist/model/nestable.d.ts.map +1 -1
- package/dist/model/nestable.js +2 -2
- package/dist/model/nestable.js.map +1 -1
- package/dist/model/richText.d.ts +3 -7
- package/dist/model/richText.d.ts.map +1 -1
- package/dist/model/richText.js +4 -3
- package/dist/model/richText.js.map +1 -1
- package/dist/model/section.d.ts +3 -3329
- package/dist/model/section.d.ts.map +1 -1
- package/dist/model/select.d.ts +1 -1
- package/dist/model/select.js +1 -1
- package/dist/model/select.js.map +1 -1
- package/dist/model/slice.d.ts +861 -3800
- package/dist/model/slice.d.ts.map +1 -1
- package/dist/model/slice.js +7 -2
- package/dist/model/slice.js.map +1 -1
- package/dist/model/slices.d.ts +3 -2195
- package/dist/model/slices.d.ts.map +1 -1
- package/dist/model/table.d.ts +2 -1
- package/dist/model/table.d.ts.map +1 -1
- package/dist/model/table.js +9 -7
- package/dist/model/table.js.map +1 -1
- package/dist/model/widget.d.ts +6 -3331
- package/dist/model/widget.d.ts.map +1 -1
- package/dist/model/widget.js.map +1 -1
- package/dist/zod4.d.ts +1345 -32523
- package/dist/zod4.d.ts.map +1 -1
- package/dist/zod4.js +125 -119
- package/dist/zod4.js.map +1 -1
- package/package.json +3 -2
- package/src/content/codec/legacyContentCtx.ts +1 -0
- package/src/content/codec/link.ts +8 -8
- package/src/content/codec/richText.ts +10 -6
- package/src/content/codec/slice.ts +3 -1
- package/src/content/field.ts +9 -2
- package/src/content/group.ts +5 -2
- package/src/content/legacy/group.ts +10 -4
- package/src/content/legacy/link.ts +32 -9
- package/src/content/legacy/nestable.ts +26 -2
- package/src/content/legacy/richText.ts +40 -7
- package/src/content/legacy/slice.ts +2 -2
- package/src/content/legacy/widget.ts +6 -2
- package/src/content/link.ts +32 -9
- package/src/content/nestable.ts +40 -2
- package/src/content/richText.ts +31 -9
- package/src/content/slice.ts +2 -2
- package/src/content/slices.ts +5 -3
- package/src/content/widget.ts +6 -2
- package/src/helpers/customTypeModel.ts +6 -3
- package/src/helpers/documentContent.ts +24 -29
- package/src/helpers/traverseContent.ts +32 -27
- package/src/helpers/traverseContentWithModel.ts +35 -27
- package/src/index.ts +11 -3
- package/src/io-ts.ts +173 -134
- package/src/model/group.ts +4 -1
- package/src/model/image.ts +1 -1
- package/src/model/link.ts +39 -45
- package/src/model/nestable.ts +33 -1
- package/src/model/richText.ts +2 -2
- package/src/model/select.ts +2 -2
- package/src/model/slice.ts +36 -9
- package/src/model/table.ts +10 -2
- package/src/model/widget.ts +10 -9
- package/src/zod4.ts +168 -133
|
@@ -1,48 +1,43 @@
|
|
|
1
1
|
import { z } from "zod/mini"
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import type {
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
3
|
+
import { DocumentLegacyCodec } from "../content/codec/document"
|
|
4
|
+
import { defaultCtx } from "../content/codec/legacyContentCtx"
|
|
5
|
+
import type { DocumentContent } from "../content/document"
|
|
6
|
+
import type { DocumentLegacy } from "../content/legacy/document"
|
|
7
|
+
import { DocumentLegacySchema } from "../content/legacy/document"
|
|
8
|
+
import type { WidgetContent } from "../content/widget"
|
|
9
|
+
import type { FieldOrSliceType } from "../model/widget"
|
|
10
|
+
import { FieldOrSliceTypeSchema } from "../model/widget"
|
|
11
|
+
import * as contentPath from "./contentPath"
|
|
12
|
+
import { traverseDocumentContent } from "./traverseContent"
|
|
13
13
|
|
|
14
14
|
export function collectWidgets<TWidgetContent extends WidgetContent>(
|
|
15
15
|
document: DocumentContent,
|
|
16
|
-
test: (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
apiID: string;
|
|
25
|
-
content: TWidgetContent;
|
|
26
|
-
}
|
|
16
|
+
test: (
|
|
17
|
+
content: WidgetContent,
|
|
18
|
+
args: {
|
|
19
|
+
path: contentPath.Path
|
|
20
|
+
key: string
|
|
21
|
+
apiID: string
|
|
22
|
+
},
|
|
23
|
+
) => content is TWidgetContent,
|
|
27
24
|
): Record<string, TWidgetContent> {
|
|
28
25
|
const collected: Record<string, TWidgetContent> = {}
|
|
29
26
|
|
|
30
27
|
traverseDocumentContent(document, {
|
|
31
|
-
transformWidget: (args) => {
|
|
32
|
-
if (test(args)) {
|
|
33
|
-
collected[contentPath.serialize(args.path)] =
|
|
28
|
+
transformWidget: ({ content, ...args }) => {
|
|
29
|
+
if (test(content, args)) {
|
|
30
|
+
collected[contentPath.serialize(args.path)] = content
|
|
34
31
|
}
|
|
35
32
|
|
|
36
|
-
return
|
|
33
|
+
return content
|
|
37
34
|
},
|
|
38
35
|
})
|
|
39
36
|
|
|
40
37
|
return collected
|
|
41
38
|
}
|
|
42
39
|
|
|
43
|
-
export function fromLegacy(
|
|
44
|
-
legacy: DocumentLegacy,
|
|
45
|
-
): DocumentContent | undefined {
|
|
40
|
+
export function fromLegacy(legacy: DocumentLegacy): DocumentContent | undefined {
|
|
46
41
|
const parsed = DocumentLegacySchema.safeParse(legacy)
|
|
47
42
|
if (!parsed.success) {
|
|
48
43
|
return
|
|
@@ -67,7 +62,7 @@ export function fromLegacy(
|
|
|
67
62
|
}
|
|
68
63
|
}
|
|
69
64
|
|
|
70
|
-
const result = DocumentLegacyCodec(defaultCtx("", types, keys)).toContent(
|
|
65
|
+
const result = DocumentLegacyCodec(defaultCtx("", types, keys)).toContent(widgets)
|
|
71
66
|
if (!result.success) {
|
|
72
67
|
return
|
|
73
68
|
}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
import type { StaticCustomTypeModel } from "../model/customType"
|
|
2
|
-
import type { GroupModel, NestedGroupModel } from "../model/group"
|
|
3
|
-
import type { LinkModel } from "../model/link"
|
|
4
|
-
import type { NestableModel } from "../model/nestable"
|
|
5
|
-
import type {
|
|
6
|
-
CompositeSliceModel,
|
|
7
|
-
LegacySliceModel,
|
|
8
|
-
SharedSliceVariationModel,
|
|
9
|
-
} from "../model/slice"
|
|
10
|
-
import type { StaticSlicesModel } from "../model/slices"
|
|
11
|
-
import { TableCellModel } from "../model/table"
|
|
12
|
-
import type { TableModel } from "../model/table"
|
|
13
|
-
import type { StaticWidgetModel } from "../model/widget"
|
|
14
1
|
import type { DocumentContent } from "../content/document"
|
|
15
2
|
import { GroupContentType } from "../content/group"
|
|
16
3
|
import type { GroupContent, GroupItemContent } from "../content/group"
|
|
@@ -30,6 +17,20 @@ import {
|
|
|
30
17
|
} from "../content/slices"
|
|
31
18
|
import { TableContentType, type TableContent } from "../content/table"
|
|
32
19
|
import type { WidgetContent } from "../content/widget"
|
|
20
|
+
import type { StaticCustomTypeModel } from "../model/customType"
|
|
21
|
+
import type { GroupModel, NestedGroupModel } from "../model/group"
|
|
22
|
+
import type { LinkModel } from "../model/link"
|
|
23
|
+
import type { NestableModel } from "../model/nestable"
|
|
24
|
+
import type {
|
|
25
|
+
CompositeSliceModel,
|
|
26
|
+
LegacySliceModel,
|
|
27
|
+
SharedSliceVariationContentModel,
|
|
28
|
+
SliceContentModel,
|
|
29
|
+
} from "../model/slice"
|
|
30
|
+
import type { StaticSlicesModel } from "../model/slices"
|
|
31
|
+
import { TableCellModel } from "../model/table"
|
|
32
|
+
import type { TableModel } from "../model/table"
|
|
33
|
+
import type { StaticWidgetModel } from "../model/widget"
|
|
33
34
|
import * as contentPath from "./contentPath"
|
|
34
35
|
import * as customTypeModel from "./customTypeModel"
|
|
35
36
|
|
|
@@ -90,7 +91,7 @@ export function traverseSlicesContent(
|
|
|
90
91
|
|
|
91
92
|
let traversedSliceItemContent: SliceItemContent | undefined
|
|
92
93
|
if (sliceItemContent.widget.__TYPE__ === SharedSliceContentType) {
|
|
93
|
-
let model:
|
|
94
|
+
let model: SharedSliceVariationContentModel | undefined
|
|
94
95
|
if (sliceModel?.type === "SharedSlice") {
|
|
95
96
|
const variationID = sliceItemContent.widget.variation
|
|
96
97
|
const variationModel = sliceModel.variations.find(
|
|
@@ -152,9 +153,9 @@ export function traverseSlicesContent(
|
|
|
152
153
|
}
|
|
153
154
|
|
|
154
155
|
type TraverseSharedSliceContentConfig = {
|
|
155
|
-
model?:
|
|
156
|
-
transformWidget
|
|
157
|
-
transformSlice
|
|
156
|
+
model?: SharedSliceVariationContentModel
|
|
157
|
+
transformWidget?: TraverseWidgetContentFunction
|
|
158
|
+
transformSlice?: TraverseSliceContentFunction
|
|
158
159
|
}
|
|
159
160
|
|
|
160
161
|
export function traverseSharedSliceContent(
|
|
@@ -164,7 +165,8 @@ export function traverseSharedSliceContent(
|
|
|
164
165
|
content: SharedSliceItemContent,
|
|
165
166
|
config: TraverseSharedSliceContentConfig,
|
|
166
167
|
): SharedSliceItemContent | undefined {
|
|
167
|
-
const { transformWidget, transformSlice } =
|
|
168
|
+
const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =
|
|
169
|
+
config
|
|
168
170
|
|
|
169
171
|
const traversedPrimary: SharedSliceContent["primary"] = {}
|
|
170
172
|
for (const [key, fieldContent] of Object.entries(content.widget.primary)) {
|
|
@@ -206,8 +208,8 @@ export function traverseSharedSliceContent(
|
|
|
206
208
|
|
|
207
209
|
type TraverseCompositeSliceContentConfig = {
|
|
208
210
|
model?: CompositeSliceModel
|
|
209
|
-
transformWidget
|
|
210
|
-
transformSlice
|
|
211
|
+
transformWidget?: TraverseWidgetContentFunction
|
|
212
|
+
transformSlice?: TraverseSliceContentFunction
|
|
211
213
|
}
|
|
212
214
|
|
|
213
215
|
export function traverseCompositeSliceContent(
|
|
@@ -217,7 +219,8 @@ export function traverseCompositeSliceContent(
|
|
|
217
219
|
content: CompositeSliceItemContent,
|
|
218
220
|
config: TraverseCompositeSliceContentConfig,
|
|
219
221
|
): CompositeSliceItemContent | undefined {
|
|
220
|
-
const { transformWidget, transformSlice } =
|
|
222
|
+
const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =
|
|
223
|
+
config
|
|
221
224
|
|
|
222
225
|
const traversedPrimary: CompositeSliceContent["nonRepeat"] = {}
|
|
223
226
|
for (const [key, fieldContent] of Object.entries(content.widget.nonRepeat)) {
|
|
@@ -256,8 +259,8 @@ export function traverseCompositeSliceContent(
|
|
|
256
259
|
|
|
257
260
|
type TraverseLegacySliceContentConfig = {
|
|
258
261
|
model?: LegacySliceModel
|
|
259
|
-
transformWidget
|
|
260
|
-
transformSlice
|
|
262
|
+
transformWidget?: TraverseWidgetContentFunction
|
|
263
|
+
transformSlice?: TraverseSliceContentFunction
|
|
261
264
|
}
|
|
262
265
|
|
|
263
266
|
export function traverseLegacySliceContent(
|
|
@@ -267,7 +270,11 @@ export function traverseLegacySliceContent(
|
|
|
267
270
|
content: LegacySliceItemContent,
|
|
268
271
|
config: TraverseLegacySliceContentConfig,
|
|
269
272
|
): LegacySliceItemContent | undefined {
|
|
270
|
-
const {
|
|
273
|
+
const {
|
|
274
|
+
model,
|
|
275
|
+
transformWidget = (args) => args.content,
|
|
276
|
+
transformSlice = (args) => args.content,
|
|
277
|
+
} = config
|
|
271
278
|
|
|
272
279
|
const traversedContent = traverseWidgetContent(path, key, apiID, content.widget, {
|
|
273
280
|
model,
|
|
@@ -459,7 +466,7 @@ export type TraverseSliceContentFunction = <TContent extends SliceItemContent>(a
|
|
|
459
466
|
key: string
|
|
460
467
|
apiID: string
|
|
461
468
|
content: TContent
|
|
462
|
-
model?:
|
|
469
|
+
model?: SliceContentModel
|
|
463
470
|
}) => TContent | undefined
|
|
464
471
|
|
|
465
472
|
export type TraverseWidgetContentFunction<
|
|
@@ -473,8 +480,6 @@ export type TraverseWidgetContentFunction<
|
|
|
473
480
|
}) => (TContentTransformMode extends "preserve" ? TContent : WidgetContent) | undefined
|
|
474
481
|
|
|
475
482
|
// Internals
|
|
476
|
-
type SliceModel = SharedSliceVariationModel | CompositeSliceModel | LegacySliceModel
|
|
477
|
-
|
|
478
483
|
type TraverseWidgetContentConfig = {
|
|
479
484
|
model?: StaticWidgetModel
|
|
480
485
|
transformWidget?: TraverseWidgetContentFunction
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
import type { StaticCustomTypeModel } from "../model/customType"
|
|
2
|
-
import type { GroupModel, NestedGroupModel } from "../model/group"
|
|
3
|
-
import type { LinkModel } from "../model/link"
|
|
4
|
-
import type { NestableModel } from "../model/nestable"
|
|
5
|
-
import type { CompositeSliceModel, LegacySliceModel, SharedSliceVariationModel } from "../model/slice"
|
|
6
|
-
import type { StaticSlicesModel } from "../model/slices"
|
|
7
|
-
import { TableCellModel } from "../model/table"
|
|
8
|
-
import type { TableModel } from "../model/table"
|
|
9
|
-
import type { StaticWidgetModel } from "../model/widget"
|
|
10
1
|
import type { DocumentContent } from "../content/document"
|
|
11
2
|
import { GroupContentType } from "../content/group"
|
|
12
3
|
import type { GroupContent, GroupItemContent } from "../content/group"
|
|
@@ -26,6 +17,20 @@ import {
|
|
|
26
17
|
} from "../content/slices"
|
|
27
18
|
import { TableContentType, type TableContent } from "../content/table"
|
|
28
19
|
import type { WidgetContent } from "../content/widget"
|
|
20
|
+
import type { StaticCustomTypeModel } from "../model/customType"
|
|
21
|
+
import type { GroupModel, NestedGroupModel } from "../model/group"
|
|
22
|
+
import type { LinkModel } from "../model/link"
|
|
23
|
+
import type { NestableModel } from "../model/nestable"
|
|
24
|
+
import type {
|
|
25
|
+
CompositeSliceModel,
|
|
26
|
+
LegacySliceModel,
|
|
27
|
+
SharedSliceVariationContentModel,
|
|
28
|
+
SliceContentModel,
|
|
29
|
+
} from "../model/slice"
|
|
30
|
+
import type { StaticSlicesModel } from "../model/slices"
|
|
31
|
+
import { TableCellModel } from "../model/table"
|
|
32
|
+
import type { TableModel } from "../model/table"
|
|
33
|
+
import type { StaticWidgetModel } from "../model/widget"
|
|
29
34
|
import * as contentPath from "./contentPath"
|
|
30
35
|
import * as customTypeModel from "./customTypeModel"
|
|
31
36
|
|
|
@@ -101,7 +106,7 @@ export function traverseSlicesContentWithModel(
|
|
|
101
106
|
const variationID = sliceItemContent.widget.variation
|
|
102
107
|
const variationModel = model.variations.find((variation) => variation.id === variationID)
|
|
103
108
|
if (variationModel) {
|
|
104
|
-
const sharedSliceVariationModel:
|
|
109
|
+
const sharedSliceVariationModel: SharedSliceVariationContentModel = {
|
|
105
110
|
type: "SharedSlice",
|
|
106
111
|
sliceName: model.id,
|
|
107
112
|
variationID,
|
|
@@ -161,9 +166,9 @@ export function traverseSlicesContentWithModel(
|
|
|
161
166
|
}
|
|
162
167
|
|
|
163
168
|
type TraverseSharedSliceContentWithModelConfig = {
|
|
164
|
-
model:
|
|
165
|
-
transformWidget
|
|
166
|
-
transformSlice
|
|
169
|
+
model: SharedSliceVariationContentModel
|
|
170
|
+
transformWidget?: TraverseWidgetContentWithModelFunction
|
|
171
|
+
transformSlice?: TraverseSliceContentWithModelFunction
|
|
167
172
|
}
|
|
168
173
|
|
|
169
174
|
export function traverseSharedSliceContentWithModel(
|
|
@@ -173,12 +178,13 @@ export function traverseSharedSliceContentWithModel(
|
|
|
173
178
|
content: SharedSliceItemContent | undefined,
|
|
174
179
|
config: TraverseSharedSliceContentWithModelConfig,
|
|
175
180
|
): SharedSliceItemContent | undefined {
|
|
176
|
-
const { transformWidget, transformSlice } = config
|
|
177
|
-
|
|
178
181
|
if (!content) {
|
|
179
182
|
return
|
|
180
183
|
}
|
|
181
184
|
|
|
185
|
+
const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =
|
|
186
|
+
config
|
|
187
|
+
|
|
182
188
|
const traversedPrimary: SharedSliceContent["primary"] = {}
|
|
183
189
|
for (const [key, model] of Object.entries(config.model.fields.primary ?? {})) {
|
|
184
190
|
const traversedContent = traverseWidgetContentWithModel(
|
|
@@ -217,8 +223,8 @@ export function traverseSharedSliceContentWithModel(
|
|
|
217
223
|
|
|
218
224
|
type TraverseCompositeSliceContentWithModelConfig = {
|
|
219
225
|
model: CompositeSliceModel
|
|
220
|
-
transformWidget
|
|
221
|
-
transformSlice
|
|
226
|
+
transformWidget?: TraverseWidgetContentWithModelFunction
|
|
227
|
+
transformSlice?: TraverseSliceContentWithModelFunction
|
|
222
228
|
}
|
|
223
229
|
|
|
224
230
|
export function traverseCompositeSliceContentWithModel(
|
|
@@ -228,12 +234,13 @@ export function traverseCompositeSliceContentWithModel(
|
|
|
228
234
|
content: CompositeSliceItemContent | undefined,
|
|
229
235
|
config: TraverseCompositeSliceContentWithModelConfig,
|
|
230
236
|
): CompositeSliceItemContent | undefined {
|
|
231
|
-
const { transformWidget, transformSlice } = config
|
|
232
|
-
|
|
233
237
|
if (!content) {
|
|
234
238
|
return
|
|
235
239
|
}
|
|
236
240
|
|
|
241
|
+
const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =
|
|
242
|
+
config
|
|
243
|
+
|
|
237
244
|
const traversedPrimary: CompositeSliceContent["nonRepeat"] = {}
|
|
238
245
|
for (const [key, model] of Object.entries(config.model?.["non-repeat"] ?? {})) {
|
|
239
246
|
const traversedContent = traverseWidgetContentWithModel(
|
|
@@ -269,8 +276,8 @@ export function traverseCompositeSliceContentWithModel(
|
|
|
269
276
|
|
|
270
277
|
type TraverseLegacySliceContentWithModelConfig = {
|
|
271
278
|
model: LegacySliceModel
|
|
272
|
-
transformWidget
|
|
273
|
-
transformSlice
|
|
279
|
+
transformWidget?: TraverseWidgetContentWithModelFunction
|
|
280
|
+
transformSlice?: TraverseSliceContentWithModelFunction
|
|
274
281
|
}
|
|
275
282
|
|
|
276
283
|
export function traverseLegacySliceContentWithModel(
|
|
@@ -280,12 +287,16 @@ export function traverseLegacySliceContentWithModel(
|
|
|
280
287
|
content: LegacySliceItemContent | undefined,
|
|
281
288
|
config: TraverseLegacySliceContentWithModelConfig,
|
|
282
289
|
): LegacySliceItemContent | undefined {
|
|
283
|
-
const { model, transformWidget, transformSlice } = config
|
|
284
|
-
|
|
285
290
|
if (!content) {
|
|
286
291
|
return
|
|
287
292
|
}
|
|
288
293
|
|
|
294
|
+
const {
|
|
295
|
+
model,
|
|
296
|
+
transformWidget = (args) => args.content,
|
|
297
|
+
transformSlice = (args) => args.content,
|
|
298
|
+
} = config
|
|
299
|
+
|
|
289
300
|
const traversedContent = traverseWidgetContentWithModel(path, key, apiID, content.widget, {
|
|
290
301
|
model,
|
|
291
302
|
transformWidget,
|
|
@@ -503,15 +514,12 @@ export function traverseTableContentWithModel(
|
|
|
503
514
|
}
|
|
504
515
|
|
|
505
516
|
// Internals
|
|
506
|
-
|
|
507
|
-
type SliceModel = SharedSliceVariationModel | CompositeSliceModel | LegacySliceModel
|
|
508
|
-
|
|
509
517
|
export type TraverseSliceContentWithModelFunction = <TContent extends SliceItemContent>(args: {
|
|
510
518
|
path: contentPath.Path
|
|
511
519
|
key: string
|
|
512
520
|
apiID: string
|
|
513
521
|
content?: TContent
|
|
514
|
-
model:
|
|
522
|
+
model: SliceContentModel
|
|
515
523
|
}) => TContent | undefined
|
|
516
524
|
|
|
517
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,
|
|
@@ -35,7 +35,13 @@ export type {
|
|
|
35
35
|
SharedSliceContent,
|
|
36
36
|
SliceContent,
|
|
37
37
|
} from "./content/slice"
|
|
38
|
-
export type {
|
|
38
|
+
export type {
|
|
39
|
+
LegacySliceItemContent,
|
|
40
|
+
CompositeSliceItemContent,
|
|
41
|
+
SharedSliceItemContent,
|
|
42
|
+
SliceItemContent,
|
|
43
|
+
SlicesContent,
|
|
44
|
+
} from "./content/slices"
|
|
39
45
|
export type { TableContent } from "./content/table"
|
|
40
46
|
export type { UIDContent } from "./content/uid"
|
|
41
47
|
export type { WidgetContent } from "./content/widget"
|
|
@@ -63,13 +69,15 @@ export type {
|
|
|
63
69
|
CompositeSliceModel,
|
|
64
70
|
SharedSliceModel,
|
|
65
71
|
SharedSliceRefModel,
|
|
66
|
-
SharedSliceVariationModel,
|
|
72
|
+
SharedSliceVariationContentModel as SharedSliceVariationModel,
|
|
67
73
|
StaticSliceModel,
|
|
68
74
|
DynamicSliceModel,
|
|
75
|
+
SliceContentModel,
|
|
69
76
|
SliceModelType,
|
|
70
77
|
} from "./model/slice"
|
|
71
78
|
export type { DynamicSlicesModel, StaticSlicesModel } from "./model/slices"
|
|
72
79
|
export type { TableModel } from "./model/table"
|
|
80
|
+
export { TableCellModelNodeTypes } from "./model/table"
|
|
73
81
|
export type { TextModel } from "./model/text"
|
|
74
82
|
export type { TimestampModel } from "./model/timestamp"
|
|
75
83
|
export type { UIDModel } from "./model/uid"
|