UNPKG

@ganache/utils

Version:
42 lines 1.97 kB
/// <reference types="node" /> export * from "./api"; export type RemoveIndex<T> = { [K in keyof T as string extends K ? never : number extends K ? never : K]: T[K]; }; export type KnownKeys<T> = keyof RemoveIndex<T>; declare global { interface JSON { parse(text: string | Buffer, reviver?: (key: any, value: any) => any): any; } } type Overloads<T extends (...args: any[]) => any> = T extends { (...args: infer A1): infer R1; (...args: infer A2): infer R2; (...args: infer A3): infer R3; (...args: infer A4): infer R4; (...args: infer A5): infer R5; (...args: infer A6): infer R6; } ? ((...args: A1) => R1) | ((...args: A2) => R2) | ((...args: A3) => R3) | ((...args: A4) => R4) | ((...args: A5) => R5) | ((...args: A6) => R6) : T extends { (...args: infer A1): infer R1; (...args: infer A2): infer R2; (...args: infer A3): infer R3; (...args: infer A4): infer R4; (...args: infer A5): infer R5; } ? ((...args: A1) => R1) | ((...args: A2) => R2) | ((...args: A3) => R3) | ((...args: A4) => R4) | ((...args: A5) => R5) : T extends { (...args: infer A1): infer R1; (...args: infer A2): infer R2; (...args: infer A3): infer R3; (...args: infer A4): infer R4; } ? ((...args: A1) => R1) | ((...args: A2) => R2) | ((...args: A3) => R3) | ((...args: A4) => R4) : T extends { (...args: infer A1): infer R1; (...args: infer A2): infer R2; (...args: infer A3): infer R3; } ? ((...args: A1) => R1) | ((...args: A2) => R2) | ((...args: A3) => R3) : T extends { (...args: infer A1): infer R1; (...args: infer A2): infer R2; } ? ((...args: A1) => R1) | ((...args: A2) => R2) : T extends { (...args: infer A1): infer R1; } ? (...args: A1) => R1 : never; type NoUnknownArray<T> = T extends infer I ? unknown[] extends I ? never : I : T; export type OverloadedParameters<T extends (...args: any[]) => any> = NoUnknownArray<Parameters<Overloads<T>>>; //# sourceMappingURL=index.d.ts.map