@lvce-editor/shared-process 0.17.18 → 0.17.19

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/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@lvce-editor/shared-process",
3
- "version": "0.17.18",
3
+ "version": "0.17.19",
4
4
  "main": "index.js",
5
5
  "type": "module",
6
6
  "dependencies": {
7
7
  "@babel/code-frame": "^7.22.13",
8
- "@lvce-editor/extension-host": "0.17.18",
9
- "@lvce-editor/extension-host-helper-process": "0.17.18",
8
+ "@lvce-editor/extension-host": "0.17.19",
9
+ "@lvce-editor/extension-host-helper-process": "0.17.19",
10
10
  "@lvce-editor/jsonc-parser": "^1.1.0",
11
- "@lvce-editor/pretty-error": "^1.1.1",
12
- "@lvce-editor/pty-host": "0.17.18",
11
+ "@lvce-editor/pretty-error": "^1.2.0",
12
+ "@lvce-editor/pty-host": "0.17.19",
13
13
  "@lvce-editor/verror": "^1.1.1",
14
14
  "debug": "^4.3.4",
15
15
  "execa": "^8.0.1",
@@ -4,4 +4,5 @@ export const name = 'ElectronApplicationMenu'
4
4
 
5
5
  export const Commands = {
6
6
  setItems: ElectronApplicationMenu.setItems,
7
+ handleClick: ElectronApplicationMenu.handleClick,
7
8
  }
@@ -1,5 +1,26 @@
1
+ import * as Assert from '../Assert/Assert.js'
1
2
  import * as ParentIpc from '../ParentIpc/ParentIpc.js'
2
3
 
3
- export const setItems = (items) => {
4
+ export const state = {
5
+ ipcMap: Object.create(null),
6
+ }
7
+
8
+ export const setItems = (ipc, browserWindowId, items) => {
9
+ Assert.object(ipc)
10
+ Assert.number(browserWindowId)
11
+ Assert.array(items)
12
+ state.ipcMap[browserWindowId] = ipc // TODO memory leak
4
13
  return ParentIpc.invoke('ElectronApplicationMenu.setItems', items)
5
14
  }
15
+
16
+ export const handleClick = (browserWindowId, label) => {
17
+ const ipc = state.ipcMap[browserWindowId]
18
+ if (!ipc) {
19
+ return
20
+ }
21
+ ipc.send({
22
+ jsonrpc: '2.0',
23
+ method: 'ElectronApplicationMenu.handleClick',
24
+ params: [label],
25
+ })
26
+ }
@@ -37,6 +37,7 @@ export const getModuleId = (commandId) => {
37
37
  case 'Download.download':
38
38
  return ModuleId.Download
39
39
  case 'ElectronApplicationMenu.setItems':
40
+ case 'ElectronApplicationMenu.handleClick':
40
41
  return ModuleId.ElectronApplicationMenu
41
42
  case 'ElectronBrowserView.createBrowserView':
42
43
  case 'ElectronBrowserView.disposeBrowserView':
@@ -175,11 +175,11 @@ export const getSetupName = () => {
175
175
  return 'Lvce-Setup'
176
176
  }
177
177
 
178
- export const version = '0.17.18'
178
+ export const version = '0.17.19'
179
179
 
180
- export const commit = 'bbfc94b'
180
+ export const commit = 'a8b8a78'
181
181
 
182
- export const date = '2023-09-21T15:55:56.000Z'
182
+ export const date = '2023-09-23T12:41:58.000Z'
183
183
 
184
184
  export const getVersion = () => {
185
185
  return version
@@ -8,6 +8,7 @@ const METHODS_THAT_REQUIRE_SOCKET = new Set([
8
8
  'ExtensionHost.watchColorTheme',
9
9
  'Terminal.create',
10
10
  'IncrementalTextSearch.start',
11
+ 'ElectronApplicationMenu.setItems',
11
12
  ])
12
13
 
13
14
  export const requiresSocket = (method) => {