@csegames/camelot-unchained
Version:
Camelot Unchained Client Library
13 lines (12 loc) • 393 B
TypeScript
export interface ObjectMap<T> {
[key: string]: T;
}
export declare type Diff<T extends string, U extends string> = ({
[P in T]: P;
} & {
[P in U]: never;
} & {
[x: string]: never;
})[T];
export declare type Omit<T, K extends keyof T> = Pick<T, Diff<keyof T, K>>;
export declare function withDefaults<T extends ObjectMap<any>>(a: Partial<T> | null | undefined, defaults: T): T;