graphql-codegen-typescript-operation-types
Version:
GraphQL codegen plugin that generates only the types used in the operations
55 lines • 3.94 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SpecificTypesVisitor = void 0;
const typescript_1 = require("@graphql-codegen/typescript");
class SpecificTypesVisitor extends typescript_1.TsVisitor {
constructor(schema, pluginConfig, includedTypes) {
super(schema, pluginConfig);
this.includedTypes = includedTypes;
}
/**
* We do not include the arguments types in this plugin as this should only be used mutations and queries which
* either hard codes inputs or has input types. This therefore adds unneeded complexity and complicates discovering
* input types that aren't actually used in the operations.
*/
buildArgumentsBlock() {
return '';
}
InputObjectTypeDefinition(node) {
const name = node.name;
if (this.includedTypes.has(name)) {
return super.InputObjectTypeDefinition(node);
}
return '';
}
ObjectTypeDefinition(node, key, parent) {
const name = node.name;
if (this.includedTypes.has(name)) {
return super.ObjectTypeDefinition(node, key, parent);
}
return '';
}
EnumTypeDefinition(node) {
const name = node.name;
if (this.includedTypes.has(name)) {
return super.EnumTypeDefinition(node);
}
return '';
}
InterfaceTypeDefinition(node, key, parent) {
const name = node.name;
if (this.includedTypes.has(name)) {
return super.InterfaceTypeDefinition(node, key, parent);
}
return '';
}
UnionTypeDefinition(node, key, parent) {
const name = node.name;
if (this.includedTypes.has(name)) {
return super.UnionTypeDefinition(node, key, parent);
}
return '';
}
}
exports.SpecificTypesVisitor = SpecificTypesVisitor;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmlzaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0REFBd0Q7QUFXeEQsTUFBYSxvQkFBcUIsU0FBUSxzQkFBUztJQUNqRCxZQUNFLE1BQXFCLEVBQ3JCLFlBQWtELEVBQ2pDLGFBQW1DO1FBRXBELEtBQUssQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFGWCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7SUFHdEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQseUJBQXlCLENBQUMsSUFBbUM7UUFDM0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQXlCLENBQUM7UUFDNUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQyxPQUFPLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELG9CQUFvQixDQUNsQixJQUE4QixFQUM5QixHQUFvQixFQUNwQixNQUFlO1FBRWYsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQXlCLENBQUM7UUFDNUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQyxPQUFPLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBNEI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQXlCLENBQUM7UUFFNUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQyxPQUFPLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELHVCQUF1QixDQUNyQixJQUFpQyxFQUNqQyxHQUFvQixFQUNwQixNQUFlO1FBRWYsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQXlCLENBQUM7UUFFNUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQyxPQUFPLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsbUJBQW1CLENBQ2pCLElBQTZCLEVBQzdCLEdBQW9CLEVBQ3BCLE1BQWU7UUFFZixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBeUIsQ0FBQztRQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sS0FBSyxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDckQ7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRjtBQXZFRCxvREF1RUMifQ==