UNPKG

create-pubsub

Version:

A tiny Event Emitter and Observable Store.

19 lines (17 loc) 851 B
declare function createPubSub<T = void>(): [ publish: PublishFunction<T>, subscribe: SubscribeFunction<T>, getStoredData: GetFunctionPossiblyUndefined<T> ]; declare function createPubSub<T>(storedData: T): [ publish: PublishFunction<T>, subscribe: SubscribeFunction<T>, getStoredData: GetFunction<T> ]; type SubscriptionHandler<T = void> = (data: T, previousData: T) => void; type PublishFunction<T = void> = (data: T) => void; type UnsubscribeFunction = () => void; type GetFunction<T> = () => T; type GetFunctionPossiblyUndefined<T = void> = () => T extends void ? undefined : T | undefined; type SubscribeFunction<T> = (handler: SubscriptionHandler<T>) => UnsubscribeFunction; export { GetFunction, GetFunctionPossiblyUndefined, PublishFunction, SubscribeFunction, SubscriptionHandler, UnsubscribeFunction, createPubSub };