UNPKG

@virtualstate/navigation

Version:

Native JavaScript [navigation](https://developer.mozilla.org/en-US/docs/Web/API/Navigation_API) implementation

24 lines (21 loc) 582 B
import { Event, isEvent } from "./event"; export interface RespondEvent< Name extends string | symbol = string, T = unknown > extends Event<Name> { /** * @param value * @throws InvalidStateError */ respondWith(value: T | Promise<T>): void; } export function isRespondEvent<T = unknown>( value: object ): value is RespondEvent<string, T> { function isRespondEventLike( value: object ): value is Partial<Record<keyof RespondEvent, unknown>> { return isEvent(value); } return isRespondEventLike(value) && typeof value.respondWith === "function"; }