iportal
Version:
web-portal
33 lines (27 loc) • 710 B
text/typescript
import { Module } from '../Module/index'
import { EventProvider } from '../Event'
import { ModuleManifest, ModuleConfig } from '../types'
interface AppOptions {
modules: {
[key: string]: ModuleManifest | (() => Promise<ModuleManifest>) | string
}
}
class ApplicationProptey extends EventProvider {
public modules: { [key: string]: Module } = {}
public config!: ModuleConfig
public readonly historyNodeLocation: number = history.length
public routerRegExp: RegExp = /([^#\/]+)(.+)?/
public options: AppOptions = {
modules: {}
}
constructor () {
super()
}
public setting (options: AppOptions) {
this.options = options
}
}
export {
ApplicationProptey
}