web-portals
Version:
web-portals
40 lines (38 loc) • 1.11 kB
text/typescript
import windowOpen from './windowOpen'
import { smartSetTimeout, smartSetInterval } from './smartSetTimeout'
import tapHighlight from './tapHighlight'
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)
}
}