TinyJoin logoTinyJoin

removeEventListener

The overload of this method for the message event type removes a message listener.

removeEventListener(
  type: "message",
  listener: (event: (
    Omit<MessageEvent<any>, "data"> &
    {data: unknown}
  )) => void,
): void
TypeDescription
type"message"

The message event type.

listener(event: ( Omit<MessageEvent<any>, "data"> & {data: unknown} )) => void

The same callback passed to addEventListener.

returnsvoid

This has no return value.

Example

import {create} from 'tinyjoin';
import type {WorkerLike} from 'tinyjoin';

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

let messages = 0;
const countMessage = (): void => {
  messages++;
};
worker.addEventListener('message', countMessage);

const db = await create({worker});
// Count only the messages it took to open the database.
worker.removeEventListener('message', countMessage);
console.log(messages > 0);
// -> true
await db.close();

The overload of this method for the messageerror event type removes a message-error listener.

removeEventListener(
  type: "messageerror",
  listener: (event: (
    Omit<MessageEvent<any>, "data"> &
    {data: unknown}
  )) => void,
): void
TypeDescription
type"messageerror"

The messageerror event type.

listener(event: ( Omit<MessageEvent<any>, "data"> & {data: unknown} )) => void

The same callback passed to addEventListener.

returnsvoid

This has no return value.

Example

import {create} from 'tinyjoin';
import type {WorkerLike} from 'tinyjoin';

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

const reportUndecoded = (): void => {
  console.error('A message from the Worker could not be decoded.');
};
worker.addEventListener('messageerror', reportUndecoded);

const db = await create({worker});
await db.close();
// The Worker has stopped, so there is nothing left to report.
worker.removeEventListener('messageerror', reportUndecoded);

The overload of this method for the error event type removes a Worker error listener.

removeEventListener(
  type: "error",
  listener: (event: ErrorEvent) => void,
): void
TypeDescription
type"error"

The error event type.

listener(event: ErrorEvent) => void

The same callback passed to addEventListener.

returnsvoid

This has no return value.

Example

import {create} from 'tinyjoin';
import type {WorkerLike} from 'tinyjoin';

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

const reportFailure = (): void => {
  console.error('The TinyJoin Worker failed.');
};
worker.addEventListener('error', reportFailure);

const db = await create({worker});
await db.close();
// The Worker has stopped, so there is nothing left to report.
worker.removeEventListener('error', reportFailure);