@ivamuno/nestjs-openapi
Version:
32 lines (31 loc) • 1.77 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.exploreAsyncapiSubMetadata = exports.exploreAsyncapiPubMetadata = exports.exploreAsyncapiOperationMetadata = void 0;
const __1 = require("..");
const operation_object_factory_1 = require("../services/operation-object.factory");
const operationObjectFactory = new operation_object_factory_1.OperationObjectFactory();
const exploreAsyncapiOperationMetadata = (schemas, _schemaRefsStack, instance, prototype, method) => {
const pubMetadata = exports.exploreAsyncapiPubMetadata(instance, prototype, method);
const subMetadata = exports.exploreAsyncapiSubMetadata(instance, prototype, method);
let pubObject = {};
if (pubMetadata) {
pubObject = { pub: Object.assign(Object.assign({}, pubMetadata), operationObjectFactory.create(pubMetadata, ['application/json'], schemas)) };
}
let subObject = {};
if (subMetadata) {
subObject = { sub: Object.assign(Object.assign({}, subMetadata), operationObjectFactory.create(subMetadata, ['application/json'], schemas)) };
}
const result = Object.assign(Object.assign({}, pubObject), subObject);
return result;
};
exports.exploreAsyncapiOperationMetadata = exploreAsyncapiOperationMetadata;
const exploreAsyncapiPubMetadata = (_instance, _prototype, method) => {
const result = Reflect.getMetadata(__1.DECORATORS.ASYNCAPI_PUB, method);
return result;
};
exports.exploreAsyncapiPubMetadata = exploreAsyncapiPubMetadata;
const exploreAsyncapiSubMetadata = (_instance, _prototype, method) => {
const result = Reflect.getMetadata(__1.DECORATORS.ASYNCAPI_SUB, method);
return result;
};
exports.exploreAsyncapiSubMetadata = exploreAsyncapiSubMetadata;