@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
TypeScript
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;
}