UNPKG

yunzai-micro-plugin

Version:

Yunzai开发管理面板

42 lines (39 loc) 1.32 kB
import { Loader } from '../adapter/index.js'; import _ from 'lodash'; async function getLoader() { const loader = await Loader(); let packages = []; for (let plugin of loader.priority) { if (/\.js$/.test(plugin.key)) { plugin.key = 'example'; } else if (/^system/.test(plugin.key)) { plugin.key = 'system'; } else if (/^other/.test(plugin.key)) { plugin.key = 'other'; } let object = packages.find(data => data.packName == plugin.key); if (!object) { packages.push({ packName: plugin.key, packPlugins: [] }); object = packages.find(data => data.packName == plugin.key); } let objectIndex = packages.indexOf(object); let p = new plugin.class(); let msg = { pluginTitle: `插件名:${plugin.name}`, pluginFuns: [] }; if (_.isEmpty(p.rule)) { msg.pluginFuns.push(`无命令正则`); packages[objectIndex].packPlugins.push(msg); continue; } for (let v in p.rule) { msg.pluginFuns.push(`【${Number(v) + 1}】:${p.rule[v].reg}`); } packages[objectIndex].packPlugins.push(msg); } return packages; } export { getLoader };