source: node_modules/@swagger-api/apidom-ns-openapi-3-1/cjs/refractor/index.cjs

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.6 KB
Line 
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4exports.__esModule = true;
5exports.default = exports.createRefractor = void 0;
6var _apidomCore = require("@swagger-api/apidom-core");
7var _ramda = require("ramda");
8var _specification = _interopRequireDefault(require("./specification.cjs"));
9var _visitor = require("../traversal/visitor.cjs");
10var _toolbox = _interopRequireDefault(require("./toolbox.cjs"));
11const refract = (value, {
12 specPath = ['visitors', 'document', 'objects', 'OpenApi', '$visitor'],
13 plugins = []
14} = {}) => {
15 const element = (0, _apidomCore.refract)(value);
16 const resolvedSpec = (0, _apidomCore.dereference)(_specification.default);
17
18 /**
19 * This is where generic ApiDOM becomes semantic (namespace applied).
20 * We don't allow consumers to hook into this translation.
21 * Though we allow consumers to define their onw plugins on already transformed ApiDOM.
22 */
23 const RootVisitorClass = (0, _ramda.path)(specPath, resolvedSpec);
24 const rootVisitor = new RootVisitorClass({
25 specObj: resolvedSpec
26 });
27 (0, _apidomCore.visit)(element, rootVisitor);
28
29 /**
30 * Running plugins visitors means extra single traversal === performance hit.
31 */
32 return (0, _apidomCore.dispatchRefractorPlugins)(rootVisitor.element, plugins, {
33 toolboxCreator: _toolbox.default,
34 visitorOptions: {
35 keyMap: _visitor.keyMap,
36 nodeTypeGetter: _visitor.getNodeType
37 }
38 });
39};
40const createRefractor = specPath => (value, options = {}) => refract(value, {
41 specPath,
42 ...options
43});
44exports.createRefractor = createRefractor;
45var _default = exports.default = refract;
Note: See TracBrowser for help on using the repository browser.