@prismicio/types-internal 4.0.0-pr.6.09bccf8 → 4.0.0-pr.6.38cb7de

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) 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/link.js +8 -8
  5. package/dist/content/codec/link.js.map +1 -1
  6. package/dist/content/codec/richText.js +2 -2
  7. package/dist/content/codec/richText.js.map +1 -1
  8. package/dist/content/codec/slice.js.map +1 -1
  9. package/dist/content/document.d.ts +2 -3019
  10. package/dist/content/document.d.ts.map +1 -1
  11. package/dist/content/field.d.ts +1 -30
  12. package/dist/content/field.d.ts.map +1 -1
  13. package/dist/content/field.js.map +1 -1
  14. package/dist/content/group.d.ts +2 -1
  15. package/dist/content/group.d.ts.map +1 -1
  16. package/dist/content/group.js.map +1 -1
  17. package/dist/content/legacy/boolean.d.ts +1 -0
  18. package/dist/content/legacy/embed.d.ts +1 -0
  19. package/dist/content/legacy/empty.d.ts +1 -0
  20. package/dist/content/legacy/field.d.ts +1 -0
  21. package/dist/content/legacy/geopoint.d.ts +1 -0
  22. package/dist/content/legacy/group.d.ts +9 -0
  23. package/dist/content/legacy/group.d.ts.map +1 -0
  24. package/dist/content/legacy/group.js.map +1 -1
  25. package/dist/content/legacy/integrationField.d.ts +1 -0
  26. package/dist/content/legacy/link.d.ts +41 -0
  27. package/dist/content/legacy/link.d.ts.map +1 -0
  28. package/dist/content/legacy/link.js.map +1 -1
  29. package/dist/content/legacy/nestable.d.ts +1 -0
  30. package/dist/content/legacy/nestable.js.map +1 -1
  31. package/dist/content/legacy/repeatable.d.ts +1 -0
  32. package/dist/content/legacy/richText.d.ts +109 -0
  33. package/dist/content/legacy/richText.d.ts.map +1 -0
  34. package/dist/content/legacy/richText.js +3 -3
  35. package/dist/content/legacy/richText.js.map +1 -1
  36. package/dist/content/legacy/separator.d.ts +1 -0
  37. package/dist/content/legacy/slice.js.map +1 -1
  38. package/dist/content/legacy/table.d.ts +1 -0
  39. package/dist/content/link.d.ts +74 -99
  40. package/dist/content/link.d.ts.map +1 -1
  41. package/dist/content/link.js +2 -2
  42. package/dist/content/link.js.map +1 -1
  43. package/dist/content/nestable.d.ts +13 -749
  44. package/dist/content/nestable.d.ts.map +1 -1
  45. package/dist/content/nestable.js.map +1 -1
  46. package/dist/content/repeatable.d.ts +3 -98
  47. package/dist/content/repeatable.d.ts.map +1 -1
  48. package/dist/content/richText.d.ts +81 -131
  49. package/dist/content/richText.d.ts.map +1 -1
  50. package/dist/content/richText.js +5 -4
  51. package/dist/content/richText.js.map +1 -1
  52. package/dist/content/slice.d.ts +6 -4509
  53. package/dist/content/slice.d.ts.map +1 -1
  54. package/dist/content/slice.js.map +1 -1
  55. package/dist/content/slices.d.ts +8 -6765
  56. package/dist/content/slices.d.ts.map +1 -1
  57. package/dist/content/slices.js +4 -4
  58. package/dist/content/slices.js.map +1 -1
  59. package/dist/content/table.d.ts +2 -134
  60. package/dist/content/table.d.ts.map +1 -1
  61. package/dist/content/widget.d.ts +5 -3020
  62. package/dist/content/widget.d.ts.map +1 -1
  63. package/dist/content/widget.js.map +1 -1
  64. package/dist/helpers/customTypeModel.d.ts +1 -1
  65. package/dist/helpers/customTypeModel.d.ts.map +1 -1
  66. package/dist/helpers/customTypeModel.js.map +1 -1
  67. package/dist/helpers/documentContent.d.ts +3 -9
  68. package/dist/helpers/documentContent.d.ts.map +1 -1
  69. package/dist/helpers/documentContent.js +5 -5
  70. package/dist/helpers/documentContent.js.map +1 -1
  71. package/dist/helpers/traverseContent.d.ts +16 -17
  72. package/dist/helpers/traverseContent.d.ts.map +1 -1
  73. package/dist/helpers/traverseContent.js +4 -4
  74. package/dist/helpers/traverseContent.js.map +1 -1
  75. package/dist/helpers/traverseContentWithModel.d.ts +16 -17
  76. package/dist/helpers/traverseContentWithModel.d.ts.map +1 -1
  77. package/dist/helpers/traverseContentWithModel.js +4 -4
  78. package/dist/helpers/traverseContentWithModel.js.map +1 -1
  79. package/dist/index.d.ts +26 -26
  80. package/dist/index.js +2 -1
  81. package/dist/io-ts.d.ts +3380 -67677
  82. package/dist/io-ts.d.ts.map +1 -1
  83. package/dist/io-ts.js +125 -119
  84. package/dist/io-ts.js.map +1 -1
  85. package/dist/model/customType.d.ts +3 -3329
  86. package/dist/model/customType.d.ts.map +1 -1
  87. package/dist/model/group.d.ts +391 -392
  88. package/dist/model/group.d.ts.map +1 -1
  89. package/dist/model/group.js.map +1 -1
  90. package/dist/model/image.d.ts +4 -4
  91. package/dist/model/image.js.map +1 -1
  92. package/dist/model/link.d.ts +18 -18
  93. package/dist/model/link.d.ts.map +1 -1
  94. package/dist/model/link.js +7 -7
  95. package/dist/model/link.js.map +1 -1
  96. package/dist/model/nestable.d.ts +17 -178
  97. package/dist/model/nestable.d.ts.map +1 -1
  98. package/dist/model/nestable.js +2 -2
  99. package/dist/model/nestable.js.map +1 -1
  100. package/dist/model/richText.d.ts +3 -7
  101. package/dist/model/richText.d.ts.map +1 -1
  102. package/dist/model/richText.js +4 -3
  103. package/dist/model/richText.js.map +1 -1
  104. package/dist/model/section.d.ts +3 -3329
  105. package/dist/model/section.d.ts.map +1 -1
  106. package/dist/model/select.d.ts +1 -1
  107. package/dist/model/select.js +1 -1
  108. package/dist/model/select.js.map +1 -1
  109. package/dist/model/slice.d.ts +861 -3800
  110. package/dist/model/slice.d.ts.map +1 -1
  111. package/dist/model/slice.js +7 -2
  112. package/dist/model/slice.js.map +1 -1
  113. package/dist/model/slices.d.ts +3 -2195
  114. package/dist/model/slices.d.ts.map +1 -1
  115. package/dist/model/table.d.ts +2 -1
  116. package/dist/model/table.d.ts.map +1 -1
  117. package/dist/model/table.js +9 -7
  118. package/dist/model/table.js.map +1 -1
  119. package/dist/model/widget.d.ts +6 -3331
  120. package/dist/model/widget.d.ts.map +1 -1
  121. package/dist/model/widget.js.map +1 -1
  122. package/dist/zod4.d.ts +1345 -32523
  123. package/dist/zod4.d.ts.map +1 -1
  124. package/dist/zod4.js +125 -119
  125. package/dist/zod4.js.map +1 -1
  126. package/package.json +3 -2
  127. package/src/content/codec/legacyContentCtx.ts +1 -0
  128. package/src/content/codec/link.ts +8 -8
  129. package/src/content/codec/richText.ts +10 -6
  130. package/src/content/codec/slice.ts +3 -1
  131. package/src/content/field.ts +9 -2
  132. package/src/content/group.ts +5 -2
  133. package/src/content/legacy/group.ts +10 -4
  134. package/src/content/legacy/link.ts +32 -9
  135. package/src/content/legacy/nestable.ts +26 -2
  136. package/src/content/legacy/richText.ts +40 -7
  137. package/src/content/legacy/slice.ts +2 -2
  138. package/src/content/legacy/widget.ts +6 -2
  139. package/src/content/link.ts +32 -9
  140. package/src/content/nestable.ts +40 -2
  141. package/src/content/richText.ts +31 -9
  142. package/src/content/slice.ts +2 -2
  143. package/src/content/slices.ts +5 -3
  144. package/src/content/widget.ts +6 -2
  145. package/src/helpers/customTypeModel.ts +6 -3
  146. package/src/helpers/documentContent.ts +24 -29
  147. package/src/helpers/traverseContent.ts +32 -27
  148. package/src/helpers/traverseContentWithModel.ts +35 -27
  149. package/src/index.ts +11 -3
  150. package/src/io-ts.ts +173 -134
  151. package/src/model/group.ts +4 -1
  152. package/src/model/image.ts +1 -1
  153. package/src/model/link.ts +39 -45
  154. package/src/model/nestable.ts +33 -1
  155. package/src/model/richText.ts +2 -2
  156. package/src/model/select.ts +2 -2
  157. package/src/model/slice.ts +36 -9
  158. package/src/model/table.ts +10 -2
  159. package/src/model/widget.ts +10 -9
  160. package/src/zod4.ts +168 -133
@@ -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"}
@@ -2,47 +2,47 @@ import { LinkKind, LinkLegacySchema, LinkType } from "../legacy/link.js";
2
2
  import { LinkContentSchema, LinkContentType } from "../link.js";
3
3
  //#region src/content/codec/link.ts
4
4
  function linkLegacyToValue(value) {
5
- let legacy;
5
+ let content;
6
6
  switch (value.kind) {
7
7
  case LinkKind.Image:
8
- legacy = {
8
+ content = {
9
9
  __TYPE__: LinkType.Image,
10
10
  ...value
11
11
  };
12
12
  break;
13
13
  case LinkKind.File:
14
- legacy = {
14
+ content = {
15
15
  __TYPE__: LinkType.File,
16
16
  ...value
17
17
  };
18
18
  break;
19
19
  case LinkKind.Document:
20
- legacy = {
20
+ content = {
21
21
  __TYPE__: LinkType.Document,
22
22
  ...value
23
23
  };
24
24
  break;
25
25
  case LinkKind.External:
26
- legacy = {
26
+ content = {
27
27
  __TYPE__: LinkType.External,
28
28
  ...value
29
29
  };
30
30
  break;
31
31
  case LinkKind.Media:
32
- legacy = {
32
+ content = {
33
33
  __TYPE__: LinkType.Media,
34
34
  ...value
35
35
  };
36
36
  break;
37
37
  case LinkKind.Any:
38
38
  default:
39
- legacy = {
39
+ content = {
40
40
  __TYPE__: LinkType.Any,
41
41
  ...value
42
42
  };
43
43
  break;
44
44
  }
45
- return legacy;
45
+ return content;
46
46
  }
47
47
  function linkLegacyToContent({ key, text, variant, ...legacy }) {
48
48
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","names":[],"sources":["../../../src/content/codec/link.ts"],"sourcesContent":["import type {\n\tEmptyLinkValueLegacy,\n\tFilledLinkValueLegacy,\n\tLinkValueLegacy,\n\tLinkLegacy,\n} from \"../legacy/link\"\nimport { LinkKind, LinkType, LinkLegacySchema } from \"../legacy/link\"\nimport { LinkContentSchema, LinkContentType } from \"../link\"\nimport type {\n\tEmptyLinkValueContent,\n\tFilledLinkValueContent,\n\tLinkContent,\n\tLinkValueContent,\n} from \"../link\"\nimport type { LegacyContentCtx, LegacyCodec } from \"./legacyContentCtx\"\n\n// Also used by content/codec/richText\nexport function linkLegacyToValue(value: FilledLinkValueLegacy): FilledLinkValueContent\nexport function linkLegacyToValue(value: EmptyLinkValueLegacy): EmptyLinkValueContent\nexport function linkLegacyToValue(value: LinkValueLegacy): LinkValueContent\nexport function linkLegacyToValue(\n\tvalue: Omit<LinkLegacy, \"text\" | \"variant\" | \"key\">,\n): Omit<LinkContent[\"value\"], \"text\" | \"variant\"> {\n\tlet legacy: Omit<LinkContent[\"value\"], \"text\" | \"variant\">\n\tswitch (value.kind) {\n\t\tcase LinkKind.Image:\n\t\t\tlegacy = { __TYPE__: LinkType.Image, ...value }\n\t\t\tbreak\n\t\tcase LinkKind.File:\n\t\t\tlegacy = { __TYPE__: LinkType.File, ...value }\n\t\t\tbreak\n\t\tcase LinkKind.Document:\n\t\t\tlegacy = { __TYPE__: LinkType.Document, ...value }\n\t\t\tbreak\n\t\tcase LinkKind.External:\n\t\t\tlegacy = { __TYPE__: LinkType.External, ...value }\n\t\t\tbreak\n\t\tcase LinkKind.Media:\n\t\t\tlegacy = { __TYPE__: LinkType.Media, ...value }\n\t\t\tbreak\n\t\tcase LinkKind.Any:\n\t\tdefault:\n\t\t\tlegacy = { __TYPE__: LinkType.Any, ...value }\n\t\t\tbreak\n\t}\n\n\treturn legacy\n}\n\n// Also used by content/codec/repeatable\nexport function linkLegacyToContent({ key, text, variant, ...legacy }: LinkLegacy): LinkContent {\n\treturn {\n\t\t__TYPE__: LinkContentType,\n\t\tkey,\n\t\tvalue: {\n\t\t\t...(text ? { text } : {}),\n\t\t\t...(variant ? { variant } : {}),\n\t\t\t...linkLegacyToValue(legacy),\n\t\t},\n\t}\n}\n\n// Also used by content/codec/richText\nexport function linkValueToLegacy(value: FilledLinkValueContent): FilledLinkValueLegacy\nexport function linkValueToLegacy(value: EmptyLinkValueContent): EmptyLinkValueLegacy\nexport function linkValueToLegacy(value: LinkValueContent): LinkValueLegacy {\n\tconst { __TYPE__, ...legacy } = value\n\treturn legacy\n}\n\nfunction linkContentToLegacy({ key, value }: LinkContent): LinkLegacy {\n\tconst { __TYPE__, ...legacy } = value\n\n\treturn { key, ...legacy }\n}\n\nexport const LinkLegacyCodec = (ctx: LegacyContentCtx): LegacyCodec<LinkContent, LinkLegacy> => ({\n\tname: \"LinkLegacy\",\n\n\tis(input): input is LinkContent {\n\t\treturn LinkContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\tconst parsed = LinkLegacySchema.safeParse(input)\n\t\tif (!parsed.success) {\n\t\t\treturn parsed\n\t\t}\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: linkLegacyToContent(parsed.data),\n\t\t}\n\t},\n\n\tfromContent(input) {\n\t\treturn {\n\t\t\tcontent: linkContentToLegacy(input),\n\t\t\ttypes: { [ctx.keyOfType]: \"Link\" },\n\t\t\tkeys: {},\n\t\t}\n\t},\n})\n"],"mappings":";;;AAoBA,SAAgB,kBACf,OACiD;CACjD,IAAI;AACJ,SAAQ,MAAM,MAAd;EACC,KAAK,SAAS;AACb,YAAS;IAAE,UAAU,SAAS;IAAO,GAAG;IAAO;AAC/C;EACD,KAAK,SAAS;AACb,YAAS;IAAE,UAAU,SAAS;IAAM,GAAG;IAAO;AAC9C;EACD,KAAK,SAAS;AACb,YAAS;IAAE,UAAU,SAAS;IAAU,GAAG;IAAO;AAClD;EACD,KAAK,SAAS;AACb,YAAS;IAAE,UAAU,SAAS;IAAU,GAAG;IAAO;AAClD;EACD,KAAK,SAAS;AACb,YAAS;IAAE,UAAU,SAAS;IAAO,GAAG;IAAO;AAC/C;EACD,KAAK,SAAS;EACd;AACC,YAAS;IAAE,UAAU,SAAS;IAAK,GAAG;IAAO;AAC7C;;AAGF,QAAO;;AAIR,SAAgB,oBAAoB,EAAE,KAAK,MAAM,SAAS,GAAG,UAAmC;AAC/F,QAAO;EACN,UAAU;EACV;EACA,OAAO;GACN,GAAI,OAAO,EAAE,MAAM,GAAG,EAAE;GACxB,GAAI,UAAU,EAAE,SAAS,GAAG,EAAE;GAC9B,GAAG,kBAAkB,OAAO;GAC5B;EACD;;AAMF,SAAgB,kBAAkB,OAA0C;CAC3E,MAAM,EAAE,UAAU,GAAG,WAAW;AAChC,QAAO;;AAGR,SAAS,oBAAoB,EAAE,KAAK,SAAkC;CACrE,MAAM,EAAE,UAAU,GAAG,WAAW;AAEhC,QAAO;EAAE;EAAK,GAAG;EAAQ;;AAG1B,MAAa,mBAAmB,SAAiE;CAChG,MAAM;CAEN,GAAG,OAA6B;AAC/B,SAAO,kBAAkB,UAAU,MAAM,CAAC;;CAG3C,UAAU,OAAO;EAChB,MAAM,SAAS,iBAAiB,UAAU,MAAM;AAChD,MAAI,CAAC,OAAO,QACX,QAAO;AAGR,SAAO;GACN,SAAS;GACT,MAAM,oBAAoB,OAAO,KAAK;GACtC;;CAGF,YAAY,OAAO;AAClB,SAAO;GACN,SAAS,oBAAoB,MAAM;GACnC,OAAO,GAAG,IAAI,YAAY,QAAQ;GAClC,MAAM,EAAE;GACR;;CAEF"}
1
+ {"version":3,"file":"link.js","names":[],"sources":["../../../src/content/codec/link.ts"],"sourcesContent":["import type {\n\tEmptyLinkValueLegacy,\n\tFilledLinkValueLegacy,\n\tLinkValueLegacy,\n\tLinkLegacy,\n} from \"../legacy/link\"\nimport { LinkKind, LinkType, LinkLegacySchema } from \"../legacy/link\"\nimport { LinkContentSchema, LinkContentType } from \"../link\"\nimport type {\n\tEmptyLinkValueContent,\n\tFilledLinkValueContent,\n\tLinkContent,\n\tLinkValueContent,\n} from \"../link\"\nimport type { LegacyContentCtx, LegacyCodec } from \"./legacyContentCtx\"\n\n// Also used by content/codec/richText\nexport function linkLegacyToValue(value: FilledLinkValueLegacy): FilledLinkValueContent\nexport function linkLegacyToValue(value: EmptyLinkValueLegacy): EmptyLinkValueContent\nexport function linkLegacyToValue(value: LinkValueLegacy): LinkValueContent\nexport function linkLegacyToValue(\n\tvalue: Omit<LinkLegacy, \"text\" | \"variant\" | \"key\">,\n): Omit<LinkContent[\"value\"], \"text\" | \"variant\"> {\n\tlet content: Omit<LinkContent[\"value\"], \"text\" | \"variant\">\n\tswitch (value.kind) {\n\t\tcase LinkKind.Image:\n\t\t\tcontent = { __TYPE__: LinkType.Image, ...value }\n\t\t\tbreak\n\t\tcase LinkKind.File:\n\t\t\tcontent = { __TYPE__: LinkType.File, ...value }\n\t\t\tbreak\n\t\tcase LinkKind.Document:\n\t\t\tcontent = { __TYPE__: LinkType.Document, ...value }\n\t\t\tbreak\n\t\tcase LinkKind.External:\n\t\t\tcontent = { __TYPE__: LinkType.External, ...value }\n\t\t\tbreak\n\t\tcase LinkKind.Media:\n\t\t\tcontent = { __TYPE__: LinkType.Media, ...value }\n\t\t\tbreak\n\t\tcase LinkKind.Any:\n\t\tdefault:\n\t\t\tcontent = { __TYPE__: LinkType.Any, ...value }\n\t\t\tbreak\n\t}\n\n\treturn content\n}\n\n// Also used by content/codec/repeatable\nexport function linkLegacyToContent({ key, text, variant, ...legacy }: LinkLegacy): LinkContent {\n\treturn {\n\t\t__TYPE__: LinkContentType,\n\t\tkey,\n\t\tvalue: {\n\t\t\t...(text ? { text } : {}),\n\t\t\t...(variant ? { variant } : {}),\n\t\t\t...linkLegacyToValue(legacy),\n\t\t},\n\t}\n}\n\n// Also used by content/codec/richText\nexport function linkValueToLegacy(value: FilledLinkValueContent): FilledLinkValueLegacy\nexport function linkValueToLegacy(value: EmptyLinkValueContent): EmptyLinkValueLegacy\nexport function linkValueToLegacy(value: LinkValueContent): LinkValueLegacy {\n\tconst { __TYPE__, ...legacy } = value\n\treturn legacy\n}\n\nfunction linkContentToLegacy({ key, value }: LinkContent): LinkLegacy {\n\tconst { __TYPE__, ...legacy } = value\n\n\treturn { key, ...legacy }\n}\n\nexport const LinkLegacyCodec = (ctx: LegacyContentCtx): LegacyCodec<LinkContent, LinkLegacy> => ({\n\tname: \"LinkLegacy\",\n\n\tis(input): input is LinkContent {\n\t\treturn LinkContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\tconst parsed = LinkLegacySchema.safeParse(input)\n\t\tif (!parsed.success) {\n\t\t\treturn parsed\n\t\t}\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: linkLegacyToContent(parsed.data),\n\t\t}\n\t},\n\n\tfromContent(input) {\n\t\treturn {\n\t\t\tcontent: linkContentToLegacy(input),\n\t\t\ttypes: { [ctx.keyOfType]: \"Link\" },\n\t\t\tkeys: {},\n\t\t}\n\t},\n})\n"],"mappings":";;;AAoBA,SAAgB,kBACf,OACiD;CACjD,IAAI;AACJ,SAAQ,MAAM,MAAd;EACC,KAAK,SAAS;AACb,aAAU;IAAE,UAAU,SAAS;IAAO,GAAG;IAAO;AAChD;EACD,KAAK,SAAS;AACb,aAAU;IAAE,UAAU,SAAS;IAAM,GAAG;IAAO;AAC/C;EACD,KAAK,SAAS;AACb,aAAU;IAAE,UAAU,SAAS;IAAU,GAAG;IAAO;AACnD;EACD,KAAK,SAAS;AACb,aAAU;IAAE,UAAU,SAAS;IAAU,GAAG;IAAO;AACnD;EACD,KAAK,SAAS;AACb,aAAU;IAAE,UAAU,SAAS;IAAO,GAAG;IAAO;AAChD;EACD,KAAK,SAAS;EACd;AACC,aAAU;IAAE,UAAU,SAAS;IAAK,GAAG;IAAO;AAC9C;;AAGF,QAAO;;AAIR,SAAgB,oBAAoB,EAAE,KAAK,MAAM,SAAS,GAAG,UAAmC;AAC/F,QAAO;EACN,UAAU;EACV;EACA,OAAO;GACN,GAAI,OAAO,EAAE,MAAM,GAAG,EAAE;GACxB,GAAI,UAAU,EAAE,SAAS,GAAG,EAAE;GAC9B,GAAG,kBAAkB,OAAO;GAC5B;EACD;;AAMF,SAAgB,kBAAkB,OAA0C;CAC3E,MAAM,EAAE,UAAU,GAAG,WAAW;AAChC,QAAO;;AAGR,SAAS,oBAAoB,EAAE,KAAK,SAAkC;CACrE,MAAM,EAAE,UAAU,GAAG,WAAW;AAEhC,QAAO;EAAE;EAAK,GAAG;EAAQ;;AAG1B,MAAa,mBAAmB,SAAiE;CAChG,MAAM;CAEN,GAAG,OAA6B;AAC/B,SAAO,kBAAkB,UAAU,MAAM,CAAC;;CAG3C,UAAU,OAAO;EAChB,MAAM,SAAS,iBAAiB,UAAU,MAAM;AAChD,MAAI,CAAC,OAAO,QACX,QAAO;AAGR,SAAO;GACN,SAAS;GACT,MAAM,oBAAoB,OAAO,KAAK;GACtC;;CAGF,YAAY,OAAO;AAClB,SAAO;GACN,SAAS,oBAAoB,MAAM;GACnC,OAAO,GAAG,IAAI,YAAY,QAAQ;GAClC,MAAM,EAAE;GACR;;CAEF"}
@@ -1,4 +1,4 @@
1
- import { BlockLegacySchema, RichTextLegacySchema, RichTextNodeType } from "../legacy/richText.js";
1
+ import { RichTextLegacyBlockSchema, RichTextLegacySchema, RichTextNodeType } from "../legacy/richText.js";
2
2
  import { RichTextContentSchema, RichTextContentType } from "../richText.js";
3
3
  import { embedContentToLegacy, embedLegacyToContent } from "./embed.js";
4
4
  import { imageLegacyToContent } from "./image.js";
@@ -55,7 +55,7 @@ function blockValueToLegacy(block) {
55
55
  })
56
56
  }
57
57
  };
58
- return BlockLegacySchema.parse(block);
58
+ return RichTextLegacyBlockSchema.parse(block);
59
59
  }
60
60
  const RichTextLegacyCodec = (ctx) => ({
61
61
  name: "RichTextLegacy",
@@ -1 +1 @@
1
- {"version":3,"file":"richText.js","names":[],"sources":["../../../src/content/codec/richText.ts"],"sourcesContent":["import type { BlockLegacy, RichTextLegacy } from \"../legacy/richText\"\nimport { BlockLegacySchema, RichTextLegacySchema, RichTextNodeType } from \"../legacy/richText\"\nimport type { BlockValue, RichTextContent } from \"../richText\"\nimport { RichTextContentSchema, RichTextContentType } from \"../richText\"\nimport { embedLegacyToContent, embedContentToLegacy } from \"./embed\"\nimport { imageLegacyToContent } from \"./image\"\nimport type { LegacyCodec, LegacyContentCtx } from \"./legacyContentCtx\"\nimport { linkLegacyToValue, linkValueToLegacy } from \"./link\"\n\n// Also used by content/codec/table\nexport function blockLegacyToValue(block: BlockLegacy): BlockValue {\n\tif (block.type === RichTextNodeType.embed) {\n\t\treturn {\n\t\t\t...block,\n\t\t\tdata: embedLegacyToContent(block.data),\n\t\t}\n\t}\n\n\tif (block.type === RichTextNodeType.image) {\n\t\treturn {\n\t\t\t...block,\n\t\t\tdata: {\n\t\t\t\t...imageLegacyToContent(block.data),\n\t\t\t\t...(block.data.linkTo ? { linkTo: linkLegacyToValue(block.data.linkTo) } : {}),\n\t\t\t},\n\t\t}\n\t}\n\n\treturn {\n\t\t...block,\n\t\tcontent: {\n\t\t\t...block.content,\n\t\t\tspans: block.content.spans?.map((span) => {\n\t\t\t\tif (span.type === RichTextNodeType.hyperlink) {\n\t\t\t\t\treturn { ...span, data: linkLegacyToValue(span.data) }\n\t\t\t\t}\n\n\t\t\t\treturn span\n\t\t\t}),\n\t\t},\n\t}\n}\n\n// Also used by content/codec/table\nexport function blockValueToLegacy(block: BlockValue): BlockLegacy {\n\tif (block.type === RichTextNodeType.embed) {\n\t\treturn {\n\t\t\t...block,\n\t\t\tdata: embedContentToLegacy(block.data),\n\t\t}\n\t}\n\n\tif (block.type === RichTextNodeType.image) {\n\t\treturn {\n\t\t\t...block,\n\t\t\tdata: {\n\t\t\t\t...block.data,\n\t\t\t\t...(block.data.linkTo ? { linkTo: linkValueToLegacy(block.data.linkTo) } : {}),\n\t\t\t},\n\t\t}\n\t}\n\n\tif (\"content\" in block) {\n\t\treturn {\n\t\t\t...block,\n\t\t\tcontent: {\n\t\t\t\t...block.content,\n\t\t\t\tspans: block.content.spans?.map((span) => {\n\t\t\t\t\tif (span.type === RichTextNodeType.hyperlink) {\n\t\t\t\t\t\treturn { ...span, data: linkValueToLegacy(span.data) }\n\t\t\t\t\t}\n\n\t\t\t\t\treturn span\n\t\t\t\t}),\n\t\t\t},\n\t\t}\n\t}\n\n\treturn BlockLegacySchema.parse(block)\n}\n\nexport const RichTextLegacyCodec = (\n\tctx: LegacyContentCtx,\n): LegacyCodec<RichTextContent, RichTextLegacy> => ({\n\tname: \"RichTextLegacy\",\n\n\tis(input): input is RichTextContent {\n\t\treturn RichTextContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\tconst parsed = RichTextLegacySchema.safeParse(input)\n\t\tif (!parsed.success) {\n\t\t\treturn parsed\n\t\t}\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\tvalue: parsed.data.map((block) => blockLegacyToValue(block)),\n\t\t\t\t__TYPE__: RichTextContentType,\n\t\t\t},\n\t\t}\n\t},\n\n\tfromContent(input) {\n\t\treturn {\n\t\t\tcontent: input.value.map((block) => blockValueToLegacy(block)),\n\t\t\ttypes: { [ctx.keyOfType]: \"StructuredText\" },\n\t\t\tkeys: {},\n\t\t}\n\t},\n})\n"],"mappings":";;;;;;AAUA,SAAgB,mBAAmB,OAAgC;AAClE,KAAI,MAAM,SAAS,iBAAiB,MACnC,QAAO;EACN,GAAG;EACH,MAAM,qBAAqB,MAAM,KAAK;EACtC;AAGF,KAAI,MAAM,SAAS,iBAAiB,MACnC,QAAO;EACN,GAAG;EACH,MAAM;GACL,GAAG,qBAAqB,MAAM,KAAK;GACnC,GAAI,MAAM,KAAK,SAAS,EAAE,QAAQ,kBAAkB,MAAM,KAAK,OAAO,EAAE,GAAG,EAAE;GAC7E;EACD;AAGF,QAAO;EACN,GAAG;EACH,SAAS;GACR,GAAG,MAAM;GACT,OAAO,MAAM,QAAQ,OAAO,KAAK,SAAS;AACzC,QAAI,KAAK,SAAS,iBAAiB,UAClC,QAAO;KAAE,GAAG;KAAM,MAAM,kBAAkB,KAAK,KAAK;KAAE;AAGvD,WAAO;KACN;GACF;EACD;;AAIF,SAAgB,mBAAmB,OAAgC;AAClE,KAAI,MAAM,SAAS,iBAAiB,MACnC,QAAO;EACN,GAAG;EACH,MAAM,qBAAqB,MAAM,KAAK;EACtC;AAGF,KAAI,MAAM,SAAS,iBAAiB,MACnC,QAAO;EACN,GAAG;EACH,MAAM;GACL,GAAG,MAAM;GACT,GAAI,MAAM,KAAK,SAAS,EAAE,QAAQ,kBAAkB,MAAM,KAAK,OAAO,EAAE,GAAG,EAAE;GAC7E;EACD;AAGF,KAAI,aAAa,MAChB,QAAO;EACN,GAAG;EACH,SAAS;GACR,GAAG,MAAM;GACT,OAAO,MAAM,QAAQ,OAAO,KAAK,SAAS;AACzC,QAAI,KAAK,SAAS,iBAAiB,UAClC,QAAO;KAAE,GAAG;KAAM,MAAM,kBAAkB,KAAK,KAAK;KAAE;AAGvD,WAAO;KACN;GACF;EACD;AAGF,QAAO,kBAAkB,MAAM,MAAM;;AAGtC,MAAa,uBACZ,SACmD;CACnD,MAAM;CAEN,GAAG,OAAiC;AACnC,SAAO,sBAAsB,UAAU,MAAM,CAAC;;CAG/C,UAAU,OAAO;EAChB,MAAM,SAAS,qBAAqB,UAAU,MAAM;AACpD,MAAI,CAAC,OAAO,QACX,QAAO;AAGR,SAAO;GACN,SAAS;GACT,MAAM;IACL,OAAO,OAAO,KAAK,KAAK,UAAU,mBAAmB,MAAM,CAAC;IAC5D,UAAU;IACV;GACD;;CAGF,YAAY,OAAO;AAClB,SAAO;GACN,SAAS,MAAM,MAAM,KAAK,UAAU,mBAAmB,MAAM,CAAC;GAC9D,OAAO,GAAG,IAAI,YAAY,kBAAkB;GAC5C,MAAM,EAAE;GACR;;CAEF"}
1
+ {"version":3,"file":"richText.js","names":[],"sources":["../../../src/content/codec/richText.ts"],"sourcesContent":["import type { RichTextLegacyBlock, RichTextLegacy } from \"../legacy/richText\"\nimport {\n\tRichTextLegacyBlockSchema,\n\tRichTextLegacySchema,\n\tRichTextNodeType,\n} from \"../legacy/richText\"\nimport type { RichTextContentBlock, RichTextContent } from \"../richText\"\nimport { RichTextContentSchema, RichTextContentType } from \"../richText\"\nimport { embedLegacyToContent, embedContentToLegacy } from \"./embed\"\nimport { imageLegacyToContent } from \"./image\"\nimport type { LegacyCodec, LegacyContentCtx } from \"./legacyContentCtx\"\nimport { linkLegacyToValue, linkValueToLegacy } from \"./link\"\n\n// Also used by content/codec/table\nexport function blockLegacyToValue(block: RichTextLegacyBlock): RichTextContentBlock {\n\tif (block.type === RichTextNodeType.embed) {\n\t\treturn {\n\t\t\t...block,\n\t\t\tdata: embedLegacyToContent(block.data),\n\t\t}\n\t}\n\n\tif (block.type === RichTextNodeType.image) {\n\t\treturn {\n\t\t\t...block,\n\t\t\tdata: {\n\t\t\t\t...imageLegacyToContent(block.data),\n\t\t\t\t...(block.data.linkTo ? { linkTo: linkLegacyToValue(block.data.linkTo) } : {}),\n\t\t\t},\n\t\t}\n\t}\n\n\treturn {\n\t\t...block,\n\t\tcontent: {\n\t\t\t...block.content,\n\t\t\tspans: block.content.spans?.map((span) => {\n\t\t\t\tif (span.type === RichTextNodeType.hyperlink) {\n\t\t\t\t\treturn { ...span, data: linkLegacyToValue(span.data) }\n\t\t\t\t}\n\n\t\t\t\treturn span\n\t\t\t}),\n\t\t},\n\t}\n}\n\n// Also used by content/codec/table\nexport function blockValueToLegacy(block: RichTextContentBlock): RichTextLegacyBlock {\n\tif (block.type === RichTextNodeType.embed) {\n\t\treturn {\n\t\t\t...block,\n\t\t\tdata: embedContentToLegacy(block.data),\n\t\t}\n\t}\n\n\tif (block.type === RichTextNodeType.image) {\n\t\treturn {\n\t\t\t...block,\n\t\t\tdata: {\n\t\t\t\t...block.data,\n\t\t\t\t...(block.data.linkTo ? { linkTo: linkValueToLegacy(block.data.linkTo) } : {}),\n\t\t\t},\n\t\t}\n\t}\n\n\tif (\"content\" in block) {\n\t\treturn {\n\t\t\t...block,\n\t\t\tcontent: {\n\t\t\t\t...block.content,\n\t\t\t\tspans: block.content.spans?.map((span) => {\n\t\t\t\t\tif (span.type === RichTextNodeType.hyperlink) {\n\t\t\t\t\t\treturn { ...span, data: linkValueToLegacy(span.data) }\n\t\t\t\t\t}\n\n\t\t\t\t\treturn span\n\t\t\t\t}),\n\t\t\t},\n\t\t}\n\t}\n\n\treturn RichTextLegacyBlockSchema.parse(block)\n}\n\nexport const RichTextLegacyCodec = (\n\tctx: LegacyContentCtx,\n): LegacyCodec<RichTextContent, RichTextLegacy> => ({\n\tname: \"RichTextLegacy\",\n\n\tis(input): input is RichTextContent {\n\t\treturn RichTextContentSchema.safeParse(input).success\n\t},\n\n\ttoContent(input) {\n\t\tconst parsed = RichTextLegacySchema.safeParse(input)\n\t\tif (!parsed.success) {\n\t\t\treturn parsed\n\t\t}\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\tvalue: parsed.data.map((block) => blockLegacyToValue(block)),\n\t\t\t\t__TYPE__: RichTextContentType,\n\t\t\t},\n\t\t}\n\t},\n\n\tfromContent(input) {\n\t\treturn {\n\t\t\tcontent: input.value.map((block) => blockValueToLegacy(block)),\n\t\t\ttypes: { [ctx.keyOfType]: \"StructuredText\" },\n\t\t\tkeys: {},\n\t\t}\n\t},\n})\n"],"mappings":";;;;;;AAcA,SAAgB,mBAAmB,OAAkD;AACpF,KAAI,MAAM,SAAS,iBAAiB,MACnC,QAAO;EACN,GAAG;EACH,MAAM,qBAAqB,MAAM,KAAK;EACtC;AAGF,KAAI,MAAM,SAAS,iBAAiB,MACnC,QAAO;EACN,GAAG;EACH,MAAM;GACL,GAAG,qBAAqB,MAAM,KAAK;GACnC,GAAI,MAAM,KAAK,SAAS,EAAE,QAAQ,kBAAkB,MAAM,KAAK,OAAO,EAAE,GAAG,EAAE;GAC7E;EACD;AAGF,QAAO;EACN,GAAG;EACH,SAAS;GACR,GAAG,MAAM;GACT,OAAO,MAAM,QAAQ,OAAO,KAAK,SAAS;AACzC,QAAI,KAAK,SAAS,iBAAiB,UAClC,QAAO;KAAE,GAAG;KAAM,MAAM,kBAAkB,KAAK,KAAK;KAAE;AAGvD,WAAO;KACN;GACF;EACD;;AAIF,SAAgB,mBAAmB,OAAkD;AACpF,KAAI,MAAM,SAAS,iBAAiB,MACnC,QAAO;EACN,GAAG;EACH,MAAM,qBAAqB,MAAM,KAAK;EACtC;AAGF,KAAI,MAAM,SAAS,iBAAiB,MACnC,QAAO;EACN,GAAG;EACH,MAAM;GACL,GAAG,MAAM;GACT,GAAI,MAAM,KAAK,SAAS,EAAE,QAAQ,kBAAkB,MAAM,KAAK,OAAO,EAAE,GAAG,EAAE;GAC7E;EACD;AAGF,KAAI,aAAa,MAChB,QAAO;EACN,GAAG;EACH,SAAS;GACR,GAAG,MAAM;GACT,OAAO,MAAM,QAAQ,OAAO,KAAK,SAAS;AACzC,QAAI,KAAK,SAAS,iBAAiB,UAClC,QAAO;KAAE,GAAG;KAAM,MAAM,kBAAkB,KAAK,KAAK;KAAE;AAGvD,WAAO;KACN;GACF;EACD;AAGF,QAAO,0BAA0B,MAAM,MAAM;;AAG9C,MAAa,uBACZ,SACmD;CACnD,MAAM;CAEN,GAAG,OAAiC;AACnC,SAAO,sBAAsB,UAAU,MAAM,CAAC;;CAG/C,UAAU,OAAO;EAChB,MAAM,SAAS,qBAAqB,UAAU,MAAM;AACpD,MAAI,CAAC,OAAO,QACX,QAAO;AAGR,SAAO;GACN,SAAS;GACT,MAAM;IACL,OAAO,OAAO,KAAK,KAAK,UAAU,mBAAmB,MAAM,CAAC;IAC5D,UAAU;IACV;GACD;;CAGF,YAAY,OAAO;AAClB,SAAO;GACN,SAAS,MAAM,MAAM,KAAK,UAAU,mBAAmB,MAAM,CAAC;GAC9D,OAAO,GAAG,IAAI,YAAY,kBAAkB;GAC5C,MAAM,EAAE;GACR;;CAEF"}
@@ -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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"}