[d24f17c] | 1 | "use strict";
|
---|
| 2 |
|
---|
| 3 | var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
---|
| 4 | exports.__esModule = true;
|
---|
| 5 | exports.pojoAdapter = exports.default = void 0;
|
---|
| 6 | var _apidomCore = require("@swagger-api/apidom-core");
|
---|
| 7 | var _apidomNsOpenapi = require("@swagger-api/apidom-ns-openapi-3-1");
|
---|
| 8 | var _opId = _interopRequireDefault(require("../../../helpers/op-id.js"));
|
---|
| 9 | /* eslint-disable camelcase */
|
---|
| 10 |
|
---|
| 11 | const normalize = element => {
|
---|
| 12 | if (!(0, _apidomCore.isObjectElement)(element)) return element;
|
---|
| 13 | if (element.hasKey('$$normalized')) return element;
|
---|
| 14 | const plugins = [(0, _apidomNsOpenapi.refractorPluginNormalizeOperationIds)({
|
---|
| 15 | operationIdNormalizer: (operationId, path, method) => (0, _opId.default)({
|
---|
| 16 | operationId
|
---|
| 17 | }, path, method, {
|
---|
| 18 | v2OperationIdCompatibilityMode: false
|
---|
| 19 | })
|
---|
| 20 | }), (0, _apidomNsOpenapi.refractorPluginNormalizeParameters)(), (0, _apidomNsOpenapi.refractorPluginNormalizeSecurityRequirements)(), (0, _apidomNsOpenapi.refractorPluginNormalizeServers)(), (0, _apidomNsOpenapi.refractorPluginNormalizeParameterExamples)(), (0, _apidomNsOpenapi.refractorPluginNormalizeHeaderExamples)()];
|
---|
| 21 | const normalized = (0, _apidomCore.dispatchRefractorPlugins)(element, plugins, {
|
---|
| 22 | toolboxCreator: _apidomNsOpenapi.createToolbox,
|
---|
| 23 | visitorOptions: {
|
---|
| 24 | keyMap: _apidomNsOpenapi.keyMap,
|
---|
| 25 | nodeTypeGetter: _apidomNsOpenapi.getNodeType
|
---|
| 26 | }
|
---|
| 27 | });
|
---|
| 28 | normalized.set('$$normalized', true);
|
---|
| 29 | return normalized;
|
---|
| 30 | };
|
---|
| 31 |
|
---|
| 32 | /**
|
---|
| 33 | * This adapter allow to perform normalization on Plain Old JavaScript Objects.
|
---|
| 34 | * The function adapts the `normalize` function interface and is able to accept
|
---|
| 35 | * Plain Old JavaScript Objects and returns Plain Old JavaScript Objects.
|
---|
| 36 | */
|
---|
| 37 | const pojoAdapter = normalizeFn => spec => {
|
---|
| 38 | if (spec != null && spec.$$normalized) return spec;
|
---|
| 39 | if (pojoAdapter.cache.has(spec)) return pojoAdapter.cache.get(spec);
|
---|
| 40 | const openApiElement = _apidomNsOpenapi.OpenApi3_1Element.refract(spec);
|
---|
| 41 | const normalized = normalizeFn(openApiElement);
|
---|
| 42 | const value = (0, _apidomCore.toValue)(normalized);
|
---|
| 43 | pojoAdapter.cache.set(spec, value);
|
---|
| 44 | return value;
|
---|
| 45 | };
|
---|
| 46 | exports.pojoAdapter = pojoAdapter;
|
---|
| 47 | pojoAdapter.cache = new WeakMap();
|
---|
| 48 | var _default = exports.default = normalize;
|
---|
| 49 | /* eslint-enable camelcase */ |
---|