MCPcopy
hub / github.com/lightningpixel/modly / ensureReady

Method ensureReady

electron/main/process-runner.ts:87–116  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

85 }
86
87 private async ensureReady(): Promise<void> {
88 if (this.ready && this.worker) return
89
90 return new Promise((resolve, reject) => {
91 const worker = new Worker(WORKER_CODE, {
92 eval: true,
93 workerData: {
94 extDir: this.extDir,
95 entry: this.entry,
96 workspaceDir: this.workspaceDir,
97 tempDir: this.tempDir,
98 },
99 })
100
101 worker.once('message', (msg) => {
102 if (msg.type === 'ready') {
103 this.worker = worker
104 this.ready = true
105 resolve()
106 } else if (msg.type === 'error') {
107 worker.terminate()
108 reject(new Error(msg.message))
109 }
110 })
111
112 worker.once('error', (err) => {
113 reject(err)
114 })
115 })
116 }
117
118 async run(
119 input: ProcessInput,

Callers 1

runMethod · 0.95

Calls 2

resolveFunction · 0.85
terminateMethod · 0.65

Tested by

no test coverage detected