@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.d.ts","names":[],"sources":["../../src/content/widget.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"widget.d.ts","names":[],"sources":["../../src/content/widget.ts"],"mappings":";;;;;;;KAkBY,aAAA,GAAgB,YAAA,GAAe,eAAA,GAAkB,UAAA,GAAa,aAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","names":[],"sources":["../../src/content/widget.ts"],"sourcesContent":["import { z } from \"zod/mini\"\n\nimport { GroupContentSchema } from \"./group\"\nimport { NestableContentSchema } from \"./nestable\"\nimport { SlicesContentSchema } from \"./slices\"\nimport { UIDContentSchema } from \"./uid\"\n\nexport const WidgetContentSchema = z.union([\n\tGroupContentSchema,\n\tNestableContentSchema,\n\tUIDContentSchema,\n\tSlicesContentSchema,\n])\n\nexport type WidgetContent =
|
|
1
|
+
{"version":3,"file":"widget.js","names":[],"sources":["../../src/content/widget.ts"],"sourcesContent":["import { z } from \"zod/mini\"\n\nimport type { GroupContent } from \"./group\"\nimport { GroupContentSchema } from \"./group\"\nimport type { NestableContent } from \"./nestable\"\nimport { NestableContentSchema } from \"./nestable\"\nimport type { SlicesContent } from \"./slices\"\nimport { SlicesContentSchema } from \"./slices\"\nimport type { UIDContent } from \"./uid\"\nimport { UIDContentSchema } from \"./uid\"\n\nexport const WidgetContentSchema: z.ZodMiniType<WidgetContent> = z.union([\n\tGroupContentSchema,\n\tNestableContentSchema,\n\tUIDContentSchema,\n\tSlicesContentSchema,\n])\n\nexport type WidgetContent = GroupContent | NestableContent | UIDContent | SlicesContent\n\nexport type ContentType = WidgetContent[\"__TYPE__\"]\n"],"mappings":";;;;;;AAWA,MAAa,sBAAoD,EAAE,MAAM;CACxE;CACA;CACA;CACA;CACA,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { SharedSliceModel } from "../model/slice.js";
|
|
1
2
|
import { CustomTypeModel, StaticCustomTypeModel } from "../model/customType.js";
|
|
2
3
|
import { StaticSectionModel } from "../model/section.js";
|
|
3
|
-
import { SharedSliceModel } from "../model/slice.js";
|
|
4
4
|
|
|
5
5
|
//#region src/helpers/customTypeModel.d.ts
|
|
6
6
|
declare namespace customTypeModel_d_exports {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customTypeModel.d.ts","names":[],"sources":["../../src/helpers/customTypeModel.ts"],"mappings":";;;;;;;;iBAIgB,QAAA,CACf,UAAA,EAAY,eAAA,EACZ,YAAA,EAAc,GAAA,SAAY,gBAAA,IAAoB,MAAA,SAAe,gBAAA,IAC3D,qBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"customTypeModel.d.ts","names":[],"sources":["../../src/helpers/customTypeModel.ts"],"mappings":";;;;;;;;iBAIgB,QAAA,CACf,UAAA,EAAY,eAAA,EACZ,YAAA,EAAc,GAAA,SAAY,gBAAA,IAAoB,MAAA,SAAe,gBAAA,IAC3D,qBAAA;AAAA,iBAwCa,OAAA,CAAQ,UAAA,EAAY,qBAAA,GAAwB,kBAAA;AAAA,iBAI5C,mBAAA,CACf,UAAA,EAAY,qBAAA,GACV,MAAA,SAAe,gBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customTypeModel.js","names":[],"sources":["../../src/helpers/customTypeModel.ts"],"sourcesContent":["import type { CustomTypeModel, StaticCustomTypeModel } from \"../model/customType\"\nimport type { StaticSectionModel } from \"../model/section\"\nimport type { SharedSliceModel, StaticSliceModel } from \"../model/slice\"\n\nexport function toStatic(\n\tcustomType: CustomTypeModel,\n\tsharedSlices: Map<string, SharedSliceModel> | Record<string, SharedSliceModel>,\n): StaticCustomTypeModel {\n\tconst json: StaticCustomTypeModel[\"json\"] = {}\n\n\tconst sharedSlicesMap
|
|
1
|
+
{"version":3,"file":"customTypeModel.js","names":[],"sources":["../../src/helpers/customTypeModel.ts"],"sourcesContent":["import type { CustomTypeModel, StaticCustomTypeModel } from \"../model/customType\"\nimport type { StaticSectionModel } from \"../model/section\"\nimport type { SharedSliceModel, StaticSliceModel } from \"../model/slice\"\n\nexport function toStatic(\n\tcustomType: CustomTypeModel,\n\tsharedSlices: Map<string, SharedSliceModel> | Record<string, SharedSliceModel>,\n): StaticCustomTypeModel {\n\tconst json: StaticCustomTypeModel[\"json\"] = {}\n\n\tconst sharedSlicesMap =\n\t\tsharedSlices instanceof Map ? sharedSlices : new Map(Object.entries(sharedSlices))\n\n\tfor (const [tabKey, tab] of Object.entries(customType.json)) {\n\t\tconst tabJSON: StaticCustomTypeModel[\"json\"][string] = {}\n\t\tfor (const [key, widget] of Object.entries(tab)) {\n\t\t\tswitch (widget.type) {\n\t\t\t\tcase \"Slices\":\n\t\t\t\tcase \"Choice\":\n\t\t\t\t\tconst choices: Record<string, StaticSliceModel> = {}\n\t\t\t\t\tfor (const [id, model] of Object.entries(widget.config?.choices || {})) {\n\t\t\t\t\t\tif (model.type === \"SharedSlice\") {\n\t\t\t\t\t\t\tconst sharedSlice = sharedSlicesMap.get(id)\n\t\t\t\t\t\t\tif (sharedSlice) {\n\t\t\t\t\t\t\t\tchoices[id] = sharedSlice\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchoices[id] = model\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\ttabJSON[key] = {\n\t\t\t\t\t\t...widget,\n\t\t\t\t\t\tconfig: { ...widget.config, choices },\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\ttabJSON[key] = widget\n\t\t\t}\n\t\t}\n\n\t\tjson[tabKey] = tabJSON\n\t}\n\n\treturn { ...customType, json }\n}\n\nexport function flatten(customType: StaticCustomTypeModel): StaticSectionModel {\n\treturn Object.values(customType.json).reduce((acc, fields) => ({ ...acc, ...fields }), {})\n}\n\nexport function collectSharedSlices(\n\tcustomType: StaticCustomTypeModel,\n): Record<string, SharedSliceModel> {\n\tconst sharedSlices: Record<string, SharedSliceModel> = {}\n\n\tconst flattened = flatten(customType)\n\tfor (const widget of Object.values(flattened)) {\n\t\tif (widget.type === \"Slices\" || widget.type === \"Choice\") {\n\t\t\tfor (const [id, model] of Object.entries(widget.config?.choices || {})) {\n\t\t\t\tif (model.type === \"SharedSlice\") {\n\t\t\t\t\tsharedSlices[id] = model\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn sharedSlices\n}\n"],"mappings":";;;;;;;AAIA,SAAgB,SACf,YACA,cACwB;CACxB,MAAM,OAAsC,EAAE;CAE9C,MAAM,kBACL,wBAAwB,MAAM,eAAe,IAAI,IAAI,OAAO,QAAQ,aAAa,CAAC;AAEnF,MAAK,MAAM,CAAC,QAAQ,QAAQ,OAAO,QAAQ,WAAW,KAAK,EAAE;EAC5D,MAAM,UAAiD,EAAE;AACzD,OAAK,MAAM,CAAC,KAAK,WAAW,OAAO,QAAQ,IAAI,CAC9C,SAAQ,OAAO,MAAf;GACC,KAAK;GACL,KAAK;IACJ,MAAM,UAA4C,EAAE;AACpD,SAAK,MAAM,CAAC,IAAI,UAAU,OAAO,QAAQ,OAAO,QAAQ,WAAW,EAAE,CAAC,CACrE,KAAI,MAAM,SAAS,eAAe;KACjC,MAAM,cAAc,gBAAgB,IAAI,GAAG;AAC3C,SAAI,YACH,SAAQ,MAAM;UAGf,SAAQ,MAAM;AAIhB,YAAQ,OAAO;KACd,GAAG;KACH,QAAQ;MAAE,GAAG,OAAO;MAAQ;MAAS;KACrC;AACD;GACD,QACC,SAAQ,OAAO;;AAIlB,OAAK,UAAU;;AAGhB,QAAO;EAAE,GAAG;EAAY;EAAM;;AAG/B,SAAgB,QAAQ,YAAuD;AAC9E,QAAO,OAAO,OAAO,WAAW,KAAK,CAAC,QAAQ,KAAK,YAAY;EAAE,GAAG;EAAK,GAAG;EAAQ,GAAG,EAAE,CAAC;;AAG3F,SAAgB,oBACf,YACmC;CACnC,MAAM,eAAiD,EAAE;CAEzD,MAAM,YAAY,QAAQ,WAAW;AACrC,MAAK,MAAM,UAAU,OAAO,OAAO,UAAU,CAC5C,KAAI,OAAO,SAAS,YAAY,OAAO,SAAS;OAC1C,MAAM,CAAC,IAAI,UAAU,OAAO,QAAQ,OAAO,QAAQ,WAAW,EAAE,CAAC,CACrE,KAAI,MAAM,SAAS,cAClB,cAAa,MAAM;;AAMvB,QAAO"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DocumentContent } from "../content/document.js";
|
|
2
1
|
import { WidgetContent } from "../content/widget.js";
|
|
2
|
+
import { DocumentContent } from "../content/document.js";
|
|
3
3
|
import { Path } from "./contentPath.js";
|
|
4
4
|
import { DocumentLegacy } from "../content/legacy/document.js";
|
|
5
5
|
|
|
@@ -7,17 +7,11 @@ import { DocumentLegacy } from "../content/legacy/document.js";
|
|
|
7
7
|
declare namespace documentContent_d_exports {
|
|
8
8
|
export { collectWidgets, fromLegacy, toLegacy };
|
|
9
9
|
}
|
|
10
|
-
declare function collectWidgets<TWidgetContent extends WidgetContent>(document: DocumentContent, test: (args: {
|
|
11
|
-
path: Path;
|
|
12
|
-
key: string;
|
|
13
|
-
apiID: string;
|
|
14
|
-
content: WidgetContent;
|
|
15
|
-
}) => args is {
|
|
10
|
+
declare function collectWidgets<TWidgetContent extends WidgetContent>(document: DocumentContent, test: (content: WidgetContent, args: {
|
|
16
11
|
path: Path;
|
|
17
12
|
key: string;
|
|
18
13
|
apiID: string;
|
|
19
|
-
|
|
20
|
-
}): Record<string, TWidgetContent>;
|
|
14
|
+
}) => content is TWidgetContent): Record<string, TWidgetContent>;
|
|
21
15
|
declare function fromLegacy(legacy: DocumentLegacy): DocumentContent | undefined;
|
|
22
16
|
declare function toLegacy(document: DocumentContent): DocumentLegacy;
|
|
23
17
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentContent.d.ts","names":[],"sources":["../../src/helpers/documentContent.ts"],"mappings":";;;;;;;;;iBAagB,cAAA,wBAAsC,aAAA,CAAA,CACrD,QAAA,EAAU,eAAA,EACV,IAAA,
|
|
1
|
+
{"version":3,"file":"documentContent.d.ts","names":[],"sources":["../../src/helpers/documentContent.ts"],"mappings":";;;;;;;;;iBAagB,cAAA,wBAAsC,aAAA,CAAA,CACrD,QAAA,EAAU,eAAA,EACV,IAAA,GACC,OAAA,EAAS,aAAA,EACT,IAAA;EACC,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;AAAA,MAEG,OAAA,IAAW,cAAA,GACd,MAAA,SAAe,cAAA;AAAA,iBAgBF,UAAA,CAAW,MAAA,EAAQ,cAAA,GAAiB,eAAA;AAAA,iBAiCpC,QAAA,CAAS,QAAA,EAAU,eAAA,GAAkB,cAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { defaultCtx } from "../content/codec/legacyContentCtx.js";
|
|
3
3
|
import { serialize } from "./contentPath.js";
|
|
4
|
-
import { traverseDocumentContent } from "./traverseContent.js";
|
|
5
4
|
import { DocumentLegacySchema } from "../content/legacy/document.js";
|
|
6
5
|
import { DocumentLegacyCodec } from "../content/codec/document.js";
|
|
7
6
|
import { FieldOrSliceTypeSchema } from "../model/widget.js";
|
|
7
|
+
import { traverseDocumentContent } from "./traverseContent.js";
|
|
8
8
|
import { z } from "zod/mini";
|
|
9
9
|
//#region src/helpers/documentContent.ts
|
|
10
10
|
var documentContent_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -14,9 +14,9 @@ var documentContent_exports = /* @__PURE__ */ __exportAll({
|
|
|
14
14
|
});
|
|
15
15
|
function collectWidgets(document, test) {
|
|
16
16
|
const collected = {};
|
|
17
|
-
traverseDocumentContent(document, { transformWidget: (args) => {
|
|
18
|
-
if (test(args)) collected[serialize(args.path)] =
|
|
19
|
-
return
|
|
17
|
+
traverseDocumentContent(document, { transformWidget: ({ content, ...args }) => {
|
|
18
|
+
if (test(content, args)) collected[serialize(args.path)] = content;
|
|
19
|
+
return content;
|
|
20
20
|
} });
|
|
21
21
|
return collected;
|
|
22
22
|
}
|
|
@@ -33,7 +33,7 @@ function fromLegacy(legacy) {
|
|
|
33
33
|
const parsed = z.uuidv4().safeParse(value);
|
|
34
34
|
if (parsed.success) keys.set(key.substring(0, key.length - 4), parsed.data);
|
|
35
35
|
} else if (!key.endsWith("_POSITION")) widgets[key] = value;
|
|
36
|
-
const result = DocumentLegacyCodec(defaultCtx("", types, keys)).toContent(
|
|
36
|
+
const result = DocumentLegacyCodec(defaultCtx("", types, keys)).toContent(widgets);
|
|
37
37
|
if (!result.success) return;
|
|
38
38
|
return result.data;
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentContent.js","names":["contentPath.serialize"],"sources":["../../src/helpers/documentContent.ts"],"sourcesContent":["import { z } from \"zod/mini\"\n\nimport
|
|
1
|
+
{"version":3,"file":"documentContent.js","names":["contentPath.serialize"],"sources":["../../src/helpers/documentContent.ts"],"sourcesContent":["import { z } from \"zod/mini\"\n\nimport { DocumentLegacyCodec } from \"../content/codec/document\"\nimport { defaultCtx } from \"../content/codec/legacyContentCtx\"\nimport type { DocumentContent } from \"../content/document\"\nimport type { DocumentLegacy } from \"../content/legacy/document\"\nimport { DocumentLegacySchema } from \"../content/legacy/document\"\nimport type { WidgetContent } from \"../content/widget\"\nimport type { FieldOrSliceType } from \"../model/widget\"\nimport { FieldOrSliceTypeSchema } from \"../model/widget\"\nimport * as contentPath from \"./contentPath\"\nimport { traverseDocumentContent } from \"./traverseContent\"\n\nexport function collectWidgets<TWidgetContent extends WidgetContent>(\n\tdocument: DocumentContent,\n\ttest: (\n\t\tcontent: WidgetContent,\n\t\targs: {\n\t\t\tpath: contentPath.Path\n\t\t\tkey: string\n\t\t\tapiID: string\n\t\t},\n\t) => content is TWidgetContent,\n): Record<string, TWidgetContent> {\n\tconst collected: Record<string, TWidgetContent> = {}\n\n\ttraverseDocumentContent(document, {\n\t\ttransformWidget: ({ content, ...args }) => {\n\t\t\tif (test(content, args)) {\n\t\t\t\tcollected[contentPath.serialize(args.path)] = content\n\t\t\t}\n\n\t\t\treturn content\n\t\t},\n\t})\n\n\treturn collected\n}\n\nexport function fromLegacy(legacy: DocumentLegacy): DocumentContent | undefined {\n\tconst parsed = DocumentLegacySchema.safeParse(legacy)\n\tif (!parsed.success) {\n\t\treturn\n\t}\n\n\tconst types = new Map<string, FieldOrSliceType>()\n\tconst keys = new Map<string, string>()\n\tconst widgets: DocumentLegacy = {}\n\tfor (const [key, value] of Object.entries(parsed.data)) {\n\t\tif (key.endsWith(\"_TYPE\")) {\n\t\t\tconst parsed = FieldOrSliceTypeSchema.safeParse(value)\n\t\t\tif (parsed.success) {\n\t\t\t\ttypes.set(key.substring(0, key.length - 5), parsed.data)\n\t\t\t}\n\t\t} else if (key.endsWith(\"_KEY\")) {\n\t\t\tconst parsed = z.uuidv4().safeParse(value)\n\t\t\tif (parsed.success) {\n\t\t\t\tkeys.set(key.substring(0, key.length - 4), parsed.data)\n\t\t\t}\n\t\t} else if (!key.endsWith(\"_POSITION\")) {\n\t\t\twidgets[key] = value\n\t\t}\n\t}\n\n\tconst result = DocumentLegacyCodec(defaultCtx(\"\", types, keys)).toContent(widgets)\n\tif (!result.success) {\n\t\treturn\n\t}\n\n\treturn result.data\n}\n\nexport function toLegacy(document: DocumentContent): DocumentLegacy {\n\tconst { content, types, keys } = DocumentLegacyCodec(defaultCtx(\"\")).fromContent(document)\n\n\treturn { ...content, ...types, ...keys }\n}\n"],"mappings":";;;;;;;;;;;;;;AAaA,SAAgB,eACf,UACA,MAQiC;CACjC,MAAM,YAA4C,EAAE;AAEpD,yBAAwB,UAAU,EACjC,kBAAkB,EAAE,SAAS,GAAG,WAAW;AAC1C,MAAI,KAAK,SAAS,KAAK,CACtB,WAAUA,UAAsB,KAAK,KAAK,IAAI;AAG/C,SAAO;IAER,CAAC;AAEF,QAAO;;AAGR,SAAgB,WAAW,QAAqD;CAC/E,MAAM,SAAS,qBAAqB,UAAU,OAAO;AACrD,KAAI,CAAC,OAAO,QACX;CAGD,MAAM,wBAAQ,IAAI,KAA+B;CACjD,MAAM,uBAAO,IAAI,KAAqB;CACtC,MAAM,UAA0B,EAAE;AAClC,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,KAAK,CACrD,KAAI,IAAI,SAAS,QAAQ,EAAE;EAC1B,MAAM,SAAS,uBAAuB,UAAU,MAAM;AACtD,MAAI,OAAO,QACV,OAAM,IAAI,IAAI,UAAU,GAAG,IAAI,SAAS,EAAE,EAAE,OAAO,KAAK;YAE/C,IAAI,SAAS,OAAO,EAAE;EAChC,MAAM,SAAS,EAAE,QAAQ,CAAC,UAAU,MAAM;AAC1C,MAAI,OAAO,QACV,MAAK,IAAI,IAAI,UAAU,GAAG,IAAI,SAAS,EAAE,EAAE,OAAO,KAAK;YAE9C,CAAC,IAAI,SAAS,YAAY,CACpC,SAAQ,OAAO;CAIjB,MAAM,SAAS,oBAAoB,WAAW,IAAI,OAAO,KAAK,CAAC,CAAC,UAAU,QAAQ;AAClF,KAAI,CAAC,OAAO,QACX;AAGD,QAAO,OAAO;;AAGf,SAAgB,SAAS,UAA2C;CACnE,MAAM,EAAE,SAAS,OAAO,SAAS,oBAAoB,WAAW,GAAG,CAAC,CAAC,YAAY,SAAS;AAE1F,QAAO;EAAE,GAAG;EAAS,GAAG;EAAO,GAAG;EAAM"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LinkModel } from "../model/link.js";
|
|
2
|
+
import { TableModel } from "../model/table.js";
|
|
2
3
|
import { NestableModel } from "../model/nestable.js";
|
|
3
|
-
import {
|
|
4
|
-
import { DocumentContent } from "../content/document.js";
|
|
4
|
+
import { GroupModel, NestedGroupModel } from "../model/group.js";
|
|
5
5
|
import { RepeatableContent } from "../content/repeatable.js";
|
|
6
|
-
import { CompositeSliceItemContent, LegacySliceItemContent, SharedSliceItemContent, SliceItemContent, SlicesContent } from "../content/slices.js";
|
|
7
6
|
import { TableContent } from "../content/table.js";
|
|
7
|
+
import { GroupContent, GroupItemContent } from "../content/group.js";
|
|
8
|
+
import { CompositeSliceItemContent, LegacySliceItemContent, SharedSliceItemContent, SliceItemContent, SlicesContent } from "../content/slices.js";
|
|
8
9
|
import { WidgetContent } from "../content/widget.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { CompositeSliceModel, LegacySliceModel, SharedSliceVariationModel } from "../model/slice.js";
|
|
10
|
+
import { DocumentContent } from "../content/document.js";
|
|
11
|
+
import { CompositeSliceModel, LegacySliceModel, SharedSliceVariationContentModel, SliceContentModel } from "../model/slice.js";
|
|
12
12
|
import { StaticSlicesModel } from "../model/slices.js";
|
|
13
|
-
import { TableModel } from "../model/table.js";
|
|
14
13
|
import { StaticWidgetModel } from "../model/widget.js";
|
|
14
|
+
import { StaticCustomTypeModel } from "../model/customType.js";
|
|
15
15
|
import { Path } from "./contentPath.js";
|
|
16
16
|
|
|
17
17
|
//#region src/helpers/traverseContent.d.ts
|
|
@@ -28,21 +28,21 @@ type TraverseSlicesContentConfig = {
|
|
|
28
28
|
};
|
|
29
29
|
declare function traverseSlicesContent(path: Path, key: string, apiID: string, content: SlicesContent, config: TraverseSlicesContentConfig): SlicesContent | undefined;
|
|
30
30
|
type TraverseSharedSliceContentConfig = {
|
|
31
|
-
model?:
|
|
32
|
-
transformWidget
|
|
33
|
-
transformSlice
|
|
31
|
+
model?: SharedSliceVariationContentModel;
|
|
32
|
+
transformWidget?: TraverseWidgetContentFunction;
|
|
33
|
+
transformSlice?: TraverseSliceContentFunction;
|
|
34
34
|
};
|
|
35
35
|
declare function traverseSharedSliceContent(path: Path, key: string, apiID: string, content: SharedSliceItemContent, config: TraverseSharedSliceContentConfig): SharedSliceItemContent | undefined;
|
|
36
36
|
type TraverseCompositeSliceContentConfig = {
|
|
37
37
|
model?: CompositeSliceModel;
|
|
38
|
-
transformWidget
|
|
39
|
-
transformSlice
|
|
38
|
+
transformWidget?: TraverseWidgetContentFunction;
|
|
39
|
+
transformSlice?: TraverseSliceContentFunction;
|
|
40
40
|
};
|
|
41
41
|
declare function traverseCompositeSliceContent(path: Path, key: string, apiID: string, content: CompositeSliceItemContent, config: TraverseCompositeSliceContentConfig): CompositeSliceItemContent | undefined;
|
|
42
42
|
type TraverseLegacySliceContentConfig = {
|
|
43
43
|
model?: LegacySliceModel;
|
|
44
|
-
transformWidget
|
|
45
|
-
transformSlice
|
|
44
|
+
transformWidget?: TraverseWidgetContentFunction;
|
|
45
|
+
transformSlice?: TraverseSliceContentFunction;
|
|
46
46
|
};
|
|
47
47
|
declare function traverseLegacySliceContent(path: Path, key: string, apiID: string, content: LegacySliceItemContent, config: TraverseLegacySliceContentConfig): LegacySliceItemContent | undefined;
|
|
48
48
|
type TraverseGroupContentConfig = {
|
|
@@ -70,7 +70,7 @@ type TraverseSliceContentFunction = <TContent extends SliceItemContent>(args: {
|
|
|
70
70
|
key: string;
|
|
71
71
|
apiID: string;
|
|
72
72
|
content: TContent;
|
|
73
|
-
model?:
|
|
73
|
+
model?: SliceContentModel;
|
|
74
74
|
}) => TContent | undefined;
|
|
75
75
|
type TraverseWidgetContentFunction<TContentTransformMode extends "preserve" | "widen" = "preserve"> = <TContent extends WidgetContent>(args: {
|
|
76
76
|
path: Path;
|
|
@@ -79,7 +79,6 @@ type TraverseWidgetContentFunction<TContentTransformMode extends "preserve" | "w
|
|
|
79
79
|
content: TContent;
|
|
80
80
|
model?: StaticWidgetModel;
|
|
81
81
|
}) => (TContentTransformMode extends "preserve" ? TContent : WidgetContent) | undefined;
|
|
82
|
-
type SliceModel = SharedSliceVariationModel | CompositeSliceModel | LegacySliceModel;
|
|
83
82
|
//#endregion
|
|
84
83
|
export { TraverseSliceContentFunction, TraverseWidgetContentFunction, traverseCompositeSliceContent, traverseDocumentContent, traverseGroupContent, traverseGroupItemsContent, traverseLegacySliceContent, traverseRepeatableContent, traverseSharedSliceContent, traverseSlicesContent, traverseTableContent };
|
|
85
84
|
//# sourceMappingURL=traverseContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverseContent.d.ts","names":[],"sources":["../../src/helpers/traverseContent.ts"],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"traverseContent.d.ts","names":[],"sources":["../../src/helpers/traverseContent.ts"],"mappings":";;;;;;;;;;;;;;;;;KAoCK,6BAAA;EACJ,KAAA,GAAQ,qBAAA;EACR,eAAA,GAAkB,6BAAA;EAClB,cAAA,GAAiB,4BAAA;AAAA;AAAA,iBAGF,uBAAA,CACf,QAAA,EAAU,eAAA,EACV,MAAA,EAAQ,6BAAA,GACN,eAAA;AAAA,KA0BE,2BAAA;EACJ,KAAA,GAAQ,iBAAA;EACR,eAAA,GAAkB,6BAAA;EAClB,cAAA,GAAiB,4BAAA;AAAA;AAAA,iBAGF,qBAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,aAAA,EACT,MAAA,EAAQ,2BAAA,GACN,aAAA;AAAA,KAuEE,gCAAA;EACJ,KAAA,GAAQ,gCAAA;EACR,eAAA,GAAkB,6BAAA;EAClB,cAAA,GAAiB,4BAAA;AAAA;AAAA,iBAGF,0BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,sBAAA,EACT,MAAA,EAAQ,gCAAA,GACN,sBAAA;AAAA,KA0CE,mCAAA;EACJ,KAAA,GAAQ,mBAAA;EACR,eAAA,GAAkB,6BAAA;EAClB,cAAA,GAAiB,4BAAA;AAAA;AAAA,iBAGF,6BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,yBAAA,EACT,MAAA,EAAQ,mCAAA,GACN,yBAAA;AAAA,KAuCE,gCAAA;EACJ,KAAA,GAAQ,gBAAA;EACR,eAAA,GAAkB,6BAAA;EAClB,cAAA,GAAiB,4BAAA;AAAA;AAAA,iBAGF,0BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,sBAAA,EACT,MAAA,EAAQ,gCAAA,GACN,sBAAA;AAAA,KA2BE,0BAAA;EACJ,KAAA,GAAQ,UAAA;EACR,eAAA,EAAiB,6BAAA;AAAA;AAAA,iBAGF,oBAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,YAAA,EACT,MAAA,EAAQ,0BAAA,GACN,YAAA;AAAA,KAiBE,+BAAA;EACJ,KAAA,GAAQ,MAAA,SAAe,gBAAA,GAAmB,aAAA;EAC1C,eAAA,EAAiB,6BAAA;AAAA;AAAA,iBAGF,yBAAA,CACf,IAAA,EAAM,IAAA,EACN,OAAA,EAAS,gBAAA,IACT,MAAA,EAAQ,+BAAA,GACN,gBAAA;AAAA,KAgCE,+BAAA;EACJ,KAAA,GAAQ,SAAA;EACR,eAAA,EAAiB,6BAAA;AAAA;AAAA,iBAGF,yBAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,iBAAA,EACT,MAAA,EAAQ,+BAAA,GACN,iBAAA;AAAA,KA+BE,0BAAA;EACJ,KAAA,GAAQ,UAAA;EACR,eAAA,EAAiB,6BAAA;AAAA;AAAA,iBAGF,oBAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,YAAA,EACT,MAAA,EAAQ,0BAAA,GACN,YAAA;AAAA,KA2CS,4BAAA,qBAAiD,gBAAA,EAAkB,IAAA;EAC9E,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,EAAS,QAAA;EACT,KAAA,GAAQ,iBAAA;AAAA,MACH,QAAA;AAAA,KAEM,6BAAA,sFAEU,aAAA,EAAe,IAAA;EACpC,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,EAAS,QAAA;EACT,KAAA,GAAQ,iBAAA;AAAA,OACF,qBAAA,sBAA2C,QAAA,GAAW,aAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { TableCellModel } from "../model/table.js";
|
|
1
2
|
import { make } from "./contentPath.js";
|
|
2
3
|
import { flatten } from "./customTypeModel.js";
|
|
3
|
-
import { TableCellModel } from "../model/table.js";
|
|
4
4
|
import { isRepeatableContentValue } from "../content/repeatable.js";
|
|
5
5
|
import { RichTextContentType } from "../content/richText.js";
|
|
6
6
|
import "../content/table.js";
|
|
@@ -93,7 +93,7 @@ function traverseSlicesContent(path, key, apiID, content, config) {
|
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
function traverseSharedSliceContent(path, key, apiID, content, config) {
|
|
96
|
-
const { transformWidget, transformSlice } = config;
|
|
96
|
+
const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
|
|
97
97
|
const traversedPrimary = {};
|
|
98
98
|
for (const [key, fieldContent] of Object.entries(content.widget.primary)) {
|
|
99
99
|
const model = config.model?.fields.primary?.[key];
|
|
@@ -132,7 +132,7 @@ function traverseSharedSliceContent(path, key, apiID, content, config) {
|
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
function traverseCompositeSliceContent(path, key, apiID, content, config) {
|
|
135
|
-
const { transformWidget, transformSlice } = config;
|
|
135
|
+
const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
|
|
136
136
|
const traversedPrimary = {};
|
|
137
137
|
for (const [key, fieldContent] of Object.entries(content.widget.nonRepeat)) {
|
|
138
138
|
const model = config.model?.["non-repeat"]?.[key];
|
|
@@ -171,7 +171,7 @@ function traverseCompositeSliceContent(path, key, apiID, content, config) {
|
|
|
171
171
|
});
|
|
172
172
|
}
|
|
173
173
|
function traverseLegacySliceContent(path, key, apiID, content, config) {
|
|
174
|
-
const { model, transformWidget, transformSlice } = config;
|
|
174
|
+
const { model, transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
|
|
175
175
|
const traversedContent = traverseWidgetContent(path, key, apiID, content.widget, {
|
|
176
176
|
model,
|
|
177
177
|
transformWidget,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverseContent.js","names":["customTypeModel.flatten","contentPath.make"],"sources":["../../src/helpers/traverseContent.ts"],"sourcesContent":["import type { StaticCustomTypeModel } from \"../model/customType\"\nimport type { GroupModel, NestedGroupModel } from \"../model/group\"\nimport type { LinkModel } from \"../model/link\"\nimport type { NestableModel } from \"../model/nestable\"\nimport type {\n\tCompositeSliceModel,\n\tLegacySliceModel,\n\tSharedSliceVariationModel,\n} from \"../model/slice\"\nimport type { StaticSlicesModel } from \"../model/slices\"\nimport { TableCellModel } from \"../model/table\"\nimport type { TableModel } from \"../model/table\"\nimport type { StaticWidgetModel } from \"../model/widget\"\nimport type { DocumentContent } from \"../content/document\"\nimport { GroupContentType } from \"../content/group\"\nimport type { GroupContent, GroupItemContent } from \"../content/group\"\nimport { isNestableContent } from \"../content/nestable\"\nimport { isRepeatableContentValue, RepeatableContentType } from \"../content/repeatable\"\nimport type { RepeatableContent } from \"../content/repeatable\"\nimport { RichTextContentType } from \"../content/richText\"\nimport { CompositeSliceContentType, SharedSliceContentType } from \"../content/slice\"\nimport type { CompositeSliceContent, SharedSliceContent } from \"../content/slice\"\nimport {\n\ttype CompositeSliceItemContent,\n\ttype SharedSliceItemContent,\n\ttype LegacySliceItemContent,\n\ttype SliceItemContent,\n\ttype SlicesContent,\n\tSlicesContentType,\n} from \"../content/slices\"\nimport { TableContentType, type TableContent } from \"../content/table\"\nimport type { WidgetContent } from \"../content/widget\"\nimport * as contentPath from \"./contentPath\"\nimport * as customTypeModel from \"./customTypeModel\"\n\ntype TraverseDocumentContentConfig = {\n\tmodel?: StaticCustomTypeModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseDocumentContent(\n\tdocument: DocumentContent,\n\tconfig: TraverseDocumentContentConfig,\n): DocumentContent {\n\tconst { model, transformWidget, transformSlice } = config\n\n\t// Remove tabs from custom type model\n\tconst flatModel = model ? customTypeModel.flatten(model) : {}\n\n\tconst traversed: DocumentContent = {}\n\tfor (const [key, content] of Object.entries(document)) {\n\t\tconst path = contentPath.make(\n\t\t\t{ key: config.model?.id, type: \"CustomType\" },\n\t\t\t{ key, type: \"Widget\" },\n\t\t)\n\n\t\tconst traversedContent = traverseWidgetContent(path, key, key, content, {\n\t\t\tmodel: flatModel[key],\n\t\t\ttransformWidget,\n\t\t\ttransformSlice,\n\t\t})\n\t\tif (traversedContent) {\n\t\t\ttraversed[key] = traversedContent\n\t\t}\n\t}\n\n\treturn traversed\n}\n\ntype TraverseSlicesContentConfig = {\n\tmodel?: StaticSlicesModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseSlicesContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: SlicesContent,\n\tconfig: TraverseSlicesContentConfig,\n): SlicesContent | undefined {\n\tconst { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =\n\t\tconfig\n\n\tconst traversed: SlicesContent[\"value\"] = []\n\tfor (const sliceItemContent of content.value) {\n\t\tconst sliceModel = config.model?.config?.choices?.[sliceItemContent.name]\n\n\t\tlet traversedSliceItemContent: SliceItemContent | undefined\n\t\tif (sliceItemContent.widget.__TYPE__ === SharedSliceContentType) {\n\t\t\tlet model: SharedSliceVariationModel | undefined\n\t\t\tif (sliceModel?.type === \"SharedSlice\") {\n\t\t\t\tconst variationID = sliceItemContent.widget.variation\n\t\t\t\tconst variationModel = sliceModel.variations.find(\n\t\t\t\t\t(variation) => variation.id === variationID,\n\t\t\t\t)\n\t\t\t\tif (variationModel) {\n\t\t\t\t\tmodel = {\n\t\t\t\t\t\ttype: \"SharedSlice\",\n\t\t\t\t\t\tsliceName: sliceModel.id,\n\t\t\t\t\t\tvariationID,\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tprimary: variationModel.primary || {},\n\t\t\t\t\t\t\titems: variationModel.items || {},\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttraversedSliceItemContent = traverseSharedSliceContent(\n\t\t\t\tpath.concat({ key: sliceItemContent.key, type: \"SharedSlice\" }),\n\t\t\t\tsliceItemContent.key,\n\t\t\t\tsliceItemContent.name,\n\t\t\t\tsliceItemContent as SharedSliceItemContent,\n\t\t\t\t{ model, transformWidget, transformSlice },\n\t\t\t)\n\t\t} else if (sliceItemContent.widget.__TYPE__ === CompositeSliceContentType) {\n\t\t\tconst model = sliceModel?.type === \"Slice\" ? sliceModel : undefined\n\t\t\ttraversedSliceItemContent = traverseCompositeSliceContent(\n\t\t\t\tpath.concat({ key: sliceItemContent.key, type: \"Slice\" }),\n\t\t\t\tsliceItemContent.key,\n\t\t\t\tsliceItemContent.name,\n\t\t\t\tsliceItemContent as CompositeSliceItemContent,\n\t\t\t\t{ model, transformWidget, transformSlice },\n\t\t\t)\n\t\t} else {\n\t\t\tconst model =\n\t\t\t\tsliceModel?.type !== \"SharedSlice\" && sliceModel?.type !== \"Slice\" ? sliceModel : undefined\n\t\t\ttraversedSliceItemContent = traverseLegacySliceContent(\n\t\t\t\tpath.concat({ key: sliceItemContent.key, type: \"LegacySlice\" }),\n\t\t\t\tsliceItemContent.key,\n\t\t\t\tsliceItemContent.name,\n\t\t\t\tsliceItemContent as LegacySliceItemContent,\n\t\t\t\t{ model, transformWidget, transformSlice },\n\t\t\t)\n\t\t}\n\n\t\tif (traversedSliceItemContent) {\n\t\t\ttraversed.push(traversedSliceItemContent)\n\t\t}\n\t}\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, value: traversed },\n\t\tmodel: config.model,\n\t})\n}\n\ntype TraverseSharedSliceContentConfig = {\n\tmodel?: SharedSliceVariationModel\n\ttransformWidget: TraverseWidgetContentFunction\n\ttransformSlice: TraverseSliceContentFunction\n}\n\nexport function traverseSharedSliceContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: SharedSliceItemContent,\n\tconfig: TraverseSharedSliceContentConfig,\n): SharedSliceItemContent | undefined {\n\tconst { transformWidget, transformSlice } = config\n\n\tconst traversedPrimary: SharedSliceContent[\"primary\"] = {}\n\tfor (const [key, fieldContent] of Object.entries(content.widget.primary)) {\n\t\tconst model = config.model?.fields.primary?.[key]\n\n\t\tconst traversedContent = traverseWidgetContent(\n\t\t\tpath.concat({ key: \"primary\", type: \"primary\" }, { key, type: \"Widget\" }),\n\t\t\tkey,\n\t\t\tkey,\n\t\t\tfieldContent,\n\t\t\t{ model, transformWidget },\n\t\t)\n\n\t\tif (\n\t\t\ttraversedContent &&\n\t\t\t(isNestableContent(traversedContent) || traversedContent.__TYPE__ === GroupContentType)\n\t\t) {\n\t\t\ttraversedPrimary[key] = traversedContent\n\t\t}\n\t}\n\n\tconst traversedItems = traverseGroupItemsContent(\n\t\tpath.concat({ key: \"items\", type: \"items\" }),\n\t\tcontent.widget.items,\n\t\t{ model: config.model?.fields.items, transformWidget },\n\t)\n\n\treturn transformSlice({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: {\n\t\t\t...content,\n\t\t\twidget: { ...content.widget, primary: traversedPrimary, items: traversedItems },\n\t\t},\n\t\tmodel: config.model,\n\t})\n}\n\ntype TraverseCompositeSliceContentConfig = {\n\tmodel?: CompositeSliceModel\n\ttransformWidget: TraverseWidgetContentFunction\n\ttransformSlice: TraverseSliceContentFunction\n}\n\nexport function traverseCompositeSliceContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: CompositeSliceItemContent,\n\tconfig: TraverseCompositeSliceContentConfig,\n): CompositeSliceItemContent | undefined {\n\tconst { transformWidget, transformSlice } = config\n\n\tconst traversedPrimary: CompositeSliceContent[\"nonRepeat\"] = {}\n\tfor (const [key, fieldContent] of Object.entries(content.widget.nonRepeat)) {\n\t\tconst model = config.model?.[\"non-repeat\"]?.[key]\n\n\t\tconst traversedContent = traverseWidgetContent(\n\t\t\tpath.concat({ key: \"non-repeat\", type: \"primary\" }, { key, type: \"Widget\" }),\n\t\t\tkey,\n\t\t\tapiID,\n\t\t\tfieldContent,\n\t\t\t{ model, transformWidget },\n\t\t)\n\n\t\tif (traversedContent && isNestableContent(traversedContent)) {\n\t\t\ttraversedPrimary[key] = traversedContent\n\t\t}\n\t}\n\n\tconst traversedItems = traverseGroupItemsContent(\n\t\tpath.concat({ key: \"repeat\", type: \"items\" }),\n\t\tcontent.widget.repeat,\n\t\t{ model: config.model?.repeat, transformWidget },\n\t)\n\n\treturn transformSlice({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: {\n\t\t\t...content,\n\t\t\twidget: { ...content.widget, nonRepeat: traversedPrimary, repeat: traversedItems },\n\t\t},\n\t\tmodel: config.model,\n\t})\n}\n\ntype TraverseLegacySliceContentConfig = {\n\tmodel?: LegacySliceModel\n\ttransformWidget: TraverseWidgetContentFunction\n\ttransformSlice: TraverseSliceContentFunction\n}\n\nexport function traverseLegacySliceContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: LegacySliceItemContent,\n\tconfig: TraverseLegacySliceContentConfig,\n): LegacySliceItemContent | undefined {\n\tconst { model, transformWidget, transformSlice } = config\n\n\tconst traversedContent = traverseWidgetContent(path, key, apiID, content.widget, {\n\t\tmodel,\n\t\ttransformWidget,\n\t\ttransformSlice,\n\t})\n\n\tif (\n\t\ttraversedContent &&\n\t\t(isNestableContent(traversedContent) || traversedContent.__TYPE__ === GroupContentType)\n\t) {\n\t\treturn transformSlice({\n\t\t\tpath,\n\t\t\tkey,\n\t\t\tapiID,\n\t\t\tcontent: { ...content, widget: traversedContent },\n\t\t\tmodel,\n\t\t})\n\t}\n}\n\ntype TraverseGroupContentConfig = {\n\tmodel?: GroupModel\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseGroupContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: GroupContent,\n\tconfig: TraverseGroupContentConfig,\n): GroupContent | undefined {\n\tconst { model, transformWidget } = config\n\n\tconst traversed = traverseGroupItemsContent(path, content.value, {\n\t\tmodel: model?.config?.fields,\n\t\ttransformWidget,\n\t})\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, value: traversed },\n\t\tmodel,\n\t})\n}\n\ntype TraverseGroupItemsContentConfig = {\n\tmodel?: Record<string, NestedGroupModel | NestableModel>\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseGroupItemsContent(\n\tpath: contentPath.Path,\n\tcontent: GroupItemContent[],\n\tconfig: TraverseGroupItemsContentConfig,\n): GroupItemContent[] {\n\tconst { transformWidget } = config\n\n\tconst traversed: GroupItemContent[] = []\n\tfor (const groupItemContent of content) {\n\t\tconst groupItemPath = path.concat({ key: groupItemContent.key, type: \"GroupItem\" })\n\n\t\tconst traversedValue: GroupItemContent[\"value\"] = []\n\t\tfor (const [key, content] of groupItemContent.value) {\n\t\t\tconst model = config.model?.[key]\n\t\t\tconst traversedContent = traverseWidgetContent(\n\t\t\t\tgroupItemPath.concat({ key, type: \"Widget\" }),\n\t\t\t\tkey,\n\t\t\t\tkey,\n\t\t\t\tcontent,\n\t\t\t\t{ model, transformWidget },\n\t\t\t)\n\n\t\t\tif (\n\t\t\t\ttraversedContent &&\n\t\t\t\t(isNestableContent(traversedContent) || traversedContent.__TYPE__ === GroupContentType)\n\t\t\t) {\n\t\t\t\ttraversedValue.push([key, traversedContent])\n\t\t\t}\n\t\t}\n\n\t\ttraversed.push({ ...groupItemContent, value: traversedValue })\n\t}\n\n\treturn traversed\n}\n\ntype TraverseRepeatableContentConfig = {\n\tmodel?: LinkModel\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseRepeatableContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: RepeatableContent,\n\tconfig: TraverseRepeatableContentConfig,\n): RepeatableContent | undefined {\n\tconst { model, transformWidget } = config\n\tconst nonRepeatModel =\n\t\tmodel?.type === \"Link\" && model.config\n\t\t\t? { ...model, config: { ...model.config, repeat: false } }\n\t\t\t: model\n\n\tconst traversed: RepeatableContent[\"value\"] = []\n\tfor (let index = 0; index < content.value.length; index++) {\n\t\tconst traversedContent = traverseWidgetContent(\n\t\t\tpath.concat({ key: index.toString(), type: \"Widget\" }),\n\t\t\tkey,\n\t\t\tapiID,\n\t\t\tcontent.value[index],\n\t\t\t{ model: nonRepeatModel, transformWidget },\n\t\t)\n\n\t\tif (traversedContent && isRepeatableContentValue(traversedContent)) {\n\t\t\ttraversed.push(traversedContent)\n\t\t}\n\t}\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, value: traversed },\n\t\tmodel,\n\t})\n}\n\ntype TraverseTableContentConfig = {\n\tmodel?: TableModel\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseTableContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: TableContent,\n\tconfig: TraverseTableContentConfig,\n): TableContent | undefined {\n\tconst { model, transformWidget } = config\n\n\tconst traversed: TableContent[\"content\"] = []\n\tfor (let rowIndex = 0; rowIndex < content.content.length; rowIndex++) {\n\t\tconst traversedContent: TableContent[\"content\"][number][\"content\"] = []\n\t\tfor (let cellIndex = 0; cellIndex < content.content[rowIndex].content.length; cellIndex++) {\n\t\t\tconst cellPath = path.concat({ key: [rowIndex, cellIndex].join(\",\"), type: \"Widget\" })\n\t\t\tconst cell = content.content[rowIndex].content[cellIndex]\n\n\t\t\tconst transformed = transformWidget({\n\t\t\t\tpath: cellPath,\n\t\t\t\tkey,\n\t\t\t\tapiID,\n\t\t\t\tcontent: cell.content,\n\t\t\t\tmodel: TableCellModel,\n\t\t\t})\n\n\t\t\tif (transformed && transformed.__TYPE__ === RichTextContentType) {\n\t\t\t\ttraversedContent.push({ ...cell, content: transformed })\n\t\t\t} else {\n\t\t\t\ttraversedContent.push({\n\t\t\t\t\t...cell,\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\t__TYPE__: RichTextContentType,\n\t\t\t\t\t\tvalue: [],\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\ttraversed.push({ ...content.content[rowIndex], content: traversedContent })\n\t}\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, content: traversed },\n\t\tmodel,\n\t})\n}\n\nexport type TraverseSliceContentFunction = <TContent extends SliceItemContent>(args: {\n\tpath: contentPath.Path\n\tkey: string\n\tapiID: string\n\tcontent: TContent\n\tmodel?: SliceModel\n}) => TContent | undefined\n\nexport type TraverseWidgetContentFunction<\n\tTContentTransformMode extends \"preserve\" | \"widen\" = \"preserve\",\n> = <TContent extends WidgetContent>(args: {\n\tpath: contentPath.Path\n\tkey: string\n\tapiID: string\n\tcontent: TContent\n\tmodel?: StaticWidgetModel\n}) => (TContentTransformMode extends \"preserve\" ? TContent : WidgetContent) | undefined\n\n// Internals\ntype SliceModel = SharedSliceVariationModel | CompositeSliceModel | LegacySliceModel\n\ntype TraverseWidgetContentConfig = {\n\tmodel?: StaticWidgetModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nfunction traverseWidgetContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: WidgetContent,\n\tconfig: TraverseWidgetContentConfig,\n): WidgetContent | undefined {\n\tconst { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =\n\t\tconfig\n\n\tif (content.__TYPE__ === SlicesContentType) {\n\t\tconst model =\n\t\t\tconfig.model?.type === \"Slices\" || config.model?.type === \"Choice\" ? config.model : undefined\n\t\treturn traverseSlicesContent(path, key, apiID, content, {\n\t\t\ttransformWidget,\n\t\t\ttransformSlice,\n\t\t\tmodel,\n\t\t})\n\t}\n\n\tif (content.__TYPE__ === GroupContentType) {\n\t\tconst model = config.model?.type === \"Group\" ? config.model : undefined\n\t\treturn traverseGroupContent(path, key, apiID, content, { transformWidget, model })\n\t}\n\n\tif (content.__TYPE__ === RepeatableContentType) {\n\t\tconst model = config.model?.type === \"Link\" ? config.model : undefined\n\t\treturn traverseRepeatableContent(path, key, apiID, content, { transformWidget, model })\n\t}\n\n\tif (content.__TYPE__ === TableContentType) {\n\t\tconst model = config.model?.type === \"Table\" ? config.model : undefined\n\t\treturn traverseTableContent(path, key, apiID, content, { transformWidget, model })\n\t}\n\n\tconst model =\n\t\tconfig.model?.type !== \"Slices\" &&\n\t\tconfig.model?.type !== \"Choice\" &&\n\t\tconfig.model?.type !== \"Group\" &&\n\t\tconfig.model?.type !== \"Table\"\n\t\t\t? config.model\n\t\t\t: undefined\n\treturn transformWidget({ path, key, apiID, content, model })\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"traverseContent.js","names":["customTypeModel.flatten","contentPath.make"],"sources":["../../src/helpers/traverseContent.ts"],"sourcesContent":["import type { DocumentContent } from \"../content/document\"\nimport { GroupContentType } from \"../content/group\"\nimport type { GroupContent, GroupItemContent } from \"../content/group\"\nimport { isNestableContent } from \"../content/nestable\"\nimport { isRepeatableContentValue, RepeatableContentType } from \"../content/repeatable\"\nimport type { RepeatableContent } from \"../content/repeatable\"\nimport { RichTextContentType } from \"../content/richText\"\nimport { CompositeSliceContentType, SharedSliceContentType } from \"../content/slice\"\nimport type { CompositeSliceContent, SharedSliceContent } from \"../content/slice\"\nimport {\n\ttype CompositeSliceItemContent,\n\ttype SharedSliceItemContent,\n\ttype LegacySliceItemContent,\n\ttype SliceItemContent,\n\ttype SlicesContent,\n\tSlicesContentType,\n} from \"../content/slices\"\nimport { TableContentType, type TableContent } from \"../content/table\"\nimport type { WidgetContent } from \"../content/widget\"\nimport type { StaticCustomTypeModel } from \"../model/customType\"\nimport type { GroupModel, NestedGroupModel } from \"../model/group\"\nimport type { LinkModel } from \"../model/link\"\nimport type { NestableModel } from \"../model/nestable\"\nimport type {\n\tCompositeSliceModel,\n\tLegacySliceModel,\n\tSharedSliceVariationContentModel,\n\tSliceContentModel,\n} from \"../model/slice\"\nimport type { StaticSlicesModel } from \"../model/slices\"\nimport { TableCellModel } from \"../model/table\"\nimport type { TableModel } from \"../model/table\"\nimport type { StaticWidgetModel } from \"../model/widget\"\nimport * as contentPath from \"./contentPath\"\nimport * as customTypeModel from \"./customTypeModel\"\n\ntype TraverseDocumentContentConfig = {\n\tmodel?: StaticCustomTypeModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseDocumentContent(\n\tdocument: DocumentContent,\n\tconfig: TraverseDocumentContentConfig,\n): DocumentContent {\n\tconst { model, transformWidget, transformSlice } = config\n\n\t// Remove tabs from custom type model\n\tconst flatModel = model ? customTypeModel.flatten(model) : {}\n\n\tconst traversed: DocumentContent = {}\n\tfor (const [key, content] of Object.entries(document)) {\n\t\tconst path = contentPath.make(\n\t\t\t{ key: config.model?.id, type: \"CustomType\" },\n\t\t\t{ key, type: \"Widget\" },\n\t\t)\n\n\t\tconst traversedContent = traverseWidgetContent(path, key, key, content, {\n\t\t\tmodel: flatModel[key],\n\t\t\ttransformWidget,\n\t\t\ttransformSlice,\n\t\t})\n\t\tif (traversedContent) {\n\t\t\ttraversed[key] = traversedContent\n\t\t}\n\t}\n\n\treturn traversed\n}\n\ntype TraverseSlicesContentConfig = {\n\tmodel?: StaticSlicesModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseSlicesContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: SlicesContent,\n\tconfig: TraverseSlicesContentConfig,\n): SlicesContent | undefined {\n\tconst { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =\n\t\tconfig\n\n\tconst traversed: SlicesContent[\"value\"] = []\n\tfor (const sliceItemContent of content.value) {\n\t\tconst sliceModel = config.model?.config?.choices?.[sliceItemContent.name]\n\n\t\tlet traversedSliceItemContent: SliceItemContent | undefined\n\t\tif (sliceItemContent.widget.__TYPE__ === SharedSliceContentType) {\n\t\t\tlet model: SharedSliceVariationContentModel | undefined\n\t\t\tif (sliceModel?.type === \"SharedSlice\") {\n\t\t\t\tconst variationID = sliceItemContent.widget.variation\n\t\t\t\tconst variationModel = sliceModel.variations.find(\n\t\t\t\t\t(variation) => variation.id === variationID,\n\t\t\t\t)\n\t\t\t\tif (variationModel) {\n\t\t\t\t\tmodel = {\n\t\t\t\t\t\ttype: \"SharedSlice\",\n\t\t\t\t\t\tsliceName: sliceModel.id,\n\t\t\t\t\t\tvariationID,\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tprimary: variationModel.primary || {},\n\t\t\t\t\t\t\titems: variationModel.items || {},\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttraversedSliceItemContent = traverseSharedSliceContent(\n\t\t\t\tpath.concat({ key: sliceItemContent.key, type: \"SharedSlice\" }),\n\t\t\t\tsliceItemContent.key,\n\t\t\t\tsliceItemContent.name,\n\t\t\t\tsliceItemContent as SharedSliceItemContent,\n\t\t\t\t{ model, transformWidget, transformSlice },\n\t\t\t)\n\t\t} else if (sliceItemContent.widget.__TYPE__ === CompositeSliceContentType) {\n\t\t\tconst model = sliceModel?.type === \"Slice\" ? sliceModel : undefined\n\t\t\ttraversedSliceItemContent = traverseCompositeSliceContent(\n\t\t\t\tpath.concat({ key: sliceItemContent.key, type: \"Slice\" }),\n\t\t\t\tsliceItemContent.key,\n\t\t\t\tsliceItemContent.name,\n\t\t\t\tsliceItemContent as CompositeSliceItemContent,\n\t\t\t\t{ model, transformWidget, transformSlice },\n\t\t\t)\n\t\t} else {\n\t\t\tconst model =\n\t\t\t\tsliceModel?.type !== \"SharedSlice\" && sliceModel?.type !== \"Slice\" ? sliceModel : undefined\n\t\t\ttraversedSliceItemContent = traverseLegacySliceContent(\n\t\t\t\tpath.concat({ key: sliceItemContent.key, type: \"LegacySlice\" }),\n\t\t\t\tsliceItemContent.key,\n\t\t\t\tsliceItemContent.name,\n\t\t\t\tsliceItemContent as LegacySliceItemContent,\n\t\t\t\t{ model, transformWidget, transformSlice },\n\t\t\t)\n\t\t}\n\n\t\tif (traversedSliceItemContent) {\n\t\t\ttraversed.push(traversedSliceItemContent)\n\t\t}\n\t}\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, value: traversed },\n\t\tmodel: config.model,\n\t})\n}\n\ntype TraverseSharedSliceContentConfig = {\n\tmodel?: SharedSliceVariationContentModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseSharedSliceContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: SharedSliceItemContent,\n\tconfig: TraverseSharedSliceContentConfig,\n): SharedSliceItemContent | undefined {\n\tconst { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =\n\t\tconfig\n\n\tconst traversedPrimary: SharedSliceContent[\"primary\"] = {}\n\tfor (const [key, fieldContent] of Object.entries(content.widget.primary)) {\n\t\tconst model = config.model?.fields.primary?.[key]\n\n\t\tconst traversedContent = traverseWidgetContent(\n\t\t\tpath.concat({ key: \"primary\", type: \"primary\" }, { key, type: \"Widget\" }),\n\t\t\tkey,\n\t\t\tkey,\n\t\t\tfieldContent,\n\t\t\t{ model, transformWidget },\n\t\t)\n\n\t\tif (\n\t\t\ttraversedContent &&\n\t\t\t(isNestableContent(traversedContent) || traversedContent.__TYPE__ === GroupContentType)\n\t\t) {\n\t\t\ttraversedPrimary[key] = traversedContent\n\t\t}\n\t}\n\n\tconst traversedItems = traverseGroupItemsContent(\n\t\tpath.concat({ key: \"items\", type: \"items\" }),\n\t\tcontent.widget.items,\n\t\t{ model: config.model?.fields.items, transformWidget },\n\t)\n\n\treturn transformSlice({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: {\n\t\t\t...content,\n\t\t\twidget: { ...content.widget, primary: traversedPrimary, items: traversedItems },\n\t\t},\n\t\tmodel: config.model,\n\t})\n}\n\ntype TraverseCompositeSliceContentConfig = {\n\tmodel?: CompositeSliceModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseCompositeSliceContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: CompositeSliceItemContent,\n\tconfig: TraverseCompositeSliceContentConfig,\n): CompositeSliceItemContent | undefined {\n\tconst { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =\n\t\tconfig\n\n\tconst traversedPrimary: CompositeSliceContent[\"nonRepeat\"] = {}\n\tfor (const [key, fieldContent] of Object.entries(content.widget.nonRepeat)) {\n\t\tconst model = config.model?.[\"non-repeat\"]?.[key]\n\n\t\tconst traversedContent = traverseWidgetContent(\n\t\t\tpath.concat({ key: \"non-repeat\", type: \"primary\" }, { key, type: \"Widget\" }),\n\t\t\tkey,\n\t\t\tapiID,\n\t\t\tfieldContent,\n\t\t\t{ model, transformWidget },\n\t\t)\n\n\t\tif (traversedContent && isNestableContent(traversedContent)) {\n\t\t\ttraversedPrimary[key] = traversedContent\n\t\t}\n\t}\n\n\tconst traversedItems = traverseGroupItemsContent(\n\t\tpath.concat({ key: \"repeat\", type: \"items\" }),\n\t\tcontent.widget.repeat,\n\t\t{ model: config.model?.repeat, transformWidget },\n\t)\n\n\treturn transformSlice({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: {\n\t\t\t...content,\n\t\t\twidget: { ...content.widget, nonRepeat: traversedPrimary, repeat: traversedItems },\n\t\t},\n\t\tmodel: config.model,\n\t})\n}\n\ntype TraverseLegacySliceContentConfig = {\n\tmodel?: LegacySliceModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseLegacySliceContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: LegacySliceItemContent,\n\tconfig: TraverseLegacySliceContentConfig,\n): LegacySliceItemContent | undefined {\n\tconst {\n\t\tmodel,\n\t\ttransformWidget = (args) => args.content,\n\t\ttransformSlice = (args) => args.content,\n\t} = config\n\n\tconst traversedContent = traverseWidgetContent(path, key, apiID, content.widget, {\n\t\tmodel,\n\t\ttransformWidget,\n\t\ttransformSlice,\n\t})\n\n\tif (\n\t\ttraversedContent &&\n\t\t(isNestableContent(traversedContent) || traversedContent.__TYPE__ === GroupContentType)\n\t) {\n\t\treturn transformSlice({\n\t\t\tpath,\n\t\t\tkey,\n\t\t\tapiID,\n\t\t\tcontent: { ...content, widget: traversedContent },\n\t\t\tmodel,\n\t\t})\n\t}\n}\n\ntype TraverseGroupContentConfig = {\n\tmodel?: GroupModel\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseGroupContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: GroupContent,\n\tconfig: TraverseGroupContentConfig,\n): GroupContent | undefined {\n\tconst { model, transformWidget } = config\n\n\tconst traversed = traverseGroupItemsContent(path, content.value, {\n\t\tmodel: model?.config?.fields,\n\t\ttransformWidget,\n\t})\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, value: traversed },\n\t\tmodel,\n\t})\n}\n\ntype TraverseGroupItemsContentConfig = {\n\tmodel?: Record<string, NestedGroupModel | NestableModel>\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseGroupItemsContent(\n\tpath: contentPath.Path,\n\tcontent: GroupItemContent[],\n\tconfig: TraverseGroupItemsContentConfig,\n): GroupItemContent[] {\n\tconst { transformWidget } = config\n\n\tconst traversed: GroupItemContent[] = []\n\tfor (const groupItemContent of content) {\n\t\tconst groupItemPath = path.concat({ key: groupItemContent.key, type: \"GroupItem\" })\n\n\t\tconst traversedValue: GroupItemContent[\"value\"] = []\n\t\tfor (const [key, content] of groupItemContent.value) {\n\t\t\tconst model = config.model?.[key]\n\t\t\tconst traversedContent = traverseWidgetContent(\n\t\t\t\tgroupItemPath.concat({ key, type: \"Widget\" }),\n\t\t\t\tkey,\n\t\t\t\tkey,\n\t\t\t\tcontent,\n\t\t\t\t{ model, transformWidget },\n\t\t\t)\n\n\t\t\tif (\n\t\t\t\ttraversedContent &&\n\t\t\t\t(isNestableContent(traversedContent) || traversedContent.__TYPE__ === GroupContentType)\n\t\t\t) {\n\t\t\t\ttraversedValue.push([key, traversedContent])\n\t\t\t}\n\t\t}\n\n\t\ttraversed.push({ ...groupItemContent, value: traversedValue })\n\t}\n\n\treturn traversed\n}\n\ntype TraverseRepeatableContentConfig = {\n\tmodel?: LinkModel\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseRepeatableContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: RepeatableContent,\n\tconfig: TraverseRepeatableContentConfig,\n): RepeatableContent | undefined {\n\tconst { model, transformWidget } = config\n\tconst nonRepeatModel =\n\t\tmodel?.type === \"Link\" && model.config\n\t\t\t? { ...model, config: { ...model.config, repeat: false } }\n\t\t\t: model\n\n\tconst traversed: RepeatableContent[\"value\"] = []\n\tfor (let index = 0; index < content.value.length; index++) {\n\t\tconst traversedContent = traverseWidgetContent(\n\t\t\tpath.concat({ key: index.toString(), type: \"Widget\" }),\n\t\t\tkey,\n\t\t\tapiID,\n\t\t\tcontent.value[index],\n\t\t\t{ model: nonRepeatModel, transformWidget },\n\t\t)\n\n\t\tif (traversedContent && isRepeatableContentValue(traversedContent)) {\n\t\t\ttraversed.push(traversedContent)\n\t\t}\n\t}\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, value: traversed },\n\t\tmodel,\n\t})\n}\n\ntype TraverseTableContentConfig = {\n\tmodel?: TableModel\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseTableContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: TableContent,\n\tconfig: TraverseTableContentConfig,\n): TableContent | undefined {\n\tconst { model, transformWidget } = config\n\n\tconst traversed: TableContent[\"content\"] = []\n\tfor (let rowIndex = 0; rowIndex < content.content.length; rowIndex++) {\n\t\tconst traversedContent: TableContent[\"content\"][number][\"content\"] = []\n\t\tfor (let cellIndex = 0; cellIndex < content.content[rowIndex].content.length; cellIndex++) {\n\t\t\tconst cellPath = path.concat({ key: [rowIndex, cellIndex].join(\",\"), type: \"Widget\" })\n\t\t\tconst cell = content.content[rowIndex].content[cellIndex]\n\n\t\t\tconst transformed = transformWidget({\n\t\t\t\tpath: cellPath,\n\t\t\t\tkey,\n\t\t\t\tapiID,\n\t\t\t\tcontent: cell.content,\n\t\t\t\tmodel: TableCellModel,\n\t\t\t})\n\n\t\t\tif (transformed && transformed.__TYPE__ === RichTextContentType) {\n\t\t\t\ttraversedContent.push({ ...cell, content: transformed })\n\t\t\t} else {\n\t\t\t\ttraversedContent.push({\n\t\t\t\t\t...cell,\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\t__TYPE__: RichTextContentType,\n\t\t\t\t\t\tvalue: [],\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\ttraversed.push({ ...content.content[rowIndex], content: traversedContent })\n\t}\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, content: traversed },\n\t\tmodel,\n\t})\n}\n\nexport type TraverseSliceContentFunction = <TContent extends SliceItemContent>(args: {\n\tpath: contentPath.Path\n\tkey: string\n\tapiID: string\n\tcontent: TContent\n\tmodel?: SliceContentModel\n}) => TContent | undefined\n\nexport type TraverseWidgetContentFunction<\n\tTContentTransformMode extends \"preserve\" | \"widen\" = \"preserve\",\n> = <TContent extends WidgetContent>(args: {\n\tpath: contentPath.Path\n\tkey: string\n\tapiID: string\n\tcontent: TContent\n\tmodel?: StaticWidgetModel\n}) => (TContentTransformMode extends \"preserve\" ? TContent : WidgetContent) | undefined\n\n// Internals\ntype TraverseWidgetContentConfig = {\n\tmodel?: StaticWidgetModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nfunction traverseWidgetContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: WidgetContent,\n\tconfig: TraverseWidgetContentConfig,\n): WidgetContent | undefined {\n\tconst { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =\n\t\tconfig\n\n\tif (content.__TYPE__ === SlicesContentType) {\n\t\tconst model =\n\t\t\tconfig.model?.type === \"Slices\" || config.model?.type === \"Choice\" ? config.model : undefined\n\t\treturn traverseSlicesContent(path, key, apiID, content, {\n\t\t\ttransformWidget,\n\t\t\ttransformSlice,\n\t\t\tmodel,\n\t\t})\n\t}\n\n\tif (content.__TYPE__ === GroupContentType) {\n\t\tconst model = config.model?.type === \"Group\" ? config.model : undefined\n\t\treturn traverseGroupContent(path, key, apiID, content, { transformWidget, model })\n\t}\n\n\tif (content.__TYPE__ === RepeatableContentType) {\n\t\tconst model = config.model?.type === \"Link\" ? config.model : undefined\n\t\treturn traverseRepeatableContent(path, key, apiID, content, { transformWidget, model })\n\t}\n\n\tif (content.__TYPE__ === TableContentType) {\n\t\tconst model = config.model?.type === \"Table\" ? config.model : undefined\n\t\treturn traverseTableContent(path, key, apiID, content, { transformWidget, model })\n\t}\n\n\tconst model =\n\t\tconfig.model?.type !== \"Slices\" &&\n\t\tconfig.model?.type !== \"Choice\" &&\n\t\tconfig.model?.type !== \"Group\" &&\n\t\tconfig.model?.type !== \"Table\"\n\t\t\t? config.model\n\t\t\t: undefined\n\treturn transformWidget({ path, key, apiID, content, model })\n}\n"],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LinkModel } from "../model/link.js";
|
|
2
|
+
import { TableModel } from "../model/table.js";
|
|
2
3
|
import { NestableModel } from "../model/nestable.js";
|
|
3
|
-
import {
|
|
4
|
-
import { DocumentContent } from "../content/document.js";
|
|
4
|
+
import { GroupModel, NestedGroupModel } from "../model/group.js";
|
|
5
5
|
import { RepeatableContent } from "../content/repeatable.js";
|
|
6
|
-
import { CompositeSliceItemContent, LegacySliceItemContent, SharedSliceItemContent, SliceItemContent, SlicesContent } from "../content/slices.js";
|
|
7
6
|
import { TableContent } from "../content/table.js";
|
|
7
|
+
import { GroupContent, GroupItemContent } from "../content/group.js";
|
|
8
|
+
import { CompositeSliceItemContent, LegacySliceItemContent, SharedSliceItemContent, SliceItemContent, SlicesContent } from "../content/slices.js";
|
|
8
9
|
import { WidgetContent } from "../content/widget.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { CompositeSliceModel, LegacySliceModel, SharedSliceVariationModel } from "../model/slice.js";
|
|
10
|
+
import { DocumentContent } from "../content/document.js";
|
|
11
|
+
import { CompositeSliceModel, LegacySliceModel, SharedSliceVariationContentModel, SliceContentModel } from "../model/slice.js";
|
|
12
12
|
import { StaticSlicesModel } from "../model/slices.js";
|
|
13
|
-
import { TableModel } from "../model/table.js";
|
|
14
13
|
import { StaticWidgetModel } from "../model/widget.js";
|
|
14
|
+
import { StaticCustomTypeModel } from "../model/customType.js";
|
|
15
15
|
import { Path } from "./contentPath.js";
|
|
16
16
|
|
|
17
17
|
//#region src/helpers/traverseContentWithModel.d.ts
|
|
@@ -28,21 +28,21 @@ type TraverseSlicesContentWithModelConfig = {
|
|
|
28
28
|
};
|
|
29
29
|
declare function traverseSlicesContentWithModel(path: Path, key: string, apiID: string, content: SlicesContent | undefined, config: TraverseSlicesContentWithModelConfig): SlicesContent | undefined;
|
|
30
30
|
type TraverseSharedSliceContentWithModelConfig = {
|
|
31
|
-
model:
|
|
32
|
-
transformWidget
|
|
33
|
-
transformSlice
|
|
31
|
+
model: SharedSliceVariationContentModel;
|
|
32
|
+
transformWidget?: TraverseWidgetContentWithModelFunction;
|
|
33
|
+
transformSlice?: TraverseSliceContentWithModelFunction;
|
|
34
34
|
};
|
|
35
35
|
declare function traverseSharedSliceContentWithModel(path: Path, key: string, apiID: string, content: SharedSliceItemContent | undefined, config: TraverseSharedSliceContentWithModelConfig): SharedSliceItemContent | undefined;
|
|
36
36
|
type TraverseCompositeSliceContentWithModelConfig = {
|
|
37
37
|
model: CompositeSliceModel;
|
|
38
|
-
transformWidget
|
|
39
|
-
transformSlice
|
|
38
|
+
transformWidget?: TraverseWidgetContentWithModelFunction;
|
|
39
|
+
transformSlice?: TraverseSliceContentWithModelFunction;
|
|
40
40
|
};
|
|
41
41
|
declare function traverseCompositeSliceContentWithModel(path: Path, key: string, apiID: string, content: CompositeSliceItemContent | undefined, config: TraverseCompositeSliceContentWithModelConfig): CompositeSliceItemContent | undefined;
|
|
42
42
|
type TraverseLegacySliceContentWithModelConfig = {
|
|
43
43
|
model: LegacySliceModel;
|
|
44
|
-
transformWidget
|
|
45
|
-
transformSlice
|
|
44
|
+
transformWidget?: TraverseWidgetContentWithModelFunction;
|
|
45
|
+
transformSlice?: TraverseSliceContentWithModelFunction;
|
|
46
46
|
};
|
|
47
47
|
declare function traverseLegacySliceContentWithModel(path: Path, key: string, apiID: string, content: LegacySliceItemContent | undefined, config: TraverseLegacySliceContentWithModelConfig): LegacySliceItemContent | undefined;
|
|
48
48
|
type TraverseGroupContentWithModelConfig = {
|
|
@@ -65,13 +65,12 @@ type TraverseTableContentWithModelConfig = {
|
|
|
65
65
|
transformWidget: TraverseWidgetContentWithModelFunction;
|
|
66
66
|
};
|
|
67
67
|
declare function traverseTableContentWithModel(path: Path, key: string, apiID: string, content: TableContent | undefined, config: TraverseTableContentWithModelConfig): TableContent | undefined;
|
|
68
|
-
type SliceModel = SharedSliceVariationModel | CompositeSliceModel | LegacySliceModel;
|
|
69
68
|
type TraverseSliceContentWithModelFunction = <TContent extends SliceItemContent>(args: {
|
|
70
69
|
path: Path;
|
|
71
70
|
key: string;
|
|
72
71
|
apiID: string;
|
|
73
72
|
content?: TContent;
|
|
74
|
-
model:
|
|
73
|
+
model: SliceContentModel;
|
|
75
74
|
}) => TContent | undefined;
|
|
76
75
|
type TraverseWidgetContentWithModelFunction<TContentTransformMode extends "preserve" | "widen" = "preserve"> = <TContent extends WidgetContent>(args: {
|
|
77
76
|
path: Path;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverseContentWithModel.d.ts","names":[],"sources":["../../src/helpers/traverseContentWithModel.ts"],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"traverseContentWithModel.d.ts","names":[],"sources":["../../src/helpers/traverseContentWithModel.ts"],"mappings":";;;;;;;;;;;;;;;;;KAoCK,sCAAA;EACJ,KAAA,EAAO,qBAAA;EACP,eAAA,GAAkB,sCAAA;EAClB,cAAA,GAAiB,qCAAA;AAAA;AAAA,iBAGF,gCAAA,CACf,QAAA,EAAU,eAAA,EACV,MAAA,EAAQ,sCAAA,GACN,eAAA;AAAA,KA0BE,oCAAA;EACJ,KAAA,EAAO,iBAAA;EACP,eAAA,GAAkB,sCAAA;EAClB,cAAA,GAAiB,qCAAA;AAAA;AAAA,iBAGF,8BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,aAAA,cACT,MAAA,EAAQ,oCAAA,GACN,aAAA;AAAA,KAoFE,yCAAA;EACJ,KAAA,EAAO,gCAAA;EACP,eAAA,GAAkB,sCAAA;EAClB,cAAA,GAAiB,qCAAA;AAAA;AAAA,iBAGF,mCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,sBAAA,cACT,MAAA,EAAQ,yCAAA,GACN,sBAAA;AAAA,KA4CE,4CAAA;EACJ,KAAA,EAAO,mBAAA;EACP,eAAA,GAAkB,sCAAA;EAClB,cAAA,GAAiB,qCAAA;AAAA;AAAA,iBAGF,sCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,yBAAA,cACT,MAAA,EAAQ,4CAAA,GACN,yBAAA;AAAA,KAyCE,yCAAA;EACJ,KAAA,EAAO,gBAAA;EACP,eAAA,GAAkB,sCAAA;EAClB,cAAA,GAAiB,qCAAA;AAAA;AAAA,iBAGF,mCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,sBAAA,cACT,MAAA,EAAQ,yCAAA,GACN,sBAAA;AAAA,KA+BE,mCAAA;EACJ,KAAA,EAAO,UAAA;EACP,eAAA,EAAiB,sCAAA;AAAA;AAAA,iBAGF,6BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,YAAA,cACT,MAAA,EAAQ,mCAAA,GACN,YAAA;AAAA,KA0BE,wCAAA;EACJ,KAAA,EAAO,MAAA,SAAe,gBAAA,GAAmB,aAAA;EACzC,eAAA,EAAiB,sCAAA;AAAA;AAAA,iBAGF,kCAAA,CACf,IAAA,EAAM,IAAA,EACN,OAAA,EAAS,gBAAA,gBACT,MAAA,EAAQ,wCAAA,GACN,gBAAA;AAAA,KAoCE,wCAAA;EACJ,KAAA,EAAO,SAAA;EACP,eAAA,EAAiB,sCAAA;AAAA;AAAA,iBAGF,kCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,iBAAA,cACT,MAAA,EAAQ,wCAAA,GACN,iBAAA;AAAA,KAyCE,mCAAA;EACJ,KAAA,EAAO,UAAA;EACP,eAAA,EAAiB,sCAAA;AAAA;AAAA,iBAGF,6BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,YAAA,cACT,MAAA,EAAQ,mCAAA,GACN,YAAA;AAAA,KAoDS,qCAAA,qBAA0D,gBAAA,EAAkB,IAAA;EACvF,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,GAAU,QAAA;EACV,KAAA,EAAO,iBAAA;AAAA,MACF,QAAA;AAAA,KAEM,sCAAA,sFAEU,aAAA,EAAe,IAAA;EACpC,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,GAAU,QAAA;EACV,KAAA,EAAO,iBAAA;AAAA,OACD,qBAAA,sBAA2C,QAAA,GAAW,aAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { TableCellModel } from "../model/table.js";
|
|
1
2
|
import { make } from "./contentPath.js";
|
|
2
3
|
import { flatten } from "./customTypeModel.js";
|
|
3
|
-
import { TableCellModel } from "../model/table.js";
|
|
4
4
|
import { isRepeatableContentValue } from "../content/repeatable.js";
|
|
5
5
|
import { RichTextContentType } from "../content/richText.js";
|
|
6
6
|
import "../content/table.js";
|
|
@@ -93,8 +93,8 @@ function traverseSlicesContentWithModel(path, key, apiID, content, config) {
|
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
function traverseSharedSliceContentWithModel(path, key, apiID, content, config) {
|
|
96
|
-
const { transformWidget, transformSlice } = config;
|
|
97
96
|
if (!content) return;
|
|
97
|
+
const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
|
|
98
98
|
const traversedPrimary = {};
|
|
99
99
|
for (const [key, model] of Object.entries(config.model.fields.primary ?? {})) {
|
|
100
100
|
const traversedContent = traverseWidgetContentWithModel(path.concat({
|
|
@@ -132,8 +132,8 @@ function traverseSharedSliceContentWithModel(path, key, apiID, content, config)
|
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
function traverseCompositeSliceContentWithModel(path, key, apiID, content, config) {
|
|
135
|
-
const { transformWidget, transformSlice } = config;
|
|
136
135
|
if (!content) return;
|
|
136
|
+
const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
|
|
137
137
|
const traversedPrimary = {};
|
|
138
138
|
for (const [key, model] of Object.entries(config.model?.["non-repeat"] ?? {})) {
|
|
139
139
|
const traversedContent = traverseWidgetContentWithModel(path.concat({
|
|
@@ -171,8 +171,8 @@ function traverseCompositeSliceContentWithModel(path, key, apiID, content, confi
|
|
|
171
171
|
});
|
|
172
172
|
}
|
|
173
173
|
function traverseLegacySliceContentWithModel(path, key, apiID, content, config) {
|
|
174
|
-
const { model, transformWidget, transformSlice } = config;
|
|
175
174
|
if (!content) return;
|
|
175
|
+
const { model, transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
|
|
176
176
|
const traversedContent = traverseWidgetContentWithModel(path, key, apiID, content.widget, {
|
|
177
177
|
model,
|
|
178
178
|
transformWidget,
|