UNPKG

test-openapi

Version:
58 lines (38 loc) 1.33 kB
"use strict";require("core-js/modules/es.array.iterator");Object.defineProperty(exports,"__esModule",{value:true});exports.loadPlugins=void 0;var _lodash=require("lodash"); var _modules=require("../modules.js"); var _plugin_schema=require("./plugin_schema"); var _validate=require("./validate.js"); var _verify=require("./verify.js"); const loadPlugins=function({config,config:{plugins}}){ const pluginsA=normalizePlugins({plugins}); const pluginsB=pluginsA.map(name=>loadPlugin({name,config})); return pluginsB; };exports.loadPlugins=loadPlugins; const normalizePlugins=function({plugins}){ const pluginsA=(0,_lodash.difference)(plugins,CORE_PLUGINS); const pluginsB=(0,_lodash.uniq)(pluginsA); const pluginsC=[...CORE_PLUGINS,...DEFAULT_PLUGINS,...pluginsB]; return pluginsC; }; const CORE_PLUGINS=[ "merge", "only", "skip", "repeat", "variables", "template", "verify", "report"]; const DEFAULT_PLUGINS=["spec","call","validate"]; const loadPlugin=function({name,config}){ const plugin=(0,_modules.getModule)(name,MODULE_OPTS); (0,_validate.validateJsonSchemas)({plugin}); (0,_verify.verifyConfig)({plugin,config}); return plugin; }; const MODULE_OPTS={ title:"plugin", modulePrefix:"test-openapi-plugin-", corePath:`${__dirname}/../core/`, schema:_plugin_schema.PLUGIN_SCHEMA}; //# sourceMappingURL=load.js.map