function main() {
// create worker from this same file
const worker = new Worker(import.meta.resolve("./mod.ts"), {
name: "hello-worker",
type: "module",
});
worker.onmessage = (e: MessageEvent<{ message: string }>) => {
console.log(e.data.message);
};
worker.postMessage({
message: "hello",
});
}
if (import.meta.main) {
if (self.window) {
main();
} else {
const worker = self as unknown as Worker & { name?: string };
worker.onmessage = (e: MessageEvent<{ message: string }>) => {
worker.postMessage({
message: `${e.data.message} from ${worker.name}`,
});
self.close();
};
}
}
function main() {
// create worker from this same file
const worker = new Worker(import.meta.resolve("./mod.ts"), {
name: "hello-worker",
type: "module",
});
worker.onmessage = (e: MessageEvent<{ message: string }>) => {
console.log(e.data.message);
};
worker.postMessage({
message: "hello",
});
}
if (import.meta.main) {
if (self.window) {
main();
} else {
const worker = self as unknown as Worker & { name?: string };
worker.onmessage = (e: MessageEvent<{ message: string }>) => {
worker.postMessage({
message: `${e.data.message} from ${worker.name}`,
});
self.close();
};
}
}