@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.
Files changed (137) hide show
  1. package/README.md +2 -2
  2. package/dist/contract.d.ts +19 -24
  3. package/dist/contract.d.ts.map +1 -1
  4. package/dist/contract.js +18 -24
  5. package/dist/contract.js.map +1 -1
  6. package/dist/electronApp.d.ts +62 -34
  7. package/dist/electronApp.d.ts.map +1 -1
  8. package/dist/electronApp.js +175 -234
  9. package/dist/electronApp.js.map +1 -1
  10. package/dist/electronClipboard.d.ts +7 -5
  11. package/dist/electronClipboard.d.ts.map +1 -1
  12. package/dist/electronClipboard.js +91 -66
  13. package/dist/electronClipboard.js.map +1 -1
  14. package/dist/electronDefaultHostGroups.d.ts +59 -0
  15. package/dist/electronDefaultHostGroups.d.ts.map +1 -0
  16. package/dist/electronDefaultHostGroups.js +109 -0
  17. package/dist/electronDefaultHostGroups.js.map +1 -0
  18. package/dist/electronDialog.d.ts +12 -9
  19. package/dist/electronDialog.d.ts.map +1 -1
  20. package/dist/electronDialog.js +28 -21
  21. package/dist/electronDialog.js.map +1 -1
  22. package/dist/electronIpc.d.ts +13 -11
  23. package/dist/electronIpc.d.ts.map +1 -1
  24. package/dist/electronIpc.js +32 -26
  25. package/dist/electronIpc.js.map +1 -1
  26. package/dist/electronMenu.d.ts +12 -6
  27. package/dist/electronMenu.d.ts.map +1 -1
  28. package/dist/electronMenu.js +41 -30
  29. package/dist/electronMenu.js.map +1 -1
  30. package/dist/electronMenuTemplate.d.ts +2 -1
  31. package/dist/electronMenuTemplate.d.ts.map +1 -1
  32. package/dist/electronMenuTemplate.js.map +1 -1
  33. package/dist/electronNotification.d.ts +25 -7
  34. package/dist/electronNotification.d.ts.map +1 -1
  35. package/dist/electronNotification.js +39 -16
  36. package/dist/electronNotification.js.map +1 -1
  37. package/dist/electronPlatform.d.ts +5 -3
  38. package/dist/electronPlatform.d.ts.map +1 -1
  39. package/dist/electronPlatform.js +9 -7
  40. package/dist/electronPlatform.js.map +1 -1
  41. package/dist/electronPower.d.ts +22 -11
  42. package/dist/electronPower.d.ts.map +1 -1
  43. package/dist/electronPower.js +48 -59
  44. package/dist/electronPower.js.map +1 -1
  45. package/dist/electronProtocol.d.ts +16 -8
  46. package/dist/electronProtocol.d.ts.map +1 -1
  47. package/dist/electronProtocol.js +45 -28
  48. package/dist/electronProtocol.js.map +1 -1
  49. package/dist/electronRegister.d.ts +5 -7
  50. package/dist/electronRegister.d.ts.map +1 -1
  51. package/dist/electronRegister.js +72 -99
  52. package/dist/electronRegister.js.map +1 -1
  53. package/dist/electronScreen.d.ts +7 -6
  54. package/dist/electronScreen.d.ts.map +1 -1
  55. package/dist/electronScreen.js +17 -14
  56. package/dist/electronScreen.js.map +1 -1
  57. package/dist/electronShell.d.ts +16 -8
  58. package/dist/electronShell.d.ts.map +1 -1
  59. package/dist/electronShell.js +50 -43
  60. package/dist/electronShell.js.map +1 -1
  61. package/dist/electronShortcut.d.ts +6 -4
  62. package/dist/electronShortcut.d.ts.map +1 -1
  63. package/dist/electronShortcut.js +16 -10
  64. package/dist/electronShortcut.js.map +1 -1
  65. package/dist/electronStorage.d.ts +5 -3
  66. package/dist/electronStorage.d.ts.map +1 -1
  67. package/dist/electronStorage.js +9 -7
  68. package/dist/electronStorage.js.map +1 -1
  69. package/dist/electronTray.d.ts +38 -21
  70. package/dist/electronTray.d.ts.map +1 -1
  71. package/dist/electronTray.js +110 -76
  72. package/dist/electronTray.js.map +1 -1
  73. package/dist/electronUpdater.d.ts +6 -3
  74. package/dist/electronUpdater.d.ts.map +1 -1
  75. package/dist/electronUpdater.js +10 -7
  76. package/dist/electronUpdater.js.map +1 -1
  77. package/dist/electronWindow.d.ts +23 -7
  78. package/dist/electronWindow.d.ts.map +1 -1
  79. package/dist/electronWindow.js +234 -152
  80. package/dist/electronWindow.js.map +1 -1
  81. package/dist/index.d.ts +19 -1
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +18 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/types/ElectronApi.d.ts +393 -0
  86. package/dist/types/ElectronApi.d.ts.map +1 -0
  87. package/dist/types/ElectronApi.js +20 -0
  88. package/dist/types/ElectronApi.js.map +1 -0
  89. package/dist/types/ElectronAppCapabilitiesFor.d.ts +8 -0
  90. package/dist/types/ElectronAppCapabilitiesFor.d.ts.map +1 -0
  91. package/dist/types/ElectronAppCapabilitiesFor.js +2 -0
  92. package/dist/types/ElectronAppCapabilitiesFor.js.map +1 -0
  93. package/dist/types/ElectronHost.d.ts +43 -0
  94. package/dist/types/ElectronHost.d.ts.map +1 -0
  95. package/dist/types/ElectronHost.js +2 -0
  96. package/dist/types/ElectronHost.js.map +1 -0
  97. package/dist/types/ElectronHostGroups.d.ts +85 -0
  98. package/dist/types/ElectronHostGroups.d.ts.map +1 -0
  99. package/dist/types/ElectronHostGroups.js +2 -0
  100. package/dist/types/ElectronHostGroups.js.map +1 -0
  101. package/dist/types/ElectronHostOptions.d.ts +7 -0
  102. package/dist/types/ElectronHostOptions.d.ts.map +1 -0
  103. package/dist/types/ElectronHostOptions.js +2 -0
  104. package/dist/types/ElectronHostOptions.js.map +1 -0
  105. package/dist/types/ElectronProtocolCapabilities.d.ts +3 -0
  106. package/dist/types/ElectronProtocolCapabilities.d.ts.map +1 -0
  107. package/dist/types/ElectronProtocolCapabilities.js +2 -0
  108. package/dist/types/ElectronProtocolCapabilities.js.map +1 -0
  109. package/dist/types/ElectronTrayCapabilitiesFor.d.ts +7 -0
  110. package/dist/types/ElectronTrayCapabilitiesFor.d.ts.map +1 -0
  111. package/dist/types/ElectronTrayCapabilitiesFor.js +2 -0
  112. package/dist/types/ElectronTrayCapabilitiesFor.js.map +1 -0
  113. package/dist/types/index.d.ts +7 -0
  114. package/dist/types/index.d.ts.map +1 -0
  115. package/dist/types/index.js +7 -0
  116. package/dist/types/index.js.map +1 -0
  117. package/package.json +42 -21
  118. package/src/electronApp.test.ts +158 -131
  119. package/src/electronClipboard.test.ts +40 -13
  120. package/src/electronDefaultHostGroups.test.ts +148 -0
  121. package/src/electronDialog.test.ts +55 -53
  122. package/src/electronHostTreeShaking.test.ts +51 -0
  123. package/src/electronIpc.test.ts +47 -66
  124. package/src/electronMenu.test.ts +61 -47
  125. package/src/electronMenuTemplate.test.ts +1 -1
  126. package/src/electronNotification.test.ts +71 -21
  127. package/src/electronPlatform.test.ts +17 -12
  128. package/src/electronPower.test.ts +112 -88
  129. package/src/electronProtocol.test.ts +68 -35
  130. package/src/electronRegister.test.ts +280 -26
  131. package/src/electronScreen.test.ts +34 -25
  132. package/src/electronShell.test.ts +99 -59
  133. package/src/electronShortcut.test.ts +22 -19
  134. package/src/electronStorage.test.ts +26 -24
  135. package/src/electronTray.test.ts +225 -109
  136. package/src/electronUpdater.test.ts +26 -19
  137. package/src/electronWindow.test.ts +229 -101
@@ -1,102 +1,75 @@
1
- import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
- import { createElectronAppCapabilities } from './electronApp';
3
- import { createElectronClipboardBackend } from './electronClipboard';
4
- import { createElectronDirectoryOpenDialogBackend, createElectronFileOpenDialogBackend, createElectronFileSaveDialogBackend, createElectronMessageDialogBackend, } from './electronDialog';
5
- import { createElectronIpcHandleBackend, createElectronIpcMessageBackend, createElectronIpcTargetedSendBackend, } from './electronIpc';
6
- import { createElectronMenuBackends } from './electronMenu';
7
- import { createElectronNotificationCapabilities } from './electronNotification';
8
- import { createElectronPlatformBackend } from './electronPlatform';
9
- import { createElectronPowerBackends } from './electronPower';
10
- import { createElectronProtocolCapabilities } from './electronProtocol';
11
- import { createElectronScreenCapabilities } from './electronScreen';
12
- import { makeElectronShellCapabilities } from './electronShell';
13
- import { createElectronShortcutQueryBackend, createElectronShortcutTriggerBackend } from './electronShortcut';
14
- import { createElectronStorageBackend } from './electronStorage';
15
- import { createElectronTrayCapabilities } from './electronTray';
16
- import { createElectronUpdaterBackend } from './electronUpdater';
17
- import { createElectronWindowBackend } from './electronWindow';
18
- export function initializeElectronHost(out, values) {
19
- out.accessibility = values.accessibility;
20
- out.app = values.app;
21
- out.clipboard = values.clipboard;
22
- out.connectivity = values.connectivity;
23
- out.dialog = values.dialog;
24
- out.graphics = values.graphics;
25
- out.input = values.input;
26
- out.ipc = values.ipc;
27
- out.media = values.media;
28
- out.menu = values.menu;
29
- out.midi = values.midi;
30
- out.net = values.net;
31
- out.notification = values.notification;
32
- out.power = values.power;
33
- out.protocol = values.protocol;
34
- out.screen = values.screen;
35
- out.share = values.share;
36
- out.shell = values.shell;
37
- out.shortcut = values.shortcut;
38
- out.storage = values.storage;
39
- out.system = values.system;
40
- out.text = values.text;
41
- out.tray = values.tray;
42
- out.ui = values.ui;
43
- out.updater = values.updater;
44
- out.window = values.window;
45
- }
46
- export function registerElectronBackends(electron, options) {
47
- const clipboard = createElectronClipboardBackend(electron);
48
- const app = createElectronAppCapabilities(electron, options.platform);
49
- const dialog = {
50
- directoryOpen: createElectronDirectoryOpenDialogBackend(electron),
51
- fileOpen: createElectronFileOpenDialogBackend(electron),
52
- fileSave: createElectronFileSaveDialogBackend(electron),
53
- message: createElectronMessageDialogBackend(electron),
54
- };
55
- const notification = createElectronNotificationCapabilities(electron, options);
56
- const screen = createElectronScreenCapabilities(electron);
57
- const ipc = {
58
- handle: createElectronIpcHandleBackend(electron),
59
- message: createElectronIpcMessageBackend(electron),
60
- targetedSend: createElectronIpcTargetedSendBackend(),
1
+ import { allocateEntity } from '@flighthq/entity/contract';
2
+ import { electronHostApp } from './electronApp.js';
3
+ import { electronHostClipboard } from './electronClipboard.js';
4
+ import { electronHostAccessibilityGroup, electronHostAudioDecodeGroup, electronHostAudioGroup, electronHostBitmapGroup, electronHostConnectivityGroup, electronHostDeviceGroup, electronHostFileSystemGroup, electronHostFontGroup, electronHostFullscreenGroup, electronHostGeolocationGroup, electronHostGlGroup, electronHostGlyphGroup, electronHostHapticsGroup, electronHostImageDecodeGroup, electronHostImageEncodeGroup, electronHostImageGroup, electronHostInputGroup, electronHostLifecycleGroup, electronHostMediaSessionGroup, electronHostMidiGroup, electronHostNetGroup, electronHostPermissionsGroup, electronHostSensorsGroup, electronHostShareGroup, electronHostSocketGroup, electronHostSoftKeyboardGroup, electronHostStatusBarGroup, electronHostCanvasGroup, electronHostCompressGroup, electronHostSurfaceGroup, electronHostTextSegmentGroup, electronHostDecompressGroup, electronHostTextShaperGroup, electronHostVideoGroup, electronHostWgpuGroup, } from './electronDefaultHostGroups.js';
5
+ import { electronHostDialog } from './electronDialog.js';
6
+ import { electronHostIpc } from './electronIpc.js';
7
+ import { electronHostMenu } from './electronMenu.js';
8
+ import { electronHostNotification } from './electronNotification.js';
9
+ import { electronHostPlatformGroup } from './electronPlatform.js';
10
+ import { electronHostPower } from './electronPower.js';
11
+ import { electronHostProtocol } from './electronProtocol.js';
12
+ import { electronHostScreen } from './electronScreen.js';
13
+ import { electronHostShell } from './electronShell.js';
14
+ import { electronHostShortcut } from './electronShortcut.js';
15
+ import { electronHostStorageGroup } from './electronStorage.js';
16
+ import { electronHostTray } from './electronTray.js';
17
+ import { electronHostUpdater } from './electronUpdater.js';
18
+ import { electronHostWindow } from './electronWindow.js';
19
+ export function electronHost(electron, options) {
20
+ const groups = {
21
+ accessibility: electronHostAccessibilityGroup(electron),
22
+ app: electronHostApp(electron, options.platform),
23
+ audio: electronHostAudioGroup(electron),
24
+ audioDecode: electronHostAudioDecodeGroup(electron),
25
+ bitmap: electronHostBitmapGroup(electron),
26
+ canvas: electronHostCanvasGroup(electron),
27
+ clipboard: electronHostClipboard(electron),
28
+ compress: electronHostCompressGroup(electron),
29
+ connectivity: electronHostConnectivityGroup(electron),
30
+ device: electronHostDeviceGroup(electron),
31
+ dialog: electronHostDialog(electron),
32
+ fileSystem: electronHostFileSystemGroup(electron),
33
+ font: electronHostFontGroup(electron),
34
+ fullscreen: electronHostFullscreenGroup(electron),
35
+ geolocation: electronHostGeolocationGroup(electron),
36
+ gl: electronHostGlGroup(electron),
37
+ glyph: electronHostGlyphGroup(electron),
38
+ haptics: electronHostHapticsGroup(electron),
39
+ image: electronHostImageGroup(electron),
40
+ imageDecode: electronHostImageDecodeGroup(electron),
41
+ imageEncode: electronHostImageEncodeGroup(electron),
42
+ input: electronHostInputGroup(electron),
43
+ ipc: electronHostIpc(electron),
44
+ lifecycle: electronHostLifecycleGroup(electron),
45
+ mediaSession: electronHostMediaSessionGroup(electron),
46
+ menu: electronHostMenu(electron),
47
+ midi: electronHostMidiGroup(electron),
48
+ net: electronHostNetGroup(electron),
49
+ notification: electronHostNotification(electron, options),
50
+ permissions: electronHostPermissionsGroup(electron),
51
+ platform: electronHostPlatformGroup(electron),
52
+ power: electronHostPower(electron),
53
+ preferences: electronHostStorageGroup(electron, options.storageFileName),
54
+ protocol: electronHostProtocol(electron),
55
+ screen: electronHostScreen(electron),
56
+ sensors: electronHostSensorsGroup(electron),
57
+ share: electronHostShareGroup(electron),
58
+ shell: electronHostShell(electron, options.platform),
59
+ shortcut: electronHostShortcut(electron),
60
+ socket: electronHostSocketGroup(electron),
61
+ softKeyboard: electronHostSoftKeyboardGroup(electron),
62
+ statusBar: electronHostStatusBarGroup(electron),
63
+ surface: electronHostSurfaceGroup(electron),
64
+ textSegment: electronHostTextSegmentGroup(electron),
65
+ decompress: electronHostDecompressGroup(electron),
66
+ textShaper: electronHostTextShaperGroup(electron),
67
+ tray: electronHostTray(electron, options.platform),
68
+ updater: electronHostUpdater(electron, options.updaterFeedUrl),
69
+ video: electronHostVideoGroup(electron),
70
+ wgpu: electronHostWgpuGroup(electron),
71
+ window: electronHostWindow(electron),
61
72
  };
62
- const query = createElectronShortcutQueryBackend(electron);
63
- const trigger = createElectronShortcutTriggerBackend(electron);
64
- const menu = createElectronMenuBackends(electron);
65
- const power = createElectronPowerBackends(electron);
66
- const protocol = createElectronProtocolCapabilities(electron);
67
- const storage = createElectronStorageBackend(electron, options.storageFileName);
68
- const updater = createElectronUpdaterBackend(electron, options.updaterFeedUrl);
69
- const shell = makeElectronShellCapabilities(electron, options.platform);
70
- const window = createElectronWindowBackend(electron);
71
- const out = allocateEntity();
72
- initializeElectronHost(out, {
73
- accessibility: {},
74
- app,
75
- clipboard: { bookmark: clipboard, formats: clipboard, image: clipboard, text: clipboard },
76
- connectivity: {},
77
- dialog,
78
- graphics: {},
79
- input: {},
80
- ipc,
81
- media: {},
82
- menu,
83
- midi: {},
84
- net: {},
85
- notification,
86
- power,
87
- protocol,
88
- screen,
89
- share: {},
90
- shell,
91
- shortcut: { query, trigger },
92
- storage: { local: storage },
93
- system: { platform: createElectronPlatformBackend(electron) },
94
- text: {},
95
- tray: createElectronTrayCapabilities(electron, options.platform),
96
- ui: {},
97
- updater: { command: updater },
98
- window,
99
- });
100
- return finishEntity(out);
73
+ return Object.assign(allocateEntity(), groups);
101
74
  }
102
75
  //# sourceMappingURL=electronRegister.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"electronRegister.js","sourceRoot":"","sources":["../src/electronRegister.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electronRegister.js","sourceRoot":"","sources":["../src/electronRegister.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAmBzD,MAAM,UAAU,YAAY,CAC1B,QAAqB,EACrB,OAAsC;IAEtC,MAAM,MAAM,GAAG;QACb,aAAa,EAAE,8BAA8B,CAAC,QAAQ,CAAC;QACvD,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;QAChD,KAAK,EAAE,sBAAsB,CAAC,QAAQ,CAAC;QACvC,WAAW,EAAE,4BAA4B,CAAC,QAAQ,CAAC;QACnD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC;QACzC,SAAS,EAAE,qBAAqB,CAAC,QAAQ,CAAC;QAC1C,QAAQ,EAAE,yBAAyB,CAAC,QAAQ,CAAC;QAC7C,YAAY,EAAE,6BAA6B,CAAC,QAAQ,CAAC;QACrD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC;QACpC,UAAU,EAAE,2BAA2B,CAAC,QAAQ,CAAC;QACjD,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC;QACrC,UAAU,EAAE,2BAA2B,CAAC,QAAQ,CAAC;QACjD,WAAW,EAAE,4BAA4B,CAAC,QAAQ,CAAC;QACnD,EAAE,EAAE,mBAAmB,CAAC,QAAQ,CAAC;QACjC,KAAK,EAAE,sBAAsB,CAAC,QAAQ,CAAC;QACvC,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC3C,KAAK,EAAE,sBAAsB,CAAC,QAAQ,CAAC;QACvC,WAAW,EAAE,4BAA4B,CAAC,QAAQ,CAAC;QACnD,WAAW,EAAE,4BAA4B,CAAC,QAAQ,CAAC;QACnD,KAAK,EAAE,sBAAsB,CAAC,QAAQ,CAAC;QACvC,GAAG,EAAE,eAAe,CAAC,QAAQ,CAAC;QAC9B,SAAS,EAAE,0BAA0B,CAAC,QAAQ,CAAC;QAC/C,YAAY,EAAE,6BAA6B,CAAC,QAAQ,CAAC;QACrD,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QAChC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC;QACrC,GAAG,EAAE,oBAAoB,CAAC,QAAQ,CAAC;QACnC,YAAY,EAAE,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC;QACzD,WAAW,EAAE,4BAA4B,CAAC,QAAQ,CAAC;QACnD,QAAQ,EAAE,yBAAyB,CAAC,QAAQ,CAAC;QAC7C,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC;QAClC,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC;QACxE,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC;QACxC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC3C,KAAK,EAAE,sBAAsB,CAAC,QAAQ,CAAC;QACvC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;QACpD,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC;QACxC,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC;QACzC,YAAY,EAAE,6BAA6B,CAAC,QAAQ,CAAC;QACrD,SAAS,EAAE,0BAA0B,CAAC,QAAQ,CAAC;QAC/C,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC3C,WAAW,EAAE,4BAA4B,CAAC,QAAQ,CAAC;QACnD,UAAU,EAAE,2BAA2B,CAAC,QAAQ,CAAC;QACjD,UAAU,EAAE,2BAA2B,CAAC,QAAQ,CAAC;QACjD,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;QAClD,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC;QAC9D,KAAK,EAAE,sBAAsB,CAAC,QAAQ,CAAC;QACvC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC;QACrC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KACgC,CAAC;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,EAAkC,EAAE,MAAM,CAExD,CAAC;AACxB,CAAC"}
@@ -1,7 +1,8 @@
1
- import type { NonEntityCreateResult } from '@flighthq/types/contract';
2
- import type { ElectronApi, EntityConstruction, HostScreenCapabilities, ScreenChangeBackend, ScreenInfo, ScreenQueryBackend } from '@flighthq/types/contract';
3
- export declare function createElectronScreenCapabilities(electron: ElectronApi): NonEntityCreateResult<Required<Pick<HostScreenCapabilities, 'change' | 'query'>>, 'type-only'>;
4
- export declare function initializeEmptyScreenInfo(out: EntityConstruction<ScreenInfo>): void;
5
- export declare function initializeScreenChangeBackend(out: EntityConstruction<ScreenChangeBackend>, screen: ElectronApi['screen']): void;
6
- export declare function initializeScreenQueryBackend(out: EntityConstruction<ScreenQueryBackend>, screen: ElectronApi['screen']): void;
1
+ import type { HostScreenCapabilities, HostScreenChangeCapability, HostScreenQueryCapability } from '@flighthq/screen/contract';
2
+ import type { ElectronApi } from './types/index.ts';
3
+ export declare function electronHostScreen(electron: ElectronApi): Required<Pick<HostScreenCapabilities, 'change' | 'query'>>;
4
+ export declare function electronHostScreenChange(electron: ElectronApi): HostScreenChangeCapability;
5
+ export declare function electronHostScreenQuery(electron: ElectronApi): HostScreenQueryCapability;
6
+ export declare function populateElectronHostScreenChange(out: HostScreenChangeCapability, screen: ElectronApi['screen']): void;
7
+ export declare function populateElectronHostScreenQuery(out: HostScreenQueryCapability, screen: ElectronApi['screen']): void;
7
8
  //# sourceMappingURL=electronScreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"electronScreen.d.ts","sourceRoot":"","sources":["../src/electronScreen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EACV,WAAW,EAEX,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EAInB,UAAU,EAEV,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,WAAW,GACpB,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,CAShG;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,kBAAkB,CAAC,UAAU,CAAC,GAAG,IAAI,CA0BnF;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,EAC5C,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,GAC5B,IAAI,CA8BN;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,EAC3C,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,GAC5B,IAAI,CAkBN"}
1
+ {"version":3,"file":"electronScreen.d.ts","sourceRoot":"","sources":["../src/electronScreen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EAM1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAErE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAEpH;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,GAAG,0BAA0B,CAI1F;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,WAAW,GAAG,yBAAyB,CAIxF;AA8BD,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,0BAA0B,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CA8BrH;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,yBAAyB,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAkBnH"}
@@ -1,15 +1,18 @@
1
- import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
- export function createElectronScreenCapabilities(electron) {
3
- const screen = electron.screen;
4
- const query = allocateEntity();
5
- initializeScreenQueryBackend(query, screen);
6
- finishEntity(query);
7
- const change = allocateEntity();
8
- initializeScreenChangeBackend(change, screen);
9
- finishEntity(change);
10
- return { change, query };
1
+ import { allocateEntity } from '@flighthq/entity/contract';
2
+ export function electronHostScreen(electron) {
3
+ return { change: electronHostScreenChange(electron), query: electronHostScreenQuery(electron) };
11
4
  }
12
- export function initializeEmptyScreenInfo(out) {
5
+ export function electronHostScreenChange(electron) {
6
+ const out = {};
7
+ populateElectronHostScreenChange(out, electron.screen);
8
+ return out;
9
+ }
10
+ export function electronHostScreenQuery(electron) {
11
+ const out = {};
12
+ populateElectronHostScreenQuery(out, electron.screen);
13
+ return out;
14
+ }
15
+ function initializeEmptyScreenInfo(out) {
13
16
  out.colorDepth = -1;
14
17
  out.colorSpace = 'srgb';
15
18
  out.depthPerComponent = -1;
@@ -36,7 +39,7 @@ export function initializeEmptyScreenInfo(out) {
36
39
  out.x = 0;
37
40
  out.y = 0;
38
41
  }
39
- export function initializeScreenChangeBackend(out, screen) {
42
+ export function populateElectronHostScreenChange(out, screen) {
40
43
  out.subscribe = (listener) => {
41
44
  const makeHandler = (kind) => (...args) => {
42
45
  const display = args[1];
@@ -63,7 +66,7 @@ export function initializeScreenChangeBackend(out, screen) {
63
66
  };
64
67
  };
65
68
  }
66
- export function initializeScreenQueryBackend(out, screen) {
69
+ export function populateElectronHostScreenQuery(out, screen) {
67
70
  out.getCursorPosition = (target) => {
68
71
  Object.assign(target, screen.getCursorScreenPoint());
69
72
  return target;
@@ -85,7 +88,7 @@ export function initializeScreenQueryBackend(out, screen) {
85
88
  function emptyScreenInfo() {
86
89
  const out = allocateEntity();
87
90
  initializeEmptyScreenInfo(out);
88
- return finishEntity(out);
91
+ return out;
89
92
  }
90
93
  function fillScreenInfo(out, display, isPrimary) {
91
94
  const rotation = display.rotation ?? -1;
@@ -1 +1 @@
1
- {"version":3,"file":"electronScreen.js","sourceRoot":"","sources":["../src/electronScreen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electronScreen.js","sourceRoot":"","sources":["../src/electronScreen.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,17 @@
1
- import type { ElectronApi, EntityConstruction, HostShellCapabilities, PlatformName, ShellBeepBackend, ShellExternalBackend, ShellPathOpenBackend, ShellPathRevealBackend, ShellShortcutLinkBackend, ShellTrashBackend } from '@flighthq/types/contract';
2
- export declare function initializeShellBeepBackend(out: EntityConstruction<ShellBeepBackend>, shell: ElectronApi['shell']): void;
3
- export declare function initializeShellExternalBackend(out: EntityConstruction<ShellExternalBackend>, shell: ElectronApi['shell']): void;
4
- export declare function initializeShellPathOpenBackend(out: EntityConstruction<ShellPathOpenBackend>, shell: ElectronApi['shell']): void;
5
- export declare function initializeShellPathRevealBackend(out: EntityConstruction<ShellPathRevealBackend>, shell: ElectronApi['shell']): void;
6
- export declare function initializeShellShortcutLinkBackend(out: EntityConstruction<ShellShortcutLinkBackend>, shell: ElectronApi['shell']): void;
7
- export declare function initializeShellTrashBackend(out: EntityConstruction<ShellTrashBackend>, shell: ElectronApi['shell']): void;
8
- export declare function makeElectronShellCapabilities(electron: ElectronApi, platform: PlatformName): HostShellCapabilities & Required<Pick<HostShellCapabilities, 'beep' | 'external' | 'pathOpen' | 'pathReveal' | 'trash'>>;
1
+ import type { HostShellCapabilities, HostShellBeepCapability, HostShellExternalCapability, HostShellPathOpenCapability, HostShellPathRevealCapability, HostShellShortcutLinkCapability, HostShellTrashCapability } from '@flighthq/shell/contract';
2
+ import type { DesktopOsProfile } from '@flighthq/tray/contract';
3
+ import type { ElectronApi } from './types/index.ts';
4
+ export declare function electronHostShell(electron: ElectronApi, platform: DesktopOsProfile): HostShellCapabilities & Required<Pick<HostShellCapabilities, 'beep' | 'external' | 'pathOpen' | 'pathReveal' | 'trash'>>;
5
+ export declare function electronHostShellBeep(electron: ElectronApi): HostShellBeepCapability;
6
+ export declare function electronHostShellExternal(electron: ElectronApi): HostShellExternalCapability;
7
+ export declare function electronHostShellPathOpen(electron: ElectronApi): HostShellPathOpenCapability;
8
+ export declare function electronHostShellPathReveal(electron: ElectronApi): HostShellPathRevealCapability;
9
+ export declare function electronHostShellShortcutLink(electron: ElectronApi): HostShellShortcutLinkCapability;
10
+ export declare function electronHostShellTrash(electron: ElectronApi): HostShellTrashCapability;
11
+ export declare function populateElectronHostShellBeep(out: HostShellBeepCapability, shell: ElectronApi['shell']): void;
12
+ export declare function populateElectronHostShellExternal(out: HostShellExternalCapability, shell: ElectronApi['shell']): void;
13
+ export declare function populateElectronHostShellPathOpen(out: HostShellPathOpenCapability, shell: ElectronApi['shell']): void;
14
+ export declare function populateElectronHostShellPathReveal(out: HostShellPathRevealCapability, shell: ElectronApi['shell']): void;
15
+ export declare function populateElectronHostShellShortcutLink(out: HostShellShortcutLinkCapability, shell: ElectronApi['shell']): void;
16
+ export declare function populateElectronHostShellTrash(out: HostShellTrashCapability, shell: ElectronApi['shell']): void;
9
17
  //# sourceMappingURL=electronShell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"electronShell.d.ts","sourceRoot":"","sources":["../src/electronShell.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EAEX,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EAEtB,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,EACzC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAC1B,IAAI,CAIN;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,EAC7C,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAC1B,IAAI,CASN;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,EAC7C,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAC1B,IAAI,CASN;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,EAC/C,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAC1B,IAAI,CASN;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,EACjD,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAC1B,IAAI,CAkCN;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,EAC1C,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAC1B,IAAI,CASN;AAID,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,GACrB,qBAAqB,GACtB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC,CAAC,CA2BjG"}
1
+ {"version":3,"file":"electronShell.d.ts","sourceRoot":"","sources":["../src/electronShell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,EAE7B,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAI7E,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,gBAAgB,GACzB,qBAAqB,GACtB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC,CAAC,CAUjG;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,uBAAuB,CAIpF;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,GAAG,2BAA2B,CAI5F;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,GAAG,2BAA2B,CAI5F;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,GAAG,6BAA6B,CAIhG;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,WAAW,GAAG,+BAA+B,CAIpG;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,GAAG,wBAAwB,CAItF;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAI7G;AAED,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CASrH;AAED,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CASrH;AAED,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,6BAA6B,EAClC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAC1B,IAAI,CASN;AAED,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,+BAA+B,EACpC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAC1B,IAAI,CAkCN;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAS/G"}
@@ -1,10 +1,53 @@
1
- import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
- export function initializeShellBeepBackend(out, shell) {
1
+ // Builds Electron's exact Shell capability group. platform is caller-injected because shortcut-link
2
+ // support is a construction-time Windows fact, not something capability resolution reads ambiently.
3
+ export function electronHostShell(electron, platform) {
4
+ const shared = {
5
+ beep: electronHostShellBeep(electron),
6
+ external: electronHostShellExternal(electron),
7
+ pathOpen: electronHostShellPathOpen(electron),
8
+ pathReveal: electronHostShellPathReveal(electron),
9
+ trash: electronHostShellTrash(electron),
10
+ };
11
+ if (platform !== 'windows')
12
+ return shared;
13
+ return { ...shared, shortcutLink: electronHostShellShortcutLink(electron) };
14
+ }
15
+ export function electronHostShellBeep(electron) {
16
+ const out = {};
17
+ populateElectronHostShellBeep(out, electron.shell);
18
+ return out;
19
+ }
20
+ export function electronHostShellExternal(electron) {
21
+ const out = {};
22
+ populateElectronHostShellExternal(out, electron.shell);
23
+ return out;
24
+ }
25
+ export function electronHostShellPathOpen(electron) {
26
+ const out = {};
27
+ populateElectronHostShellPathOpen(out, electron.shell);
28
+ return out;
29
+ }
30
+ export function electronHostShellPathReveal(electron) {
31
+ const out = {};
32
+ populateElectronHostShellPathReveal(out, electron.shell);
33
+ return out;
34
+ }
35
+ export function electronHostShellShortcutLink(electron) {
36
+ const out = {};
37
+ populateElectronHostShellShortcutLink(out, electron.shell);
38
+ return out;
39
+ }
40
+ export function electronHostShellTrash(electron) {
41
+ const out = {};
42
+ populateElectronHostShellTrash(out, electron.shell);
43
+ return out;
44
+ }
45
+ export function populateElectronHostShellBeep(out, shell) {
3
46
  out.beep = () => {
4
47
  shell.beep();
5
48
  };
6
49
  }
7
- export function initializeShellExternalBackend(out, shell) {
50
+ export function populateElectronHostShellExternal(out, shell) {
8
51
  out.open = async (url) => {
9
52
  try {
10
53
  await shell.openExternal(url);
@@ -15,7 +58,7 @@ export function initializeShellExternalBackend(out, shell) {
15
58
  }
16
59
  };
17
60
  }
18
- export function initializeShellPathOpenBackend(out, shell) {
61
+ export function populateElectronHostShellPathOpen(out, shell) {
19
62
  out.open = async (path) => {
20
63
  try {
21
64
  const message = await shell.openPath(path);
@@ -26,7 +69,7 @@ export function initializeShellPathOpenBackend(out, shell) {
26
69
  }
27
70
  };
28
71
  }
29
- export function initializeShellPathRevealBackend(out, shell) {
72
+ export function populateElectronHostShellPathReveal(out, shell) {
30
73
  out.reveal = async (path) => {
31
74
  try {
32
75
  shell.showItemInFolder(path);
@@ -37,7 +80,7 @@ export function initializeShellPathRevealBackend(out, shell) {
37
80
  }
38
81
  };
39
82
  }
40
- export function initializeShellShortcutLinkBackend(out, shell) {
83
+ export function populateElectronHostShellShortcutLink(out, shell) {
41
84
  out.read = async (shortcutPath) => {
42
85
  try {
43
86
  const details = shell.readShortcutLink(shortcutPath);
@@ -74,7 +117,7 @@ export function initializeShellShortcutLinkBackend(out, shell) {
74
117
  }
75
118
  };
76
119
  }
77
- export function initializeShellTrashBackend(out, shell) {
120
+ export function populateElectronHostShellTrash(out, shell) {
78
121
  out.moveToTrash = async (path) => {
79
122
  try {
80
123
  await shell.trashItem(path);
@@ -85,42 +128,6 @@ export function initializeShellTrashBackend(out, shell) {
85
128
  }
86
129
  };
87
130
  }
88
- // Builds Electron's exact Shell capability group. platform is caller-injected because shortcut-link
89
- // support is a construction-time Windows fact, not something capability resolution reads ambiently.
90
- export function makeElectronShellCapabilities(electron, platform) {
91
- const shell = electron.shell;
92
- const beep = allocateEntity();
93
- initializeShellBeepBackend(beep, shell);
94
- const external = (() => {
95
- const out = allocateEntity();
96
- initializeShellExternalBackend(out, shell);
97
- return finishEntity(out);
98
- })();
99
- const pathOpen = (() => {
100
- const out = allocateEntity();
101
- initializeShellPathOpenBackend(out, shell);
102
- return finishEntity(out);
103
- })();
104
- const pathReveal = (() => {
105
- const out = allocateEntity();
106
- initializeShellPathRevealBackend(out, shell);
107
- return finishEntity(out);
108
- })();
109
- const trash = (() => {
110
- const out = allocateEntity();
111
- initializeShellTrashBackend(out, shell);
112
- return finishEntity(out);
113
- })();
114
- const shared = { beep, external, pathOpen, pathReveal, trash };
115
- if (platform !== 'windows')
116
- return shared;
117
- return { ...shared, shortcutLink: createElectronShellShortcutLinkBackend(electron) };
118
- }
119
- function createElectronShellShortcutLinkBackend(electron) {
120
- const out = allocateEntity();
121
- initializeShellShortcutLinkBackend(out, electron.shell);
122
- return finishEntity(out);
123
- }
124
131
  function errorMessage(error) {
125
132
  return error instanceof Error ? error.message : String(error);
126
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"electronShell.js","sourceRoot":"","sources":["../src/electronShell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electronShell.js","sourceRoot":"","sources":["../src/electronShell.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import type { ElectronApi, ShortcutQueryBackend, ShortcutTriggerBackend, EntityConstruction } from '@flighthq/types/contract';
2
- export declare function createElectronShortcutQueryBackend(electron: ElectronApi): ShortcutQueryBackend;
3
- export declare function createElectronShortcutTriggerBackend(electron: ElectronApi): ShortcutTriggerBackend;
4
- export declare function initializeElectronShortcutQueryBackend(provider: EntityConstruction<ShortcutQueryBackend>, electron: ElectronApi): void;
1
+ import type { HostShortcutCapabilities, HostShortcutQueryCapability, HostShortcutTriggerCapability } from '@flighthq/shortcut/contract';
2
+ import type { ElectronApi } from './types/index.ts';
3
+ export declare function electronHostShortcut(electron: ElectronApi): Required<Pick<HostShortcutCapabilities, 'query' | 'trigger'>>;
4
+ export declare function electronHostShortcutQuery(electron: ElectronApi): HostShortcutQueryCapability;
5
+ export declare function electronHostShortcutTrigger(electron: ElectronApi): HostShortcutTriggerCapability;
6
+ export declare function populateElectronHostShortcutQuery(provider: HostShortcutQueryCapability, electron: ElectronApi): void;
5
7
  //# sourceMappingURL=electronShortcut.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"electronShortcut.d.ts","sourceRoot":"","sources":["../src/electronShortcut.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,WAAW,EAEX,oBAAoB,EACpB,sBAAsB,EAEtB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,WAAW,GAAG,oBAAoB,CAI9F;AAID,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,WAAW,GAAG,sBAAsB,CAyClG;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,EAClD,QAAQ,EAAE,WAAW,GACpB,IAAI,CAIN"}
1
+ {"version":3,"file":"electronShortcut.d.ts","sourceRoot":"","sources":["../src/electronShortcut.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAE9B,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,WAAW,GACpB,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC,CAK/D;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,GAAG,2BAA2B,CAI5F;AAID,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,GAAG,6BAA6B,CAyChG;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAIpH"}
@@ -1,12 +1,18 @@
1
- import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
- export function createElectronShortcutQueryBackend(electron) {
3
- const provider = allocateEntity();
4
- initializeElectronShortcutQueryBackend(provider, electron);
5
- return finishEntity(provider);
1
+ import { allocateEntity } from '@flighthq/entity/contract';
2
+ export function electronHostShortcut(electron) {
3
+ return {
4
+ query: electronHostShortcutQuery(electron),
5
+ trigger: electronHostShortcutTrigger(electron),
6
+ };
7
+ }
8
+ export function electronHostShortcutQuery(electron) {
9
+ const provider = {};
10
+ populateElectronHostShortcutQuery(provider, electron);
11
+ return provider;
6
12
  }
7
13
  // Electron registration is synchronous, but the provider lifts it into the same awaited subscription
8
14
  // contract as Tauri. Exact opaque tokens keep native accelerator identity private and creator-pinned.
9
- export function createElectronShortcutTriggerBackend(electron) {
15
+ export function electronHostShortcutTrigger(electron) {
10
16
  const globalShortcut = electron.globalShortcut;
11
17
  const registrations = new Map();
12
18
  async function releaseAccelerator(accelerator) {
@@ -17,7 +23,7 @@ export function createElectronShortcutTriggerBackend(electron) {
17
23
  }
18
24
  }
19
25
  const provider = (() => {
20
- const out = allocateEntity();
26
+ const out = {};
21
27
  out.destroy = async () => {
22
28
  let firstError;
23
29
  const accelerators = new Set(registrations.values());
@@ -34,7 +40,7 @@ export function createElectronShortcutTriggerBackend(electron) {
34
40
  throw firstError;
35
41
  };
36
42
  out.subscribe = async (accelerator, trigger) => {
37
- const subscription = finishEntity(allocateEntity());
43
+ const subscription = allocateEntity();
38
44
  const registered = globalShortcut.register(accelerator, trigger);
39
45
  if (!registered)
40
46
  return { reason: 'refused' };
@@ -48,11 +54,11 @@ export function createElectronShortcutTriggerBackend(electron) {
48
54
  await releaseAccelerator(accelerator);
49
55
  return { reason: 'unsubscribed' };
50
56
  };
51
- return finishEntity(out);
57
+ return out;
52
58
  })();
53
59
  return provider;
54
60
  }
55
- export function initializeElectronShortcutQueryBackend(provider, electron) {
61
+ export function populateElectronHostShortcutQuery(provider, electron) {
56
62
  provider.isRegistered = async (accelerator) => {
57
63
  return electron.globalShortcut.isRegistered(accelerator);
58
64
  };