@exchanges/binance
Version:
Exchange provider for Binance API
9 lines (8 loc) • 632 B
TypeScript
export declare type RefType<T extends string, Name extends T> = Name;
export declare type ExcludeObject<T, U> = {
[P in Exclude<keyof T, keyof U>]?: never;
};
export declare type XOR<T, U> = T | U extends object ? (ExcludeObject<T, U> & U) | (ExcludeObject<U, T> & T) : T | U;
export declare type Head<T> = T extends [infer U, ...any[]] ? U : T;
export declare type Tail<T> = T extends [any, ...infer U] ? (U extends [infer I] ? I : U extends [] ? never : U) : T;
export declare type XORArray<T extends any[]> = T extends [infer U] ? U : T extends [] ? never : XOR<Head<T>, Tail<T> extends any[] ? XORArray<Tail<T>> : Tail<T>>;