@prismicio/types-internal 4.0.0-pr.6.0ddf815 → 4.0.0-pr.6.bf36d5e
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.
|
@@ -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
|
|
5
|
+
let content;
|
|
6
6
|
switch (value.kind) {
|
|
7
7
|
case LinkKind.Image:
|
|
8
|
-
|
|
8
|
+
content = {
|
|
9
9
|
__TYPE__: LinkType.Image,
|
|
10
10
|
...value
|
|
11
11
|
};
|
|
12
12
|
break;
|
|
13
13
|
case LinkKind.File:
|
|
14
|
-
|
|
14
|
+
content = {
|
|
15
15
|
__TYPE__: LinkType.File,
|
|
16
16
|
...value
|
|
17
17
|
};
|
|
18
18
|
break;
|
|
19
19
|
case LinkKind.Document:
|
|
20
|
-
|
|
20
|
+
content = {
|
|
21
21
|
__TYPE__: LinkType.Document,
|
|
22
22
|
...value
|
|
23
23
|
};
|
|
24
24
|
break;
|
|
25
25
|
case LinkKind.External:
|
|
26
|
-
|
|
26
|
+
content = {
|
|
27
27
|
__TYPE__: LinkType.External,
|
|
28
28
|
...value
|
|
29
29
|
};
|
|
30
30
|
break;
|
|
31
31
|
case LinkKind.Media:
|
|
32
|
-
|
|
32
|
+
content = {
|
|
33
33
|
__TYPE__: LinkType.Media,
|
|
34
34
|
...value
|
|
35
35
|
};
|
|
36
36
|
break;
|
|
37
37
|
case LinkKind.Any:
|
|
38
38
|
default:
|
|
39
|
-
|
|
39
|
+
content = {
|
|
40
40
|
__TYPE__: LinkType.Any,
|
|
41
41
|
...value
|
|
42
42
|
};
|
|
43
43
|
break;
|
|
44
44
|
}
|
|
45
|
-
return
|
|
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
|
|
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"}
|
|
@@ -33,7 +33,7 @@ function fromLegacy(legacy) {
|
|
|
33
33
|
const parsed = z.uuidv4().safeParse(value);
|
|
34
34
|
if (parsed.success) keys.set(key.substring(0, key.length - 4), parsed.data);
|
|
35
35
|
} else if (!key.endsWith("_POSITION")) widgets[key] = value;
|
|
36
|
-
const result = DocumentLegacyCodec(defaultCtx("", types, keys)).toContent(
|
|
36
|
+
const result = DocumentLegacyCodec(defaultCtx("", types, keys)).toContent(widgets);
|
|
37
37
|
if (!result.success) return;
|
|
38
38
|
return result.data;
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentContent.js","names":["contentPath.serialize"],"sources":["../../src/helpers/documentContent.ts"],"sourcesContent":["import { z } from \"zod/mini\"\n\nimport { 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(
|
|
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"}
|
package/package.json
CHANGED
|
@@ -21,30 +21,30 @@ export function linkLegacyToValue(value: LinkValueLegacy): LinkValueContent
|
|
|
21
21
|
export function linkLegacyToValue(
|
|
22
22
|
value: Omit<LinkLegacy, "text" | "variant" | "key">,
|
|
23
23
|
): Omit<LinkContent["value"], "text" | "variant"> {
|
|
24
|
-
let
|
|
24
|
+
let content: Omit<LinkContent["value"], "text" | "variant">
|
|
25
25
|
switch (value.kind) {
|
|
26
26
|
case LinkKind.Image:
|
|
27
|
-
|
|
27
|
+
content = { __TYPE__: LinkType.Image, ...value }
|
|
28
28
|
break
|
|
29
29
|
case LinkKind.File:
|
|
30
|
-
|
|
30
|
+
content = { __TYPE__: LinkType.File, ...value }
|
|
31
31
|
break
|
|
32
32
|
case LinkKind.Document:
|
|
33
|
-
|
|
33
|
+
content = { __TYPE__: LinkType.Document, ...value }
|
|
34
34
|
break
|
|
35
35
|
case LinkKind.External:
|
|
36
|
-
|
|
36
|
+
content = { __TYPE__: LinkType.External, ...value }
|
|
37
37
|
break
|
|
38
38
|
case LinkKind.Media:
|
|
39
|
-
|
|
39
|
+
content = { __TYPE__: LinkType.Media, ...value }
|
|
40
40
|
break
|
|
41
41
|
case LinkKind.Any:
|
|
42
42
|
default:
|
|
43
|
-
|
|
43
|
+
content = { __TYPE__: LinkType.Any, ...value }
|
|
44
44
|
break
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
return
|
|
47
|
+
return content
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
// Also used by content/codec/repeatable
|
|
@@ -65,7 +65,7 @@ export function fromLegacy(legacy: DocumentLegacy): DocumentContent | undefined
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
const result = DocumentLegacyCodec(defaultCtx("", types, keys)).toContent(
|
|
68
|
+
const result = DocumentLegacyCodec(defaultCtx("", types, keys)).toContent(widgets)
|
|
69
69
|
if (!result.success) {
|
|
70
70
|
return
|
|
71
71
|
}
|