UNPKG

@segment/analytics-react-native

Version:

The hassle-free way to add Segment analytics to your React-Native app.

24 lines (19 loc) 525 B
export const createCallbackManager = <V, R = void>() => { type Callback = (value: V) => R; const callbacks: Callback[] = []; const deregister = (callback: Callback) => { callbacks.splice(callbacks.indexOf(callback), 1); }; const register = (callback: Callback) => { callbacks.push(callback); return () => { deregister(callback); }; }; const run = (value: V) => { for (const callback of [...callbacks]) { callback(value); } }; return { register, deregister, run }; };