/
githubmirror
/
react-hook-form
Обзор
Документация
Войти
/
githubmirror
/
react-hook-form
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/utils/createSubject.ts
47 строк
904 B
Beier (Bill)
🥷 chore: improve type import (#12879)
09 июн 2025, 08:51
Не верифицирован
09 июн 2025, 08:51
7ce7cc6
Код
Авторство
О чём код?
import type { Noop } from '../types'; export type Observer<T> = { next: (value: T) => void; }; export type Subscription = { unsubscribe: Noop; }; export type Subject<T> = { readonly observers: Observer<T>[]; subscribe: (value: Observer<T>) => Subscription; unsubscribe: Noop; } & Observer<T>; export default <T>(): Subject<T> => { let _observers: Observer<T>[] = []; const next = (value: T) => { for (const observer of _observers) { observer.next && observer.next(value); } }; const subscribe = (observer: Observer<T>): Subscription => { _observers.push(observer); return { unsubscribe: () => { _observers = _observers.filter((o) => o !== observer); }, }; }; const unsubscribe = () => { _observers = []; }; return { get observers() { return _observers; }, next, subscribe, unsubscribe, }; };