mirror of https://github.com/jeecgboot/jeecg-boot
92 lines
2.6 KiB
Vue
92 lines
2.6 KiB
Vue
import type { ComponentRenderProxy, VNode, VNodeChild, ComponentPublicInstance, FunctionalComponent, PropType as VuePropType } from 'vue';
|
||
|
||
declare global {
|
||
const __APP_INFO__: {
|
||
pkg: {
|
||
name: string;
|
||
version: string;
|
||
dependencies: Recordable<string>;
|
||
devDependencies: Recordable<string>;
|
||
};
|
||
lastBuildTime: string;
|
||
};
|
||
// declare interface Window {
|
||
// // Global vue app instance
|
||
// __APP__: App<Element>;
|
||
// }
|
||
|
||
// vue
|
||
declare type PropType<T> = VuePropType<T>;
|
||
declare type VueNode = VNodeChild | JSX.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_PUBLIC_PATH: string;
|
||
VITE_PROXY: [string, string][];
|
||
VITE_GLOB_APP_TITLE: string;
|
||
VITE_GLOB_APP_SHORT_NAME: string;
|
||
VITE_USE_CDN: boolean;
|
||
VITE_BUILD_COMPRESS: 'gzip' | 'brotli' | 'none';
|
||
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE: boolean;
|
||
// 【JEECG作为乾坤子应用】乾坤子应用名,主应用注册时AppName需保持一致
|
||
VITE_GLOB_QIANKUN_MICRO_APP_NAME?: string;
|
||
// 【JEECG作为乾坤子应用】非必填,需与qiankun主应用注册子应用时填写的 entry 保持一致
|
||
VITE_GLOB_QIANKUN_MICRO_APP_ENTRY?: 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 module 'vue' {
|
||
export type JSXComponent<Props = any> = { new (): ComponentPublicInstance<Props> } | FunctionalComponent<Props>;
|
||
}
|