@travetto/registry
Version:
Patterns and utilities for handling registration of metadata and functionality for run-time use
21 lines (19 loc) • 348 B
text/typescript
/**
* A change event
*/
export interface ChangeEvent<T> {
type: 'changed' | 'added' | 'removing';
prev?: T;
curr?: T;
}
/**
* Change handler
*/
export type ChangeHandler<T> = (e: ChangeEvent<T>) => unknown;
/**
* Change source
*/
export interface ChangeSource<T> {
init(): Promise<unknown>;
on(callback: ChangeHandler<T>): void;
}