UNPKG

react-obsidian

Version:

Dependency injection framework for React and React Native applications

51 lines 1.29 kB
export type OnNext<T> = (value: T) => void | undefined; export type OnMultiNext<S1, S2, S3, S4, S5> = ([S1, S2, S3, S4, S5]: Args<S1, S2, S3, S4, S5>) => void | undefined; export type Mapper<Other, Mine> = (next: Other, currentValue: Mine) => Mine extends void ? 'A map function must return a value. Check your map function and ensure it has a valid return statement.' : Mine; export type Unsubscribe = () => void; export interface Observable<T> { value: T; subscribe(onNext: OnNext<T>): Unsubscribe; } export type ObservedValues<T> = { [K in keyof T]: T[K] extends Observable<infer R> ? R : never; }; export type MultiMapper<Mine, S1, S2, S3, S4, S5> = ([S1, S2, S3, S4, S5]: Args<S1, S2, S3, S4, S5>, currentValue: Mine) => Mine; export type Observables<S1, S2, S3, S4, S5> = [ Observable<S1>, Observable<S2> ] | [ Observable<S1>, Observable<S2>, Observable<S3> ] | [ Observable<S1>, Observable<S2>, Observable<S3>, Observable<S4> ] | [ Observable<S1>, Observable<S2>, Observable<S3>, Observable<S4>, Observable<S5> ]; export type Args<A1, A2, A3, A4, A5> = [ A1, A2 ] | [ A1, A2, A3 ] | [ A1, A2, A3, A4 ] | [ A1, A2, A3, A4, A5 ]; //# sourceMappingURL=types.d.ts.map