UNPKG

@autorest/openapi-to-typespec

Version:

Autorest plugin to scaffold a Typespec definition from an OpenAPI document

32 lines 1.44 kB
"use strict"; 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