(worker: WorkerType)
| 59 | } |
| 60 | |
| 61 | function receiveInitMessage(worker: WorkerType): Promise<WorkerInitMessage> { |
| 62 | return new Promise((resolve, reject) => { |
| 63 | const messageHandler = ((event: MessageEvent) => { |
| 64 | debugMessages("Message from worker before finishing initialization:", event.data) |
| 65 | if (isInitMessage(event.data)) { |
| 66 | worker.removeEventListener("message", messageHandler) |
| 67 | resolve(event.data) |
| 68 | } else if (isUncaughtErrorMessage(event.data)) { |
| 69 | worker.removeEventListener("message", messageHandler) |
| 70 | reject(deserialize(event.data.error)) |
| 71 | } |
| 72 | }) as EventListener |
| 73 | worker.addEventListener("message", messageHandler) |
| 74 | }) |
| 75 | } |
| 76 | |
| 77 | function createEventObservable(worker: WorkerType, workerTermination: Promise<any>): Observable<WorkerEvent> { |
| 78 | return new Observable<WorkerEvent>(observer => { |
no test coverage detected