@surface/core
Version:
Provides core functionality of many @surfaces modules.
9 lines (8 loc) • 334 B
TypeScript
import type { Delegate } from "./types/index.js";
import type Subscription from "./types/subscription.js";
export default class Event<TArgs = void> {
private readonly listeners;
subscribe(listener: Delegate<[TArgs]>): Subscription;
unsubscribe(listener: Delegate<[TArgs]>): void;
notify(value: TArgs): void;
}