function / @typed/template

EventHandler.passive

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

Package version
1.0.0-beta.13
Category
Native listener policy
Since
1.0.0
Member of
EventHandler

Import

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

Access EventHandler.passive through the imported EventHandler export. Its declaration below describes the member.

This public exposure is a re-export. Its import path is supported; declaration documentation is shared with the other public exposures below.

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