UNPKG

iportal

Version:

web-portal

47 lines (45 loc) 1.36 kB
import windowOpen from './windowOpen' import { smartSetTimeout, smartSetInterval } from './smartSetTimeout' import tapHighlight from './tapHighlight' import cssVar from './cssVar' import { Module } from '../../types' export default (moduleWindow: Window, module: Module) => { const { config, application } = module const apply = config.apply || [] if (Array.isArray(apply)) { for (const item of apply) { switch (item) { case 'link-in-new-window': windowOpen(moduleWindow, application) break case 'smart-setTimeout': smartSetTimeout(moduleWindow) break case 'smart-setInterval': smartSetInterval(moduleWindow) break case 'tap-highlight': tapHighlight(moduleWindow) break default: if (Array.isArray(item)) { switch (item[0]) { case 'tap-highlight': tapHighlight(moduleWindow, item[1]) break } } break } } } if (typeof config.inject === 'function') { config.inject(moduleWindow, module) } if (module.components) { for (const mountComponent of module.components) { moduleWindow.customElements.define('code-highlight', mountComponent(moduleWindow)) } } cssVar(moduleWindow, module) }