@nestia/sdk
Version:
Nestia SDK and Swagger generator
55 lines • 2.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SdkWebSocketParameterProgrammer = void 0;
const factory_1 = require("@ttsc/factory");
const SdkAliasCollection_1 = require("./SdkAliasCollection");
var SdkWebSocketParameterProgrammer;
(function (SdkWebSocketParameterProgrammer) {
SdkWebSocketParameterProgrammer.getEntries = (props) => {
const prefix = props.prefix ? `${props.route.name}.` : "";
return [
...props.route.pathParameters.map((p) => ({
key: p.name,
type: SdkAliasCollection_1.SdkAliasCollection.name(p),
})),
...(props.route.query
? [
{
key: "query",
type: factory_1.factory.createTypeReferenceNode(`${prefix}Query`),
},
]
: []),
...(props.provider
? [
{
key: "provider",
type: factory_1.factory.createTypeReferenceNode(`${prefix}Provider`),
},
]
: []),
];
};
SdkWebSocketParameterProgrammer.getParameterDeclarations = (props) => {
const entries = SdkWebSocketParameterProgrammer.getEntries(props);
if (entries.length === 0)
return [];
else if (props.project.config.keyword === true) {
const typeName = props.prefix
? `${props.route.name}.Props`
: "Props";
const node = props.provider
? factory_1.factory.createTypeReferenceNode(typeName)
: factory_1.factory.createTypeReferenceNode("Omit", [
factory_1.factory.createTypeReferenceNode(typeName),
factory_1.factory.createLiteralTypeNode(factory_1.factory.createStringLiteral("provider")),
]);
return [
factory_1.factory.createParameterDeclaration(undefined, undefined, "props", undefined, node),
];
}
return entries.map((entry) => factory_1.factory.createParameterDeclaration(undefined, undefined, entry.key, undefined, entry.type));
};
SdkWebSocketParameterProgrammer.isPathEmpty = (route) => route.pathParameters.length === 0 && route.query === null;
})(SdkWebSocketParameterProgrammer || (exports.SdkWebSocketParameterProgrammer = SdkWebSocketParameterProgrammer = {}));
//# sourceMappingURL=SdkWebSocketParameterProgrammer.js.map