UNPKG

@berish/validate

Version:

Validation of complex objects with support for validation maps, rules and decorators

28 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const system_1 = require("./system"); const globalMethods = require("../index"); const rule_1 = require("../rule"); exports.plugins = []; function _callPlugin(plugins, initialValue, callbackPlugin) { return plugins.reduce((out, plugin) => callbackPlugin(plugin, out), initialValue); } function usePlugin(...include) { include = include.filter(m => exports.plugins.indexOf(m) === -1); if (include.length > 0) { exports.plugins.push(...include); _callPlugin(include, globalMethods, (plugin, globalMethods) => system_1.useUpgradeMethods(plugin, globalMethods)); rule_1.getAllRules().forEach(rule => { _callPlugin(include, rule, (plugin, rule) => system_1.useUpgradeRuleAfterInit(plugin, rule)); }); rule_1.getRegisteredRules().forEach(rule => { _callPlugin(include, rule, (plugin, rule) => system_1.useUpgradeRuleAfterRegister(plugin, rule)); }); } } exports.usePlugin = usePlugin; function callPlugin(initialValue, callbackPlugin) { return _callPlugin(exports.plugins, initialValue, callbackPlugin); } exports.callPlugin = callPlugin; //# sourceMappingURL=usePlugin.js.map