UNPKG

@russ-b/nestjs-common-tools

Version:
61 lines 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PackageDefinitionReader = void 0; class PackageDefinitionReader { constructor(packageName, def) { this.packageName = packageName; this.def = def; this.messageTypes = this.loadMessageTypes(); } getPackageName() { return this.packageName; } getServiceDefinition(serviceName) { const serviceDefinition = this.def[`${serviceName}`]; if (!serviceDefinition) { return this.def[`${this.packageName}.${serviceName}`]; } return serviceDefinition; } getMessageDescriptor(messageName) { const message = this.def[messageName]; if (!message) { return this.def[`${this.getPackageName()}.${messageName}`]; } else { return message; } } getMethodDefinition(serviceName, rpc) { const serviceDefinition = this.getServiceDefinition(serviceName); if (!serviceDefinition) { return undefined; } return serviceDefinition[rpc]; } getRequestFields(serviceName, rpc) { const messageTypeDefinition = this.getMethodDefinition(serviceName, rpc)?.requestType; return this.getFields(messageTypeDefinition); } getResponseFields(serviceName, rpc) { const messageTypeDefinition = this.getMethodDefinition(serviceName, rpc)?.responseType; return this.getFields(messageTypeDefinition); } getFields(definition) { return definition?.type?.field || []; } loadMessageTypes() { const map = new Map(); for (const [key, value] of Object.entries(this.def)) { if (typeof value === 'object' && value?.type?.field) { map.set(key, value.type.field); } } return map; } getMessageTypes() { return this.messageTypes; } } exports.PackageDefinitionReader = PackageDefinitionReader; //# sourceMappingURL=package-definition.reader.js.map