Skip to content

$scramjetLoadWorker

$scramjetLoadWorker(): object

Defined in: typedoc-repos/scramjet/src/entry.ts:190

Factory function that creates the ScramjetServiceWorker class.

object

The ScramjetServiceWorker class.

Plain SW example

ScramjetServiceWorker: typeof ScramjetServiceWorker

// In your Service Worker
const { ScramjetServiceWorker } = $scramjetLoadWorker();

const scramjet = new ScramjetServiceWorker();

self.addEventListener("fetch", async (ev) => {
  await scramjet.loadConfig();

  if (scramjet.route(ev)) {
    ev.respondWith(scramjet.fetch(ev));
  }
});

Workbox-powered SW routing example

// In your Service Worker (ensure you are using a bundler for Workbox)
// This is more useful for a webOS or if you have Offline PWA support on your proxy site
import { registerRoute } from 'workbox-routing';

const { ScramjetServiceWorker } = $scramjetLoadWorker();

const scramjet = new ScramjetServiceWorker();

registerRoute(
  ({ request }) => {
    return scramjet.route({ request });
  },
  async ({ event }) => {
    await scramjet.loadConfig();

    return scramjet.fetch(event);
  }
);