-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathindex.ts
More file actions
47 lines (38 loc) · 1.25 KB
/
index.ts
File metadata and controls
47 lines (38 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import { app } from 'electron';
import Application from './src/Application';
import { waitConfigInit } from './src/config';
import { OverlayManager } from './src/overlay';
// set config resolver before configuration is done
const waitInit = waitConfigInit();
(async () => {
const overlayManager = await OverlayManager.initialize();
const application = new Application(overlayManager);
await app.whenReady();
await waitInit;
application.initPluginLoader();
application.initAutoUpdater();
application.initTray();
application.initSourceProvider();
application.initHook();
application.initMainWindow();
application.initTrayWindow();
application.initOverlay();
console.log('[Lyrs] App is ready');
})();
// Auto type inference for IPC
type IpcParameters<T extends (...args: never) => unknown> =
Parameters<T> extends [unknown, ...args: infer P] ? P : [];
declare global {
export type IpcHandleMap = {
[Event in keyof Application['handleMap']]: [
IpcParameters<Application['handleMap'][Event]>,
ReturnType<Application['handleMap'][Event]>,
];
};
export type IpcOnMap = {
[Event in keyof Application['onMap']]: [
IpcParameters<Application['onMap'][Event]>,
ReturnType<Application['onMap'][Event]>,
];
};
}