graphql-composer
Version:
Create your GraphQL API using composition!
44 lines • 1.23 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.GQLObjectType = void 0;
const __1 = require("../../../..");
const GQLType_1 = require("../GQLType");
class GQLObjectType extends GQLType_1.GQLType {
constructor(name) {
super(name);
this._fields = [];
}
get fields() {
return this._fields;
}
setFields(...fields) {
this._fields = fields;
return this;
}
addFields(...fields) {
return this.setFields(...this._fields, ...fields);
}
removeFields(...fields) {
return this.setFields(...__1.ArrayHelper.remove(fields, this._fields));
}
transformFields(cb) {
this.fields.map((field) => {
cb(field);
});
return this;
}
getFields() {
return this.fields.reduce((prev, field) => {
const built = field.build();
const argMap = this.toConfigMap(field.flatArgs);
delete built.isDeprecated;
prev[built.name] = {
...built,
args: argMap,
};
return prev;
}, {});
}
}
exports.GQLObjectType = GQLObjectType;
//# sourceMappingURL=GQLObjectType.js.map
;