t-comm
Version:
专业、稳定、纯粹的工具库
65 lines (62 loc) • 1.98 kB
JavaScript
import { _ as __assign } from '../tslib.es6-096fffdd.js';
import { insertStyle } from '../dom/dom.mjs';
import { loadJS } from '../loader/loader.mjs';
import { V_CONSOLE_URL, V_CONSOLE_STYLE_CONTENT } from './config.mjs';
import { initLoadDelayPlugin } from './plugin/delay.mjs';
import { initSwitchEnvPlugin } from './plugin/env.mjs';
import { initFeedbackPlugin } from './plugin/feedback.mjs';
import { initMsdkPlugin } from './plugin/msdk.mjs';
import { initVersionPlugin } from './plugin/version.mjs';
import { initVersionSimplePlugin } from './plugin/version-simple.mjs';
import '../loader/little-loader.mjs';
import '../clipboard/clipboard-web.mjs';
import '../time/time.mjs';
/**
* 加载 vConsole
* @param {Object} [options = {}] vConsole 选项
* @param {Array<string>} [plugins = []] 插件列表
* @returns {Promise<Object>} vConsole 实例
*
* @example
* ```ts
* loadVConsole()
* ```
*/
function loadVConsole(options, plugins) {
if (options === void 0) {
options = {};
}
if (plugins === void 0) {
plugins = [];
}
return new Promise(function (resolve) {
if (typeof window.VConsole === 'undefined') {
loadJS(V_CONSOLE_URL).then(function () {
resolve(initVConsole(options, plugins));
});
} else {
resolve(initVConsole(options, plugins));
}
});
}
function initVConsole(options, plugins) {
var vConsole = new VConsole(__assign({}, options || {}));
vConsole.addPlugin(initVersionPlugin());
vConsole.addPlugin(initFeedbackPlugin());
vConsole.addPlugin(initSwitchEnvPlugin());
vConsole.addPlugin(initLoadDelayPlugin());
vConsole.addPlugin(initVersionSimplePlugin());
vConsole.addPlugin(initMsdkPlugin());
plugins.forEach(function (plugin) {
vConsole.addPlugin(plugin());
});
insertStyle({
id: 'vConsolePluginStyle',
content: V_CONSOLE_STYLE_CONTENT
});
if (window && !window.vConsole) {
window.vConsole = vConsole;
}
return vConsole;
}
export { loadVConsole };