prismic-ts-codegen 0.1.10 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants.cjs +19 -21
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.ts +2 -3
- package/dist/constants.js +19 -21
- package/dist/constants.js.map +1 -1
- package/dist/generateTypes.cjs +71 -90
- package/dist/generateTypes.cjs.map +1 -1
- package/dist/generateTypes.d.ts +2 -1
- package/dist/generateTypes.js +71 -90
- package/dist/generateTypes.js.map +1 -1
- package/dist/lib/addBlankLine.cjs +12 -0
- package/dist/lib/addBlankLine.cjs.map +1 -0
- package/dist/lib/addBlankLine.d.ts +5 -0
- package/dist/lib/addBlankLine.js +12 -0
- package/dist/lib/addBlankLine.js.map +1 -0
- package/dist/lib/addLine.cjs +8 -0
- package/dist/lib/addLine.cjs.map +1 -0
- package/dist/lib/addLine.d.ts +1 -0
- package/dist/lib/addLine.js +8 -0
- package/dist/lib/addLine.js.map +1 -0
- package/dist/lib/addSection.cjs +8 -0
- package/dist/lib/addSection.cjs.map +1 -0
- package/dist/lib/addSection.d.ts +1 -0
- package/dist/lib/addSection.js +8 -0
- package/dist/lib/addSection.js.map +1 -0
- package/dist/lib/addTrailingNewLine.cjs +11 -0
- package/dist/lib/addTrailingNewLine.cjs.map +1 -0
- package/dist/lib/addTrailingNewLine.d.ts +5 -0
- package/dist/lib/addTrailingNewLine.js +11 -0
- package/dist/lib/addTrailingNewLine.js.map +1 -0
- package/dist/lib/buildCustomTypeDataType.cjs +51 -0
- package/dist/lib/buildCustomTypeDataType.cjs.map +1 -0
- package/dist/lib/buildCustomTypeDataType.d.ts +13 -0
- package/dist/lib/buildCustomTypeDataType.js +51 -0
- package/dist/lib/buildCustomTypeDataType.js.map +1 -0
- package/dist/lib/buildCustomTypeType.cjs +60 -0
- package/dist/lib/buildCustomTypeType.cjs.map +1 -0
- package/dist/lib/buildCustomTypeType.d.ts +17 -0
- package/dist/lib/buildCustomTypeType.js +60 -0
- package/dist/lib/buildCustomTypeType.js.map +1 -0
- package/dist/lib/buildFieldDocs.cjs +67 -35
- package/dist/lib/buildFieldDocs.cjs.map +1 -1
- package/dist/lib/buildFieldDocs.d.ts +7 -11
- package/dist/lib/buildFieldDocs.js +67 -35
- package/dist/lib/buildFieldDocs.js.map +1 -1
- package/dist/lib/buildFieldProperties.cjs +300 -0
- package/dist/lib/buildFieldProperties.cjs.map +1 -0
- package/dist/lib/buildFieldProperties.d.ts +14 -0
- package/dist/lib/buildFieldProperties.js +300 -0
- package/dist/lib/buildFieldProperties.js.map +1 -0
- package/dist/lib/buildSharedSliceType.cjs +140 -0
- package/dist/lib/buildSharedSliceType.cjs.map +1 -0
- package/dist/lib/buildSharedSliceType.d.ts +16 -0
- package/dist/lib/buildSharedSliceType.js +140 -0
- package/dist/lib/buildSharedSliceType.js.map +1 -0
- package/dist/lib/buildTypeName.cjs +4 -2
- package/dist/lib/buildTypeName.cjs.map +1 -1
- package/dist/lib/buildTypeName.js +4 -2
- package/dist/lib/buildTypeName.js.map +1 -1
- package/dist/lib/buildUnion.cjs +7 -0
- package/dist/lib/buildUnion.cjs.map +1 -0
- package/dist/lib/buildUnion.d.ts +1 -0
- package/dist/lib/buildUnion.js +7 -0
- package/dist/lib/buildUnion.js.map +1 -0
- package/dist/lib/checkHasUIDFIeld.cjs +7 -0
- package/dist/lib/checkHasUIDFIeld.cjs.map +1 -0
- package/dist/lib/checkHasUIDFIeld.d.ts +2 -0
- package/dist/lib/checkHasUIDFIeld.js +7 -0
- package/dist/lib/checkHasUIDFIeld.js.map +1 -0
- package/dist/lib/getAPIIDPath.cjs +18 -14
- package/dist/lib/getAPIIDPath.cjs.map +1 -1
- package/dist/lib/getAPIIDPath.d.ts +4 -8
- package/dist/lib/getAPIIDPath.js +18 -14
- package/dist/lib/getAPIIDPath.js.map +1 -1
- package/dist/lib/getCacheKey.cjs +25 -0
- package/dist/lib/getCacheKey.cjs.map +1 -0
- package/dist/lib/getCacheKey.d.ts +9 -0
- package/dist/lib/getCacheKey.js +8 -0
- package/dist/lib/getCacheKey.js.map +1 -0
- package/dist/lib/getHumanReadableModelName.cjs +13 -17
- package/dist/lib/getHumanReadableModelName.cjs.map +1 -1
- package/dist/lib/getHumanReadableModelName.d.ts +3 -3
- package/dist/lib/getHumanReadableModelName.js +13 -17
- package/dist/lib/getHumanReadableModelName.js.map +1 -1
- package/dist/lib/{getHumanReadableFieldPath.cjs → getHumanReadablePath.cjs} +8 -8
- package/dist/lib/getHumanReadablePath.cjs.map +1 -0
- package/dist/lib/getHumanReadablePath.d.ts +6 -0
- package/dist/lib/{getHumanReadableFieldPath.js → getHumanReadablePath.js} +8 -8
- package/dist/lib/getHumanReadablePath.js.map +1 -0
- package/dist/types.d.ts +9 -1
- package/package.json +19 -18
- package/src/constants.ts +19 -22
- package/src/generateTypes.ts +109 -108
- package/src/lib/addBlankLine.ts +13 -0
- package/src/lib/addLine.ts +5 -0
- package/src/lib/addSection.ts +5 -0
- package/src/lib/addTrailingNewLine.ts +14 -0
- package/src/lib/buildCustomTypeDataType.ts +74 -0
- package/src/lib/buildCustomTypeType.ts +101 -0
- package/src/lib/buildFieldDocs.ts +128 -68
- package/src/lib/buildFieldProperties.ts +513 -0
- package/src/lib/buildSharedSliceType.ts +213 -0
- package/src/lib/buildTypeName.ts +4 -2
- package/src/lib/buildUnion.ts +3 -0
- package/src/lib/checkHasUIDFIeld.ts +5 -0
- package/src/lib/getAPIIDPath.ts +40 -41
- package/src/lib/getCacheKey.ts +13 -0
- package/src/lib/getHumanReadableModelName.ts +23 -20
- package/src/lib/getHumanReadablePath.ts +24 -0
- package/src/types.ts +11 -1
- package/dist/lib/addInterfacePropertiesForFields.cjs +0 -489
- package/dist/lib/addInterfacePropertiesForFields.cjs.map +0 -1
- package/dist/lib/addInterfacePropertiesForFields.d.ts +0 -21
- package/dist/lib/addInterfacePropertiesForFields.js +0 -489
- package/dist/lib/addInterfacePropertiesForFields.js.map +0 -1
- package/dist/lib/addTypeAliasForCustomType.cjs +0 -81
- package/dist/lib/addTypeAliasForCustomType.cjs.map +0 -1
- package/dist/lib/addTypeAliasForCustomType.d.ts +0 -11
- package/dist/lib/addTypeAliasForCustomType.js +0 -81
- package/dist/lib/addTypeAliasForCustomType.js.map +0 -1
- package/dist/lib/addTypeAliasForSharedSlice.cjs +0 -149
- package/dist/lib/addTypeAliasForSharedSlice.cjs.map +0 -1
- package/dist/lib/addTypeAliasForSharedSlice.d.ts +0 -10
- package/dist/lib/addTypeAliasForSharedSlice.js +0 -149
- package/dist/lib/addTypeAliasForSharedSlice.js.map +0 -1
- package/dist/lib/buildSharedSliceInterfaceNamePart.cjs +0 -8
- package/dist/lib/buildSharedSliceInterfaceNamePart.cjs.map +0 -1
- package/dist/lib/buildSharedSliceInterfaceNamePart.d.ts +0 -5
- package/dist/lib/buildSharedSliceInterfaceNamePart.js +0 -8
- package/dist/lib/buildSharedSliceInterfaceNamePart.js.map +0 -1
- package/dist/lib/getFieldDocumentationURL.cjs +0 -8
- package/dist/lib/getFieldDocumentationURL.cjs.map +0 -1
- package/dist/lib/getFieldDocumentationURL.d.ts +0 -6
- package/dist/lib/getFieldDocumentationURL.js +0 -8
- package/dist/lib/getFieldDocumentationURL.js.map +0 -1
- package/dist/lib/getHumanReadableFieldPath.cjs.map +0 -1
- package/dist/lib/getHumanReadableFieldPath.d.ts +0 -10
- package/dist/lib/getHumanReadableFieldPath.js.map +0 -1
- package/dist/lib/getHumanReadableFieldType.cjs +0 -36
- package/dist/lib/getHumanReadableFieldType.cjs.map +0 -1
- package/dist/lib/getHumanReadableFieldType.d.ts +0 -6
- package/dist/lib/getHumanReadableFieldType.js +0 -36
- package/dist/lib/getHumanReadableFieldType.js.map +0 -1
- package/dist/lib/getSourceFileText.cjs +0 -9
- package/dist/lib/getSourceFileText.cjs.map +0 -1
- package/dist/lib/getSourceFileText.d.ts +0 -2
- package/dist/lib/getSourceFileText.js +0 -9
- package/dist/lib/getSourceFileText.js.map +0 -1
- package/dist/lib/hasOwnProperty.cjs +0 -7
- package/dist/lib/hasOwnProperty.cjs.map +0 -1
- package/dist/lib/hasOwnProperty.d.ts +0 -10
- package/dist/lib/hasOwnProperty.js +0 -7
- package/dist/lib/hasOwnProperty.js.map +0 -1
- package/dist/lib/isCustomTypeModel.cjs +0 -7
- package/dist/lib/isCustomTypeModel.cjs.map +0 -1
- package/dist/lib/isCustomTypeModel.d.ts +0 -2
- package/dist/lib/isCustomTypeModel.js +0 -7
- package/dist/lib/isCustomTypeModel.js.map +0 -1
- package/dist/lib/isCustomTypeModelField.cjs +0 -7
- package/dist/lib/isCustomTypeModelField.cjs.map +0 -1
- package/dist/lib/isCustomTypeModelField.d.ts +0 -2
- package/dist/lib/isCustomTypeModelField.js +0 -7
- package/dist/lib/isCustomTypeModelField.js.map +0 -1
- package/dist/lib/isCustomTypeModelSlice.cjs +0 -8
- package/dist/lib/isCustomTypeModelSlice.cjs.map +0 -1
- package/dist/lib/isCustomTypeModelSlice.d.ts +0 -2
- package/dist/lib/isCustomTypeModelSlice.js +0 -8
- package/dist/lib/isCustomTypeModelSlice.js.map +0 -1
- package/dist/lib/isSharedSliceModel.cjs +0 -8
- package/dist/lib/isSharedSliceModel.cjs.map +0 -1
- package/dist/lib/isSharedSliceModel.d.ts +0 -2
- package/dist/lib/isSharedSliceModel.js +0 -8
- package/dist/lib/isSharedSliceModel.js.map +0 -1
- package/dist/lib/pascalCase.cjs +0 -8
- package/dist/lib/pascalCase.cjs.map +0 -1
- package/dist/lib/pascalCase.d.ts +0 -1
- package/dist/lib/pascalCase.js +0 -8
- package/dist/lib/pascalCase.js.map +0 -1
- package/dist/lib/writeFieldDocsDescription.cjs +0 -29
- package/dist/lib/writeFieldDocsDescription.cjs.map +0 -1
- package/dist/lib/writeFieldDocsDescription.d.ts +0 -13
- package/dist/lib/writeFieldDocsDescription.js +0 -29
- package/dist/lib/writeFieldDocsDescription.js.map +0 -1
- package/src/lib/addInterfacePropertiesForFields.ts +0 -665
- package/src/lib/addTypeAliasForCustomType.ts +0 -120
- package/src/lib/addTypeAliasForSharedSlice.ts +0 -201
- package/src/lib/buildSharedSliceInterfaceNamePart.ts +0 -11
- package/src/lib/getFieldDocumentationURL.ts +0 -15
- package/src/lib/getHumanReadableFieldPath.ts +0 -36
- package/src/lib/getHumanReadableFieldType.ts +0 -55
- package/src/lib/getSourceFileText.ts +0 -14
- package/src/lib/hasOwnProperty.ts +0 -15
- package/src/lib/isCustomTypeModel.ts +0 -5
- package/src/lib/isCustomTypeModelField.ts +0 -7
- package/src/lib/isCustomTypeModelSlice.ts +0 -14
- package/src/lib/isSharedSliceModel.ts +0 -14
- package/src/lib/pascalCase.ts +0 -9
- package/src/lib/writeFieldDocsDescription.ts +0 -51
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildSharedSliceType.js","sources":["../../../src/lib/buildSharedSliceType.ts"],"sourcesContent":["import { SharedSliceModel } from \"@prismicio/client\";\nimport { source, stripIndent } from \"common-tags\";\nimport QuickLRU from \"quick-lru\";\n\nimport { FieldConfigs, FieldPath } from \"../types\";\n\nimport { SHARED_SLICES_DOCUMENTATION_URL } from \"../constants\";\n\nimport { addSection } from \"./addSection\";\nimport { buildFieldProperties } from \"./buildFieldProperties\";\nimport { buildTypeName } from \"./buildTypeName\";\nimport { buildUnion } from \"./buildUnion\";\nimport { getCacheKey } from \"./getCacheKey\";\nimport { getHumanReadableModelName } from \"./getHumanReadableModelName\";\nimport { getHumanReadablePath } from \"./getHumanReadablePath\";\n\ntype BuildSharedSliceTypeArgs = {\n\tmodel: SharedSliceModel;\n\tfieldConfigs: FieldConfigs;\n\tcache?: QuickLRU<string, unknown>;\n};\n\ntype BuildSharedSliceTypeReturnValue = {\n\tname: string;\n\tvariationUnionName: string;\n\tvariationNames: string[];\n\tcode: string;\n};\n\nexport function buildSharedSliceType(\n\targs: BuildSharedSliceTypeArgs,\n): BuildSharedSliceTypeReturnValue {\n\tif (args.cache) {\n\t\tconst key = getCacheKey([args.model, args.fieldConfigs]);\n\t\tconst cached = args.cache.get(key);\n\n\t\tif (cached) {\n\t\t\treturn cached as BuildSharedSliceTypeReturnValue;\n\t\t}\n\t}\n\n\tlet code = \"\";\n\n\tconst name = buildTypeName(args.model.id, \"Slice\");\n\tconst humanReadableName = getHumanReadableModelName({\n\t\tname: args.model.id,\n\t\tmodel: args.model,\n\t});\n\n\tconst variationNames: string[] = [];\n\tfor (const variationModel of args.model.variations) {\n\t\tconst variationName = buildTypeName(name, variationModel.id);\n\n\t\tlet primaryInterfaceName: string | undefined;\n\t\tif (\n\t\t\tvariationModel.primary &&\n\t\t\tObject.keys(variationModel.primary).length > 0\n\t\t) {\n\t\t\tprimaryInterfaceName = buildTypeName(variationName, \"Primary\");\n\n\t\t\tconst path: FieldPath = [\n\t\t\t\t{\n\t\t\t\t\tname: args.model.id,\n\t\t\t\t\tmodel: args.model,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"primary\",\n\t\t\t\t\tlabel: \"Primary\",\n\t\t\t\t},\n\t\t\t];\n\t\t\tconst humanReadablePath = getHumanReadablePath({ path });\n\n\t\t\tconst primaryFieldProperties = buildFieldProperties({\n\t\t\t\tfields: variationModel.primary,\n\t\t\t\tfieldConfigs: args.fieldConfigs,\n\t\t\t\tpath,\n\t\t\t});\n\n\t\t\tconst docs = stripIndent`\n\t\t\t\t/**\n\t\t\t\t * Primary content in *${humanReadablePath}*\n\t\t\t\t */\n\t\t\t`;\n\n\t\t\tcode = addSection(\n\t\t\t\tprimaryFieldProperties.code\n\t\t\t\t\t? source`\n\t\t\t\t\t\t${docs}\n\t\t\t\t\t\texport interface ${primaryInterfaceName} {\n\t\t\t\t\t\t\t${primaryFieldProperties.code}\n\t\t\t\t\t\t}\n\t\t\t\t\t`\n\t\t\t\t\t: source`\n\t\t\t\t\t\t${docs}\n\t\t\t\t\t\texport interface ${primaryInterfaceName} {}\n\t\t\t\t\t`,\n\t\t\t\tcode,\n\t\t\t);\n\t\t}\n\n\t\tlet itemInterfaceName: string | undefined;\n\t\tif (variationModel.items && Object.keys(variationModel.items).length > 0) {\n\t\t\titemInterfaceName = buildTypeName(variationName, \"Item\");\n\n\t\t\tconst path: FieldPath = [\n\t\t\t\t{\n\t\t\t\t\tname: args.model.id,\n\t\t\t\t\tmodel: args.model,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"items\",\n\t\t\t\t\tlabel: \"Items\",\n\t\t\t\t},\n\t\t\t];\n\t\t\tconst humanReadablePath = getHumanReadablePath({ path });\n\n\t\t\tconst itemFieldProperties = buildFieldProperties({\n\t\t\t\tfields: variationModel.items,\n\t\t\t\tfieldConfigs: args.fieldConfigs,\n\t\t\t\tpath,\n\t\t\t});\n\n\t\t\tconst docs = stripIndent`\n\t\t\t\t/**\n\t\t\t\t * Primary content in *${humanReadablePath}*\n\t\t\t\t */\n\t\t\t`;\n\n\t\t\tcode = addSection(\n\t\t\t\titemFieldProperties.code\n\t\t\t\t\t? source`\n\t\t\t\t\t\t${docs}\n\t\t\t\t\t\texport interface ${itemInterfaceName} {\n\t\t\t\t\t\t\t${itemFieldProperties.code}\n\t\t\t\t\t\t}\n\t\t\t\t\t`\n\t\t\t\t\t: source`\n\t\t\t\t\t\t${docs}\n\t\t\t\t\t\texport interface ${itemInterfaceName} {}\n\t\t\t\t\t`,\n\t\t\t\tcode,\n\t\t\t);\n\t\t}\n\n\t\tcode = addSection(\n\t\t\tsource`\n\t\t\t\t/**\n\t\t\t\t * ${variationModel.name} variation for ${humanReadableName} Slice\n\t\t\t\t *\n\t\t\t\t * - **API ID**: \\`${variationModel.id}\\`\n\t\t\t\t * - **Description**: ${variationModel.description || \"*None*\"}\n\t\t\t\t * - **Documentation**: ${SHARED_SLICES_DOCUMENTATION_URL}\n\t\t\t\t */\n\t\t\t\texport type ${variationName} = prismic.SharedSliceVariation<\"${\n\t\t\t\tvariationModel.id\n\t\t\t}\", ${\n\t\t\t\tprimaryInterfaceName\n\t\t\t\t\t? `Simplify<${primaryInterfaceName}>`\n\t\t\t\t\t: `Record<string, never>`\n\t\t\t}, ${itemInterfaceName ? `Simplify<${itemInterfaceName}>` : `never`}>;\n\t\t\t`,\n\t\t\tcode,\n\t\t);\n\n\t\tvariationNames.push(variationName);\n\t}\n\n\tconst variationUnionName = buildTypeName(name, \"Variation\");\n\tconst variationsUnion = buildUnion(variationNames);\n\n\tcode = addSection(\n\t\tsource`\n\t\t\t/**\n\t\t\t * Slice variation for *${humanReadableName}*\n\t\t\t */\n\t\t\ttype ${variationUnionName} = ${\n\t\t\tvariationNames.length > 0 ? variationsUnion : \"never\"\n\t\t}\n\t\t`,\n\t\tcode,\n\t);\n\n\tcode = addSection(\n\t\tsource`\n\t\t\t/**\n\t\t\t * ${humanReadableName} Shared Slice\n\t\t\t *\n\t\t\t * - **API ID**: \\`${args.model.id}\\`\n\t\t\t * - **Description**: ${args.model.description || \"*None*\"}\n\t\t\t * - **Documentation**: ${SHARED_SLICES_DOCUMENTATION_URL}\n\t\t\t */\n\t\t\texport type ${name} = prismic.SharedSlice<\"${\n\t\t\targs.model.id\n\t\t}\", ${variationUnionName}>;\n\t\t`,\n\t\tcode,\n\t);\n\n\tconst result = {\n\t\tname,\n\t\tvariationUnionName,\n\t\tvariationNames,\n\t\tcode,\n\t};\n\n\tif (args.cache) {\n\t\tconst key = getCacheKey([args.model, args.fieldConfigs]);\n\n\t\targs.cache.set(key, result);\n\t}\n\n\treturn result;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const pascalCase = require("
|
|
3
|
+
const pascalCase = require("pascal-case");
|
|
4
4
|
const buildTypeName = (...parts) => {
|
|
5
|
-
let name = pascalCase.pascalCase(parts.filter(Boolean).join(" ")
|
|
5
|
+
let name = pascalCase.pascalCase(parts.filter(Boolean).join(" "), {
|
|
6
|
+
transform: pascalCase.pascalCaseTransformMerge
|
|
7
|
+
});
|
|
6
8
|
if (/^[0-9]/.test(name) ? "_" : "") {
|
|
7
9
|
name = `_${name}`;
|
|
8
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTypeName.cjs","sources":["../../../src/lib/buildTypeName.ts"],"sourcesContent":["import { pascalCase } from \"
|
|
1
|
+
{"version":3,"file":"buildTypeName.cjs","sources":["../../../src/lib/buildTypeName.ts"],"sourcesContent":["import { pascalCase, pascalCaseTransformMerge } from \"pascal-case\";\n\nexport const buildTypeName = (...parts: string[]) => {\n\tlet name = pascalCase(parts.filter(Boolean).join(\" \"), {\n\t\ttransform: pascalCaseTransformMerge,\n\t});\n\n\tif (/^[0-9]/.test(name) ? \"_\" : \"\") {\n\t\tname = `_${name}`;\n\t}\n\n\treturn name;\n};\n"],"names":["pascalCase","pascalCaseTransformMerge"],"mappings":";;;AAEa,MAAA,gBAAgB,IAAI,UAAmB;AAC/C,MAAA,OAAOA,sBAAW,MAAM,OAAO,OAAO,EAAE,KAAK,GAAG,GAAG;AAAA,IACtD,WAAWC,WAAA;AAAA,EAAA,CACX;AAED,MAAI,SAAS,KAAK,IAAI,IAAI,MAAM,IAAI;AACnC,WAAO,IAAI;AAAA,EACX;AAEM,SAAA;AACR;;"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { pascalCase } from "
|
|
1
|
+
import { pascalCase, pascalCaseTransformMerge } from "pascal-case";
|
|
2
2
|
const buildTypeName = (...parts) => {
|
|
3
|
-
let name = pascalCase(parts.filter(Boolean).join(" ")
|
|
3
|
+
let name = pascalCase(parts.filter(Boolean).join(" "), {
|
|
4
|
+
transform: pascalCaseTransformMerge
|
|
5
|
+
});
|
|
4
6
|
if (/^[0-9]/.test(name) ? "_" : "") {
|
|
5
7
|
name = `_${name}`;
|
|
6
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTypeName.js","sources":["../../../src/lib/buildTypeName.ts"],"sourcesContent":["import { pascalCase } from \"
|
|
1
|
+
{"version":3,"file":"buildTypeName.js","sources":["../../../src/lib/buildTypeName.ts"],"sourcesContent":["import { pascalCase, pascalCaseTransformMerge } from \"pascal-case\";\n\nexport const buildTypeName = (...parts: string[]) => {\n\tlet name = pascalCase(parts.filter(Boolean).join(\" \"), {\n\t\ttransform: pascalCaseTransformMerge,\n\t});\n\n\tif (/^[0-9]/.test(name) ? \"_\" : \"\") {\n\t\tname = `_${name}`;\n\t}\n\n\treturn name;\n};\n"],"names":[],"mappings":";AAEa,MAAA,gBAAgB,IAAI,UAAmB;AAC/C,MAAA,OAAO,WAAW,MAAM,OAAO,OAAO,EAAE,KAAK,GAAG,GAAG;AAAA,IACtD,WAAW;AAAA,EAAA,CACX;AAED,MAAI,SAAS,KAAK,IAAI,IAAI,MAAM,IAAI;AACnC,WAAO,IAAI;AAAA,EACX;AAEM,SAAA;AACR;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildUnion.cjs","sources":["../../../src/lib/buildUnion.ts"],"sourcesContent":["export function buildUnion(types: string[]) {\n\treturn types.filter(Boolean).join(\" | \");\n}\n"],"names":[],"mappings":";;AAAM,SAAU,WAAW,OAAe;AACzC,SAAO,MAAM,OAAO,OAAO,EAAE,KAAK,KAAK;AACxC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function buildUnion(types: string[]): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildUnion.js","sources":["../../../src/lib/buildUnion.ts"],"sourcesContent":["export function buildUnion(types: string[]) {\n\treturn types.filter(Boolean).join(\" | \");\n}\n"],"names":[],"mappings":"AAAM,SAAU,WAAW,OAAe;AACzC,SAAO,MAAM,OAAO,OAAO,EAAE,KAAK,KAAK;AACxC;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function checkHasUIDField(model) {
|
|
4
|
+
return "uid" in Object.assign({}, ...Object.values(model.json));
|
|
5
|
+
}
|
|
6
|
+
exports.checkHasUIDField = checkHasUIDField;
|
|
7
|
+
//# sourceMappingURL=checkHasUIDFIeld.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkHasUIDFIeld.cjs","sources":["../../../src/lib/checkHasUIDFIeld.ts"],"sourcesContent":["import { CustomTypeModel } from \"@prismicio/client\";\n\nexport function checkHasUIDField(model: CustomTypeModel): boolean {\n\treturn \"uid\" in Object.assign({}, ...Object.values(model.json));\n}\n"],"names":[],"mappings":";;AAEM,SAAU,iBAAiB,OAAsB;AAC/C,SAAA,SAAS,OAAO,OAAO,IAAI,GAAG,OAAO,OAAO,MAAM,IAAI,CAAC;AAC/D;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkHasUIDFIeld.js","sources":["../../../src/lib/checkHasUIDFIeld.ts"],"sourcesContent":["import { CustomTypeModel } from \"@prismicio/client\";\n\nexport function checkHasUIDField(model: CustomTypeModel): boolean {\n\treturn \"uid\" in Object.assign({}, ...Object.values(model.json));\n}\n"],"names":[],"mappings":"AAEM,SAAU,iBAAiB,OAAsB;AAC/C,SAAA,SAAS,OAAO,OAAO,IAAI,GAAG,OAAO,OAAO,MAAM,IAAI,CAAC;AAC/D;"}
|
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
function getAPIIDPath(args) {
|
|
4
|
+
let result = "";
|
|
5
|
+
for (let i = 0; i < args.path.length; i++) {
|
|
6
|
+
if (i > 0) {
|
|
7
|
+
result += ".";
|
|
8
|
+
}
|
|
9
|
+
const element = args.path[i];
|
|
10
|
+
if (element.model && "type" in element.model && (element.model.type === "Group" || element.model.type === "Slices")) {
|
|
11
|
+
result += `${element.name}[]`;
|
|
10
12
|
} else {
|
|
11
|
-
if (element.
|
|
12
|
-
const previousElement =
|
|
13
|
-
if (
|
|
14
|
-
|
|
13
|
+
if (element.name === "items") {
|
|
14
|
+
const previousElement = args.path[i - 1];
|
|
15
|
+
if (previousElement.model && "json" in previousElement.model || previousElement.model && "type" in previousElement.model && previousElement.model.type === "SharedSlice") {
|
|
16
|
+
result += `${element.name}[]`;
|
|
17
|
+
continue;
|
|
15
18
|
}
|
|
16
19
|
}
|
|
17
|
-
|
|
20
|
+
result += element.name;
|
|
18
21
|
}
|
|
19
|
-
}
|
|
20
|
-
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
21
25
|
exports.getAPIIDPath = getAPIIDPath;
|
|
22
26
|
//# sourceMappingURL=getAPIIDPath.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAPIIDPath.cjs","sources":["../../../src/lib/getAPIIDPath.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"getAPIIDPath.cjs","sources":["../../../src/lib/getAPIIDPath.ts"],"sourcesContent":["import { FieldPath } from \"../types\";\n\ntype GetAPIIDPathArgs = {\n\tpath: FieldPath;\n};\n\nexport function getAPIIDPath(args: GetAPIIDPathArgs) {\n\tlet result = \"\";\n\n\tfor (let i = 0; i < args.path.length; i++) {\n\t\tif (i > 0) {\n\t\t\tresult += \".\";\n\t\t}\n\n\t\tconst element = args.path[i];\n\n\t\tif (\n\t\t\telement.model &&\n\t\t\t\"type\" in element.model &&\n\t\t\t(element.model.type === \"Group\" || element.model.type === \"Slices\")\n\t\t) {\n\t\t\tresult += `${element.name}[]`;\n\t\t} else {\n\t\t\tif (element.name === \"items\") {\n\t\t\t\tconst previousElement = args.path[i - 1];\n\n\t\t\t\tif (\n\t\t\t\t\t(previousElement.model && \"json\" in previousElement.model) ||\n\t\t\t\t\t(previousElement.model &&\n\t\t\t\t\t\t\"type\" in previousElement.model &&\n\t\t\t\t\t\tpreviousElement.model.type === \"SharedSlice\")\n\t\t\t\t) {\n\t\t\t\t\tresult += `${element.name}[]`;\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresult += element.name;\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"names":[],"mappings":";;AAMM,SAAU,aAAa,MAAsB;AAClD,MAAI,SAAS;AAEb,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,QAAQ,KAAK;AAC1C,QAAI,IAAI,GAAG;AACA,gBAAA;AAAA,IACV;AAEK,UAAA,UAAU,KAAK,KAAK,CAAC;AAE3B,QACC,QAAQ,SACR,UAAU,QAAQ,UACjB,QAAQ,MAAM,SAAS,WAAW,QAAQ,MAAM,SAAS,WACzD;AACD,gBAAU,GAAG,QAAQ;AAAA,IAAA,OACf;AACF,UAAA,QAAQ,SAAS,SAAS;AAC7B,cAAM,kBAAkB,KAAK,KAAK,IAAI,CAAC;AAEvC,YACE,gBAAgB,SAAS,UAAU,gBAAgB,SACnD,gBAAgB,SAChB,UAAU,gBAAgB,SAC1B,gBAAgB,MAAM,SAAS,eAC/B;AACD,oBAAU,GAAG,QAAQ;AAErB;AAAA,QACA;AAAA,MACD;AAED,gBAAU,QAAQ;AAAA,IAClB;AAAA,EACD;AAEM,SAAA;AACR;;"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
path: [
|
|
5
|
-
PathElement<CustomTypeModel | SharedSliceModel>,
|
|
6
|
-
...PathElement<CustomTypeModelField | CustomTypeModelSlice>[]
|
|
7
|
-
];
|
|
1
|
+
import { FieldPath } from "../types";
|
|
2
|
+
type GetAPIIDPathArgs = {
|
|
3
|
+
path: FieldPath;
|
|
8
4
|
};
|
|
9
|
-
export declare
|
|
5
|
+
export declare function getAPIIDPath(args: GetAPIIDPathArgs): string;
|
|
10
6
|
export {};
|
package/dist/lib/getAPIIDPath.js
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
function getAPIIDPath(args) {
|
|
2
|
+
let result = "";
|
|
3
|
+
for (let i = 0; i < args.path.length; i++) {
|
|
4
|
+
if (i > 0) {
|
|
5
|
+
result += ".";
|
|
6
|
+
}
|
|
7
|
+
const element = args.path[i];
|
|
8
|
+
if (element.model && "type" in element.model && (element.model.type === "Group" || element.model.type === "Slices")) {
|
|
9
|
+
result += `${element.name}[]`;
|
|
8
10
|
} else {
|
|
9
|
-
if (element.
|
|
10
|
-
const previousElement =
|
|
11
|
-
if (
|
|
12
|
-
|
|
11
|
+
if (element.name === "items") {
|
|
12
|
+
const previousElement = args.path[i - 1];
|
|
13
|
+
if (previousElement.model && "json" in previousElement.model || previousElement.model && "type" in previousElement.model && previousElement.model.type === "SharedSlice") {
|
|
14
|
+
result += `${element.name}[]`;
|
|
15
|
+
continue;
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
|
-
|
|
18
|
+
result += element.name;
|
|
16
19
|
}
|
|
17
|
-
}
|
|
18
|
-
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
19
23
|
export {
|
|
20
24
|
getAPIIDPath
|
|
21
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAPIIDPath.js","sources":["../../../src/lib/getAPIIDPath.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"getAPIIDPath.js","sources":["../../../src/lib/getAPIIDPath.ts"],"sourcesContent":["import { FieldPath } from \"../types\";\n\ntype GetAPIIDPathArgs = {\n\tpath: FieldPath;\n};\n\nexport function getAPIIDPath(args: GetAPIIDPathArgs) {\n\tlet result = \"\";\n\n\tfor (let i = 0; i < args.path.length; i++) {\n\t\tif (i > 0) {\n\t\t\tresult += \".\";\n\t\t}\n\n\t\tconst element = args.path[i];\n\n\t\tif (\n\t\t\telement.model &&\n\t\t\t\"type\" in element.model &&\n\t\t\t(element.model.type === \"Group\" || element.model.type === \"Slices\")\n\t\t) {\n\t\t\tresult += `${element.name}[]`;\n\t\t} else {\n\t\t\tif (element.name === \"items\") {\n\t\t\t\tconst previousElement = args.path[i - 1];\n\n\t\t\t\tif (\n\t\t\t\t\t(previousElement.model && \"json\" in previousElement.model) ||\n\t\t\t\t\t(previousElement.model &&\n\t\t\t\t\t\t\"type\" in previousElement.model &&\n\t\t\t\t\t\tpreviousElement.model.type === \"SharedSlice\")\n\t\t\t\t) {\n\t\t\t\t\tresult += `${element.name}[]`;\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresult += element.name;\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"names":[],"mappings":"AAMM,SAAU,aAAa,MAAsB;AAClD,MAAI,SAAS;AAEb,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,QAAQ,KAAK;AAC1C,QAAI,IAAI,GAAG;AACA,gBAAA;AAAA,IACV;AAEK,UAAA,UAAU,KAAK,KAAK,CAAC;AAE3B,QACC,QAAQ,SACR,UAAU,QAAQ,UACjB,QAAQ,MAAM,SAAS,WAAW,QAAQ,MAAM,SAAS,WACzD;AACD,gBAAU,GAAG,QAAQ;AAAA,IAAA,OACf;AACF,UAAA,QAAQ,SAAS,SAAS;AAC7B,cAAM,kBAAkB,KAAK,KAAK,IAAI,CAAC;AAEvC,YACE,gBAAgB,SAAS,UAAU,gBAAgB,SACnD,gBAAgB,SAChB,UAAU,gBAAgB,SAC1B,gBAAgB,MAAM,SAAS,eAC/B;AACD,oBAAU,GAAG,QAAQ;AAErB;AAAA,QACA;AAAA,MACD;AAED,gBAAU,QAAQ;AAAA,IAClB;AAAA,EACD;AAEM,SAAA;AACR;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const crypto = require("node:crypto");
|
|
4
|
+
function _interopNamespaceDefault(e) {
|
|
5
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
6
|
+
if (e) {
|
|
7
|
+
for (const k in e) {
|
|
8
|
+
if (k !== "default") {
|
|
9
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
10
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: () => e[k]
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
n.default = e;
|
|
18
|
+
return Object.freeze(n);
|
|
19
|
+
}
|
|
20
|
+
const crypto__namespace = /* @__PURE__ */ _interopNamespaceDefault(crypto);
|
|
21
|
+
const getCacheKey = (input) => {
|
|
22
|
+
return crypto__namespace.createHash("sha1").update(JSON.stringify(input)).digest("hex");
|
|
23
|
+
};
|
|
24
|
+
exports.getCacheKey = getCacheKey;
|
|
25
|
+
//# sourceMappingURL=getCacheKey.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCacheKey.cjs","sources":["../../../src/lib/getCacheKey.ts"],"sourcesContent":["import * as crypto from \"node:crypto\";\n\n/**\n * Returns a key based on the provided input that can be used as a cache\n * identifier.\n *\n * @param input - The value used to create a key.\n *\n * @returns The cache key.\n */\nexport const getCacheKey = (input: unknown): string => {\n\treturn crypto.createHash(\"sha1\").update(JSON.stringify(input)).digest(\"hex\");\n};\n"],"names":["crypto"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUa,MAAA,cAAc,CAAC,UAA0B;AAC9C,SAAAA,kBAAO,WAAW,MAAM,EAAE,OAAO,KAAK,UAAU,KAAK,CAAC,EAAE,OAAO,KAAK;AAC5E;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCacheKey.js","sources":["../../../src/lib/getCacheKey.ts"],"sourcesContent":["import * as crypto from \"node:crypto\";\n\n/**\n * Returns a key based on the provided input that can be used as a cache\n * identifier.\n *\n * @param input - The value used to create a key.\n *\n * @returns The cache key.\n */\nexport const getCacheKey = (input: unknown): string => {\n\treturn crypto.createHash(\"sha1\").update(JSON.stringify(input)).digest(\"hex\");\n};\n"],"names":[],"mappings":";AAUa,MAAA,cAAc,CAAC,UAA0B;AAC9C,SAAA,OAAO,WAAW,MAAM,EAAE,OAAO,KAAK,UAAU,KAAK,CAAC,EAAE,OAAO,KAAK;AAC5E;"}
|
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
return
|
|
10
|
-
} else if (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (
|
|
14
|
-
return
|
|
15
|
-
} else if (config.model.config && "fieldset" in config.model) {
|
|
16
|
-
return config.model.fieldset || config.id;
|
|
3
|
+
const getHumanReadableModelName = (args) => {
|
|
4
|
+
if ("json" in args.model) {
|
|
5
|
+
return args.model.label || args.model.id;
|
|
6
|
+
} else if ("type" in args.model && args.model.type === "SharedSlice") {
|
|
7
|
+
return args.model.name;
|
|
8
|
+
} else if ("type" in args.model && args.model.type === "Slice") {
|
|
9
|
+
return args.model.fieldset || args.name;
|
|
10
|
+
} else if ("type" in args.model) {
|
|
11
|
+
if (args.model.config && "label" in args.model.config) {
|
|
12
|
+
return args.model.config.label || args.name;
|
|
13
|
+
} else if (args.model.config && "fieldset" in args.model) {
|
|
14
|
+
return args.model.fieldset || args.name;
|
|
17
15
|
}
|
|
18
|
-
} else if (isCustomTypeModelSlice.isCustomTypeModelSlice(config.model)) {
|
|
19
|
-
return config.model.fieldset || config.id;
|
|
20
16
|
}
|
|
21
|
-
return `\`${
|
|
17
|
+
return `\`${args.name}\``;
|
|
22
18
|
};
|
|
23
19
|
exports.getHumanReadableModelName = getHumanReadableModelName;
|
|
24
20
|
//# sourceMappingURL=getHumanReadableModelName.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHumanReadableModelName.cjs","sources":["../../../src/lib/getHumanReadableModelName.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\n\
|
|
1
|
+
{"version":3,"file":"getHumanReadableModelName.cjs","sources":["../../../src/lib/getHumanReadableModelName.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\n\ntype GetModelHumanNameArgs = {\n\tname: string;\n\tmodel:\n\t\t| CustomTypeModel\n\t\t| SharedSliceModel\n\t\t| CustomTypeModelField\n\t\t| CustomTypeModelSlice;\n};\n\nexport const getHumanReadableModelName = (\n\targs: GetModelHumanNameArgs,\n): string => {\n\tif (\"json\" in args.model) {\n\t\t// Custom type model\n\n\t\treturn args.model.label || args.model.id;\n\t} else if (\"type\" in args.model && args.model.type === \"SharedSlice\") {\n\t\t// Shared Slice model\n\n\t\treturn args.model.name;\n\t} else if (\"type\" in args.model && args.model.type === \"Slice\") {\n\t\t// Legacy Slice model\n\n\t\treturn args.model.fieldset || args.name;\n\t} else if (\"type\" in args.model) {\n\t\t// Field model\n\n\t\tif (args.model.config && \"label\" in args.model.config) {\n\t\t\t// Non-Slice Zone fields\n\t\t\treturn args.model.config.label || args.name;\n\t\t} else if (args.model.config && \"fieldset\" in args.model) {\n\t\t\t// Slice Zone\n\t\t\treturn args.model.fieldset || args.name;\n\t\t}\n\t}\n\n\treturn `\\`${args.name}\\``;\n};\n"],"names":[],"mappings":";;AAgBa,MAAA,4BAA4B,CACxC,SACW;AACP,MAAA,UAAU,KAAK,OAAO;AAGzB,WAAO,KAAK,MAAM,SAAS,KAAK,MAAM;AAAA,EAAA,WAC5B,UAAU,KAAK,SAAS,KAAK,MAAM,SAAS,eAAe;AAGrE,WAAO,KAAK,MAAM;AAAA,EAAA,WACR,UAAU,KAAK,SAAS,KAAK,MAAM,SAAS,SAAS;AAGxD,WAAA,KAAK,MAAM,YAAY,KAAK;AAAA,EAAA,WACzB,UAAU,KAAK,OAAO;AAGhC,QAAI,KAAK,MAAM,UAAU,WAAW,KAAK,MAAM,QAAQ;AAEtD,aAAO,KAAK,MAAM,OAAO,SAAS,KAAK;AAAA,IAAA,WAC7B,KAAK,MAAM,UAAU,cAAc,KAAK,OAAO;AAElD,aAAA,KAAK,MAAM,YAAY,KAAK;AAAA,IACnC;AAAA,EACD;AAED,SAAO,KAAK,KAAK;AAClB;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CustomTypeModel, CustomTypeModelField, CustomTypeModelSlice, SharedSliceModel } from "@prismicio/client";
|
|
2
|
-
type
|
|
3
|
-
|
|
2
|
+
type GetModelHumanNameArgs = {
|
|
3
|
+
name: string;
|
|
4
4
|
model: CustomTypeModel | SharedSliceModel | CustomTypeModelField | CustomTypeModelSlice;
|
|
5
5
|
};
|
|
6
|
-
export declare const getHumanReadableModelName: (
|
|
6
|
+
export declare const getHumanReadableModelName: (args: GetModelHumanNameArgs) => string;
|
|
7
7
|
export {};
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
if (
|
|
7
|
-
return
|
|
8
|
-
} else if (
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (
|
|
12
|
-
return
|
|
13
|
-
} else if (config.model.config && "fieldset" in config.model) {
|
|
14
|
-
return config.model.fieldset || config.id;
|
|
1
|
+
const getHumanReadableModelName = (args) => {
|
|
2
|
+
if ("json" in args.model) {
|
|
3
|
+
return args.model.label || args.model.id;
|
|
4
|
+
} else if ("type" in args.model && args.model.type === "SharedSlice") {
|
|
5
|
+
return args.model.name;
|
|
6
|
+
} else if ("type" in args.model && args.model.type === "Slice") {
|
|
7
|
+
return args.model.fieldset || args.name;
|
|
8
|
+
} else if ("type" in args.model) {
|
|
9
|
+
if (args.model.config && "label" in args.model.config) {
|
|
10
|
+
return args.model.config.label || args.name;
|
|
11
|
+
} else if (args.model.config && "fieldset" in args.model) {
|
|
12
|
+
return args.model.fieldset || args.name;
|
|
15
13
|
}
|
|
16
|
-
} else if (isCustomTypeModelSlice(config.model)) {
|
|
17
|
-
return config.model.fieldset || config.id;
|
|
18
14
|
}
|
|
19
|
-
return `\`${
|
|
15
|
+
return `\`${args.name}\``;
|
|
20
16
|
};
|
|
21
17
|
export {
|
|
22
18
|
getHumanReadableModelName
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHumanReadableModelName.js","sources":["../../../src/lib/getHumanReadableModelName.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\n\
|
|
1
|
+
{"version":3,"file":"getHumanReadableModelName.js","sources":["../../../src/lib/getHumanReadableModelName.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\n\ntype GetModelHumanNameArgs = {\n\tname: string;\n\tmodel:\n\t\t| CustomTypeModel\n\t\t| SharedSliceModel\n\t\t| CustomTypeModelField\n\t\t| CustomTypeModelSlice;\n};\n\nexport const getHumanReadableModelName = (\n\targs: GetModelHumanNameArgs,\n): string => {\n\tif (\"json\" in args.model) {\n\t\t// Custom type model\n\n\t\treturn args.model.label || args.model.id;\n\t} else if (\"type\" in args.model && args.model.type === \"SharedSlice\") {\n\t\t// Shared Slice model\n\n\t\treturn args.model.name;\n\t} else if (\"type\" in args.model && args.model.type === \"Slice\") {\n\t\t// Legacy Slice model\n\n\t\treturn args.model.fieldset || args.name;\n\t} else if (\"type\" in args.model) {\n\t\t// Field model\n\n\t\tif (args.model.config && \"label\" in args.model.config) {\n\t\t\t// Non-Slice Zone fields\n\t\t\treturn args.model.config.label || args.name;\n\t\t} else if (args.model.config && \"fieldset\" in args.model) {\n\t\t\t// Slice Zone\n\t\t\treturn args.model.fieldset || args.name;\n\t\t}\n\t}\n\n\treturn `\\`${args.name}\\``;\n};\n"],"names":[],"mappings":"AAgBa,MAAA,4BAA4B,CACxC,SACW;AACP,MAAA,UAAU,KAAK,OAAO;AAGzB,WAAO,KAAK,MAAM,SAAS,KAAK,MAAM;AAAA,EAAA,WAC5B,UAAU,KAAK,SAAS,KAAK,MAAM,SAAS,eAAe;AAGrE,WAAO,KAAK,MAAM;AAAA,EAAA,WACR,UAAU,KAAK,SAAS,KAAK,MAAM,SAAS,SAAS;AAGxD,WAAA,KAAK,MAAM,YAAY,KAAK;AAAA,EAAA,WACzB,UAAU,KAAK,OAAO;AAGhC,QAAI,KAAK,MAAM,UAAU,WAAW,KAAK,MAAM,QAAQ;AAEtD,aAAO,KAAK,MAAM,OAAO,SAAS,KAAK;AAAA,IAAA,WAC7B,KAAK,MAAM,UAAU,cAAc,KAAK,OAAO;AAElD,aAAA,KAAK,MAAM,YAAY,KAAK;AAAA,IACnC;AAAA,EACD;AAED,SAAO,KAAK,KAAK;AAClB;"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const getHumanReadableModelName = require("./getHumanReadableModelName.cjs");
|
|
4
|
-
|
|
5
|
-
return
|
|
4
|
+
function getHumanReadablePath(args) {
|
|
5
|
+
return args.path.map((element) => {
|
|
6
6
|
if (element.label) {
|
|
7
7
|
return element.label;
|
|
8
8
|
} else if (element.model) {
|
|
9
9
|
return getHumanReadableModelName.getHumanReadableModelName({
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
model: element.model,
|
|
11
|
+
name: element.name
|
|
12
12
|
});
|
|
13
13
|
} else {
|
|
14
|
-
return element.
|
|
14
|
+
return element.name;
|
|
15
15
|
}
|
|
16
16
|
}).join(" → ");
|
|
17
|
-
}
|
|
18
|
-
exports.
|
|
19
|
-
//# sourceMappingURL=
|
|
17
|
+
}
|
|
18
|
+
exports.getHumanReadablePath = getHumanReadablePath;
|
|
19
|
+
//# sourceMappingURL=getHumanReadablePath.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHumanReadablePath.cjs","sources":["../../../src/lib/getHumanReadablePath.ts"],"sourcesContent":["import { FieldPath } from \"../types\";\n\nimport { getHumanReadableModelName } from \"./getHumanReadableModelName\";\n\ntype GetHumanReadablePathArgs = {\n\tpath: FieldPath;\n};\n\nexport function getHumanReadablePath(args: GetHumanReadablePathArgs) {\n\treturn args.path\n\t\t.map((element) => {\n\t\t\tif (element.label) {\n\t\t\t\treturn element.label;\n\t\t\t} else if (element.model) {\n\t\t\t\treturn getHumanReadableModelName({\n\t\t\t\t\tmodel: element.model,\n\t\t\t\t\tname: element.name,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn element.name;\n\t\t\t}\n\t\t})\n\t\t.join(\" → \");\n}\n"],"names":["getHumanReadableModelName"],"mappings":";;;AAQM,SAAU,qBAAqB,MAA8B;AAClE,SAAO,KAAK,KACV,IAAI,CAAC,YAAW;AAChB,QAAI,QAAQ,OAAO;AAClB,aAAO,QAAQ;AAAA,IAAA,WACL,QAAQ,OAAO;AACzB,aAAOA,oDAA0B;AAAA,QAChC,OAAO,QAAQ;AAAA,QACf,MAAM,QAAQ;AAAA,MAAA,CACd;AAAA,IAAA,OACK;AACN,aAAO,QAAQ;AAAA,IACf;AAAA,EAAA,CACD,EACA,KAAK,KAAK;AACb;;"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { getHumanReadableModelName } from "./getHumanReadableModelName.js";
|
|
2
|
-
|
|
3
|
-
return
|
|
2
|
+
function getHumanReadablePath(args) {
|
|
3
|
+
return args.path.map((element) => {
|
|
4
4
|
if (element.label) {
|
|
5
5
|
return element.label;
|
|
6
6
|
} else if (element.model) {
|
|
7
7
|
return getHumanReadableModelName({
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
model: element.model,
|
|
9
|
+
name: element.name
|
|
10
10
|
});
|
|
11
11
|
} else {
|
|
12
|
-
return element.
|
|
12
|
+
return element.name;
|
|
13
13
|
}
|
|
14
14
|
}).join(" → ");
|
|
15
|
-
}
|
|
15
|
+
}
|
|
16
16
|
export {
|
|
17
|
-
|
|
17
|
+
getHumanReadablePath
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=getHumanReadablePath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHumanReadablePath.js","sources":["../../../src/lib/getHumanReadablePath.ts"],"sourcesContent":["import { FieldPath } from \"../types\";\n\nimport { getHumanReadableModelName } from \"./getHumanReadableModelName\";\n\ntype GetHumanReadablePathArgs = {\n\tpath: FieldPath;\n};\n\nexport function getHumanReadablePath(args: GetHumanReadablePathArgs) {\n\treturn args.path\n\t\t.map((element) => {\n\t\t\tif (element.label) {\n\t\t\t\treturn element.label;\n\t\t\t} else if (element.model) {\n\t\t\t\treturn getHumanReadableModelName({\n\t\t\t\t\tmodel: element.model,\n\t\t\t\t\tname: element.name,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn element.name;\n\t\t\t}\n\t\t})\n\t\t.join(\" → \");\n}\n"],"names":[],"mappings":";AAQM,SAAU,qBAAqB,MAA8B;AAClE,SAAO,KAAK,KACV,IAAI,CAAC,YAAW;AAChB,QAAI,QAAQ,OAAO;AAClB,aAAO,QAAQ;AAAA,IAAA,WACL,QAAQ,OAAO;AACzB,aAAO,0BAA0B;AAAA,QAChC,OAAO,QAAQ;AAAA,QACf,MAAM,QAAQ;AAAA,MAAA,CACd;AAAA,IAAA,OACK;AACN,aAAO,QAAQ;AAAA,IACf;AAAA,EAAA,CACD,EACA,KAAK,KAAK;AACb;"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import type { CustomTypeModel, CustomTypeModelField, CustomTypeModelSlice, SharedSliceModel } from "@prismicio/client";
|
|
2
2
|
export type PathElement<Model extends CustomTypeModel | SharedSliceModel | CustomTypeModelField | CustomTypeModelSlice> = {
|
|
3
|
-
|
|
3
|
+
name: string;
|
|
4
4
|
model?: Model;
|
|
5
5
|
label?: string;
|
|
6
6
|
};
|
|
7
|
+
export type FieldPath = [
|
|
8
|
+
PathElement<CustomTypeModel | SharedSliceModel>,
|
|
9
|
+
...PathElement<CustomTypeModelField | CustomTypeModelSlice>[]
|
|
10
|
+
];
|
|
11
|
+
export type AuxiliaryType = {
|
|
12
|
+
code: string;
|
|
13
|
+
name: string;
|
|
14
|
+
};
|
|
7
15
|
export type FieldConfigs = {
|
|
8
16
|
embed?: {
|
|
9
17
|
providerTypes?: Record<string, string>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prismic-ts-codegen",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"description": "An experimental Prismic model-to-TypeScript-type generator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -44,7 +44,9 @@
|
|
|
44
44
|
"unit": "vitest run --coverage",
|
|
45
45
|
"unit:watch": "vitest watch",
|
|
46
46
|
"size": "size-limit",
|
|
47
|
-
"test": "npm run lint && npm run types && npm run unit && npm run build && npm run size"
|
|
47
|
+
"test": "npm run lint && npm run types && npm run unit && npm run build && npm run size",
|
|
48
|
+
"bench": "vitest bench --watch=false",
|
|
49
|
+
"bench:watch": "vitest bench"
|
|
48
50
|
},
|
|
49
51
|
"dependencies": {
|
|
50
52
|
"@prismicio/custom-types-client": "^1.1.0",
|
|
@@ -55,35 +57,34 @@
|
|
|
55
57
|
"meow": "^12.0.1",
|
|
56
58
|
"node-fetch": "^3.3.1",
|
|
57
59
|
"pascal-case": "^3.1.2",
|
|
58
|
-
"
|
|
59
|
-
"ts-morph": "^18.0.0"
|
|
60
|
+
"quick-lru": "^6.1.1"
|
|
60
61
|
},
|
|
61
62
|
"devDependencies": {
|
|
62
|
-
"@prismicio/client": "^7.
|
|
63
|
-
"@prismicio/mock": "^0.
|
|
64
|
-
"@
|
|
65
|
-
"@size-limit/preset-small-lib": "^8.2.4",
|
|
63
|
+
"@prismicio/client": "^7.1.0",
|
|
64
|
+
"@prismicio/mock": "^0.3.1",
|
|
65
|
+
"@size-limit/preset-small-lib": "^8.2.6",
|
|
66
66
|
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
|
|
67
67
|
"@types/common-tags": "^1.8.1",
|
|
68
|
-
"@
|
|
69
|
-
"@typescript-eslint/
|
|
70
|
-
"@
|
|
71
|
-
"
|
|
72
|
-
"eslint": "^8.40.0",
|
|
68
|
+
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
|
69
|
+
"@typescript-eslint/parser": "^5.60.1",
|
|
70
|
+
"@vitest/coverage-c8": "^0.33.0",
|
|
71
|
+
"eslint": "^8.43.0",
|
|
73
72
|
"eslint-config-prettier": "^8.8.0",
|
|
74
73
|
"eslint-plugin-prettier": "^4.2.1",
|
|
75
74
|
"eslint-plugin-tsdoc": "^0.2.17",
|
|
75
|
+
"prettier": "^2.8.8",
|
|
76
76
|
"prettier-plugin-jsdoc": "^0.4.2",
|
|
77
|
-
"
|
|
77
|
+
"prismic-ts-codegen-v0-1-11": "npm:prismic-ts-codegen@0.1.11",
|
|
78
|
+
"size-limit": "^8.2.6",
|
|
78
79
|
"standard-version": "^9.5.0",
|
|
79
|
-
"typescript": "^5.
|
|
80
|
-
"vite": "^4.3.
|
|
80
|
+
"typescript": "^5.1.3",
|
|
81
|
+
"vite": "^4.3.9",
|
|
81
82
|
"vite-plugin-sdk": "^0.1.1",
|
|
82
|
-
"vitest": "^0.
|
|
83
|
+
"vitest": "^0.33.0"
|
|
83
84
|
},
|
|
84
85
|
"peerDependencies": {
|
|
85
86
|
"@prismicio/client": "^6.6 || ^7",
|
|
86
|
-
"@prismicio/types": "^0.2"
|
|
87
|
+
"@prismicio/types": "^0.2.8"
|
|
87
88
|
},
|
|
88
89
|
"peerDependenciesMeta": {
|
|
89
90
|
"@prismicio/client": {
|