UNPKG

openapi-ts-json-schema

Version:

OpenAPI to JSON schema generator with TypeScript in mind

41 lines (40 loc) 1.67 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.addSchemaToMetaData = void 0; const node_path_1 = __importDefault(require("node:path")); // @ts-expect-error no type defs for namify const namify_1 = __importDefault(require("namify")); const _1 = require("."); /* * Just an utility function to add entries to SchemaMetaDataMap Map keyed by ref */ function addSchemaToMetaData({ id, $id, schemaMetaDataMap, schema, isRef, // Options outputPath, }) { // Do not override existing meta info of inlined schemas if (!schemaMetaDataMap.has(id)) { const { schemaRelativeDirName, schemaName } = (0, _1.parseId)(id); const absoluteDirName = node_path_1.default.join(outputPath, schemaRelativeDirName); const schemaFileName = (0, _1.filenamify)(schemaName); const absoluteImportPath = node_path_1.default.join(absoluteDirName, schemaFileName); // Convert components.parameters after convertOpenApiPathsParameters is called if ((0, _1.isOpenApiParameterObject)(schema)) { schema = (0, _1.convertOpenApiParameterToJsonSchema)(schema); } const metaInfo = { id, $id, uniqueName: (0, namify_1.default)(id), isRef, originalSchema: schema, absoluteDirName, absoluteImportPath, absolutePath: absoluteImportPath + '.ts', }; schemaMetaDataMap.set(id, metaInfo); } } exports.addSchemaToMetaData = addSchemaToMetaData;