nxkit
Version:
This is a collection of tools, independent of any other libraries
114 lines (113 loc) • 3.67 kB
TypeScript
export declare var currentTimezone: number;
export declare function isAsync(func: any): boolean;
export declare function getId(): number;
/**
* @fun clone # 克隆一个Object对像
* @arg obj {Object} # 要复制的Object对像
* @arg {Object}
*/
export declare function clone(obj: any): any;
/**
* @func extend(obj, extd)
*/
export declare function extend(obj: any, extd: any, end: any): any;
/**
* Empty function
*/
export declare function noop(): void;
/**
* @func isNull(value)
*/
export declare function isNull(value: any): boolean;
/**
* @fun extendClass # EXT class prototype objects
*/
export declare function extendClass(cls: Function, extds: Function[] | Function, end?: Object): Function;
/**
* @func scopeLock(mutex, cb)
*/
export declare function scopeLock<R>(mutex: any, cb: () => Promise<R> | R): Promise<R>;
/**
* @fun get(name[,self]) # get object value by name
* @arg name {String}
* @arg [self] {Object}
* @ret {Object}
*/
export declare function get(name: string, self: any): any;
/**
* @fun set(name,value[,self]) # Setting object value by name
* @arg name {String}
* @arg value {Object}
* @arg [self] {Object}
* @ret {Object}
*/
export declare function set(name: string, value: any, self: any): any;
/**
* @fun def(name[,self]) # Delete object value by name
* @arg name {String}
* @arg [self] {Object}
*/
export declare function del(name: string, self: any): void;
/**
* @fun random # 创建随机数字
* @arg [start] {Number} # 开始位置
* @arg [end] {Number} # 结束位置
* @ret {Number}
*/
export declare function random(start?: number, end?: number): number;
/**
* @fun fixRandom # 固定随机值,指定几率返回常数
* @arg args.. {Number} # 输入百分比
* @ret {Number}
*/
export declare function fixRandom(arg: number, ...args: number[]): number;
/**
* @fun filter # object filter
* @arg obj {Object}
* @arg exp {Object} # filter exp
* @arg non {Boolean} # take non
* @ret {Object}
*/
export declare function filter(obj: any, exp: string[] | ((key: string, value: any) => boolean), non?: boolean): any;
/**
* @fun update # update object property value
* @arg obj {Object} # need to be updated for as
* @arg extd {Object} # update object
* @arg {Object}
*/
export declare function update<T>(obj: T, extd: any): T;
/**
* @fun select
* @arg default {Object}
* @arg value {Object}
* @reg {Object}
*/
export declare function select<T>(default_: T, value: any): T;
/**
* @fun equalsClass # Whether this type of sub-types
* @arg baseclass {class}
* @arg subclass {class}
*/
export declare function equalsClass(baseclass: any, subclass: any): boolean;
/**
* @fun assert
*/
export declare function assert(condition: any, code?: ErrnoCode | number | string, ...args: any[]): void;
/**
* @func sleep()
*/
export declare function sleep<T>(time: number, defaultValue?: T): Promise<T>;
export declare function timeout<T>(promise: Promise<T> | T, time: number): Promise<T>;
interface PromiseExecutor<T> {
(resolve: (value?: T) => void, reject: (reason?: any) => void, promise: Promise<T>): Promise<void> | void;
}
export declare class PromiseNx<T extends any> extends Promise<T> {
protected m_executor?: PromiseExecutor<T>;
constructor(executor?: (resolve: (value?: T) => void, reject: (reason?: any) => void, promise: Promise<T>) => any);
executor(resolve: (value?: T) => void, reject: (reason?: any) => void): void | Promise<void>;
}
/**
* @func promise(executor)
*/
export declare function promise<T extends any>(executor: (resolve: (value?: T) => void, reject: (reason?: any) => void, promise: Promise<T>) => any): Promise<T>;
export {};