UNPKG

react-obsidian

Version:

Dependency injection framework for React and React Native applications

16 lines (14 loc) 553 B
import { useColdObservables } from '../observable/cold/useColdObservers'; import { Observable } from '../observable/Observable'; export abstract class Model { public use<T extends Model>(this: T) { const observables: Record<string, Observable<any>> = {}; Object.getOwnPropertyNames(this).forEach((propertyName: string) => { const property = (this as any)[propertyName]; if (property instanceof Observable) { observables[propertyName] = property; } }); return useColdObservables<T>(observables as any); } }