wuhu-torn-helper/global.d.ts
2022-09-30 18:16:52 +08:00

104 lines
2.1 KiB
TypeScript

declare interface String {
contains(keywords: RegExp | string): boolean;
/* 翻译 */
// 时分秒转换
replaceHMS(): string;
// 数词转换 a an some
numWordTrans(): string;
}
declare interface Window {
$?: JQueryStatic;
jQuery?: JQueryStatic;
WHPARAMS?: any;
ReactDOM?: any;
hasWHQuickFlyOpt?: boolean;
// 插件运行标识
WHTRANS?: boolean;
Vue?: Function;
eval(exc: string): void;
/* TORN自带 */
addRFC(url: URL | string): string;
getAction(opt: TornGetActionParams): void;
// initMiniProf(selector: string): void;
initializeTooltip(selector: string, elemId: string): void;
renderMiniProfile(node: Element, props: any): never;
/* PDA自带 */
PDA_httpGet(url: URL | string): Promise<PDA_Response>;
PDA_httpPost(url: URL | string, init: any, body: any): Promise<PDA_Response>;
/* 油猴脚本引擎自带 */
unsafeWindow?: Window & typeof globalThis;
GM_xmlhttpRequest(init: GM_RequestParams): void;
GM_getValue(k: string, def: any): unknown;
GM_setValue(k: string, v: any): void;
// TODO 临时测试用
[key: string]: unknown;
}
declare interface GM_RequestParams {
method?: string,
url?: URL | string,
data?: any,
headers?: any,
onload?: Function,
onerror?: Function,
ontimeout?: Function,
}
declare interface PDA_Response {
responseText: string
}
declare interface Element {
innerText?: string;
src?: string;
}
declare interface Notification {
id?: number;
}
declare interface Array<T> {
fest_date_dict?: { [key: string]: { name: string, eff: string } };
fest_date_list?: string[];
[key: string]: any;
}
declare interface Navigator {
userAgentData?: any;
}
declare interface TornGetActionParams {
type: 'post' | 'get',
action?: string,
data?: {
step?: string,
id?: number,
key?: string,
type?: string
},
success: Function,
before?: Function
}
declare module "*.html" {
const value: string;
export default value;
}