test-openapi
Version:
Automated client requests
58 lines (38 loc) • 1.33 kB
JavaScript
;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