UNPKG

@russ-b/nestjs-common-tools

Version:
29 lines 1.04 kB
"use strict"; 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