function / @typed/template/EventHandler

passive

Modifies an EventHandler to be passive (improves scrolling performance).

Package version
1.0.0-beta.7
Category
Native listener policy
Since
1.0.0

Import

import { passive } from "@typed/template/EventHandler";

Signatures

export declare function passive<Ev extends Event, E = never, R = never>(handler: EventHandler<Ev, E, R>): EventHandler<Ev, E, R>;

Why

The native passive-listener contract is available without a synthetic event system. This combinator also clears incompatible once metadata.

Ownership and lifetime

The returned description is inert; the renderer Scope owns its listener.

Examples

import * as EventHandler from "@typed/template/EventHandler"

const handler = EventHandler.make((event) => {
  // Passive handlers can't call preventDefault
  console.log("Scroll event")
})

const passiveHandler = EventHandler.passive(handler)

Other public imports

These import paths expose the same declaration. Each page retains its own public name and signature.

Source