Skip to main content
Home

Built and signed on GitHub Actions

🦕 Deno module to translate Worker's system of messages into ReadableStream and WritableStream

This package works with DenoIt is unknown whether this package works with Cloudflare Workers, Node.js, Bun, Browsers
It is unknown whether this package works with Cloudflare Workers
It is unknown whether this package works with Node.js
This package works with Deno
It is unknown whether this package works with Bun
It is unknown whether this package works with Browsers
JSR Score
94%
Published
a year ago (4.0.1)

Deno module to translate Worker's system of messages into ReadableStream<Uint8Array> and WritableStream<Uint8Array>.

Example

Server

import {
  readableStreamFromWorker,
  writableStreamFromWorker,
} from "@lambdalisue/workerio";

const decoder = new TextDecoder();
const encoder = new TextEncoder();

const worker = new Worker(new URL("./worker.ts", import.meta.url).href, {
  type: "module",
});

const reader = readableStreamFromWorker(worker);
const writer = writableStreamFromWorker(worker);
const w = writer.getWriter();

await w.write(encoder.encode("Hello"));
await w.write(encoder.encode("World"));
w.releaseLock();

for await (const data of reader) {
  const text = decoder.decode(data);
  console.log(text);
}

Worker

/// <reference no-default-lib="true" />
/// <reference lib="deno.worker" />

import {
  readableStreamFromWorker,
  writableStreamFromWorker,
} from "@lambdalisue/workerio";

const decoder = new TextDecoder();
const encoder = new TextEncoder();

async function main(): Promise<void> {
  const reader = readableStreamFromWorker(self);
  const writer = writableStreamFromWorker(self);
  const w = writer.getWriter();

  for await (const data of reader) {
    const text = decoder.decode(data);
    await w.write(encoder.encode(`!!! ${text} !!!`));
  }
  w.releaseLock();
}

main().catch((e) => console.error(e));
Built and signed on
GitHub Actions

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@lambdalisue/workerio

Import symbol

import * as workerio from "@lambdalisue/workerio";
or

Import directly with a jsr specifier

import * as workerio from "jsr:@lambdalisue/workerio";

Add Package

pnpm i jsr:@lambdalisue/workerio
or (using pnpm 10.8 or older)
pnpm dlx jsr add @lambdalisue/workerio

Import symbol

import * as workerio from "@lambdalisue/workerio";

Add Package

yarn add jsr:@lambdalisue/workerio
or (using Yarn 4.8 or older)
yarn dlx jsr add @lambdalisue/workerio

Import symbol

import * as workerio from "@lambdalisue/workerio";

Add Package

vlt install jsr:@lambdalisue/workerio

Import symbol

import * as workerio from "@lambdalisue/workerio";

Add Package

npx jsr add @lambdalisue/workerio

Import symbol

import * as workerio from "@lambdalisue/workerio";

Add Package

bunx jsr add @lambdalisue/workerio

Import symbol

import * as workerio from "@lambdalisue/workerio";