mirror of
https://github.com/h-sphere/sql-seal.git
synced 2026-07-22 10:10:28 +00:00
* chore: reworking plugin internals into modules * feat: settings module is now working, added debug module, enabled new api module * chore: restoring external API * feat: refactoring project to use proper inversion of control * feat: plugins can now be loaded in any order * chore: final file migration, all typescript is in modules now * chore: fixing dependencies of cellParser * feat: csv and json views are only registered when they are not colliding with other plugins * feat: fixed library behaviour on canvas
36 lines
No EOL
757 B
TypeScript
36 lines
No EOL
757 B
TypeScript
import { makeInjector } from "@hypersphere/dity";
|
|
import { MainModule } from "./module";
|
|
|
|
type InitFn = () => void
|
|
|
|
|
|
@(makeInjector<MainModule, 'factory'>()([
|
|
'settings.init',
|
|
'editor.init',
|
|
'syntaxHighlight.init',
|
|
'contextMenu.init',
|
|
'sync.init',
|
|
'debug.init',
|
|
'api.init'
|
|
]))
|
|
export class Init {
|
|
async make(
|
|
settingsInit: InitFn,
|
|
editorInit: InitFn,
|
|
highlighInit: InitFn,
|
|
contextMenu: InitFn,
|
|
syncInit: InitFn,
|
|
debugInit: InitFn,
|
|
apiInit: InitFn
|
|
) {
|
|
return () => {
|
|
settingsInit()
|
|
editorInit()
|
|
highlighInit()
|
|
contextMenu()
|
|
syncInit()
|
|
debugInit()
|
|
apiInit()
|
|
}
|
|
}
|
|
} |