momo-util-types
Version:
⭐️ 모두모여라 유틸 타입 라이브러리입니다 ⭐️
15 lines (14 loc) • 886 B
TypeScript
export declare type PartialRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
export declare type PartialOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
export declare type Override<T1, T2> = Omit<T1, keyof T2> & T2;
export declare type Equal<T1, T2> = (<T>() => T extends T1 ? 1 : 2) extends <T>() => T extends T2 ? 1 : 2 ? true : false;
export declare type If<C extends boolean, T, F = never> = C extends true ? T : F extends never ? T : F;
export declare type Unionize<T extends object> = {
[P in keyof T]: {
[Q in P]: T[P];
};
}[keyof T];
export declare type ObjectKey<T extends object> = keyof T;
export declare type ObjectValue<T extends object> = T[keyof T];
export declare type ObjectType<T, K extends string | number | symbol = string> = Record<K, T>;
export declare type ArrayElement<T> = T extends (infer E)[] ? E : never;