UNPKG

@lithiumjs/angular

Version:

Reactive components made easy. Lithium provides utilities that enable seamless reactive state and event interactions for Angular components.

16 lines (15 loc) 666 B
export type StringKey<T> = (keyof T & string); export type IfEquals<X, Y> = (<T>() => T extends X ? 1 : 2) extends (<T>() => T extends Y ? 1 : 2) ? true : false; export type IfReadonly<T, K extends keyof T> = IfEquals<{ [P in K]: T[P]; }, { readonly [P in K]: T[P]; }>; export type Publicize<T extends Record<string, any>, K extends string> = Omit<T, K> & Record<K, T[K]>; export type Constructable<T, Ctor = (...args: any[]) => T> = { constructor: Ctor; }; export type ImmutableMap<M extends Map<unknown, unknown>> = Omit<M, "set" | "clear" | "delete">; export declare namespace _LangUtils { function isNil(value: any): value is null | undefined; }