|
@@ -1,91 +1,85 @@
|
|
|
-declare interface Fn<T = any, R = T> {
|
|
|
- (...arg: T[]): R;
|
|
|
+import type {
|
|
|
+ App,
|
|
|
+ ComponentRenderProxy,
|
|
|
+ VNode,
|
|
|
+ ComponentPublicInstance,
|
|
|
+ FunctionalComponent,
|
|
|
+} from 'vue';
|
|
|
+declare global {
|
|
|
+ declare interface Window {
|
|
|
+ // Global vue app instance
|
|
|
+ __APP__: App<Element>;
|
|
|
+ }
|
|
|
+
|
|
|
+ export type Writable<T> = {
|
|
|
+ -readonly [P in keyof T]: T[P];
|
|
|
+ };
|
|
|
+
|
|
|
+ declare type Nullable<T> = T | null;
|
|
|
+ declare type NonNullable<T> = T extends null | undefined ? never : T;
|
|
|
+ declare type Recordable<T = any> = Record<string, T>;
|
|
|
+ declare type ReadonlyRecordable<T = any> = {
|
|
|
+ readonly [key: string]: T;
|
|
|
+ };
|
|
|
+ declare type Indexable<T = any> = {
|
|
|
+ [key: string]: T;
|
|
|
+ };
|
|
|
+ declare type DeepPartial<T> = {
|
|
|
+ [P in keyof T]?: DeepPartial<T[P]>;
|
|
|
+ };
|
|
|
+ declare type TimeoutHandle = ReturnType<typeof setTimeout>;
|
|
|
+ declare type IntervalHandle = ReturnType<typeof setInterval>;
|
|
|
+
|
|
|
+ declare interface ChangeEvent extends Event {
|
|
|
+ target: HTMLInputElement;
|
|
|
+ }
|
|
|
+
|
|
|
+ declare interface WheelEvent {
|
|
|
+ path?: EventTarget[];
|
|
|
+ }
|
|
|
+ interface ImportMetaEnv extends ViteEnv {
|
|
|
+ __: unknown;
|
|
|
+ }
|
|
|
+
|
|
|
+ declare interface ViteEnv {
|
|
|
+ VITE_PORT: number;
|
|
|
+ VITE_USE_MOCK: boolean;
|
|
|
+ VITE_USE_PWA: boolean;
|
|
|
+ VITE_PUBLIC_PATH: string;
|
|
|
+ VITE_PROXY: [string, string][];
|
|
|
+ VITE_GLOB_APP_TITLE: string;
|
|
|
+ VITE_GLOB_APP_SHORT_NAME: string;
|
|
|
+ VITE_USE_CDN: boolean;
|
|
|
+ VITE_DROP_CONSOLE: boolean;
|
|
|
+ VITE_BUILD_COMPRESS: 'gzip' | 'brotli' | 'none';
|
|
|
+ VITE_LEGACY: boolean;
|
|
|
+ VITE_USE_IMAGEMIN: boolean;
|
|
|
+ VITE_GENERATE_UI: string;
|
|
|
+ }
|
|
|
+
|
|
|
+ declare function parseInt(s: string | number, radix?: number): number;
|
|
|
+
|
|
|
+ declare function parseFloat(string: string | number): number;
|
|
|
+
|
|
|
+ namespace JSX {
|
|
|
+ // tslint:disable no-empty-interface
|
|
|
+ type Element = VNode;
|
|
|
+ // tslint:disable no-empty-interface
|
|
|
+ type ElementClass = ComponentRenderProxy;
|
|
|
+ interface ElementAttributesProperty {
|
|
|
+ $props: any;
|
|
|
+ }
|
|
|
+ interface IntrinsicElements {
|
|
|
+ [elem: string]: any;
|
|
|
+ }
|
|
|
+ interface IntrinsicAttributes {
|
|
|
+ [elem: string]: any;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-declare interface PromiseFn<T = any, R = T> {
|
|
|
- (...arg: T[]): Promise<R>;
|
|
|
-}
|
|
|
-
|
|
|
-declare interface IObj<T = any> {
|
|
|
- [key: string]: T;
|
|
|
- [key: number]: T;
|
|
|
-}
|
|
|
-
|
|
|
-declare function parseInt(s: string | number, radix?: number): number;
|
|
|
-
|
|
|
-declare function parseFloat(string: string | number): number;
|
|
|
-
|
|
|
-declare type Nullable<T> = T | null;
|
|
|
-
|
|
|
-declare type NonNullable<T> = T extends null | undefined ? never : T;
|
|
|
-
|
|
|
-declare type RefType<T> = T | null;
|
|
|
-
|
|
|
-declare type CustomizedHTMLElement<T> = HTMLElement & T;
|
|
|
-
|
|
|
-declare type Indexable<T extends any = any> = {
|
|
|
- [key: string]: T;
|
|
|
-};
|
|
|
-
|
|
|
-declare type Recordable<T extends any = any> = Record<string, T>;
|
|
|
-
|
|
|
-declare type ReadonlyRecordable<T extends any = any> = {
|
|
|
- readonly [key: string]: T;
|
|
|
-};
|
|
|
-
|
|
|
-declare type Hash<T> = Indexable<T>;
|
|
|
-
|
|
|
-declare type DeepPartial<T> = {
|
|
|
- [P in keyof T]?: DeepPartial<T[P]>;
|
|
|
-};
|
|
|
-
|
|
|
-declare type LabelValueOptions = {
|
|
|
- label: string;
|
|
|
- value: any;
|
|
|
-}[];
|
|
|
-
|
|
|
-declare type EmitType = (event: string, ...args: any[]) => void;
|
|
|
-
|
|
|
-declare type TargetContext = '_self' | '_blank';
|
|
|
-
|
|
|
-declare type TimeoutHandle = ReturnType<typeof setTimeout>;
|
|
|
-
|
|
|
-declare type IntervalHandle = ReturnType<typeof setInterval>;
|
|
|
-
|
|
|
-declare interface ComponentElRef<T extends HTMLElement = HTMLDivElement> {
|
|
|
- $el: T;
|
|
|
-}
|
|
|
-
|
|
|
-declare type ComponentRef<T extends HTMLElement = HTMLDivElement> = ComponentElRef<T> | null;
|
|
|
-
|
|
|
-declare type ElRef<T extends HTMLElement = HTMLDivElement> = Nullable<T>;
|
|
|
-
|
|
|
-type IsSame<A, B> = A | B extends A & B ? true : false;
|
|
|
-
|
|
|
-declare interface ChangeEvent extends Event {
|
|
|
- target: HTMLInputElement;
|
|
|
-}
|
|
|
-
|
|
|
-declare interface WheelEvent {
|
|
|
- path?: EventTarget[];
|
|
|
-}
|
|
|
-
|
|
|
-interface ImportMetaEnv extends ViteEnv {
|
|
|
- __: unknown;
|
|
|
-}
|
|
|
-
|
|
|
-declare interface ViteEnv {
|
|
|
- VITE_PORT: number;
|
|
|
- VITE_USE_MOCK: boolean;
|
|
|
- VITE_USE_PWA: boolean;
|
|
|
- VITE_PUBLIC_PATH: string;
|
|
|
- VITE_PROXY: [string, string][];
|
|
|
- VITE_GLOB_APP_TITLE: string;
|
|
|
- VITE_GLOB_APP_SHORT_NAME: string;
|
|
|
- VITE_USE_CDN: boolean;
|
|
|
- VITE_DROP_CONSOLE: boolean;
|
|
|
- VITE_BUILD_COMPRESS: 'gzip' | 'brotli' | 'none';
|
|
|
- VITE_LEGACY: boolean;
|
|
|
- VITE_USE_IMAGEMIN: boolean;
|
|
|
- VITE_GENERATE_UI: string;
|
|
|
+declare module 'vue' {
|
|
|
+ export type JSXComponent<Props = any> =
|
|
|
+ | { new (): ComponentPublicInstance<Props> }
|
|
|
+ | FunctionalComponent<Props>;
|
|
|
}
|