nxkit
Version:
This is a collection of tools, independent of any other libraries
168 lines (167 loc) • 5.75 kB
TypeScript
interface RequireResolve {
(id: string, options?: {
paths?: string[];
}): string;
paths(request: string): string[] | null;
}
interface NodeRequire {
(id: string): any;
resolve: RequireResolve;
cache: Dict<NodeModule>;
main: NodeModule | undefined;
}
interface NodeModule {
exports: any;
id: string;
filename: string;
loaded: boolean;
parent: NodeModule | null;
children: NodeModule[];
paths: string[];
package?: any;
}
declare var __filename: string;
declare var __dirname: string;
declare var __requireNgui__: (id: string) => any;
declare var require: NodeRequire;
declare var module: NodeModule;
declare var exports: any;
interface ObjectConstructor {
hashCode(obj: any): number;
}
interface Object {
hashCode(): number;
}
interface Dict<T = any> {
[key: string]: T;
}
declare type TimeoutResult = any;
interface Function {
hashCode(): number;
setTimeout(this: Function, time: number, ...argArray: any[]): TimeoutResult;
}
interface CallableFunction extends Function {
setTimeout<A extends any[], R>(this: (...args: A) => R, time: number, ...args: A): TimeoutResult;
}
interface ArrayConstructor {
toArray(obj: any, index?: number, end?: number): any[];
}
interface Array<T> {
hashCode(): number;
deleteOf(value: T): T[];
indexReverse(index: number): T;
}
interface StringConstructor {
format(str: string, ...args: any[]): string;
}
interface String {
hashCode(): number;
}
interface Number {
hashCode(): number;
/**
* 转换为前后固定位数的字符串
* @arg before {Number} 小数点前固定位数
* @arg [after] {Number} 小数点后固定位数
*/
toFixedBefore(before: number, after?: number): string;
}
interface Boolean {
hashCode(): number;
}
interface DateConstructor {
/**
* @field current timezone
*/
currentTimezone: number;
/**
* 解析字符串为时间
* <pre><code>
* var i = '2008-02-13 01:12:13';
* var date = Date.parseDate(i); //返回的新时间
* </code></pre>
* @func parseDate(str[,format[,timezone]])
* @arg str {String} 要解析的字符串
* @arg [format] {String} date format default yyyyMMddhhmmssfff
* @arg [timezone] {Number} 要解析的时间所在时区,默认为当前时区
* @ret {Date} 返回新时间
*/
parseDate(date_str: string, format?: string, timezone?: number): Date;
/**
* 格式化时间戳(单位:毫秒)
* <pre><code>
* var time_span = 10002100;
* var format = 'dd hh:mm:ss';
* var str = Date.formatTimeSpan(time_span, format); // str = '0 2:46:42'
* var format = 'dd天hh时mm分ss秒';
* var str = Date.formatTimeSpan(time_span, format); // str = '0天2时46分42秒'
* format = 'hh时mm分ss秒';
* str = Date.formatTimeSpan(time_span, format); // str = '2时46分42秒'
* format = 'mm分ss秒';
* str = Date.formatTimeSpan(time_span, format); // str = '166分42秒'
* </code></pre>
* @func formatTimeSpan(ts[,format])
* @arg ts {Number} 要格式化的时间戳
* @arg [format] {String} 要格式化的时间戳格式
* @ret {String} 返回的格式化后的时间戳
*/
formatTimeSpan(time_span: number, format?: string): string;
}
interface Date {
hashCode(): number;
/**
* @func add 给当前Date时间追加毫秒,改变时间值
* @arg ms {Number} 要添追加的毫秒值
* @ret {Date}
*/
add(ms: number): Date;
/**
* 给定日期格式返回日期字符串
* <pre><code>
* var date = new Date();
* var format = 'yyyy-MM-dd hh:mm:ss.fff';
* var dateStr = date.toString(format); // dateStr的值为 '2008-12-10 10:32:23'
* format = 'yyyy-MM-dd hh:mm:ss';
* dateStr = date.toString(format); // dateStr的值为 '2008-12-10 10:32:23'
* format = 'yyyy/MM/dd';
* dateStr = date.toString(format); // dateStr的值为 '2008/12/10'
* format = 'yyyy-MM-dd hh';
* dateStr = date.toString(format); // dateStr的值为 '2008-12-10 10'
* </code></pre>
* @func date_to_string(date[,foramt])
* @arg date {Date}
* @arg [format] {String} 要转换的字符串格式
* @ret {String} 返回格式化后的时间字符串
*/
toString(format?: string, timezone?: number): string;
}
interface ErrorDescribe {
name?: string;
message?: string;
error?: string;
description?: string;
errno?: number;
child?: Error | Error[];
[prop: string]: any;
}
declare type ErrnoCode = [number, string, string?];
declare type ErrorNewArg = ErrnoCode | Error | string | ErrorDescribe;
interface ErrorConstructor {
'new'(err: ErrorNewArg, ...child: ErrorNewArg[]): Error;
toJSON(err: Error): any;
setStackTraceJSON(enable: boolean): void;
/** Create .stack property on a target object */
captureStackTrace(targetObject: Object, constructorOpt?: Function): void;
}
interface Error {
errno?: number;
description?: string;
child?: Error[];
[prop: string]: any;
}
declare function setTimeout<A extends any[]>(cb: (...args: A) => void, timeout?: number, ...args: A): TimeoutResult;
declare function setInterval<A extends any[]>(cb: (...args: A) => void, timeout?: number, ...args: A): TimeoutResult;
declare function setImmediate<A extends any[]>(cb: (...args: A) => void, ...args: A): TimeoutResult;
declare function clearTimeout(id?: TimeoutResult): void;
declare function clearInterval(id?: TimeoutResult): void;
declare function clearImmediate(id?: TimeoutResult): void;