@flighthq/host-electron 0.5.1-next.920.da8f530 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/contract.d.ts +19 -24
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +18 -24
- package/dist/contract.js.map +1 -1
- package/dist/electronApp.d.ts +62 -34
- package/dist/electronApp.d.ts.map +1 -1
- package/dist/electronApp.js +175 -234
- package/dist/electronApp.js.map +1 -1
- package/dist/electronClipboard.d.ts +7 -5
- package/dist/electronClipboard.d.ts.map +1 -1
- package/dist/electronClipboard.js +91 -66
- package/dist/electronClipboard.js.map +1 -1
- package/dist/electronDefaultHostGroups.d.ts +59 -0
- package/dist/electronDefaultHostGroups.d.ts.map +1 -0
- package/dist/electronDefaultHostGroups.js +109 -0
- package/dist/electronDefaultHostGroups.js.map +1 -0
- package/dist/electronDialog.d.ts +12 -9
- package/dist/electronDialog.d.ts.map +1 -1
- package/dist/electronDialog.js +28 -21
- package/dist/electronDialog.js.map +1 -1
- package/dist/electronIpc.d.ts +13 -11
- package/dist/electronIpc.d.ts.map +1 -1
- package/dist/electronIpc.js +32 -26
- package/dist/electronIpc.js.map +1 -1
- package/dist/electronMenu.d.ts +12 -6
- package/dist/electronMenu.d.ts.map +1 -1
- package/dist/electronMenu.js +41 -30
- package/dist/electronMenu.js.map +1 -1
- package/dist/electronMenuTemplate.d.ts +2 -1
- package/dist/electronMenuTemplate.d.ts.map +1 -1
- package/dist/electronMenuTemplate.js.map +1 -1
- package/dist/electronNotification.d.ts +25 -7
- package/dist/electronNotification.d.ts.map +1 -1
- package/dist/electronNotification.js +39 -16
- package/dist/electronNotification.js.map +1 -1
- package/dist/electronPlatform.d.ts +5 -3
- package/dist/electronPlatform.d.ts.map +1 -1
- package/dist/electronPlatform.js +9 -7
- package/dist/electronPlatform.js.map +1 -1
- package/dist/electronPower.d.ts +22 -11
- package/dist/electronPower.d.ts.map +1 -1
- package/dist/electronPower.js +48 -59
- package/dist/electronPower.js.map +1 -1
- package/dist/electronProtocol.d.ts +16 -8
- package/dist/electronProtocol.d.ts.map +1 -1
- package/dist/electronProtocol.js +45 -28
- package/dist/electronProtocol.js.map +1 -1
- package/dist/electronRegister.d.ts +5 -7
- package/dist/electronRegister.d.ts.map +1 -1
- package/dist/electronRegister.js +72 -99
- package/dist/electronRegister.js.map +1 -1
- package/dist/electronScreen.d.ts +7 -6
- package/dist/electronScreen.d.ts.map +1 -1
- package/dist/electronScreen.js +17 -14
- package/dist/electronScreen.js.map +1 -1
- package/dist/electronShell.d.ts +16 -8
- package/dist/electronShell.d.ts.map +1 -1
- package/dist/electronShell.js +50 -43
- package/dist/electronShell.js.map +1 -1
- package/dist/electronShortcut.d.ts +6 -4
- package/dist/electronShortcut.d.ts.map +1 -1
- package/dist/electronShortcut.js +16 -10
- package/dist/electronShortcut.js.map +1 -1
- package/dist/electronStorage.d.ts +5 -3
- package/dist/electronStorage.d.ts.map +1 -1
- package/dist/electronStorage.js +9 -7
- package/dist/electronStorage.js.map +1 -1
- package/dist/electronTray.d.ts +38 -21
- package/dist/electronTray.d.ts.map +1 -1
- package/dist/electronTray.js +110 -76
- package/dist/electronTray.js.map +1 -1
- package/dist/electronUpdater.d.ts +6 -3
- package/dist/electronUpdater.d.ts.map +1 -1
- package/dist/electronUpdater.js +10 -7
- package/dist/electronUpdater.js.map +1 -1
- package/dist/electronWindow.d.ts +23 -7
- package/dist/electronWindow.d.ts.map +1 -1
- package/dist/electronWindow.js +234 -152
- package/dist/electronWindow.js.map +1 -1
- package/dist/index.d.ts +19 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/types/ElectronApi.d.ts +393 -0
- package/dist/types/ElectronApi.d.ts.map +1 -0
- package/dist/types/ElectronApi.js +20 -0
- package/dist/types/ElectronApi.js.map +1 -0
- package/dist/types/ElectronAppCapabilitiesFor.d.ts +8 -0
- package/dist/types/ElectronAppCapabilitiesFor.d.ts.map +1 -0
- package/dist/types/ElectronAppCapabilitiesFor.js +2 -0
- package/dist/types/ElectronAppCapabilitiesFor.js.map +1 -0
- package/dist/types/ElectronHost.d.ts +43 -0
- package/dist/types/ElectronHost.d.ts.map +1 -0
- package/dist/types/ElectronHost.js +2 -0
- package/dist/types/ElectronHost.js.map +1 -0
- package/dist/types/ElectronHostGroups.d.ts +85 -0
- package/dist/types/ElectronHostGroups.d.ts.map +1 -0
- package/dist/types/ElectronHostGroups.js +2 -0
- package/dist/types/ElectronHostGroups.js.map +1 -0
- package/dist/types/ElectronHostOptions.d.ts +7 -0
- package/dist/types/ElectronHostOptions.d.ts.map +1 -0
- package/dist/types/ElectronHostOptions.js +2 -0
- package/dist/types/ElectronHostOptions.js.map +1 -0
- package/dist/types/ElectronProtocolCapabilities.d.ts +3 -0
- package/dist/types/ElectronProtocolCapabilities.d.ts.map +1 -0
- package/dist/types/ElectronProtocolCapabilities.js +2 -0
- package/dist/types/ElectronProtocolCapabilities.js.map +1 -0
- package/dist/types/ElectronTrayCapabilitiesFor.d.ts +7 -0
- package/dist/types/ElectronTrayCapabilitiesFor.d.ts.map +1 -0
- package/dist/types/ElectronTrayCapabilitiesFor.js +2 -0
- package/dist/types/ElectronTrayCapabilitiesFor.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +42 -21
- package/src/electronApp.test.ts +158 -131
- package/src/electronClipboard.test.ts +40 -13
- package/src/electronDefaultHostGroups.test.ts +148 -0
- package/src/electronDialog.test.ts +55 -53
- package/src/electronHostTreeShaking.test.ts +51 -0
- package/src/electronIpc.test.ts +47 -66
- package/src/electronMenu.test.ts +61 -47
- package/src/electronMenuTemplate.test.ts +1 -1
- package/src/electronNotification.test.ts +71 -21
- package/src/electronPlatform.test.ts +17 -12
- package/src/electronPower.test.ts +112 -88
- package/src/electronProtocol.test.ts +68 -35
- package/src/electronRegister.test.ts +280 -26
- package/src/electronScreen.test.ts +34 -25
- package/src/electronShell.test.ts +99 -59
- package/src/electronShortcut.test.ts +22 -19
- package/src/electronStorage.test.ts +26 -24
- package/src/electronTray.test.ts +225 -109
- package/src/electronUpdater.test.ts +26 -19
- package/src/electronWindow.test.ts +229 -101
package/dist/electronIpc.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function
|
|
1
|
+
import type { HostIpcCapabilities, HostIpcHandleCapability, HostIpcInvokeCapability, HostIpcMessageCapability, HostIpcSendCapability, HostIpcTargetedSendCapability } from '@flighthq/ipc/contract';
|
|
2
|
+
import type { ElectronApi, ElectronIpcRenderer, ElectronIpcTarget } from './types/index.ts';
|
|
3
|
+
export declare function electronHostIpc(electron: ElectronApi): Required<Pick<HostIpcCapabilities, 'handle' | 'message' | 'targetedSend'>>;
|
|
4
|
+
export declare function electronHostIpcHandle(electron: ElectronApi): HostIpcHandleCapability;
|
|
5
|
+
export declare function electronHostIpcInvoke(ipcRenderer: ElectronIpcRenderer): HostIpcInvokeCapability;
|
|
6
|
+
export declare function electronHostIpcMessage(electron: ElectronApi): HostIpcMessageCapability;
|
|
7
|
+
export declare function electronHostIpcSend(ipcRenderer: ElectronIpcRenderer): HostIpcSendCapability;
|
|
8
|
+
export declare function electronHostIpcTargetedSend<Target extends ElectronIpcTarget = ElectronIpcTarget>(): HostIpcTargetedSendCapability<Target>;
|
|
9
|
+
export declare function populateElectronHostIpcHandle(out: HostIpcHandleCapability, electron: ElectronApi): void;
|
|
10
|
+
export declare function populateElectronHostIpcInvoke(out: HostIpcInvokeCapability, ipcRenderer: ElectronIpcRenderer): void;
|
|
11
|
+
export declare function populateElectronHostIpcMessage(out: HostIpcMessageCapability, electron: ElectronApi): void;
|
|
12
|
+
export declare function populateElectronHostIpcSend(out: HostIpcSendCapability, ipcRenderer: ElectronIpcRenderer): void;
|
|
13
|
+
export declare function populateElectronHostIpcTargetedSend<Target extends ElectronIpcTarget = ElectronIpcTarget>(out: HostIpcTargetedSendCapability<Target>): void;
|
|
12
14
|
//# sourceMappingURL=electronIpc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electronIpc.d.ts","sourceRoot":"","sources":["../src/electronIpc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electronIpc.d.ts","sourceRoot":"","sources":["../src/electronIpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAK5F,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,WAAW,GACpB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC,CAM5E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,uBAAuB,CAIpF;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,mBAAmB,GAAG,uBAAuB,CAI/F;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,GAAG,wBAAwB,CAItF;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,GAAG,qBAAqB,CAI3F;AAED,wBAAgB,2BAA2B,CACzC,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,KACjD,6BAA6B,CAAC,MAAM,CAAC,CAIzC;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,uBAAuB,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAWvG;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,uBAAuB,EAAE,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAIlH;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAOzG;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,qBAAqB,EAAE,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAI9G;AAED,wBAAgB,mCAAmC,CAAC,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,EACtG,GAAG,EAAE,6BAA6B,CAAC,MAAM,CAAC,GACzC,IAAI,CAIN"}
|
package/dist/electronIpc.js
CHANGED
|
@@ -1,32 +1,38 @@
|
|
|
1
|
-
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
1
|
// Electron's process sides expose different capability vectors. These constructors keep the slots
|
|
3
2
|
// independent so a renderer host carries send/invoke while a main host carries message/handle/targetedSend.
|
|
4
|
-
export function
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
export function electronHostIpc(electron) {
|
|
4
|
+
return {
|
|
5
|
+
handle: electronHostIpcHandle(electron),
|
|
6
|
+
message: electronHostIpcMessage(electron),
|
|
7
|
+
targetedSend: electronHostIpcTargetedSend(),
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function electronHostIpcHandle(electron) {
|
|
11
|
+
const out = {};
|
|
12
|
+
populateElectronHostIpcHandle(out, electron);
|
|
13
|
+
return out;
|
|
8
14
|
}
|
|
9
|
-
export function
|
|
10
|
-
const out =
|
|
11
|
-
|
|
12
|
-
return
|
|
15
|
+
export function electronHostIpcInvoke(ipcRenderer) {
|
|
16
|
+
const out = {};
|
|
17
|
+
populateElectronHostIpcInvoke(out, ipcRenderer);
|
|
18
|
+
return out;
|
|
13
19
|
}
|
|
14
|
-
export function
|
|
15
|
-
const out =
|
|
16
|
-
|
|
17
|
-
return
|
|
20
|
+
export function electronHostIpcMessage(electron) {
|
|
21
|
+
const out = {};
|
|
22
|
+
populateElectronHostIpcMessage(out, electron);
|
|
23
|
+
return out;
|
|
18
24
|
}
|
|
19
|
-
export function
|
|
20
|
-
const out =
|
|
21
|
-
|
|
22
|
-
return
|
|
25
|
+
export function electronHostIpcSend(ipcRenderer) {
|
|
26
|
+
const out = {};
|
|
27
|
+
populateElectronHostIpcSend(out, ipcRenderer);
|
|
28
|
+
return out;
|
|
23
29
|
}
|
|
24
|
-
export function
|
|
25
|
-
const out =
|
|
26
|
-
|
|
27
|
-
return
|
|
30
|
+
export function electronHostIpcTargetedSend() {
|
|
31
|
+
const out = {};
|
|
32
|
+
populateElectronHostIpcTargetedSend(out);
|
|
33
|
+
return out;
|
|
28
34
|
}
|
|
29
|
-
export function
|
|
35
|
+
export function populateElectronHostIpcHandle(out, electron) {
|
|
30
36
|
const ipcMain = electron.ipcMain;
|
|
31
37
|
out.handle = (channel, handler) => {
|
|
32
38
|
ipcMain.handle(channel, (_event, ...args) => handler(...args));
|
|
@@ -39,12 +45,12 @@ export function initializeElectronIpcHandleBackend(out, electron) {
|
|
|
39
45
|
};
|
|
40
46
|
};
|
|
41
47
|
}
|
|
42
|
-
export function
|
|
48
|
+
export function populateElectronHostIpcInvoke(out, ipcRenderer) {
|
|
43
49
|
out.invoke = (channel, args) => {
|
|
44
50
|
return ipcRenderer.invoke(channel, ...args);
|
|
45
51
|
};
|
|
46
52
|
}
|
|
47
|
-
export function
|
|
53
|
+
export function populateElectronHostIpcMessage(out, electron) {
|
|
48
54
|
const ipcMain = electron.ipcMain;
|
|
49
55
|
out.subscribe = (channel, listener) => {
|
|
50
56
|
const handler = (_event, ...args) => listener(args);
|
|
@@ -52,12 +58,12 @@ export function initializeElectronIpcMessageBackend(out, electron) {
|
|
|
52
58
|
return () => ipcMain.removeListener(channel, handler);
|
|
53
59
|
};
|
|
54
60
|
}
|
|
55
|
-
export function
|
|
61
|
+
export function populateElectronHostIpcSend(out, ipcRenderer) {
|
|
56
62
|
out.send = (channel, args) => {
|
|
57
63
|
ipcRenderer.send(channel, ...args);
|
|
58
64
|
};
|
|
59
65
|
}
|
|
60
|
-
export function
|
|
66
|
+
export function populateElectronHostIpcTargetedSend(out) {
|
|
61
67
|
out.send = (target, channel, args) => {
|
|
62
68
|
target.send(channel, ...args);
|
|
63
69
|
};
|
package/dist/electronIpc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electronIpc.js","sourceRoot":"","sources":["../src/electronIpc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electronIpc.js","sourceRoot":"","sources":["../src/electronIpc.ts"],"names":[],"mappings":"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"}
|
package/dist/electronMenu.d.ts
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
1
|
+
import type { ElectronMenuCapabilities, HostAppMenuCapability, HostMenuPopupCapability, HostMenuSelectCapability } from '@flighthq/menu/contract';
|
|
2
|
+
import type { ElectronApi } from './types/index.ts';
|
|
3
|
+
export declare function electronHostAppMenu(electron: ElectronApi): HostAppMenuCapability;
|
|
4
|
+
export declare function electronHostMenu(electron: ElectronApi): ElectronMenuCapabilities;
|
|
5
|
+
export declare function electronHostMenuPopup(electron: ElectronApi): HostMenuPopupCapability;
|
|
6
|
+
export declare function electronHostMenuSelect(): HostMenuSelectCapability;
|
|
7
|
+
export declare function populateElectronHostAppMenu(out: HostAppMenuCapability, electron: ElectronApi, menuState: {
|
|
5
8
|
selectListener: ((id: string) => void) | null;
|
|
6
9
|
destroyed: boolean;
|
|
7
10
|
}): void;
|
|
8
|
-
export declare function
|
|
9
|
-
|
|
11
|
+
export declare function populateElectronHostMenu(out: {
|
|
12
|
+
-readonly [K in keyof ElectronMenuCapabilities]: ElectronMenuCapabilities[K];
|
|
13
|
+
}, app: HostAppMenuCapability, popup: HostMenuPopupCapability, select: HostMenuSelectCapability): void;
|
|
14
|
+
export declare function populateElectronHostMenuPopup(out: HostMenuPopupCapability, electron: ElectronApi): void;
|
|
15
|
+
export declare function populateElectronHostMenuSelect(out: HostMenuSelectCapability, menuState: {
|
|
10
16
|
selectListener: ((id: string) => void) | null;
|
|
11
17
|
destroyed: boolean;
|
|
12
18
|
}): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electronMenu.d.ts","sourceRoot":"","sources":["../src/electronMenu.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electronMenu.d.ts","sourceRoot":"","sources":["../src/electronMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAuBpD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,qBAAqB,CAEhF;AAYD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,wBAAwB,CAQhF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,uBAAuB,CAIpF;AAED,wBAAgB,sBAAsB,IAAI,wBAAwB,CAEjE;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,qBAAqB,EAC1B,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE;IAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAC/E,IAAI,CAcN;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,CAAC,CAAC;CAAE,EACrF,GAAG,EAAE,qBAAqB,EAC1B,KAAK,EAAE,uBAAuB,EAC9B,MAAM,EAAE,wBAAwB,GAC/B,IAAI,CAIN;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,uBAAuB,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAcvG;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,wBAAwB,EAC7B,SAAS,EAAE;IAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAC/E,IAAI,CAON"}
|
package/dist/electronMenu.js
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { toElectronTemplate } from './electronMenuTemplate.js';
|
|
2
|
+
function menuState() {
|
|
3
|
+
return { destroyed: false, selectListener: null };
|
|
4
|
+
}
|
|
5
|
+
function menuApplication(electron, state) {
|
|
6
|
+
const out = {};
|
|
7
|
+
populateElectronHostAppMenu(out, electron, state);
|
|
8
|
+
return out;
|
|
9
|
+
}
|
|
10
|
+
function menuSelect(state) {
|
|
11
|
+
const out = {};
|
|
12
|
+
populateElectronHostMenuSelect(out, state);
|
|
13
|
+
return out;
|
|
14
|
+
}
|
|
15
|
+
export function electronHostAppMenu(electron) {
|
|
16
|
+
return menuApplication(electron, menuState());
|
|
17
|
+
}
|
|
3
18
|
// Maps Flight's menu slots onto Electron's Menu module. Flight menu items are plain templates with a
|
|
4
19
|
// stable `id`; Electron delivers selection through per-item `click` callbacks, so the seam funnels those
|
|
5
20
|
// clicks back through an explicit onSelect. Application-menu clicks go to the listener registered on the
|
|
@@ -10,33 +25,24 @@ import { toElectronTemplate } from './electronMenuTemplate';
|
|
|
10
25
|
// separate SLOTS because their shapes are incompatible — a command returning boolean and an event
|
|
11
26
|
// subscription returning an unsubscribe — but a caller taking only one of them still gets a coherent
|
|
12
27
|
// pair, because both read the same closure.
|
|
13
|
-
export function
|
|
14
|
-
const
|
|
15
|
-
const application = (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const b = allocateEntity();
|
|
22
|
-
initializeMenuPopupBackend(b, electron);
|
|
23
|
-
return finishEntity(b);
|
|
24
|
-
})();
|
|
25
|
-
const select = (() => {
|
|
26
|
-
const b = allocateEntity();
|
|
27
|
-
initializeMenuSelectBackend(b, menuState);
|
|
28
|
-
return finishEntity(b);
|
|
29
|
-
})();
|
|
30
|
-
const out = allocateEntity();
|
|
31
|
-
initializeElectronMenuCapabilities(out, application, popup, select);
|
|
32
|
-
return finishEntity(out);
|
|
28
|
+
export function electronHostMenu(electron) {
|
|
29
|
+
const state = menuState();
|
|
30
|
+
const application = menuApplication(electron, state);
|
|
31
|
+
const popup = electronHostMenuPopup(electron);
|
|
32
|
+
const select = menuSelect(state);
|
|
33
|
+
const out = {};
|
|
34
|
+
populateElectronHostMenu(out, application, popup, select);
|
|
35
|
+
return Object.freeze(out);
|
|
33
36
|
}
|
|
34
|
-
export function
|
|
35
|
-
out
|
|
36
|
-
out
|
|
37
|
-
out
|
|
37
|
+
export function electronHostMenuPopup(electron) {
|
|
38
|
+
const out = {};
|
|
39
|
+
populateElectronHostMenuPopup(out, electron);
|
|
40
|
+
return out;
|
|
41
|
+
}
|
|
42
|
+
export function electronHostMenuSelect() {
|
|
43
|
+
return menuSelect(menuState());
|
|
38
44
|
}
|
|
39
|
-
export function
|
|
45
|
+
export function populateElectronHostAppMenu(out, electron, menuState) {
|
|
40
46
|
// Provider lifecycle: releases the OS menu this provider installed. It deliberately does NOT end
|
|
41
47
|
// select subscriptions — those are ended by their own unsubscribe.
|
|
42
48
|
out.destroy = () => {
|
|
@@ -45,12 +51,17 @@ export function initializeMenuApplicationBackend(out, electron, menuState) {
|
|
|
45
51
|
menuState.destroyed = true;
|
|
46
52
|
electron.Menu.setApplicationMenu(null);
|
|
47
53
|
};
|
|
48
|
-
out.
|
|
54
|
+
out.setAppMenu = (items) => {
|
|
49
55
|
electron.Menu.setApplicationMenu(electron.Menu.buildFromTemplate(toElectronTemplate(items, (id) => menuState.selectListener?.(id))));
|
|
50
56
|
return true;
|
|
51
57
|
};
|
|
52
58
|
}
|
|
53
|
-
export function
|
|
59
|
+
export function populateElectronHostMenu(out, app, popup, select) {
|
|
60
|
+
out.app = app;
|
|
61
|
+
out.popup = popup;
|
|
62
|
+
out.select = select;
|
|
63
|
+
}
|
|
64
|
+
export function populateElectronHostMenuPopup(out, electron) {
|
|
54
65
|
// The Electron seam exposes no menu close event, so the Promise resolves on the first item click
|
|
55
66
|
// and never resolves to null from a dismissal — callers treat a non-resolving Promise as "still
|
|
56
67
|
// open". We resolve null only if popup throws.
|
|
@@ -66,7 +77,7 @@ export function initializeMenuPopupBackend(out, electron) {
|
|
|
66
77
|
});
|
|
67
78
|
};
|
|
68
79
|
}
|
|
69
|
-
export function
|
|
80
|
+
export function populateElectronHostMenuSelect(out, menuState) {
|
|
70
81
|
out.subscribe = (listener) => {
|
|
71
82
|
menuState.selectListener = listener;
|
|
72
83
|
return () => {
|
package/dist/electronMenu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electronMenu.js","sourceRoot":"","sources":["../src/electronMenu.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electronMenu.js","sourceRoot":"","sources":["../src/electronMenu.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAQ/D,SAAS,SAAS;IAChB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,QAAqB,EAAE,KAAwB;IACtE,MAAM,GAAG,GAAG,EAA2B,CAAC;IACxC,2BAA2B,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,KAAwB;IAC1C,MAAM,GAAG,GAAG,EAA8B,CAAC;IAC3C,8BAA8B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAqB;IACvD,OAAO,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,qGAAqG;AACrG,yGAAyG;AACzG,yGAAyG;AACzG,kFAAkF;AAClF,EAAE;AACF,mGAAmG;AACnG,0GAA0G;AAC1G,kGAAkG;AAClG,qGAAqG;AACrG,4CAA4C;AAC5C,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,EAAsF,CAAC;IACnG,wBAAwB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAA6B,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAqB;IACzD,MAAM,GAAG,GAAG,EAA6B,CAAC;IAC1C,6BAA6B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,GAA0B,EAC1B,QAAqB,EACrB,SAAgF;IAEhF,iGAAiG;IACjG,mEAAmE;IACnE,GAAG,CAAC,OAAO,GAAG,GAAS,EAAE;QACvB,IAAI,SAAS,CAAC,SAAS;YAAE,OAAO;QAChC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,GAAG,CAAC,UAAU,GAAG,CAAC,KAAK,EAAW,EAAE;QAClC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAC9B,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CACnG,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAqF,EACrF,GAA0B,EAC1B,KAA8B,EAC9B,MAAgC;IAEhC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACd,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAClB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAA4B,EAAE,QAAqB;IAC/F,iGAAiG;IACjG,gGAAgG;IAChG,+CAA+C;IAC/C,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAA0B,EAAE;QAClD,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,GAA6B,EAC7B,SAAgF;IAEhF,GAAG,CAAC,SAAS,GAAG,CAAC,QAAQ,EAAgB,EAAE;QACzC,SAAS,CAAC,cAAc,GAAG,QAAQ,CAAC;QACpC,OAAO,GAAG,EAAE;YACV,IAAI,SAAS,CAAC,cAAc,KAAK,QAAQ;gBAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7E,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MenuItemTemplate } from '@flighthq/menu/contract';
|
|
2
|
+
import type { ElectronMenuItemOptions } from './types/index.ts';
|
|
2
3
|
export declare function toElectronTemplate(items: readonly MenuItemTemplate[], onSelect?: (id: string) => void): ElectronMenuItemOptions[];
|
|
3
4
|
//# sourceMappingURL=electronMenuTemplate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electronMenuTemplate.d.ts","sourceRoot":"","sources":["../src/electronMenuTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"electronMenuTemplate.d.ts","sourceRoot":"","sources":["../src/electronMenuTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,uBAAuB,EAAwB,MAAM,kBAAkB,CAAC;AAItF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAC9B,uBAAuB,EAAE,CAkB3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electronMenuTemplate.js","sourceRoot":"","sources":["../src/electronMenuTemplate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electronMenuTemplate.js","sourceRoot":"","sources":["../src/electronMenuTemplate.ts"],"names":[],"mappings":"AAIA,kGAAkG;AAClG,qGAAqG;AACrG,MAAM,UAAU,kBAAkB,CAChC,KAAkC,EAClC,QAA+B;IAE/B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,OAAO,GAA4B;YACvC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAuB;IACvE,OAAO;IACP,SAAS;IACT,sBAAsB;IACtB,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,UAAU;IACV,UAAU;IACV,aAAa;IACb,OAAO;IACP,MAAM;IACN,MAAM;IACN,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,oBAAoB;IACpB,OAAO;IACP,oBAAoB;IACpB,MAAM;IACN,iBAAiB;IACjB,MAAM;IACN,QAAQ;IACR,WAAW;IACX,WAAW;IACX,eAAe;IACf,mBAAmB;IACnB,UAAU;IACV,WAAW;IACX,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,kBAAkB;IAClB,MAAM;IACN,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,SAAS;CACV,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,IAA8B;IACpD,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,kBAAkB,CAAC;IAC3D,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAA6B,CAAC,CAAC,CAAC,SAAS,CAAC;AACpG,CAAC"}
|
|
@@ -1,16 +1,34 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ElectronMacosNotificationCapabilities, ElectronNotificationCapabilities } from '@flighthq/notification/contract';
|
|
2
|
+
import type { DesktopOsProfile } from '@flighthq/tray/contract';
|
|
3
|
+
import type { ElectronApi, ElectronHostOptions } from './types/index.ts';
|
|
2
4
|
type ElectronNotificationCapabilitiesFor<Profile extends DesktopOsProfile> = Profile extends 'macos' ? ElectronMacosNotificationCapabilities : ElectronNotificationCapabilities;
|
|
3
|
-
export declare function
|
|
5
|
+
export declare function electronHostNotification<Profile extends DesktopOsProfile>(electron: ElectronApi, options: Readonly<ElectronHostOptions> & {
|
|
4
6
|
readonly platform: Profile;
|
|
5
7
|
}): ElectronNotificationCapabilitiesFor<Profile>;
|
|
6
|
-
export declare function
|
|
8
|
+
export declare function electronHostNotification(electron: ElectronApi, options: Readonly<ElectronHostOptions & {
|
|
7
9
|
platform: 'macos';
|
|
8
10
|
}>): ElectronMacosNotificationCapabilities;
|
|
9
|
-
export declare function
|
|
11
|
+
export declare function electronHostNotification(electron: ElectronApi, options: Readonly<ElectronHostOptions & {
|
|
10
12
|
platform: 'linux' | 'windows';
|
|
11
13
|
}>): ElectronNotificationCapabilities;
|
|
12
|
-
export declare function
|
|
13
|
-
export declare function
|
|
14
|
-
|
|
14
|
+
export declare function electronHostNotification(electron: ElectronApi, options: Readonly<ElectronHostOptions>): ElectronMacosNotificationCapabilities | ElectronNotificationCapabilities;
|
|
15
|
+
export declare function electronHostNotificationAction(electron: ElectronApi, options: Readonly<ElectronHostOptions & {
|
|
16
|
+
platform: 'macos';
|
|
17
|
+
}>): ElectronMacosNotificationCapabilities['action'];
|
|
18
|
+
export declare function electronHostNotificationClick(electron: ElectronApi, options: Readonly<ElectronHostOptions>): ElectronNotificationCapabilities['click'];
|
|
19
|
+
export declare function electronHostNotificationClose(electron: ElectronApi, options: Readonly<ElectronHostOptions>): ElectronNotificationCapabilities['close'];
|
|
20
|
+
export declare function electronHostNotificationDelivery(electron: ElectronApi, options: Readonly<ElectronHostOptions>): ElectronNotificationCapabilities['delivery'];
|
|
21
|
+
export declare function electronHostNotificationDismiss(electron: ElectronApi, options: Readonly<ElectronHostOptions>): ElectronNotificationCapabilities['dismiss'];
|
|
22
|
+
export declare function electronHostNotificationLifecycle(electron: ElectronApi, options: Readonly<ElectronHostOptions>): ElectronNotificationCapabilities['lifecycle'];
|
|
23
|
+
export declare function electronHostNotificationReceived(electron: ElectronApi, options: Readonly<ElectronHostOptions>): ElectronNotificationCapabilities['received'];
|
|
24
|
+
export declare function electronHostNotificationReply(electron: ElectronApi, options: Readonly<ElectronHostOptions & {
|
|
25
|
+
platform: 'macos';
|
|
26
|
+
}>): ElectronMacosNotificationCapabilities['reply'];
|
|
27
|
+
export declare function populateElectronHostNotificationCommon(out: {
|
|
28
|
+
-readonly [K in keyof ElectronNotificationCapabilities]: ElectronNotificationCapabilities[K];
|
|
29
|
+
}, capabilities: Readonly<ElectronNotificationCapabilities>): void;
|
|
30
|
+
export declare function populateElectronHostNotificationMacos(out: {
|
|
31
|
+
-readonly [K in keyof ElectronMacosNotificationCapabilities]: ElectronMacosNotificationCapabilities[K];
|
|
32
|
+
}, capabilities: Readonly<ElectronNotificationCapabilities>, action: ElectronMacosNotificationCapabilities['action'], reply: ElectronMacosNotificationCapabilities['reply']): void;
|
|
15
33
|
export {};
|
|
16
34
|
//# sourceMappingURL=electronNotification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electronNotification.d.ts","sourceRoot":"","sources":["../src/electronNotification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electronNotification.d.ts","sourceRoot":"","sources":["../src/electronNotification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
1
|
import { bindNotificationClose, createNotificationResource } from '@flighthq/notification/contract';
|
|
3
|
-
export function
|
|
2
|
+
export function electronHostNotification(electron, options) {
|
|
4
3
|
const nativeByNotification = new Map();
|
|
5
4
|
const actionListeners = new Set();
|
|
6
5
|
const clickListeners = new Set();
|
|
@@ -33,7 +32,7 @@ export function createElectronNotificationCapabilities(electron, options) {
|
|
|
33
32
|
return failures.length === 0 ? { reason: 'ok' } : { failures, reason: 'operation-failed' };
|
|
34
33
|
}
|
|
35
34
|
const capabilities = {
|
|
36
|
-
click:
|
|
35
|
+
click: electronHostNotificationEventProvider(clickListeners, () => destroyed),
|
|
37
36
|
close: { closeAllNotifications: closeAll },
|
|
38
37
|
delivery: {
|
|
39
38
|
async notify(request) {
|
|
@@ -129,7 +128,7 @@ export function createElectronNotificationCapabilities(electron, options) {
|
|
|
129
128
|
});
|
|
130
129
|
},
|
|
131
130
|
},
|
|
132
|
-
dismiss:
|
|
131
|
+
dismiss: electronHostNotificationEventProvider(dismissListeners, () => destroyed),
|
|
133
132
|
lifecycle: {
|
|
134
133
|
async destroy() {
|
|
135
134
|
if (destroyCompleted)
|
|
@@ -146,36 +145,60 @@ export function createElectronNotificationCapabilities(electron, options) {
|
|
|
146
145
|
return outcome;
|
|
147
146
|
},
|
|
148
147
|
},
|
|
149
|
-
received:
|
|
148
|
+
received: electronHostNotificationEventProvider(receivedListeners, () => destroyed),
|
|
150
149
|
};
|
|
151
150
|
if (options.platform !== 'macos') {
|
|
152
|
-
|
|
153
|
-
initializeElectronNotificationCapabilities(out, capabilities);
|
|
154
|
-
return finishEntity(out);
|
|
151
|
+
return Object.freeze(capabilities);
|
|
155
152
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
153
|
+
return Object.freeze({
|
|
154
|
+
...capabilities,
|
|
155
|
+
action: electronHostNotificationEventProvider(actionListeners, () => destroyed),
|
|
156
|
+
reply: electronHostNotificationEventProvider(replyListeners, () => destroyed),
|
|
157
|
+
});
|
|
159
158
|
}
|
|
160
|
-
export function
|
|
161
|
-
|
|
159
|
+
export function electronHostNotificationAction(electron, options) {
|
|
160
|
+
return electronHostNotification(electron, options).action;
|
|
161
|
+
}
|
|
162
|
+
export function electronHostNotificationClick(electron, options) {
|
|
163
|
+
return electronHostNotification(electron, options).click;
|
|
164
|
+
}
|
|
165
|
+
export function electronHostNotificationClose(electron, options) {
|
|
166
|
+
return electronHostNotification(electron, options).close;
|
|
167
|
+
}
|
|
168
|
+
export function electronHostNotificationDelivery(electron, options) {
|
|
169
|
+
return electronHostNotification(electron, options).delivery;
|
|
170
|
+
}
|
|
171
|
+
export function electronHostNotificationDismiss(electron, options) {
|
|
172
|
+
return electronHostNotification(electron, options).dismiss;
|
|
173
|
+
}
|
|
174
|
+
export function electronHostNotificationLifecycle(electron, options) {
|
|
175
|
+
return electronHostNotification(electron, options).lifecycle;
|
|
176
|
+
}
|
|
177
|
+
export function electronHostNotificationReceived(electron, options) {
|
|
178
|
+
return electronHostNotification(electron, options).received;
|
|
179
|
+
}
|
|
180
|
+
export function electronHostNotificationReply(electron, options) {
|
|
181
|
+
return electronHostNotification(electron, options).reply;
|
|
182
|
+
}
|
|
183
|
+
export function populateElectronHostNotificationCommon(out, capabilities) {
|
|
162
184
|
out.click = capabilities.click;
|
|
163
185
|
out.close = capabilities.close;
|
|
164
186
|
out.delivery = capabilities.delivery;
|
|
165
187
|
out.dismiss = capabilities.dismiss;
|
|
166
188
|
out.lifecycle = capabilities.lifecycle;
|
|
167
189
|
out.received = capabilities.received;
|
|
168
|
-
out.reply = reply;
|
|
169
190
|
}
|
|
170
|
-
export function
|
|
191
|
+
export function populateElectronHostNotificationMacos(out, capabilities, action, reply) {
|
|
192
|
+
out.action = action;
|
|
171
193
|
out.click = capabilities.click;
|
|
172
194
|
out.close = capabilities.close;
|
|
173
195
|
out.delivery = capabilities.delivery;
|
|
174
196
|
out.dismiss = capabilities.dismiss;
|
|
175
197
|
out.lifecycle = capabilities.lifecycle;
|
|
176
198
|
out.received = capabilities.received;
|
|
199
|
+
out.reply = reply;
|
|
177
200
|
}
|
|
178
|
-
function
|
|
201
|
+
function electronHostNotificationEventProvider(listeners, isDestroyed) {
|
|
179
202
|
return {
|
|
180
203
|
async attach(listener) {
|
|
181
204
|
if (isDestroyed())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electronNotification.js","sourceRoot":"","sources":["../src/electronNotification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"electronNotification.js","sourceRoot":"","sources":["../src/electronNotification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
1
|
+
import type { HostPlatformCapabilities, HostPlatformCapability } from '@flighthq/platform/contract';
|
|
2
|
+
import type { ElectronApi } from './types/index.ts';
|
|
3
|
+
export declare function electronHostPlatform(electron: ElectronApi): HostPlatformCapability;
|
|
4
|
+
export declare function electronHostPlatformGroup(electron: ElectronApi): Required<Pick<HostPlatformCapabilities, 'info'>>;
|
|
5
|
+
export declare function populateElectronHostPlatform(out: HostPlatformCapability, electron: ElectronApi): void;
|
|
4
6
|
//# sourceMappingURL=electronPlatform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electronPlatform.d.ts","sourceRoot":"","sources":["../src/electronPlatform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electronPlatform.d.ts","sourceRoot":"","sources":["../src/electronPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAgB,MAAM,6BAA6B,CAAC;AAElH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,GAAG,sBAAsB,CAIlF;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,CAEjH;AAMD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,sBAAsB,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAcrG"}
|
package/dist/electronPlatform.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
return finishEntity(out);
|
|
1
|
+
export function electronHostPlatform(electron) {
|
|
2
|
+
const out = {};
|
|
3
|
+
populateElectronHostPlatform(out, electron);
|
|
4
|
+
return out;
|
|
6
5
|
}
|
|
7
|
-
|
|
6
|
+
export function electronHostPlatformGroup(electron) {
|
|
7
|
+
return { info: electronHostPlatform(electron) };
|
|
8
|
+
}
|
|
9
|
+
// Maps Flight's HostPlatformCapability onto the Node `process` running the Electron main process, with the
|
|
8
10
|
// locale sourced from Electron's `app`. `process` is accessed defensively (it may be absent and is not
|
|
9
11
|
// typed without @types/node) and falls back to '' / 'unknown' sentinels. Writes into caller-owned
|
|
10
12
|
// `out` so callers control allocation.
|
|
11
|
-
export function
|
|
13
|
+
export function populateElectronHostPlatform(out, electron) {
|
|
12
14
|
out.getInfo = (out) => {
|
|
13
15
|
const proc = typeof process !== 'undefined'
|
|
14
16
|
? process
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electronPlatform.js","sourceRoot":"","sources":["../src/electronPlatform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electronPlatform.js","sourceRoot":"","sources":["../src/electronPlatform.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,oBAAoB,CAAC,QAAqB;IACxD,MAAM,GAAG,GAAG,EAA4B,CAAC;IACzC,4BAA4B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAqB;IAC7D,OAAO,EAAE,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,2GAA2G;AAC3G,uGAAuG;AACvG,kGAAkG;AAClG,uCAAuC;AACvC,MAAM,UAAU,4BAA4B,CAAC,GAA2B,EAAE,QAAqB;IAC7F,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;QACpB,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,WAAW;YAC5B,CAAC,CAAE,OAAiF;YACpF,CAAC,CAAC,IAAI,CAAC;QACX,GAAG,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;QACrB,GAAG,CAAC,OAAO,GAAG,IAAI,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACtC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAA4B;IAClD,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC1C,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,SAAS,CAAC;AACnB,CAAC"}
|