UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

11 lines (10 loc) 812 B
/** NOTIFICATION **/ export interface INotification<GName extends string, GValue> { readonly name: GName; readonly value: GValue; } export declare type IGenericNotification = INotification<string, any>; export declare type TInferNotificationGName<GNotification extends IGenericNotification> = GNotification extends INotification<infer GName, any> ? GName : never; export declare type TInferNotificationGValue<GNotification extends IGenericNotification> = GNotification extends INotification<string, infer GValue> ? GValue : never; export declare type TInferGValueFromNotificationsUnionAndName<GNotificationsUnion extends IGenericNotification, GName extends TInferNotificationGName<GNotificationsUnion>> = TInferNotificationGValue<Extract<GNotificationsUnion, INotification<GName, any>>>; /** DEFAULT **/