@autorest/openapi-to-cadl
Version:
Autorest plugin to scaffold a Typespec definition from an OpenAPI document
41 lines • 1.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRoutesImports = exports.getModelsImports = void 0;
function getModelsImports(program) {
var _a, _b, _c, _d;
const modules = new Set();
const namespaces = new Set();
for (const choice of program.models.enums) {
for (const decorator of (_a = choice.decorators) !== null && _a !== void 0 ? _a : []) {
decorator.module && modules.add(`import "${decorator.module}";`);
decorator.namespace && namespaces.add(`using ${decorator.namespace};`);
}
}
for (const model of program.models.objects) {
((_b = model.alias) === null || _b === void 0 ? void 0 : _b.module) && modules.add(`import "${model.alias.module}";`);
for (const decorator of (_c = model.decorators) !== null && _c !== void 0 ? _c : []) {
decorator.module && modules.add(`import "${decorator.module}";`);
decorator.namespace && namespaces.add(`using ${decorator.namespace};`);
}
for (const property of model.properties) {
for (const decorator of (_d = property.decorators) !== null && _d !== void 0 ? _d : []) {
decorator.module && modules.add(`import "${decorator.module}";`);
decorator.namespace && namespaces.add(`using ${decorator.namespace};`);
}
}
}
return {
modules: [...modules],
namespaces: [...namespaces],
};
}
exports.getModelsImports = getModelsImports;
function getRoutesImports(_program) {
const imports = {
modules: [`import "@azure-tools/typespec-azure-core";`, `import "@typespec/rest";`, `import "./models.tsp";`],
namespaces: [`using TypeSpec.Rest;`, `using TypeSpec.Http;`],
};
return imports;
}
exports.getRoutesImports = getRoutesImports;
//# sourceMappingURL=imports.js.map