![JAR search and dependency download from the Maven repository](/logo.png)
package.cjs.refractor.index.cjs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of apidom-ns-asyncapi-2 Show documentation
Show all versions of apidom-ns-asyncapi-2 Show documentation
AsyncAPI 2.x.y namespace for ApiDOM.
"use strict";
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
exports.__esModule = true;
exports.default = exports.createRefractor = void 0;
var _apidomCore = require("@swagger-api/apidom-core");
var _ramdaAdjunct = require("ramda-adjunct");
var _specification = _interopRequireDefault(require("./specification.cjs"));
var _visitor = require("../traversal/visitor.cjs");
var _toolbox = _interopRequireDefault(require("./toolbox.cjs"));
const refract = (value, {
specPath = ['visitors', 'document', 'objects', 'AsyncApi', '$visitor'],
plugins = []
} = {}) => {
const element = (0, _apidomCore.refract)(value);
const resolvedSpec = (0, _apidomCore.dereference)(_specification.default);
/**
* This is where generic ApiDOM becomes semantic (namespace applied).
* We don't allow consumers to hook into this translation.
* Though we allow consumers to define their onw plugins on already transformed ApiDOM.
*/
const rootVisitor = (0, _ramdaAdjunct.invokeArgs)(specPath, [], resolvedSpec);
// @ts-ignore
(0, _apidomCore.visit)(element, rootVisitor, {
state: {
specObj: resolvedSpec
}
});
/**
* Running plugins visitors means extra single traversal === performance hit.
*/
return (0, _apidomCore.dispatchRefractorPlugins)(rootVisitor.element, plugins, {
toolboxCreator: _toolbox.default,
visitorOptions: {
keyMap: _visitor.keyMap,
nodeTypeGetter: _visitor.getNodeType
}
});
};
const createRefractor = specPath => (value, options = {}) => refract(value, {
...options,
specPath
});
exports.createRefractor = createRefractor;
var _default = exports.default = refract;
© 2015 - 2025 Weber Informatics LLC | Privacy Policy