wuhu-torn-helper/global.d.ts
2022-09-15 12:02:26 +08:00

91 lines
1.8 KiB
TypeScript

declare interface String {
contains(keywords: RegExp | string): boolean;
/* 翻译 */
// 时分秒转换
replaceHMS(): string;
// 数词转换 a an some
numWordTrans(): string;
}
declare interface Window {
unsafeWindow?: Window & typeof globalThis;
$?: 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;
renderMiniProfile(node: Element, props: any);
/* PDA自带 */
PDA_httpGet(url: URL | string): Promise<PDA_Response>;
PDA_httpPost(url: URL | string, init: any, body: any): Promise<PDA_Response>;
/* 油猴脚本引擎自带 */
GM_xmlhttpRequest(init: GM_RequestParams);
GM_getValue(k: string, def: any): any;
GM_setValue(k: string, v: any): void;
}
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
}