@autorest/openapi-to-typespec
Version:
Autorest plugin to scaffold a Typespec definition from an OpenAPI document
32 lines • 1.44 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateParameter = void 0;
const options_1 = require("../options");
const decorators_1 = require("../utils/decorators");
const docs_1 = require("../utils/docs");
const suppressions_1 = require("../utils/suppressions");
const _ARM_PARAM_REPLACEMENTS = {
subscriptionId: "...SubscriptionIdParameter",
location: "...LocationResourceParameter",
resourceGroupName: "...ResourceGroupParameter",
};
function generateParameter(parameter) {
const { isArm } = (0, options_1.getOptions)();
if (isArm && _ARM_PARAM_REPLACEMENTS[parameter.name] !== undefined) {
return _ARM_PARAM_REPLACEMENTS[parameter.name];
}
const definitions = [];
const doc = (0, docs_1.generateDocs)(parameter);
definitions.push(doc);
parameter.suppressions && definitions.push(...(0, suppressions_1.generateSuppressions)(parameter.suppressions));
const decorators = (0, decorators_1.generateDecorators)(parameter.decorators);
decorators && definitions.push(decorators);
let defaultValue = "";
if (parameter.defaultValue) {
defaultValue = ` = ${parameter.defaultValue}`;
}
definitions.push(`"${parameter.name}"${parameter.isOptional ? "?" : ""}: ${parameter.type}${defaultValue}`);
return definitions.join("\n");
}
exports.generateParameter = generateParameter;
//# sourceMappingURL=generate-parameter.js.map
;