@prismicio/types-internal 4.0.0-pr.6.09bccf8 → 4.0.0-pr.6.7b0b0be

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/content/codec/document.js +1 -1
  2. package/dist/content/codec/legacyContentCtx.d.ts.map +1 -1
  3. package/dist/content/codec/legacyContentCtx.js.map +1 -1
  4. package/dist/content/codec/slice.js.map +1 -1
  5. package/dist/content/slices.d.ts.map +1 -1
  6. package/dist/content/slices.js +4 -4
  7. package/dist/content/slices.js.map +1 -1
  8. package/dist/helpers/customTypeModel.d.ts.map +1 -1
  9. package/dist/helpers/customTypeModel.js.map +1 -1
  10. package/dist/helpers/documentContent.d.ts.map +1 -1
  11. package/dist/helpers/documentContent.js +2 -2
  12. package/dist/helpers/documentContent.js.map +1 -1
  13. package/dist/helpers/traverseContent.d.ts +6 -6
  14. package/dist/helpers/traverseContent.d.ts.map +1 -1
  15. package/dist/helpers/traverseContent.js +4 -4
  16. package/dist/helpers/traverseContent.js.map +1 -1
  17. package/dist/helpers/traverseContentWithModel.d.ts +6 -6
  18. package/dist/helpers/traverseContentWithModel.d.ts.map +1 -1
  19. package/dist/helpers/traverseContentWithModel.js +4 -4
  20. package/dist/helpers/traverseContentWithModel.js.map +1 -1
  21. package/dist/index.d.ts +2 -2
  22. package/dist/io-ts.d.ts +3250 -1
  23. package/dist/io-ts.d.ts.map +1 -1
  24. package/dist/io-ts.js +7 -4
  25. package/dist/io-ts.js.map +1 -1
  26. package/dist/model/nestable.js +1 -1
  27. package/dist/model/widget.d.ts.map +1 -1
  28. package/dist/model/widget.js.map +1 -1
  29. package/dist/zod4.d.ts +2275 -1
  30. package/dist/zod4.d.ts.map +1 -1
  31. package/dist/zod4.js +7 -4
  32. package/dist/zod4.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/content/codec/legacyContentCtx.ts +1 -0
  35. package/src/content/codec/slice.ts +3 -1
  36. package/src/content/slices.ts +5 -3
  37. package/src/helpers/customTypeModel.ts +6 -3
  38. package/src/helpers/documentContent.ts +21 -23
  39. package/src/helpers/traverseContent.ts +36 -24
  40. package/src/helpers/traverseContentWithModel.ts +35 -21
  41. package/src/index.ts +7 -1
  42. package/src/io-ts.ts +15 -2
  43. package/src/model/widget.ts +2 -5
  44. package/src/zod4.ts +10 -1
@@ -1,6 +1,6 @@
1
1
  import { defaultCtx } from "./legacyContentCtx.js";
2
- import { DocumentLegacySchema } from "../legacy/document.js";
3
2
  import { DocumentContentSchema } from "../document.js";
3
+ import { DocumentLegacySchema } from "../legacy/document.js";
4
4
  import { WidgetLegacyCodec } from "./widget.js";
5
5
  //#region src/content/codec/document.ts
6
6
  const DocumentLegacyCodec = (ctx) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"legacyContentCtx.d.ts","names":[],"sources":["../../../src/content/codec/legacyContentCtx.ts"],"mappings":";;;;UAGU,sBAAA;EACT,QAAA;EACA,UAAA;EACA,SAAA,GAAY,KAAA;EACZ,WAAA,GAAc,KAAA;EACd,QAAA,GAAW,GAAA,SAAY,gBAAA;EACvB,OAAA,GAAU,GAAA;AAAA;AAAA,cAGE,gBAAA;EACZ,QAAA;EACA,WAAA;EACA,SAAA;EACA,QAAA;EACA,SAAA,EAAW,KAAA;EACX,SAAA,GAAY,gBAAA;EACZ,QAAA,EAAU,GAAA,SAAY,gBAAA;EACtB,OAAA,EAAS,GAAA;EACT,UAAA;EACA,WAAA,EAAa,KAAA;EACb,eAAA;;IAGC,QAAA;IACA,UAAA;IACA,WAAA;IACA,SAAA;IACA,QAAA;IACA;EAAA,GACE,sBAAA;EAmBH,cAAA,CAAe,UAAA,WAAqB,gBAAA;AAAA;AAAA,UAS3B,iBAAA;EACT,QAAA;EACA,UAAA;EACA,GAAA,EAAK,gBAAA;EACL,QAAA,GAAW,KAAA;AAAA;AAAA,iBAGI,WAAA,CAAA;EACf,QAAA;EACA,UAAA,EAAY,eAAA;EACZ,GAAA;EACA;AAAA,GACE,iBAAA,GAAoB,gBAAA;AAAA,iBAYP,UAAA,CACf,GAAA,UACA,QAAA,GAAU,GAAA,SAAY,gBAAA,GACtB,OAAA,GAAS,GAAA,mBACP,gBAAA"}
1
+ {"version":3,"file":"legacyContentCtx.d.ts","names":[],"sources":["../../../src/content/codec/legacyContentCtx.ts"],"mappings":";;;;UAIU,sBAAA;EACT,QAAA;EACA,UAAA;EACA,SAAA,GAAY,KAAA;EACZ,WAAA,GAAc,KAAA;EACd,QAAA,GAAW,GAAA,SAAY,gBAAA;EACvB,OAAA,GAAU,GAAA;AAAA;AAAA,cAGE,gBAAA;EACZ,QAAA;EACA,WAAA;EACA,SAAA;EACA,QAAA;EACA,SAAA,EAAW,KAAA;EACX,SAAA,GAAY,gBAAA;EACZ,QAAA,EAAU,GAAA,SAAY,gBAAA;EACtB,OAAA,EAAS,GAAA;EACT,UAAA;EACA,WAAA,EAAa,KAAA;EACb,eAAA;;IAGC,QAAA;IACA,UAAA;IACA,WAAA;IACA,SAAA;IACA,QAAA;IACA;EAAA,GACE,sBAAA;EAmBH,cAAA,CAAe,UAAA,WAAqB,gBAAA;AAAA;AAAA,UAS3B,iBAAA;EACT,QAAA;EACA,UAAA;EACA,GAAA,EAAK,gBAAA;EACL,QAAA,GAAW,KAAA;AAAA;AAAA,iBAGI,WAAA,CAAA;EACf,QAAA;EACA,UAAA,EAAY,eAAA;EACZ,GAAA;EACA;AAAA,GACE,iBAAA,GAAoB,gBAAA;AAAA,iBAYP,UAAA,CACf,GAAA,UACA,QAAA,GAAU,GAAA,SAAY,gBAAA,GACtB,OAAA,GAAS,GAAA,mBACP,gBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"legacyContentCtx.js","names":[],"sources":["../../../src/content/codec/legacyContentCtx.ts"],"sourcesContent":["import type { z } from \"zod/mini\"\nimport type { FieldOrSliceType } from \"../../model/widget\"\n\ninterface LegacyContentCtxParams {\n\tfieldKey: string\n\tcontentKey?: string\n\tfieldPath?: Array<string>\n\tcontentPath?: Array<string>\n\tallTypes?: Map<string, FieldOrSliceType>\n\tallKeys?: Map<string, string>\n}\n\nexport class LegacyContentCtx {\n\tfieldKey: string\n\tprefixedKey: string\n\tkeyOfType: string\n\tkeyOfKey: string\n\tfieldPath: Array<string>\n\tfieldType?: FieldOrSliceType | undefined\n\tallTypes: Map<string, FieldOrSliceType>\n\tallKeys: Map<string, string>\n\tcontentKey: string\n\tcontentPath: Array<string>\n\tfieldContentKey: string\n\n\tconstructor({\n\t\tfieldKey,\n\t\tcontentKey,\n\t\tcontentPath,\n\t\tfieldPath,\n\t\tallTypes,\n\t\tallKeys,\n\t}: LegacyContentCtxParams) {\n\t\tthis.fieldKey = fieldKey\n\t\tthis.contentKey = contentKey || fieldKey\n\t\tthis.fieldPath = fieldPath || []\n\t\tthis.contentPath = contentPath || []\n\t\tthis.allTypes = allTypes || new Map<string, FieldOrSliceType>()\n\t\tthis.allKeys = allKeys || new Map<string, string>()\n\n\t\tconst prefixedKey = Array.of(this.fieldPath, [this.fieldKey]).flat().join(\".\")\n\n\t\tconst prefixedContentKey = Array.of(this.contentPath, [this.contentKey]).flat().join(\".\")\n\n\t\tthis.prefixedKey = prefixedKey\n\t\tthis.keyOfType = `${prefixedKey}_TYPE`\n\t\tthis.keyOfKey = `${prefixedContentKey}_KEY`\n\t\tthis.fieldType = this.allTypes.get(this.prefixedKey)\n\t\tthis.fieldContentKey = this.allKeys.get(prefixedContentKey) ?? crypto.randomUUID()\n\t}\n\n\twithContentKey(contentKey: string): LegacyContentCtx {\n\t\treturn new LegacyContentCtx({\n\t\t\t...this,\n\t\t\tcontentPath: [...this.contentPath, this.contentKey],\n\t\t\tcontentKey,\n\t\t})\n\t}\n}\n\ninterface GetFieldCtxParams {\n\tfieldKey: string\n\tcontentKey?: string\n\tctx: LegacyContentCtx\n\tprefixes?: Array<string>\n}\n\nexport function getFieldCtx({\n\tfieldKey,\n\tcontentKey: contentKeyParam,\n\tctx,\n\tprefixes,\n}: GetFieldCtxParams): LegacyContentCtx {\n\tconst contentKey = contentKeyParam || fieldKey\n\treturn new LegacyContentCtx({\n\t\tfieldKey,\n\t\tcontentKey,\n\t\tcontentPath: [...ctx.contentPath, ctx.contentKey, ...(prefixes || [])],\n\t\tfieldPath: [...ctx.fieldPath, ctx.fieldKey, ...(prefixes || [])],\n\t\tallTypes: ctx.allTypes,\n\t\tallKeys: ctx.allKeys,\n\t})\n}\n\nexport function defaultCtx(\n\tkey: string,\n\tallTypes: Map<string, FieldOrSliceType> = new Map(),\n\tallKeys: Map<string, string> = new Map(),\n): LegacyContentCtx {\n\treturn new LegacyContentCtx({\n\t\tfieldKey: key,\n\t\tcontentKey: key,\n\t\tcontentPath: [],\n\t\tfieldPath: [],\n\t\tallTypes,\n\t\tallKeys,\n\t})\n}\n\ntype WithTypes<T> = {\n\tkeys: Record<string, string>\n\ttypes: Record<string, FieldOrSliceType>\n\tcontent: T\n}\n\nexport type LegacyCodec<A, LegacyRaw, AllowUndefined extends boolean = false> = {\n\tname: string\n\tis(input: unknown): input is A\n\ttoContent(\n\t\tinput: unknown,\n\t): z.core.util.SafeParseSuccess<A> | z.core.util.SafeParseError<LegacyRaw | unknown>\n\tfromContent(\n\t\tvalue: A,\n\t): AllowUndefined extends false ? WithTypes<LegacyRaw> : WithTypes<LegacyRaw> | undefined\n}\n"],"mappings":";AAYA,IAAa,mBAAb,MAAa,iBAAiB;CAC7B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAY,EACX,UACA,YACA,aACA,WACA,UACA,WAC0B;AAC1B,OAAK,WAAW;AAChB,OAAK,aAAa,cAAc;AAChC,OAAK,YAAY,aAAa,EAAE;AAChC,OAAK,cAAc,eAAe,EAAE;AACpC,OAAK,WAAW,4BAAY,IAAI,KAA+B;AAC/D,OAAK,UAAU,2BAAW,IAAI,KAAqB;EAEnD,MAAM,cAAc,MAAM,GAAG,KAAK,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI;EAE9E,MAAM,qBAAqB,MAAM,GAAG,KAAK,aAAa,CAAC,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI;AAEzF,OAAK,cAAc;AACnB,OAAK,YAAY,GAAG,YAAY;AAChC,OAAK,WAAW,GAAG,mBAAmB;AACtC,OAAK,YAAY,KAAK,SAAS,IAAI,KAAK,YAAY;AACpD,OAAK,kBAAkB,KAAK,QAAQ,IAAI,mBAAmB,IAAI,OAAO,YAAY;;CAGnF,eAAe,YAAsC;AACpD,SAAO,IAAI,iBAAiB;GAC3B,GAAG;GACH,aAAa,CAAC,GAAG,KAAK,aAAa,KAAK,WAAW;GACnD;GACA,CAAC;;;AAWJ,SAAgB,YAAY,EAC3B,UACA,YAAY,iBACZ,KACA,YACuC;AAEvC,QAAO,IAAI,iBAAiB;EAC3B;EACA,YAHkB,mBAAmB;EAIrC,aAAa;GAAC,GAAG,IAAI;GAAa,IAAI;GAAY,GAAI,YAAY,EAAE;GAAE;EACtE,WAAW;GAAC,GAAG,IAAI;GAAW,IAAI;GAAU,GAAI,YAAY,EAAE;GAAE;EAChE,UAAU,IAAI;EACd,SAAS,IAAI;EACb,CAAC;;AAGH,SAAgB,WACf,KACA,2BAA0C,IAAI,KAAK,EACnD,0BAA+B,IAAI,KAAK,EACrB;AACnB,QAAO,IAAI,iBAAiB;EAC3B,UAAU;EACV,YAAY;EACZ,aAAa,EAAE;EACf,WAAW,EAAE;EACb;EACA;EACA,CAAC"}
1
+ {"version":3,"file":"legacyContentCtx.js","names":[],"sources":["../../../src/content/codec/legacyContentCtx.ts"],"sourcesContent":["import type { z } from \"zod/mini\"\n\nimport type { FieldOrSliceType } from \"../../model/widget\"\n\ninterface LegacyContentCtxParams {\n\tfieldKey: string\n\tcontentKey?: string\n\tfieldPath?: Array<string>\n\tcontentPath?: Array<string>\n\tallTypes?: Map<string, FieldOrSliceType>\n\tallKeys?: Map<string, string>\n}\n\nexport class LegacyContentCtx {\n\tfieldKey: string\n\tprefixedKey: string\n\tkeyOfType: string\n\tkeyOfKey: string\n\tfieldPath: Array<string>\n\tfieldType?: FieldOrSliceType | undefined\n\tallTypes: Map<string, FieldOrSliceType>\n\tallKeys: Map<string, string>\n\tcontentKey: string\n\tcontentPath: Array<string>\n\tfieldContentKey: string\n\n\tconstructor({\n\t\tfieldKey,\n\t\tcontentKey,\n\t\tcontentPath,\n\t\tfieldPath,\n\t\tallTypes,\n\t\tallKeys,\n\t}: LegacyContentCtxParams) {\n\t\tthis.fieldKey = fieldKey\n\t\tthis.contentKey = contentKey || fieldKey\n\t\tthis.fieldPath = fieldPath || []\n\t\tthis.contentPath = contentPath || []\n\t\tthis.allTypes = allTypes || new Map<string, FieldOrSliceType>()\n\t\tthis.allKeys = allKeys || new Map<string, string>()\n\n\t\tconst prefixedKey = Array.of(this.fieldPath, [this.fieldKey]).flat().join(\".\")\n\n\t\tconst prefixedContentKey = Array.of(this.contentPath, [this.contentKey]).flat().join(\".\")\n\n\t\tthis.prefixedKey = prefixedKey\n\t\tthis.keyOfType = `${prefixedKey}_TYPE`\n\t\tthis.keyOfKey = `${prefixedContentKey}_KEY`\n\t\tthis.fieldType = this.allTypes.get(this.prefixedKey)\n\t\tthis.fieldContentKey = this.allKeys.get(prefixedContentKey) ?? crypto.randomUUID()\n\t}\n\n\twithContentKey(contentKey: string): LegacyContentCtx {\n\t\treturn new LegacyContentCtx({\n\t\t\t...this,\n\t\t\tcontentPath: [...this.contentPath, this.contentKey],\n\t\t\tcontentKey,\n\t\t})\n\t}\n}\n\ninterface GetFieldCtxParams {\n\tfieldKey: string\n\tcontentKey?: string\n\tctx: LegacyContentCtx\n\tprefixes?: Array<string>\n}\n\nexport function getFieldCtx({\n\tfieldKey,\n\tcontentKey: contentKeyParam,\n\tctx,\n\tprefixes,\n}: GetFieldCtxParams): LegacyContentCtx {\n\tconst contentKey = contentKeyParam || fieldKey\n\treturn new LegacyContentCtx({\n\t\tfieldKey,\n\t\tcontentKey,\n\t\tcontentPath: [...ctx.contentPath, ctx.contentKey, ...(prefixes || [])],\n\t\tfieldPath: [...ctx.fieldPath, ctx.fieldKey, ...(prefixes || [])],\n\t\tallTypes: ctx.allTypes,\n\t\tallKeys: ctx.allKeys,\n\t})\n}\n\nexport function defaultCtx(\n\tkey: string,\n\tallTypes: Map<string, FieldOrSliceType> = new Map(),\n\tallKeys: Map<string, string> = new Map(),\n): LegacyContentCtx {\n\treturn new LegacyContentCtx({\n\t\tfieldKey: key,\n\t\tcontentKey: key,\n\t\tcontentPath: [],\n\t\tfieldPath: [],\n\t\tallTypes,\n\t\tallKeys,\n\t})\n}\n\ntype WithTypes<T> = {\n\tkeys: Record<string, string>\n\ttypes: Record<string, FieldOrSliceType>\n\tcontent: T\n}\n\nexport type LegacyCodec<A, LegacyRaw, AllowUndefined extends boolean = false> = {\n\tname: string\n\tis(input: unknown): input is A\n\ttoContent(\n\t\tinput: unknown,\n\t): z.core.util.SafeParseSuccess<A> | z.core.util.SafeParseError<LegacyRaw | unknown>\n\tfromContent(\n\t\tvalue: A,\n\t): AllowUndefined extends false ? WithTypes<LegacyRaw> : WithTypes<LegacyRaw> | undefined\n}\n"],"mappings":";AAaA,IAAa,mBAAb,MAAa,iBAAiB;CAC7B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAY,EACX,UACA,YACA,aACA,WACA,UACA,WAC0B;AAC1B,OAAK,WAAW;AAChB,OAAK,aAAa,cAAc;AAChC,OAAK,YAAY,aAAa,EAAE;AAChC,OAAK,cAAc,eAAe,EAAE;AACpC,OAAK,WAAW,4BAAY,IAAI,KAA+B;AAC/D,OAAK,UAAU,2BAAW,IAAI,KAAqB;EAEnD,MAAM,cAAc,MAAM,GAAG,KAAK,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI;EAE9E,MAAM,qBAAqB,MAAM,GAAG,KAAK,aAAa,CAAC,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI;AAEzF,OAAK,cAAc;AACnB,OAAK,YAAY,GAAG,YAAY;AAChC,OAAK,WAAW,GAAG,mBAAmB;AACtC,OAAK,YAAY,KAAK,SAAS,IAAI,KAAK,YAAY;AACpD,OAAK,kBAAkB,KAAK,QAAQ,IAAI,mBAAmB,IAAI,OAAO,YAAY;;CAGnF,eAAe,YAAsC;AACpD,SAAO,IAAI,iBAAiB;GAC3B,GAAG;GACH,aAAa,CAAC,GAAG,KAAK,aAAa,KAAK,WAAW;GACnD;GACA,CAAC;;;AAWJ,SAAgB,YAAY,EAC3B,UACA,YAAY,iBACZ,KACA,YACuC;AAEvC,QAAO,IAAI,iBAAiB;EAC3B;EACA,YAHkB,mBAAmB;EAIrC,aAAa;GAAC,GAAG,IAAI;GAAa,IAAI;GAAY,GAAI,YAAY,EAAE;GAAE;EACtE,WAAW;GAAC,GAAG,IAAI;GAAW,IAAI;GAAU,GAAI,YAAY,EAAE;GAAE;EAChE,UAAU,IAAI;EACd,SAAS,IAAI;EACb,CAAC;;AAGH,SAAgB,WACf,KACA,2BAA0C,IAAI,KAAK,EACnD,0BAA+B,IAAI,KAAK,EACrB;AACnB,QAAO,IAAI,iBAAiB;EAC3B,UAAU;EACV,YAAY;EACZ,aAAa,EAAE;EACf,WAAW,EAAE;EACb;EACA;EACA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"slice.js","names":[],"sources":["../../../src/content/codec/slice.ts"],"sourcesContent":["import { CompositeSliceLegacySchema, SharedSliceLegacySchema } from \"../legacy/slice\"\nimport type {\n\tCompositeSliceLegacy,\n\tSharedSliceLegacy,\n\tLegacySliceLegacy,\n\tSliceLegacy,\n} from \"../legacy/slice\"\nimport {\n\tCompositeSliceContentSchema,\n\tCompositeSliceContentType,\n\tSharedSliceContentSchema,\n\tSharedSliceContentType,\n\tLegacySliceContentSchema,\n\tSliceContentSchema,\n} from \"../slice\"\nimport type {\n\tCompositeSliceContent,\n\tSharedSliceContent,\n\tLegacySliceContent,\n\tSliceContent,\n} from \"../slice\"\nimport { GroupItemLegacyCodec, NestableAndGroupLegacyCodec } from \"./group\"\nimport { getFieldCtx, type LegacyCodec, type LegacyContentCtx } from \"./legacyContentCtx\"\nimport { NestableLegacyCodec } from \"./nestable\"\n\n// Simple (before 2020)\nexport const LegacySliceLegacyCodec = (\n\tctx: LegacyContentCtx,\n): LegacyCodec<LegacySliceContent, LegacySliceLegacy, true> => ({\n\tname: \"LegacySliceLegacy\",\n\n\tis(input): input is LegacySliceContent {\n\t\treturn LegacySliceContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\treturn NestableAndGroupLegacyCodec(ctx).toContent(input)\n\t},\n\n\tfromContent(input) {\n\t\treturn NestableAndGroupLegacyCodec(ctx).fromContent(input)\n\t},\n})\n\n// Composite (2020 to 2021)\nexport const CompositeSliceLegacyCodec = (\n\tctx: LegacyContentCtx,\n): LegacyCodec<CompositeSliceContent, CompositeSliceLegacy> => ({\n\tname: \"CompositeSliceLegacy\",\n\n\tis(input): input is CompositeSliceContent {\n\t\treturn CompositeSliceContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\tconst parsed = CompositeSliceLegacySchema.safeParse(input)\n\t\tif (!parsed.success) {\n\t\t\treturn parsed\n\t\t}\n\n\t\tconst nonRepeat: CompositeSliceContent[\"nonRepeat\"] = {}\n\t\tfor (const [key, legacy] of Object.entries(parsed.data[\"non-repeat\"] || {})) {\n\t\t\tconst fieldCtx = getFieldCtx({\n\t\t\t\tfieldKey: key,\n\t\t\t\tctx,\n\t\t\t\tprefixes: [\"non-repeat\"],\n\t\t\t})\n\n\t\t\tconst result = NestableLegacyCodec(fieldCtx).toContent(legacy)\n\t\t\tif (!result.success) continue\n\n\t\t\tnonRepeat[key] = result.data\n\t\t}\n\n\t\tconst repeat: CompositeSliceContent[\"repeat\"] = []\n\t\tfor (let index = 0; index < (parsed.data.repeat?.length || 0); index++) {\n\t\t\tconst item = parsed.data.repeat?.[index]\n\t\t\tconst itemCtx = getFieldCtx({ fieldKey: \"repeat\", ctx })\n\n\t\t\tconst result = GroupItemLegacyCodec(itemCtx, index).toContent(item)\n\t\t\tif (!result.success) continue\n\n\t\t\trepeat.push(result.data)\n\t\t}\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\t__TYPE__: CompositeSliceContentType,\n\t\t\t\tnonRepeat,\n\t\t\t\trepeat,\n\t\t\t},\n\t\t}\n\t},\n\n\tfromContent(input) {\n\t\tconst legacy: ReturnType<LegacyCodec<CompositeSliceContent, CompositeSliceLegacy>[\"fromContent\"]> = {\n\t\t\tcontent: {\n\t\t\t\t\"non-repeat\": {},\n\t\t\t\trepeat: [],\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\t[ctx.keyOfType]: \"Slice\",\n\t\t\t},\n\t\t\tkeys: {},\n\t\t}\n\n\t\t// Non-repeat\n\t\tfor (const [key, content] of Object.entries(input.nonRepeat)) {\n\t\t\tconst fieldCtx = getFieldCtx({\n\t\t\t\tfieldKey: key,\n\t\t\t\tctx,\n\t\t\t\tprefixes: [\"non-repeat\"],\n\t\t\t})\n\n\t\t\tconst result = NestableLegacyCodec(fieldCtx).fromContent(content)\n\t\t\tif (!result) continue\n\n\t\t\tlegacy.content[\"non-repeat\"]![key] = result.content\n\t\t\tlegacy.types = { ...legacy.types, ...result.types }\n\t\t\tlegacy.keys = { ...legacy.keys, ...result.keys }\n\t\t}\n\n\t\t// Repeat\n\t\tconst repeatCtx = getFieldCtx({ fieldKey: \"repeat\", ctx })\n\t\tfor (let index = 0; index < input.repeat.length; index++) {\n\t\t\tconst item = input.repeat[index]\n\t\t\tconst result = GroupItemLegacyCodec(repeatCtx, index).fromContent(item)\n\n\t\t\tlegacy.content.repeat!.push(result.content)\n\t\t\tlegacy.types = { ...legacy.types, ...result.types }\n\t\t\tlegacy.keys = { ...legacy.keys, ...result.keys }\n\t\t}\n\n\t\treturn legacy\n\t},\n})\n\n// Shared (2021 to present)\nexport const SharedSliceLegacyCodec = (\n\tctx: LegacyContentCtx,\n): LegacyCodec<SharedSliceContent, SharedSliceLegacy> => ({\n\tname: \"SharedSliceLegacy\",\n\n\tis(input): input is SharedSliceContent {\n\t\treturn SharedSliceContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\tconst parsed = SharedSliceLegacySchema.safeParse(input)\n\t\tif (!parsed.success) {\n\t\t\treturn parsed\n\t\t}\n\n\t\tconst primary: SharedSliceContent[\"primary\"] = {}\n\t\tfor (const [key, legacy] of Object.entries(parsed.data[\"primary\"])) {\n\t\t\tconst fieldCtx = getFieldCtx({\n\t\t\t\tfieldKey: key,\n\t\t\t\tctx,\n\t\t\t\tprefixes: [\"variations\", parsed.data.variation, \"primary\"],\n\t\t\t})\n\n\t\t\tconst result = NestableAndGroupLegacyCodec(fieldCtx).toContent(legacy)\n\t\t\tif (!result.success) continue\n\n\t\t\tprimary[key] = result.data\n\t\t}\n\n\t\tconst items: SharedSliceContent[\"items\"] = []\n\t\tfor (let index = 0; index < parsed.data.items.length; index++) {\n\t\t\tconst item = parsed.data.items[index]\n\t\t\tconst itemCtx = getFieldCtx({\n\t\t\t\tfieldKey: \"items\",\n\t\t\t\tctx,\n\t\t\t\tprefixes: [\"variations\", parsed.data.variation],\n\t\t\t})\n\n\t\t\tconst result = GroupItemLegacyCodec(itemCtx, index).toContent(item)\n\t\t\tif (!result.success) continue\n\n\t\t\titems.push(result.data)\n\t\t}\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\t__TYPE__: SharedSliceContentType,\n\t\t\t\tvariation: parsed.data.variation,\n\t\t\t\tprimary,\n\t\t\t\titems,\n\t\t\t},\n\t\t}\n\t},\n\n\tfromContent(input) {\n\t\tconst legacy: ReturnType<LegacyCodec<SharedSliceContent, SharedSliceLegacy>[\"fromContent\"]> = {\n\t\t\tcontent: {\n\t\t\t\tprimary: {},\n\t\t\t\titems: [],\n\t\t\t\tvariation: input.variation,\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\t[ctx.keyOfType]: \"SharedSlice\",\n\t\t\t},\n\t\t\tkeys: {},\n\t\t}\n\n\t\t// Primary\n\t\tfor (const [key, content] of Object.entries(input.primary)) {\n\t\t\tconst fieldCtx = getFieldCtx({\n\t\t\t\tfieldKey: key,\n\t\t\t\tctx,\n\t\t\t\tprefixes: [\"variations\", input.variation, \"primary\"],\n\t\t\t})\n\n\t\t\tconst result = NestableAndGroupLegacyCodec(fieldCtx).fromContent(content)\n\t\t\tif (!result) continue\n\n\t\t\tlegacy.content.primary[key] = result.content\n\t\t\tlegacy.types = { ...legacy.types, ...result.types }\n\t\t\tlegacy.keys = { ...legacy.keys, ...result.keys }\n\t\t}\n\n\t\t// Items\n\t\tconst repeatCtx = getFieldCtx({\n\t\t\tfieldKey: \"items\",\n\t\t\tctx,\n\t\t\tprefixes: [\"variations\", input.variation],\n\t\t})\n\t\tfor (let index = 0; index < input.items.length; index++) {\n\t\t\tconst item = input.items[index]\n\t\t\tconst result = GroupItemLegacyCodec(repeatCtx, index).fromContent(item)\n\n\t\t\tlegacy.content.items.push(result.content)\n\t\t\tlegacy.types = { ...legacy.types, ...result.types }\n\t\t\tlegacy.keys = { ...legacy.keys, ...result.keys }\n\t\t}\n\n\t\treturn legacy\n\t},\n})\n\n// All\nexport const SliceLegacyCodec = (\n\tctx: LegacyContentCtx,\n): LegacyCodec<SliceContent, SliceLegacy, true> => ({\n\tname: \"SliceLegacy\",\n\n\tis(input): input is SliceContent {\n\t\treturn SliceContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\tswitch (ctx.fieldType) {\n\t\t\tcase \"Slice\":\n\t\t\t\treturn CompositeSliceLegacyCodec(ctx).toContent(input)\n\t\t\tcase \"SharedSlice\":\n\t\t\t\treturn SharedSliceLegacyCodec(ctx).toContent(input)\n\t\t\tdefault:\n\t\t\t\treturn LegacySliceLegacyCodec(ctx).toContent(input)\n\t\t}\n\t},\n\n\tfromContent(input) {\n\t\tswitch (input.__TYPE__) {\n\t\t\tcase CompositeSliceContentType:\n\t\t\t\treturn CompositeSliceLegacyCodec(ctx).fromContent(input)\n\t\t\tcase SharedSliceContentType:\n\t\t\t\treturn SharedSliceLegacyCodec(ctx).fromContent(input)\n\t\t\tdefault:\n\t\t\t\treturn LegacySliceLegacyCodec(ctx).fromContent(input)\n\t\t}\n\t},\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"slice.js","names":[],"sources":["../../../src/content/codec/slice.ts"],"sourcesContent":["import { CompositeSliceLegacySchema, SharedSliceLegacySchema } from \"../legacy/slice\"\nimport type {\n\tCompositeSliceLegacy,\n\tSharedSliceLegacy,\n\tLegacySliceLegacy,\n\tSliceLegacy,\n} from \"../legacy/slice\"\nimport {\n\tCompositeSliceContentSchema,\n\tCompositeSliceContentType,\n\tSharedSliceContentSchema,\n\tSharedSliceContentType,\n\tLegacySliceContentSchema,\n\tSliceContentSchema,\n} from \"../slice\"\nimport type {\n\tCompositeSliceContent,\n\tSharedSliceContent,\n\tLegacySliceContent,\n\tSliceContent,\n} from \"../slice\"\nimport { GroupItemLegacyCodec, NestableAndGroupLegacyCodec } from \"./group\"\nimport { getFieldCtx, type LegacyCodec, type LegacyContentCtx } from \"./legacyContentCtx\"\nimport { NestableLegacyCodec } from \"./nestable\"\n\n// Simple (before 2020)\nexport const LegacySliceLegacyCodec = (\n\tctx: LegacyContentCtx,\n): LegacyCodec<LegacySliceContent, LegacySliceLegacy, true> => ({\n\tname: \"LegacySliceLegacy\",\n\n\tis(input): input is LegacySliceContent {\n\t\treturn LegacySliceContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\treturn NestableAndGroupLegacyCodec(ctx).toContent(input)\n\t},\n\n\tfromContent(input) {\n\t\treturn NestableAndGroupLegacyCodec(ctx).fromContent(input)\n\t},\n})\n\n// Composite (2020 to 2021)\nexport const CompositeSliceLegacyCodec = (\n\tctx: LegacyContentCtx,\n): LegacyCodec<CompositeSliceContent, CompositeSliceLegacy> => ({\n\tname: \"CompositeSliceLegacy\",\n\n\tis(input): input is CompositeSliceContent {\n\t\treturn CompositeSliceContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\tconst parsed = CompositeSliceLegacySchema.safeParse(input)\n\t\tif (!parsed.success) {\n\t\t\treturn parsed\n\t\t}\n\n\t\tconst nonRepeat: CompositeSliceContent[\"nonRepeat\"] = {}\n\t\tfor (const [key, legacy] of Object.entries(parsed.data[\"non-repeat\"] || {})) {\n\t\t\tconst fieldCtx = getFieldCtx({\n\t\t\t\tfieldKey: key,\n\t\t\t\tctx,\n\t\t\t\tprefixes: [\"non-repeat\"],\n\t\t\t})\n\n\t\t\tconst result = NestableLegacyCodec(fieldCtx).toContent(legacy)\n\t\t\tif (!result.success) continue\n\n\t\t\tnonRepeat[key] = result.data\n\t\t}\n\n\t\tconst repeat: CompositeSliceContent[\"repeat\"] = []\n\t\tfor (let index = 0; index < (parsed.data.repeat?.length || 0); index++) {\n\t\t\tconst item = parsed.data.repeat?.[index]\n\t\t\tconst itemCtx = getFieldCtx({ fieldKey: \"repeat\", ctx })\n\n\t\t\tconst result = GroupItemLegacyCodec(itemCtx, index).toContent(item)\n\t\t\tif (!result.success) continue\n\n\t\t\trepeat.push(result.data)\n\t\t}\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\t__TYPE__: CompositeSliceContentType,\n\t\t\t\tnonRepeat,\n\t\t\t\trepeat,\n\t\t\t},\n\t\t}\n\t},\n\n\tfromContent(input) {\n\t\tconst legacy: ReturnType<\n\t\t\tLegacyCodec<CompositeSliceContent, CompositeSliceLegacy>[\"fromContent\"]\n\t\t> = {\n\t\t\tcontent: {\n\t\t\t\t\"non-repeat\": {},\n\t\t\t\trepeat: [],\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\t[ctx.keyOfType]: \"Slice\",\n\t\t\t},\n\t\t\tkeys: {},\n\t\t}\n\n\t\t// Non-repeat\n\t\tfor (const [key, content] of Object.entries(input.nonRepeat)) {\n\t\t\tconst fieldCtx = getFieldCtx({\n\t\t\t\tfieldKey: key,\n\t\t\t\tctx,\n\t\t\t\tprefixes: [\"non-repeat\"],\n\t\t\t})\n\n\t\t\tconst result = NestableLegacyCodec(fieldCtx).fromContent(content)\n\t\t\tif (!result) continue\n\n\t\t\tlegacy.content[\"non-repeat\"]![key] = result.content\n\t\t\tlegacy.types = { ...legacy.types, ...result.types }\n\t\t\tlegacy.keys = { ...legacy.keys, ...result.keys }\n\t\t}\n\n\t\t// Repeat\n\t\tconst repeatCtx = getFieldCtx({ fieldKey: \"repeat\", ctx })\n\t\tfor (let index = 0; index < input.repeat.length; index++) {\n\t\t\tconst item = input.repeat[index]\n\t\t\tconst result = GroupItemLegacyCodec(repeatCtx, index).fromContent(item)\n\n\t\t\tlegacy.content.repeat!.push(result.content)\n\t\t\tlegacy.types = { ...legacy.types, ...result.types }\n\t\t\tlegacy.keys = { ...legacy.keys, ...result.keys }\n\t\t}\n\n\t\treturn legacy\n\t},\n})\n\n// Shared (2021 to present)\nexport const SharedSliceLegacyCodec = (\n\tctx: LegacyContentCtx,\n): LegacyCodec<SharedSliceContent, SharedSliceLegacy> => ({\n\tname: \"SharedSliceLegacy\",\n\n\tis(input): input is SharedSliceContent {\n\t\treturn SharedSliceContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\tconst parsed = SharedSliceLegacySchema.safeParse(input)\n\t\tif (!parsed.success) {\n\t\t\treturn parsed\n\t\t}\n\n\t\tconst primary: SharedSliceContent[\"primary\"] = {}\n\t\tfor (const [key, legacy] of Object.entries(parsed.data[\"primary\"])) {\n\t\t\tconst fieldCtx = getFieldCtx({\n\t\t\t\tfieldKey: key,\n\t\t\t\tctx,\n\t\t\t\tprefixes: [\"variations\", parsed.data.variation, \"primary\"],\n\t\t\t})\n\n\t\t\tconst result = NestableAndGroupLegacyCodec(fieldCtx).toContent(legacy)\n\t\t\tif (!result.success) continue\n\n\t\t\tprimary[key] = result.data\n\t\t}\n\n\t\tconst items: SharedSliceContent[\"items\"] = []\n\t\tfor (let index = 0; index < parsed.data.items.length; index++) {\n\t\t\tconst item = parsed.data.items[index]\n\t\t\tconst itemCtx = getFieldCtx({\n\t\t\t\tfieldKey: \"items\",\n\t\t\t\tctx,\n\t\t\t\tprefixes: [\"variations\", parsed.data.variation],\n\t\t\t})\n\n\t\t\tconst result = GroupItemLegacyCodec(itemCtx, index).toContent(item)\n\t\t\tif (!result.success) continue\n\n\t\t\titems.push(result.data)\n\t\t}\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\t__TYPE__: SharedSliceContentType,\n\t\t\t\tvariation: parsed.data.variation,\n\t\t\t\tprimary,\n\t\t\t\titems,\n\t\t\t},\n\t\t}\n\t},\n\n\tfromContent(input) {\n\t\tconst legacy: ReturnType<LegacyCodec<SharedSliceContent, SharedSliceLegacy>[\"fromContent\"]> = {\n\t\t\tcontent: {\n\t\t\t\tprimary: {},\n\t\t\t\titems: [],\n\t\t\t\tvariation: input.variation,\n\t\t\t},\n\t\t\ttypes: {\n\t\t\t\t[ctx.keyOfType]: \"SharedSlice\",\n\t\t\t},\n\t\t\tkeys: {},\n\t\t}\n\n\t\t// Primary\n\t\tfor (const [key, content] of Object.entries(input.primary)) {\n\t\t\tconst fieldCtx = getFieldCtx({\n\t\t\t\tfieldKey: key,\n\t\t\t\tctx,\n\t\t\t\tprefixes: [\"variations\", input.variation, \"primary\"],\n\t\t\t})\n\n\t\t\tconst result = NestableAndGroupLegacyCodec(fieldCtx).fromContent(content)\n\t\t\tif (!result) continue\n\n\t\t\tlegacy.content.primary[key] = result.content\n\t\t\tlegacy.types = { ...legacy.types, ...result.types }\n\t\t\tlegacy.keys = { ...legacy.keys, ...result.keys }\n\t\t}\n\n\t\t// Items\n\t\tconst repeatCtx = getFieldCtx({\n\t\t\tfieldKey: \"items\",\n\t\t\tctx,\n\t\t\tprefixes: [\"variations\", input.variation],\n\t\t})\n\t\tfor (let index = 0; index < input.items.length; index++) {\n\t\t\tconst item = input.items[index]\n\t\t\tconst result = GroupItemLegacyCodec(repeatCtx, index).fromContent(item)\n\n\t\t\tlegacy.content.items.push(result.content)\n\t\t\tlegacy.types = { ...legacy.types, ...result.types }\n\t\t\tlegacy.keys = { ...legacy.keys, ...result.keys }\n\t\t}\n\n\t\treturn legacy\n\t},\n})\n\n// All\nexport const SliceLegacyCodec = (\n\tctx: LegacyContentCtx,\n): LegacyCodec<SliceContent, SliceLegacy, true> => ({\n\tname: \"SliceLegacy\",\n\n\tis(input): input is SliceContent {\n\t\treturn SliceContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\tswitch (ctx.fieldType) {\n\t\t\tcase \"Slice\":\n\t\t\t\treturn CompositeSliceLegacyCodec(ctx).toContent(input)\n\t\t\tcase \"SharedSlice\":\n\t\t\t\treturn SharedSliceLegacyCodec(ctx).toContent(input)\n\t\t\tdefault:\n\t\t\t\treturn LegacySliceLegacyCodec(ctx).toContent(input)\n\t\t}\n\t},\n\n\tfromContent(input) {\n\t\tswitch (input.__TYPE__) {\n\t\t\tcase CompositeSliceContentType:\n\t\t\t\treturn CompositeSliceLegacyCodec(ctx).fromContent(input)\n\t\t\tcase SharedSliceContentType:\n\t\t\t\treturn SharedSliceLegacyCodec(ctx).fromContent(input)\n\t\t\tdefault:\n\t\t\t\treturn LegacySliceLegacyCodec(ctx).fromContent(input)\n\t\t}\n\t},\n})\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slices.d.ts","names":[],"sources":["../../src/content/slices.ts"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEvB,gBAAA,GAAmB,CAAA,CAAE,KAAA,QAAa,sBAAA;AAAA,cAOjC,mBAAA,EAAmB,CAAA,CAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAKpB,aAAA,GAAgB,CAAA,CAAE,KAAA,QAAa,mBAAA"}
1
+ {"version":3,"file":"slices.d.ts","names":[],"sources":["../../src/content/slices.ts"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEvB,gBAAA,GAAmB,CAAA,CAAE,KAAA,QAAa,sBAAA;AAAA,cAOjC,mBAAA,EAAmB,CAAA,CAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAKpB,aAAA,GAAgB,CAAA,CAAE,KAAA,QAAa,mBAAA"}
@@ -9,9 +9,9 @@ const getSliceItemContentSchema = (widgetSchema) => {
9
9
  widget: widgetSchema
10
10
  });
11
11
  };
12
- getSliceItemContentSchema(LegacySliceContentSchema);
13
- getSliceItemContentSchema(CompositeSliceContentSchema);
14
- getSliceItemContentSchema(SharedSliceContentSchema);
12
+ const LegacySliceItemContentSchema = getSliceItemContentSchema(LegacySliceContentSchema);
13
+ const CompositeSliceItemContentSchema = getSliceItemContentSchema(CompositeSliceContentSchema);
14
+ const SharedSliceItemContentSchema = getSliceItemContentSchema(SharedSliceContentSchema);
15
15
  const SliceItemContentSchema = getSliceItemContentSchema(SliceContentSchema);
16
16
  const SlicesContentType = "SliceContentType";
17
17
  const SlicesContentSchema = z.object({
@@ -19,6 +19,6 @@ const SlicesContentSchema = z.object({
19
19
  value: z.array(SliceItemContentSchema)
20
20
  });
21
21
  //#endregion
22
- export { SliceItemContentSchema, SlicesContentSchema, SlicesContentType };
22
+ export { CompositeSliceItemContentSchema, LegacySliceItemContentSchema, SharedSliceItemContentSchema, SliceItemContentSchema, SlicesContentSchema, SlicesContentType };
23
23
 
24
24
  //# sourceMappingURL=slices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slices.js","names":[],"sources":["../../src/content/slices.ts"],"sourcesContent":["import { z } from \"zod/mini\"\n\nimport {\n\tCompositeSliceContentSchema,\n\tSharedSliceContentSchema,\n\tLegacySliceContentSchema,\n\tSliceContentSchema,\n} from \"./slice\"\n\n// Item\nconst getSliceItemContentSchema = <\n\tTWidgetSchema extends\n\t\t| typeof LegacySliceContentSchema\n\t\t| typeof CompositeSliceContentSchema\n\t\t| typeof SharedSliceContentSchema\n\t\t| typeof SliceContentSchema,\n>(\n\twidgetSchema: TWidgetSchema,\n) => {\n\treturn z.object({\n\t\tkey: z.string(),\n\t\tname: z.string(),\n\t\tmaybeLabel: z.optional(z.string()),\n\t\twidget: widgetSchema,\n\t})\n}\n\nconst LegacySliceItemContentSchema = getSliceItemContentSchema(LegacySliceContentSchema)\n\nexport type LegacySliceItemContent = z.infer<typeof LegacySliceItemContentSchema>\n\nconst CompositeSliceItemContentSchema = getSliceItemContentSchema(CompositeSliceContentSchema)\n\nexport type CompositeSliceItemContent = z.infer<typeof CompositeSliceItemContentSchema>\n\nconst SharedSliceItemContentSchema = getSliceItemContentSchema(SharedSliceContentSchema)\n\nexport type SharedSliceItemContent = z.infer<typeof SharedSliceItemContentSchema>\n\n// All\nexport const SliceItemContentSchema = getSliceItemContentSchema(SliceContentSchema)\n\nexport type SliceItemContent = z.infer<typeof SliceItemContentSchema>\n\n// Slices\n\n// Typo (missing `s`) is legacy...\nexport const SlicesContentType = \"SliceContentType\" as const\n\nexport const SlicesContentSchema = z.object({\n\t__TYPE__: z.literal(SlicesContentType),\n\tvalue: z.array(SliceItemContentSchema),\n})\n\nexport type SlicesContent = z.infer<typeof SlicesContentSchema>\n"],"mappings":";;;AAUA,MAAM,6BAOL,iBACI;AACJ,QAAO,EAAE,OAAO;EACf,KAAK,EAAE,QAAQ;EACf,MAAM,EAAE,QAAQ;EAChB,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC;EAClC,QAAQ;EACR,CAAC;;AAGkC,0BAA0B,yBAAyB;AAIhD,0BAA0B,4BAA4B;AAIzD,0BAA0B,yBAAyB;AAKxF,MAAa,yBAAyB,0BAA0B,mBAAmB;AAOnF,MAAa,oBAAoB;AAEjC,MAAa,sBAAsB,EAAE,OAAO;CAC3C,UAAU,EAAE,QAAQ,kBAAkB;CACtC,OAAO,EAAE,MAAM,uBAAuB;CACtC,CAAC"}
1
+ {"version":3,"file":"slices.js","names":[],"sources":["../../src/content/slices.ts"],"sourcesContent":["import { z } from \"zod/mini\"\n\nimport {\n\tCompositeSliceContentSchema,\n\tSharedSliceContentSchema,\n\tLegacySliceContentSchema,\n\tSliceContentSchema,\n} from \"./slice\"\n\n// Item\nconst getSliceItemContentSchema = <\n\tTWidgetSchema extends\n\t\t| typeof LegacySliceContentSchema\n\t\t| typeof CompositeSliceContentSchema\n\t\t| typeof SharedSliceContentSchema\n\t\t| typeof SliceContentSchema,\n>(\n\twidgetSchema: TWidgetSchema,\n) => {\n\treturn z.object({\n\t\tkey: z.string(),\n\t\tname: z.string(),\n\t\tmaybeLabel: z.optional(z.string()),\n\t\twidget: widgetSchema,\n\t})\n}\n\nexport const LegacySliceItemContentSchema = getSliceItemContentSchema(LegacySliceContentSchema)\n\nexport type LegacySliceItemContent = z.infer<typeof LegacySliceItemContentSchema>\n\nexport const CompositeSliceItemContentSchema = getSliceItemContentSchema(\n\tCompositeSliceContentSchema,\n)\n\nexport type CompositeSliceItemContent = z.infer<typeof CompositeSliceItemContentSchema>\n\nexport const SharedSliceItemContentSchema = getSliceItemContentSchema(SharedSliceContentSchema)\n\nexport type SharedSliceItemContent = z.infer<typeof SharedSliceItemContentSchema>\n\n// All\nexport const SliceItemContentSchema = getSliceItemContentSchema(SliceContentSchema)\n\nexport type SliceItemContent = z.infer<typeof SliceItemContentSchema>\n\n// Slices\n\n// Typo (missing `s`) is legacy...\nexport const SlicesContentType = \"SliceContentType\" as const\n\nexport const SlicesContentSchema = z.object({\n\t__TYPE__: z.literal(SlicesContentType),\n\tvalue: z.array(SliceItemContentSchema),\n})\n\nexport type SlicesContent = z.infer<typeof SlicesContentSchema>\n"],"mappings":";;;AAUA,MAAM,6BAOL,iBACI;AACJ,QAAO,EAAE,OAAO;EACf,KAAK,EAAE,QAAQ;EACf,MAAM,EAAE,QAAQ;EAChB,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC;EAClC,QAAQ;EACR,CAAC;;AAGH,MAAa,+BAA+B,0BAA0B,yBAAyB;AAI/F,MAAa,kCAAkC,0BAC9C,4BACA;AAID,MAAa,+BAA+B,0BAA0B,yBAAyB;AAK/F,MAAa,yBAAyB,0BAA0B,mBAAmB;AAOnF,MAAa,oBAAoB;AAEjC,MAAa,sBAAsB,EAAE,OAAO;CAC3C,UAAU,EAAE,QAAQ,kBAAkB;CACtC,OAAO,EAAE,MAAM,uBAAuB;CACtC,CAAC"}
@@ -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,iBAuCa,OAAA,CAAQ,UAAA,EAAY,qBAAA,GAAwB,kBAAA;AAAA,iBAI5C,mBAAA,CAAoB,UAAA,EAAY,qBAAA,GAAwB,MAAA,SAAe,gBAAA"}
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 = sharedSlices 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(customType: StaticCustomTypeModel): 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,kBAAkB,wBAAwB,MAAM,eAAe,IAAI,IAAI,OAAO,QAAQ,aAAa,CAAC;AAE1G,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,oBAAoB,YAAqE;CACxG,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
+ {"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 +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,GAAO,IAAA;EACN,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,EAAS,aAAA;AAAA,MACJ,IAAA;EACL,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,EAAS,cAAA;AAAA,IAER,MAAA,SAAe,cAAA;AAAA,iBAgBF,UAAA,CACf,MAAA,EAAQ,cAAA,GACN,eAAA;AAAA,iBAiCa,QAAA,CAAS,QAAA,EAAU,eAAA,GAAkB,cAAA"}
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,GAAO,IAAA;EACN,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,EAAS,aAAA;AAAA,MACJ,IAAA;EACL,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,EAAS,cAAA;AAAA,IAER,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({
@@ -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(parsed.data);
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 type { DocumentContent } from \"../content/document\";\nimport { traverseDocumentContent } from \"./traverseContent\";\nimport * as contentPath from \"./contentPath\";\nimport type { WidgetContent } from \"../content/widget\";\nimport type { DocumentLegacy } from \"../content/legacy/document\";\nimport { DocumentLegacySchema } from \"../content/legacy/document\";\nimport { DocumentLegacyCodec } from \"../content/codec/document\";\nimport { defaultCtx } from \"../content/codec/legacyContentCtx\";\nimport type { FieldOrSliceType } from \"../model/widget\";\nimport { FieldOrSliceTypeSchema } from \"../model/widget\";\n\nexport function collectWidgets<TWidgetContent extends WidgetContent>(\n\tdocument: DocumentContent,\n\ttest: (args: {\n\t\tpath: contentPath.Path;\n\t\tkey: string;\n\t\tapiID: string;\n\t\tcontent: WidgetContent;\n\t}) => args is {\n\t\tpath: contentPath.Path;\n\t\tkey: string;\n\t\tapiID: string;\n\t\tcontent: TWidgetContent;\n\t}\n): Record<string, TWidgetContent> {\n\tconst collected: Record<string, TWidgetContent> = {}\n\n\ttraverseDocumentContent(document, {\n\t\ttransformWidget: (args) => {\n\t\t\tif (test(args)) {\n\t\t\t\tcollected[contentPath.serialize(args.path)] = args.content\n\t\t\t}\n\n\t\t\treturn args.content\n\t\t},\n\t})\n\n\treturn collected\n}\n\nexport function fromLegacy(\n\tlegacy: DocumentLegacy,\n): 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(parsed.data)\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,MAWiC;CACjC,MAAM,YAA4C,EAAE;AAEpD,yBAAwB,UAAU,EACjC,kBAAkB,SAAS;AAC1B,MAAI,KAAK,KAAK,CACb,WAAUA,UAAsB,KAAK,KAAK,IAAI,KAAK;AAGpD,SAAO,KAAK;IAEb,CAAC;AAEF,QAAO;;AAGR,SAAgB,WACf,QAC8B;CAC9B,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,OAAO,KAAK;AACtF,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
+ {"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: (args: {\n\t\tpath: contentPath.Path\n\t\tkey: string\n\t\tapiID: string\n\t\tcontent: WidgetContent\n\t}) => args is {\n\t\tpath: contentPath.Path\n\t\tkey: string\n\t\tapiID: string\n\t\tcontent: TWidgetContent\n\t},\n): Record<string, TWidgetContent> {\n\tconst collected: Record<string, TWidgetContent> = {}\n\n\ttraverseDocumentContent(document, {\n\t\ttransformWidget: (args) => {\n\t\t\tif (test(args)) {\n\t\t\t\tcollected[contentPath.serialize(args.path)] = args.content\n\t\t\t}\n\n\t\t\treturn args.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,MAWiC;CACjC,MAAM,YAA4C,EAAE;AAEpD,yBAAwB,UAAU,EACjC,kBAAkB,SAAS;AAC1B,MAAI,KAAK,KAAK,CACb,WAAUA,UAAsB,KAAK,KAAK,IAAI,KAAK;AAGpD,SAAO,KAAK;IAEb,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"}
@@ -29,20 +29,20 @@ type TraverseSlicesContentConfig = {
29
29
  declare function traverseSlicesContent(path: Path, key: string, apiID: string, content: SlicesContent, config: TraverseSlicesContentConfig): SlicesContent | undefined;
30
30
  type TraverseSharedSliceContentConfig = {
31
31
  model?: SharedSliceVariationModel;
32
- transformWidget: TraverseWidgetContentFunction;
33
- transformSlice: TraverseSliceContentFunction;
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: TraverseWidgetContentFunction;
39
- transformSlice: TraverseSliceContentFunction;
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: TraverseWidgetContentFunction;
45
- transformSlice: TraverseSliceContentFunction;
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 = {
@@ -1 +1 @@
1
- {"version":3,"file":"traverseContent.d.ts","names":[],"sources":["../../src/helpers/traverseContent.ts"],"mappings":";;;;;;;;;;;;;;;;;KAmCK,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,yBAAA;EACR,eAAA,EAAiB,6BAAA;EACjB,cAAA,EAAgB,4BAAA;AAAA;AAAA,iBAGD,0BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,sBAAA,EACT,MAAA,EAAQ,gCAAA,GACN,sBAAA;AAAA,KAyCE,mCAAA;EACJ,KAAA,GAAQ,mBAAA;EACR,eAAA,EAAiB,6BAAA;EACjB,cAAA,EAAgB,4BAAA;AAAA;AAAA,iBAGD,6BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,yBAAA,EACT,MAAA,EAAQ,mCAAA,GACN,yBAAA;AAAA,KAsCE,gCAAA;EACJ,KAAA,GAAQ,gBAAA;EACR,eAAA,EAAiB,6BAAA;EACjB,cAAA,EAAgB,4BAAA;AAAA;AAAA,iBAGD,0BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,sBAAA,EACT,MAAA,EAAQ,gCAAA,GACN,sBAAA;AAAA,KAuBE,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,UAAA;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;AAAA,KAGxD,UAAA,GAAa,yBAAA,GAA4B,mBAAA,GAAsB,gBAAA"}
1
+ {"version":3,"file":"traverseContent.d.ts","names":[],"sources":["../../src/helpers/traverseContent.ts"],"mappings":";;;;;;;;;;;;;;;;;KAmCK,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,KAyEE,gCAAA;EACJ,KAAA,GAAQ,yBAAA;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,KA4CE,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,KAyCE,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,UAAA;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;AAAA,KAGxD,UAAA,GAAa,yBAAA,GAA4B,mBAAA,GAAsB,gBAAA"}
@@ -1,6 +1,5 @@
1
1
  import { make } from "./contentPath.js";
2
2
  import { flatten } from "./customTypeModel.js";
3
- import { TableCellModel } from "../model/table.js";
4
3
  import { isRepeatableContentValue } from "../content/repeatable.js";
5
4
  import { RichTextContentType } from "../content/richText.js";
6
5
  import "../content/table.js";
@@ -8,6 +7,7 @@ import { isNestableContent } from "../content/nestable.js";
8
7
  import "../content/group.js";
9
8
  import "../content/slice.js";
10
9
  import "../content/slices.js";
10
+ import { TableCellModel } from "../model/table.js";
11
11
  //#region src/helpers/traverseContent.ts
12
12
  function traverseDocumentContent(document, config) {
13
13
  const { model, transformWidget, transformSlice } = config;
@@ -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\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 * 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 {\n\t\ttransformWidget = (args) => args.content,\n\t\ttransformSlice = (args) => args.content\n\t} = config\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 {\n\t\ttransformWidget = (args) => args.content,\n\t\ttransformSlice = (args) => args.content\n\t} = 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 {\n\t\ttransformWidget = (args) => args.content,\n\t\ttransformSlice = (args) => args.content\n\t} = 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 {\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?: 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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"}
@@ -29,20 +29,20 @@ type TraverseSlicesContentWithModelConfig = {
29
29
  declare function traverseSlicesContentWithModel(path: Path, key: string, apiID: string, content: SlicesContent | undefined, config: TraverseSlicesContentWithModelConfig): SlicesContent | undefined;
30
30
  type TraverseSharedSliceContentWithModelConfig = {
31
31
  model: SharedSliceVariationModel;
32
- transformWidget: TraverseWidgetContentWithModelFunction;
33
- transformSlice: TraverseSliceContentWithModelFunction;
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: TraverseWidgetContentWithModelFunction;
39
- transformSlice: TraverseSliceContentWithModelFunction;
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: TraverseWidgetContentWithModelFunction;
45
- transformSlice: TraverseSliceContentWithModelFunction;
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 = {
@@ -1 +1 @@
1
- {"version":3,"file":"traverseContentWithModel.d.ts","names":[],"sources":["../../src/helpers/traverseContentWithModel.ts"],"mappings":";;;;;;;;;;;;;;;;;KA+BK,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,yBAAA;EACP,eAAA,EAAiB,sCAAA;EACjB,cAAA,EAAgB,qCAAA;AAAA;AAAA,iBAGD,mCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,sBAAA,cACT,MAAA,EAAQ,yCAAA,GACN,sBAAA;AAAA,KA2CE,4CAAA;EACJ,KAAA,EAAO,mBAAA;EACP,eAAA,EAAiB,sCAAA;EACjB,cAAA,EAAgB,qCAAA;AAAA;AAAA,iBAGD,sCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,yBAAA,cACT,MAAA,EAAQ,4CAAA,GACN,yBAAA;AAAA,KAwCE,yCAAA;EACJ,KAAA,EAAO,gBAAA;EACP,eAAA,EAAiB,sCAAA;EACjB,cAAA,EAAgB,qCAAA;AAAA;AAAA,iBAGD,mCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,sBAAA,cACT,MAAA,EAAQ,yCAAA,GACN,sBAAA;AAAA,KA2BE,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,KAqDE,UAAA,GAAa,yBAAA,GAA4B,mBAAA,GAAsB,gBAAA;AAAA,KAExD,qCAAA,qBAA0D,gBAAA,EAAkB,IAAA;EACvF,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,GAAU,QAAA;EACV,KAAA,EAAO,UAAA;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
+ {"version":3,"file":"traverseContentWithModel.d.ts","names":[],"sources":["../../src/helpers/traverseContentWithModel.ts"],"mappings":";;;;;;;;;;;;;;;;;KAmCK,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,yBAAA;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,KA8CE,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,KA2CE,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,KAqDE,UAAA,GAAa,yBAAA,GAA4B,mBAAA,GAAsB,gBAAA;AAAA,KAExD,qCAAA,qBAA0D,gBAAA,EAAkB,IAAA;EACvF,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,GAAU,QAAA;EACV,KAAA,EAAO,UAAA;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,5 @@
1
1
  import { make } from "./contentPath.js";
2
2
  import { flatten } from "./customTypeModel.js";
3
- import { TableCellModel } from "../model/table.js";
4
3
  import { isRepeatableContentValue } from "../content/repeatable.js";
5
4
  import { RichTextContentType } from "../content/richText.js";
6
5
  import "../content/table.js";
@@ -8,6 +7,7 @@ import { isNestableContent } from "../content/nestable.js";
8
7
  import "../content/group.js";
9
8
  import "../content/slice.js";
10
9
  import "../content/slices.js";
10
+ import { TableCellModel } from "../model/table.js";
11
11
  //#region src/helpers/traverseContentWithModel.ts
12
12
  function traverseDocumentContentWithModel(document, config) {
13
13
  const { model, transformWidget, transformSlice } = config;
@@ -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,