if (next?.length > 0) {
if (this.#isTransferable(next)) {
thread.worker.postMessage({ name: job.name, next }, [next])
+ } else if (this.#isTransferable(next[0])) {
+ thread.worker.postMessage({ name: job.name, next }, next)
+ } else {
+ const buffer = new TextEncoder().encode(JSON.stringify(next)).buffer
+ thread.job = job
+ thread.worker.postMessage({ name: job.name, buffer }, [buffer])
}
- } else if (this.#isTransferable(next[0])) {
- thread.worker.postMessage({ name: job.name, next }, next)
- } else {
- const buffer = new TextEncoder().encode(JSON.stringify(next)).buffer
- thread.job = job
- thread.worker.postMessage({ name: job.name, buffer }, [buffer])
}
}