@russ-b/nestjs-common-tools
Version:
NestJS utility tools
29 lines • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FieldSelector = void 0;
class FieldSelector {
constructor(fields, messageTypes) {
this.fields = fields;
this.messageTypes = messageTypes;
}
findFieldsByType(typeName, fields) {
return (fields ? fields : this.fields)
.filter((f) => f.type === 'TYPE_MESSAGE')
.map((f) => {
if (f.typeName === typeName) {
return { name: f.name };
}
const fieldDescriptor = this.messageTypes.get(f.typeName);
if (!fieldDescriptor) {
throw new Error('Could not find field definition for type ' + f.typeName);
}
return {
name: f.name,
fields: this.findFieldsByType(typeName, fieldDescriptor),
};
})
.filter((f) => f.fields === undefined || f.fields.length > 0);
}
}
exports.FieldSelector = FieldSelector;
//# sourceMappingURL=field.selector.js.map