vue-yandex-maps
Version:
Yandex Maps 3.0 components library for VueJS.
6 lines (5 loc) • 825 B
TypeScript
type OverloadProps<TOverload> = Pick<TOverload, keyof TOverload>;
type OverloadUnionRecursive<TOverload, TPartialOverload = unknown> = TOverload extends (...args: infer TArgs) => infer TReturn ? TArgs[0] extends '@yandex/ymaps3-vuefy' ? never : TPartialOverload extends TOverload ? never : TArgs[0] extends '@yandex/ymaps3-vuefy' | '@yandex/ymaps3-reactify' ? never : OverloadUnionRecursive<TPartialOverload & TOverload, TPartialOverload & ((...args: TArgs) => TReturn) & OverloadProps<TOverload>> | ((...args: TArgs) => TReturn) : never;
type OverloadUnion<TOverload extends (...args: any[]) => any> = Exclude<OverloadUnionRecursive<(() => never) & TOverload>, TOverload extends () => never ? never : () => never>;
export type OverloadParameters<T extends (...args: any[]) => any> = Parameters<OverloadUnion<T>>;
export {};