UNPKG

@controladad/ng-base

Version:
22 lines (21 loc) 709 B
import type { Observable } from 'rxjs'; export interface ItemRecord<T, U = unknown> { label: string; value: T; alt?: U; icon?: string; disabled?: boolean; permission?: string; category?: number | string; additionalData?: string; } export type ItemRecords$<T, U = unknown> = Observable<ItemRecord<T, U>[] | undefined> | ItemRecord<T, U>[]; export type ItemToId<T> = (item: T) => string | number; export type Class = { new (...args: any[]): any; }; export type Singleton<T> = T extends any[] ? T[number] : T; export type AtLeast<T, K extends keyof T> = Partial<T> & Pick<T, K>; export type DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]>; } : T;