UNPKG

@autorest/openapi-to-cadl

Version:

Autorest plugin to scaffold a Typespec definition from an OpenAPI document

32 lines 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pretransformNames = void 0; const codemodel_1 = require("@autorest/codemodel"); const codegen_1 = require("@azure-tools/codegen"); // Skip casing transform if there are n upper case letters next to each other. const MAX_UPPERCASE_PRESERVE = 3; function pretransformNames(codeModel) { var _a, _b, _c; (_a = codeModel.schemas.objects) === null || _a === void 0 ? void 0 : _a.forEach(preTransformObjectName); [...((_b = codeModel.schemas.choices) !== null && _b !== void 0 ? _b : []), ...((_c = codeModel.schemas.sealedChoices) !== null && _c !== void 0 ? _c : [])].forEach(preTransformEnums); } exports.pretransformNames = pretransformNames; const pascal = (name) => codegen_1.Style.pascal(name.replace(/\$/g, ""), false, {}, MAX_UPPERCASE_PRESERVE); const camel = (name) => codegen_1.Style.camel(name.replace(/\$/g, ""), false, {}, MAX_UPPERCASE_PRESERVE); function preTransformEnums(schema) { schema.language.default.name = pascal(schema.language.default.name); } function preTransformObjectName(schema) { var _a; schema.language.default.name = pascal(schema.language.default.name); (_a = schema.properties) === null || _a === void 0 ? void 0 : _a.forEach(preTransformObjectPropertyName); } function preTransformObjectPropertyName(property) { var _a; property.language.default.name = camel(property.language.default.name); property.language.default.pretransformed = true; if ((0, codemodel_1.isObjectSchema)(property.schema)) { (_a = property.schema.properties) === null || _a === void 0 ? void 0 : _a.filter((p) => !p.language.default.pretransformed).forEach(preTransformObjectPropertyName); } } //# sourceMappingURL=name-pretransform.js.map