UNPKG

@activejs/core

Version:

Pragmatic, Reactive State Management for JavaScript Apps

24 lines (23 loc) 785 B
import { Observable, Subject } from 'rxjs'; /** * @internal please do not use. * A prototype-free keyof alternative. * Works for object, array, string, number and boolean. */ export declare type KOf<T, K extends keyof T = keyof T> = T extends Array<any> | string ? Extract<K, number> : T extends number | boolean ? never : K; /** * @internal please do not use. */ export declare type ExtractObservableType<T> = T extends Observable<infer X> ? X : never; /** * @internal please do not use. */ export declare type RemapObservablesToSubjects<T, K extends keyof T = keyof T> = { [key in K]: Subject<ExtractObservableType<T[key]>>; }; /** * @internal please do not use. */ export declare type KeyValToKeyValProducer<T> = { [key in keyof T]: (...args: any[]) => T[key]; };