@autorest/openapi-to-typespec
Version:
Autorest plugin to scaffold a Typespec definition from an OpenAPI document
40 lines • 1.37 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDefaultValue = exports.transformValue = void 0;
const schemas_1 = require("./schemas");
function transformValue(value) {
if (typeof value === "string") {
return `"${value}"`;
}
return value;
}
exports.transformValue = transformValue;
function getDefaultValue(type, schema) {
if (schema.defaultValue === undefined) {
return undefined;
}
if ((0, schemas_1.isChoiceSchema)(schema) || (0, schemas_1.isSealedChoiceSchema)(schema)) {
for (const choice of schema.choices) {
if (schema.defaultValue === choice.value.toString()) {
return `${type}.\`${choice.language.default.name}\``;
}
}
}
else if ((0, schemas_1.isDurationSchema)(schema)) {
// TODO: need to add back default value when TypeSpec supports
return undefined;
}
else if ((0, schemas_1.isArraySchema)(schema)) {
return `#[${schema.defaultValue
.map((v) => {
schema.elementType.defaultValue = v;
return getDefaultValue(schema.elementType.type, schema.elementType);
})
.join(", ")}]`;
}
else {
return transformValue(schema.defaultValue);
}
}
exports.getDefaultValue = getDefaultValue;
//# sourceMappingURL=values.js.map
;