@russ-b/nestjs-common-tools
Version:
NestJS utility tools
51 lines • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClientDefinitionReader = void 0;
class ClientMethodDefinition {
constructor(def) {
this.def = def;
}
getRequestFields() {
return this.def.requestType.type.field;
}
getResponseFields() {
return this.def.responseType.type.field;
}
}
class ClientServiceDefinition {
constructor(def) {
this.def = def;
}
getMethod(name) {
const method = this.def[name];
return method ? new ClientMethodDefinition(method) : undefined;
}
}
class ClientDefinitionReader {
constructor(def) {
this.def = def;
this.messageTypes = this.loadMessageTypes();
}
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;
}
getServiceMethods(name) {
return this.def[name]?.service
? new ClientServiceDefinition(this.def[name].service)
: undefined;
}
getMessage(name) {
return this.def[name];
}
getMessageTypes() {
return this.messageTypes;
}
}
exports.ClientDefinitionReader = ClientDefinitionReader;
//# sourceMappingURL=client-definition.reader.js.map