prismic-ts-codegen 0.1.11 → 0.1.13
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/_node_modules/quick-lru/index.cjs +234 -0
- package/dist/_node_modules/quick-lru/index.cjs.map +1 -0
- package/dist/_node_modules/quick-lru/index.js +235 -0
- package/dist/_node_modules/quick-lru/index.js.map +1 -0
- 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 +18 -17
- 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,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.13",
|
|
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,31 +57,30 @@
|
|
|
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",
|
package/src/constants.ts
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import type { CustomTypeModelFieldType } from "@prismicio/client";
|
|
2
2
|
|
|
3
|
-
export const BLANK_LINE_IDENTIFIER = "// ___BLANK_LINE_TO_BE_REPLACED___";
|
|
4
|
-
|
|
5
3
|
export const CUSTOM_TYPES_DOCUMENTATION_URL =
|
|
6
|
-
"https://prismic.io/docs/
|
|
4
|
+
"https://prismic.io/docs/custom-types";
|
|
7
5
|
|
|
8
|
-
export const SHARED_SLICES_DOCUMENTATION_URL =
|
|
9
|
-
"https://prismic.io/docs/core-concepts/reusing-slices";
|
|
6
|
+
export const SHARED_SLICES_DOCUMENTATION_URL = "https://prismic.io/docs/slice";
|
|
10
7
|
|
|
11
8
|
export const FIELD_DOCUMENTATION_URLS: Record<
|
|
12
9
|
Exclude<
|
|
@@ -15,21 +12,21 @@ export const FIELD_DOCUMENTATION_URLS: Record<
|
|
|
15
12
|
>,
|
|
16
13
|
string
|
|
17
14
|
> = {
|
|
18
|
-
UID: "https://prismic.io/docs/
|
|
19
|
-
Boolean: "https://prismic.io/docs/
|
|
20
|
-
Color: "https://prismic.io/docs/
|
|
21
|
-
Date: "https://prismic.io/docs/
|
|
22
|
-
Timestamp: "https://prismic.io/docs/
|
|
23
|
-
Number: "https://prismic.io/docs/
|
|
24
|
-
Text: "https://prismic.io/docs/
|
|
25
|
-
Select: "https://prismic.io/docs/
|
|
26
|
-
StructuredText: "https://prismic.io/docs/
|
|
27
|
-
Image: "https://prismic.io/docs/
|
|
28
|
-
Link: "https://prismic.io/docs/
|
|
29
|
-
Embed: "https://prismic.io/docs/
|
|
30
|
-
GeoPoint: "https://prismic.io/docs/
|
|
31
|
-
Group: "https://prismic.io/docs/
|
|
32
|
-
IntegrationFields: "https://prismic.io/docs/
|
|
33
|
-
Slices: "https://prismic.io/docs/
|
|
34
|
-
Choice: "https://prismic.io/docs/
|
|
15
|
+
UID: "https://prismic.io/docs/field#uid",
|
|
16
|
+
Boolean: "https://prismic.io/docs/field#boolean",
|
|
17
|
+
Color: "https://prismic.io/docs/field#color",
|
|
18
|
+
Date: "https://prismic.io/docs/field#date",
|
|
19
|
+
Timestamp: "https://prismic.io/docs/field#timestamp",
|
|
20
|
+
Number: "https://prismic.io/docs/field#number",
|
|
21
|
+
Text: "https://prismic.io/docs/field#key-text",
|
|
22
|
+
Select: "https://prismic.io/docs/field#select",
|
|
23
|
+
StructuredText: "https://prismic.io/docs/field#rich-text-title",
|
|
24
|
+
Image: "https://prismic.io/docs/field#image",
|
|
25
|
+
Link: "https://prismic.io/docs/field#link-content-relationship",
|
|
26
|
+
Embed: "https://prismic.io/docs/field#embed",
|
|
27
|
+
GeoPoint: "https://prismic.io/docs/field#geopoint",
|
|
28
|
+
Group: "https://prismic.io/docs/field#group",
|
|
29
|
+
IntegrationFields: "https://prismic.io/docs/field#integration",
|
|
30
|
+
Slices: "https://prismic.io/docs/field#slices",
|
|
31
|
+
Choice: "https://prismic.io/docs/field#slices",
|
|
35
32
|
};
|