diff --git a/global.d.ts b/global.d.ts deleted file mode 100644 index 228ecf7..0000000 --- a/global.d.ts +++ /dev/null @@ -1,181 +0,0 @@ -import { - ComponentPropsOptions, - ExtractPropTypes, -} from '@vue/composition-api' - -export type ObjectEmitsOptions = Record< -string, -((...args: any[]) => any) | null -> - -export type EmitsOptions = ObjectEmitsOptions | string[] - -export type EmitsToProps = T extends string[] - ? { - [K in string & `on${Capitalize}`]?: (...args: any[]) => any - } - : T extends ObjectEmitsOptions - ? { - [K in string & - `on${Capitalize}`]?: K extends `on${infer C}` - ? T[Uncapitalize] extends null - ? (...args: any[]) => any - : ( - ...args: T[Uncapitalize] extends (...args: infer P) => any - ? P - : never - ) => any - : never - } - : {} - -export type UnionToIntersection = ( - U extends any ? (k: U) => void : never -) extends (k: infer I) => void - ? I - : never - -export type EmitFn< - Options = ObjectEmitsOptions, - Event extends keyof Options = keyof Options -> = Options extends Array - ? (event: V, ...args: any[]) => void - : {} extends Options // if the emit is empty object (usually the default value for emit) should be converted to function - ? (event: string, ...args: any[]) => void - : UnionToIntersection< - { - [key in Event]: Options[key] extends (...args: infer Args) => any - ? (event: key, ...args: Args) => void - : (event: key, ...args: any[]) => void - }[Event] - > - -declare global { - /** - * Vue `