feat: support loader & scanner

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2020-06-17 18:39:24 +08:00
parent 2fb7ddd890
commit 46173ff549
8 changed files with 298 additions and 218 deletions

View File

@ -0,0 +1,24 @@
import { plugin } from "@ccms/api"
import { provideSingleton } from "@ccms/container"
@provideSingleton(plugin.PluginLoader)
export class BasicLoader implements plugin.PluginLoader {
type: string = 'basic'
private pluginRequireMap: Map<string, any>
constructor() {
this.pluginRequireMap = new Map()
}
require(target: any, result: any) {
this.pluginRequireMap.set(target.toString(), result)
return result
}
build(metadata: plugin.PluginMetadata) {
return this.pluginRequireMap.get(metadata.source.toString())
}
load(plugin: plugin.Plugin): void { }
enable(plugin: plugin.Plugin): void { }
disable(plugin: plugin.Plugin): void { }
reload(plugin: plugin.Plugin): void { }
}