mirror of
https://github.com/thinkjs/thinkjs.git
synced 2026-01-18 14:26:56 +00:00
2074 lines
49 KiB
TypeScript
2074 lines
49 KiB
TypeScript
// Type definitions for ThinkJS
|
|
// Project: https://github.com/75team/thinkjs
|
|
// Definitions by: Welefen Lee <https://github.com/welefen>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
/**
|
|
* empty object
|
|
*/
|
|
interface EmptyObject {}
|
|
|
|
/**
|
|
* error instance
|
|
*/
|
|
interface ErrorObject {
|
|
/**
|
|
* error name
|
|
* @type {string}
|
|
*/
|
|
name: string;
|
|
/**
|
|
* error message
|
|
* @type {string}
|
|
*/
|
|
message: string;
|
|
/**
|
|
* error stack
|
|
* @type {string}
|
|
*/
|
|
stack: string;
|
|
}
|
|
|
|
declare module think {
|
|
/**
|
|
* defer object
|
|
*/
|
|
interface DeferObject {
|
|
/**
|
|
* resove
|
|
* @param {any} data []
|
|
*/
|
|
resolve(data: any): void;
|
|
/**
|
|
* reject
|
|
* @param {any} err []
|
|
*/
|
|
reject(err: any): void;
|
|
/**
|
|
* promise
|
|
* @type {Promise}
|
|
*/
|
|
promise: Promise;
|
|
}
|
|
/**
|
|
* Promise
|
|
*/
|
|
interface Promise {
|
|
/**
|
|
* then
|
|
* @param {Function} fn []
|
|
* @return {Promise} []
|
|
*/
|
|
then(fn: Function): Promise;
|
|
/**
|
|
* catch
|
|
* @param {Function} fn []
|
|
* @return {Promise} []
|
|
*/
|
|
catch(fn: Function): Promise;
|
|
}
|
|
|
|
/**
|
|
* prevent Promise
|
|
*/
|
|
interface PreventPromise extends Promise {
|
|
|
|
}
|
|
|
|
interface StringArray {
|
|
[index: number]: string;
|
|
}
|
|
|
|
interface MixedArray {
|
|
[index: number]: any;
|
|
}
|
|
|
|
/**
|
|
* db config
|
|
*/
|
|
interface DbConfObject{
|
|
host: string;
|
|
type: string
|
|
}
|
|
/**
|
|
* http object
|
|
*/
|
|
interface HttpObject {
|
|
/**
|
|
* request
|
|
* @type {EmptyObject}
|
|
*/
|
|
req: EmptyObject;
|
|
/**
|
|
* response
|
|
* @type {EmptyObject}
|
|
*/
|
|
res: EmptyObject;
|
|
/**
|
|
* error
|
|
* @type {EmptyObject}
|
|
*/
|
|
error: ErrorObject;
|
|
/**
|
|
* request start time
|
|
* @type {number}
|
|
*/
|
|
startTime: number;
|
|
/**
|
|
* request url
|
|
* @type {string}
|
|
*/
|
|
url: string;
|
|
/**
|
|
* http version
|
|
* @type {string}
|
|
*/
|
|
version: string;
|
|
/**
|
|
* http method
|
|
* @type {string}
|
|
*/
|
|
method: string;
|
|
/**
|
|
* request headers
|
|
* @type {EmptyObject}
|
|
*/
|
|
headers: EmptyObject;
|
|
/**
|
|
* host
|
|
* @type {string}
|
|
*/
|
|
host: string;
|
|
/**
|
|
* hostname
|
|
* @type {string}
|
|
*/
|
|
hostname: string;
|
|
/**
|
|
* request pathname
|
|
* @type {string}
|
|
*/
|
|
pathname: string;
|
|
/**
|
|
* query data
|
|
* @type {EmptyObject}
|
|
*/
|
|
query: EmptyObject;
|
|
/**
|
|
* file
|
|
* @type {EmptyObject}
|
|
*/
|
|
_file: EmptyObject;
|
|
/**
|
|
* post
|
|
* @type {EmptyObject}
|
|
*/
|
|
_post: EmptyObject;
|
|
/**
|
|
* cookie
|
|
* @type {EmptyObject}
|
|
*/
|
|
_cookie: EmptyObject;
|
|
/**
|
|
* cookie will be send to client
|
|
* @type {EmptyObject}
|
|
*/
|
|
_sendCookie: EmptyObject;
|
|
/**
|
|
* get
|
|
* @type {EmptyObject}
|
|
*/
|
|
_get: EmptyObject;
|
|
/**
|
|
* content type is sended
|
|
* @type {boolean}
|
|
*/
|
|
_contentTypeIsSend: boolean;
|
|
/**
|
|
* is resource request
|
|
* @type {boolean}
|
|
*/
|
|
_isResource: boolean;
|
|
/**
|
|
* request is end
|
|
* @type {boolean}
|
|
*/
|
|
_isEnd: boolean;
|
|
/**
|
|
* output content promise
|
|
* @type {MixedArray}
|
|
*/
|
|
_outputContentPromise: MixedArray;
|
|
/**
|
|
* view instance
|
|
* @type {EmptyObject}
|
|
*/
|
|
_view: EmptyObject;
|
|
/**
|
|
* session instance
|
|
* @type {EmptyObject}
|
|
*/
|
|
_session: EmptyObject;
|
|
/**
|
|
* request language
|
|
* @type {string}
|
|
*/
|
|
_lang: string;
|
|
/**
|
|
* set language to view path
|
|
* @type {boolean}
|
|
*/
|
|
_langAsViewPath: boolean;
|
|
/**
|
|
* config
|
|
* @type {EmptyObject}
|
|
*/
|
|
_config: EmptyObject;
|
|
/**
|
|
* error object
|
|
* @type {EmptyObject}
|
|
*/
|
|
_error: EmptyObject;
|
|
/**
|
|
* theme
|
|
* @type {string}
|
|
*/
|
|
_theme: string;
|
|
/**
|
|
* module
|
|
* @type {string}
|
|
*/
|
|
module: string;
|
|
/**
|
|
* controller
|
|
* @type {string}
|
|
*/
|
|
controller: string;
|
|
/**
|
|
* action
|
|
* @type {string}
|
|
*/
|
|
action: string;
|
|
/**
|
|
* post payload
|
|
* @type {string}
|
|
*/
|
|
payload: string;
|
|
/**
|
|
* run
|
|
* @return {Promise} []
|
|
*/
|
|
run(): Promise;
|
|
/**
|
|
* check request has payload data
|
|
* @return {boolean} []
|
|
*/
|
|
hasPayload(): boolean;
|
|
/**
|
|
* get payload data
|
|
* @return {Promise} []
|
|
*/
|
|
getPayload(): Promise;
|
|
/**
|
|
* parse payload data
|
|
*/
|
|
parsePayload(): void;
|
|
/**
|
|
* parse pathname
|
|
* @param {string} pathname []
|
|
* @return {string} []
|
|
*/
|
|
normalizePathname(pathname: string): string;
|
|
/**
|
|
* get or set config
|
|
* @param {string} name []
|
|
* @param {any} value []
|
|
* @return {any} []
|
|
*/
|
|
config(name?:string, value?:any): any;
|
|
/**
|
|
* get or set content-type
|
|
* @param {string} contentType []
|
|
* @param {string} encoding []
|
|
* @return {any} []
|
|
*/
|
|
type(contentType?:string, encoding?:string): any;
|
|
/**
|
|
* get userAgent
|
|
* @return {string} []
|
|
*/
|
|
userAgent(): string;
|
|
/**
|
|
* get referrer
|
|
* @param {boolean} host []
|
|
* @return {string} []
|
|
*/
|
|
referrer(host?:boolean): string;
|
|
/**
|
|
* is get request
|
|
* @return {boolean} []
|
|
*/
|
|
isGet(): boolean;
|
|
/**
|
|
* is post request
|
|
* @return {boolean} []
|
|
*/
|
|
isPost(): boolean;
|
|
/**
|
|
* is ajax request
|
|
* @param {string} method []
|
|
* @return {boolean} []
|
|
*/
|
|
isAjax(method?:string): boolean;
|
|
/**
|
|
* is jsonp request
|
|
* @param {string} name []
|
|
* @return {boolean} []
|
|
*/
|
|
isJsonp(name?:string): boolean;
|
|
/**
|
|
* get or set get value
|
|
* @param {string} name []
|
|
* @param {any} value []
|
|
* @return {any} []
|
|
*/
|
|
get(name?:string, value?:any): any;
|
|
/**
|
|
* set or set post value
|
|
* @param {string} name []
|
|
* @param {any} value []
|
|
* @return {any} []
|
|
*/
|
|
post(name?:string, value?: any): any;
|
|
/**
|
|
* get parameters
|
|
* @param {string} name []
|
|
* @return {any} []
|
|
*/
|
|
param(name?:string): any;
|
|
/**
|
|
* get or set file
|
|
* @param {string} name []
|
|
* @param {EmptyObject} value []
|
|
* @return {any} []
|
|
*/
|
|
file(name?:string, value?: EmptyObject): any;
|
|
/**
|
|
* get or set header
|
|
* @param {string} name []
|
|
* @param {string} value []
|
|
* @return {any} []
|
|
*/
|
|
header(name?:string, value?:string): any;
|
|
/**
|
|
* set status
|
|
* @param {number} status []
|
|
* @return {any} []
|
|
*/
|
|
status(status?:number): HttpObject;
|
|
/**
|
|
* get user ip
|
|
* @param {boolean} forward []
|
|
* @return {string} []
|
|
*/
|
|
ip(forward?:boolean): string;
|
|
/**
|
|
* get language
|
|
* @param {[type]} lang []
|
|
* @param {[type]} asViewPath []
|
|
* @return {any} []
|
|
*/
|
|
lang(): string;
|
|
/**
|
|
* set language
|
|
* @param {string} lang []
|
|
* @param {boolean} asViewPath []
|
|
*/
|
|
lang(lang: string, asViewPath?: boolean): void;
|
|
/**
|
|
* get theme
|
|
* @return {string} []
|
|
*/
|
|
theme(): string;
|
|
/**
|
|
* set theme
|
|
* @param {string} theme []
|
|
*/
|
|
theme(theme:string): void;
|
|
/**
|
|
* get or set cookie
|
|
* @param {string} name []
|
|
* @param {string} value []
|
|
* @param {EmptyObject} options []
|
|
* @return {any} []
|
|
*/
|
|
cookie(name?:string, value?:string, options?:EmptyObject): any;
|
|
/**
|
|
* redirect
|
|
* @param {string} url []
|
|
* @param {number} code []
|
|
*/
|
|
redirect(url?:string, code?:number):void;
|
|
/**
|
|
* send time
|
|
* @param {string} name []
|
|
*/
|
|
sendTime(name?:string):void;
|
|
/**
|
|
* send success data
|
|
* @param {any} data []
|
|
* @param {any} message []
|
|
*/
|
|
success(data?:any, message?: any): void;
|
|
/**
|
|
* send fail data
|
|
* @param {string | number} errno []
|
|
* @param {string} errmsg []
|
|
* @param {any} data []
|
|
*/
|
|
fail(errno?:string | number, errmsg?:string, data?:any): void;
|
|
/**
|
|
* send jsonp data
|
|
* @param {any} data []
|
|
*/
|
|
jsonp(data?:any):void;
|
|
/**
|
|
* send json data
|
|
* @param {any} data []
|
|
*/
|
|
json(data?:any):void;
|
|
/**
|
|
* get view instance
|
|
* @return {EmptyObject} []
|
|
*/
|
|
view(): EmptyObject;
|
|
/**
|
|
* set expires time
|
|
* @param {number} time []
|
|
*/
|
|
expires(time:number): void;
|
|
/**
|
|
* locale
|
|
* @param {MixedArray[]} ...args []
|
|
* @return {any} []
|
|
*/
|
|
locale(...args: MixedArray[]): any;
|
|
/**
|
|
* get or set session
|
|
* @param {string} name []
|
|
* @param {any} value []
|
|
* @return {Promise} []
|
|
*/
|
|
session(name?:string, value?:any): Promise;
|
|
/**
|
|
* write content
|
|
* @param {any} obj []
|
|
* @param {string} encoding []
|
|
*/
|
|
write(obj?:any, encoding?:string): void;
|
|
/**
|
|
* end
|
|
*/
|
|
_end():void;
|
|
/**
|
|
* after end
|
|
*/
|
|
_afterEnd():void;
|
|
/**
|
|
* end
|
|
* @param {any} obj []
|
|
* @param {string} encoding []
|
|
*/
|
|
end(obj?:any, encoding?:string):void;
|
|
}
|
|
|
|
/**
|
|
* to fast properties
|
|
* @param {EmptyObject} obj []
|
|
*/
|
|
export function toFastProperties(obj: EmptyObject): void;
|
|
/**
|
|
* promisify
|
|
* @param {any[]) => any} fn []
|
|
* @param {EmptyObject} recevier []
|
|
* @return {any} []
|
|
*/
|
|
export function promisify(fn: Function, recevier: any): any;
|
|
/**
|
|
* path seperator
|
|
* @type {string}
|
|
*/
|
|
export var sep: string;
|
|
/**
|
|
* is master
|
|
* @type {boolean}
|
|
*/
|
|
export var isMaster: boolean;
|
|
/**
|
|
* camel case
|
|
* @param {string} str []
|
|
* @return {string} []
|
|
*/
|
|
export function camelCase(str: string): string;
|
|
/**
|
|
* defer
|
|
* @return {deferObject} []
|
|
*/
|
|
export function defer(): DeferObject;
|
|
|
|
export function Class(superCtor: Function, props: EmptyObject): Function;
|
|
|
|
export function extend(target: any, ...source: any[]): EmptyObject;
|
|
|
|
export function isClass(obj: any): boolean;
|
|
|
|
export function isBoolean(obj: any): boolean;
|
|
|
|
export function isNumber(obj: any): boolean;
|
|
|
|
export function isObject(obj: any): boolean;
|
|
|
|
export function isString(obj: any): boolean;
|
|
|
|
export function isArray(obj: any): boolean;
|
|
|
|
export function isFunction(obj: any): boolean;
|
|
|
|
export function isDate(obj: any): boolean;
|
|
|
|
export function isRegExp(obj: any): boolean;
|
|
|
|
export function isError(obj: any): boolean;
|
|
|
|
export function isIP(obj: any): boolean;
|
|
|
|
export function isIP4(obj: any): boolean;
|
|
|
|
export function isIP6(obj: any): boolean;
|
|
|
|
export function isFile(obj: string): boolean;
|
|
|
|
export function isFileAsync(obj: string): Promise;
|
|
|
|
export function isDir(obj: string): boolean;
|
|
|
|
export function isDirAsync(obj: string): Promise;
|
|
|
|
export function isNumberString(obj: string): boolean;
|
|
|
|
export function isPromise(obj: any): boolean;
|
|
|
|
export function isWritable(obj: string): boolean;
|
|
|
|
export function isBuffer(obj: any): boolean;
|
|
|
|
export function isEmpty(obj: any): boolean;
|
|
|
|
export function clone(obj: any): any;
|
|
|
|
export function mkdir(dir: string): boolean;
|
|
|
|
export function rmdir(dir: string): Promise;
|
|
|
|
export function md5(str: string): string;
|
|
|
|
export function chmod(path: string): boolean;
|
|
|
|
export function getFiles(path: string): StringArray;
|
|
|
|
export function escapeHtml(str: string): string;
|
|
|
|
export function datetime(d: any): string;
|
|
|
|
/**
|
|
* The current version of ThinkJS
|
|
* @type {string}
|
|
*/
|
|
export var version: string;
|
|
/**
|
|
* current unix time
|
|
* @type {number}
|
|
*/
|
|
export var startTime: number;
|
|
/**
|
|
* dirname
|
|
*/
|
|
module dirname {
|
|
|
|
export var config: string;
|
|
|
|
export var controller: string;
|
|
|
|
export var model: string;
|
|
|
|
export var adapter: string;
|
|
|
|
export var logic: string;
|
|
|
|
export var service: string;
|
|
|
|
export var view: string;
|
|
|
|
export var middleware: string;
|
|
|
|
export var runtime: string;
|
|
|
|
export var common: string;
|
|
|
|
export var bootstrap: string;
|
|
|
|
export var locale: string;
|
|
}
|
|
/**
|
|
* env
|
|
* @type {string}
|
|
*/
|
|
export var env: string;
|
|
/**
|
|
* server port
|
|
* @type {number}
|
|
*/
|
|
export var port: number;
|
|
/**
|
|
* cli args
|
|
* @type {string}
|
|
*/
|
|
export var cli: string;
|
|
/**
|
|
* system language
|
|
* @type {string}
|
|
*/
|
|
export var lang: string;
|
|
|
|
export var mode: number;
|
|
|
|
export var mode_normal: number;
|
|
|
|
export var mode_module: number;
|
|
|
|
export var THINK_LIB_PATH: string;
|
|
|
|
export var THINK_PATH: string;
|
|
/**
|
|
* module list
|
|
* @type {Array<string>}
|
|
*/
|
|
export var module: Array<string>;
|
|
/**
|
|
* root path
|
|
* @type {string}
|
|
*/
|
|
export var ROOT_PATH: string;
|
|
/**
|
|
* app path
|
|
* @type {string}
|
|
*/
|
|
export var APP_PATH: string;
|
|
/**
|
|
* resource path
|
|
* @type {string}
|
|
*/
|
|
export var RESOURCE_PATH: string;
|
|
/**
|
|
* runtime path
|
|
* @type {string}
|
|
*/
|
|
export var RUNTIME_PATH: string;
|
|
|
|
export function reject(err: any): Promise;
|
|
|
|
export function isHttp(obj: any): boolean;
|
|
|
|
interface think_base {
|
|
new(...args: any[]): think_base_instance;
|
|
}
|
|
/**
|
|
* think.base instance
|
|
*/
|
|
interface think_base_instance {
|
|
/**
|
|
* init
|
|
* @param {any[]} ...args []
|
|
*/
|
|
init(...args:any[]): void;
|
|
/**
|
|
* invoke
|
|
* @param {string} method []
|
|
* @param {any[]} ...data []
|
|
* @return {Promise} []
|
|
*/
|
|
invoke(method: string, ...data: any[]): Promise;
|
|
/**
|
|
* get file basename, without extname
|
|
* @param {string} filepath []
|
|
* @return {string} []
|
|
*/
|
|
basename(filepath?: string): string;
|
|
}
|
|
|
|
export var base: think_base;
|
|
|
|
|
|
interface think_validate {
|
|
/**
|
|
* register
|
|
* @type {string}
|
|
*/
|
|
(name: string, callback: Function): void;
|
|
/**
|
|
* get
|
|
* @type {[type]}
|
|
*/
|
|
(name: string): Function;
|
|
/**
|
|
* exec
|
|
* @type {EmptyObject}
|
|
*/
|
|
(name: EmptyObject, msg?: EmptyObject): EmptyObject;
|
|
/**
|
|
* exec
|
|
* @param {EmptyObject} rules []
|
|
* @param {EmptyObject} msg []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
exec(rules: EmptyObject, msg?: EmptyObject): EmptyObject;
|
|
/**
|
|
* get values
|
|
* @param {EmptyObject} rules []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
values(rules: EmptyObject): EmptyObject;
|
|
/**
|
|
* parse string rule to object
|
|
* @param {string} rule []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
parse(rule: string): EmptyObject;
|
|
}
|
|
|
|
export var validate:think_validate;
|
|
|
|
|
|
interface think_middleware {
|
|
/**
|
|
* register
|
|
* @type {string}
|
|
*/
|
|
(name: string, callback: Function): void;
|
|
/**
|
|
* get
|
|
* @type {[type]}
|
|
*/
|
|
(name: string): Function;
|
|
/**
|
|
* exec
|
|
* @type {string}
|
|
*/
|
|
(name: string, http: HttpObject, data?: any): Promise;
|
|
|
|
/**
|
|
* create
|
|
* @param {any} superClass []
|
|
* @param {EmptyObject} methods []
|
|
* @return {Function} []
|
|
*/
|
|
create(superClass: any, methods: EmptyObject): Function;
|
|
|
|
/**
|
|
* get
|
|
* @param {string} name []
|
|
* @return {Function} []
|
|
*/
|
|
get(name: string): Function;
|
|
|
|
/**
|
|
* exec
|
|
* @param {string} name []
|
|
* @param {HttpObject} http []
|
|
* @param {any} data []
|
|
* @return {Promise} []
|
|
*/
|
|
exec(name: string, http: HttpObject, data?: any): Promise;
|
|
/**
|
|
* think.middleware.base
|
|
* @type {think_middleware_base}
|
|
*/
|
|
base: think_middleware_base
|
|
}
|
|
|
|
interface think_middleware_base {
|
|
new(http: HttpObject): think_middleware_base_instance
|
|
}
|
|
|
|
interface think_middleware_base_instance extends think_http_base_instance {
|
|
/**
|
|
* run
|
|
* @return {any} []
|
|
*/
|
|
run(): any;
|
|
}
|
|
|
|
export var middleware: think_middleware;
|
|
|
|
|
|
interface think_hook{
|
|
/**
|
|
* get hook
|
|
* @type {[type]}
|
|
*/
|
|
(name: string): StringArray;
|
|
/**
|
|
* hook
|
|
* @type {string}
|
|
*/
|
|
(name: string, value: any): void;
|
|
/**
|
|
* [name ]
|
|
* @type {string}
|
|
*/
|
|
(name: string, http: HttpObject, data?: any): Promise;
|
|
/**
|
|
* set function
|
|
* @param {[type]} name []
|
|
* @param {Function} fn []
|
|
*/
|
|
set(name, fn: Function): void;
|
|
/**
|
|
* set array
|
|
* @param {[type]} name []
|
|
* @param {StringArray} arr []
|
|
*/
|
|
set(name, arr: StringArray): void;
|
|
/**
|
|
* exec
|
|
* @param {string} name []
|
|
* @param {HttpObject} http []
|
|
* @param {any} data []
|
|
* @return {Promise} []
|
|
*/
|
|
exec(name: string, http: HttpObject, data?: any): Promise;
|
|
}
|
|
|
|
export var hook: think_hook;
|
|
|
|
|
|
interface think_route {
|
|
(route: MixedArray): void;
|
|
(route: EmptyObject): void;
|
|
(): MixedArray;
|
|
(): EmptyObject;
|
|
}
|
|
|
|
export var route: think_route;
|
|
|
|
|
|
interface think_config {
|
|
/**
|
|
* set config
|
|
* @type {string}
|
|
*/
|
|
(name: string, value: any): void;
|
|
/**
|
|
* get config
|
|
* @type {[type]}
|
|
*/
|
|
(name: string): any;
|
|
}
|
|
|
|
export var config: think_config;
|
|
|
|
export function getModuleConfig(): EmptyObject;
|
|
|
|
interface think_co {
|
|
(fn: Function): Promise;
|
|
(obj: any): Promise;
|
|
wrap(fn: Function): Function;
|
|
}
|
|
|
|
export var co: think_co;
|
|
|
|
export function Class(): Function;
|
|
|
|
export function lookClass(name: string, type: string, module?: string, base?: string): any;
|
|
|
|
export function getPath(module?: string, type?: string, prefix?: string): string;
|
|
|
|
export function require(name: string, flag?: boolean): any;
|
|
|
|
export function safeRequire(file: string): any;
|
|
|
|
export function parseConfig(...args: any[]): EmptyObject;
|
|
|
|
export function prevent(): Promise;
|
|
|
|
export function log(str: string | EmptyObject, type?: string, showTime?: boolean | number): void;
|
|
|
|
|
|
|
|
interface think_adapter_base{
|
|
new(...args: any[]): think_adapter_base_instance;
|
|
}
|
|
|
|
interface think_adapter_base_instance extends think_base_instance {
|
|
/**
|
|
* parse config
|
|
* @param {any[]} ...args []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
//parseConfig(...args: any[]): EmptyObject;
|
|
}
|
|
|
|
interface think_adapter {
|
|
(type: string, name: string, fn: Function): void;
|
|
(type: string, name: string, fn: EmptyObject): Function;
|
|
(type: string, name: EmptyObject): Function;
|
|
(type: string, name: string): Function;
|
|
(type: EmptyObject): Function;
|
|
(type: Function, name: EmptyObject): Function;
|
|
base: think_adapter_base
|
|
}
|
|
|
|
export var adapter: think_adapter;
|
|
|
|
export function loadAdapter(type?: string, base?: string): void;
|
|
|
|
export function alias(type: string, paths: StringArray, slash?: boolean): void;
|
|
|
|
export function gc(instance: EmptyObject): void;
|
|
|
|
|
|
interface think_http {
|
|
/**
|
|
* get http
|
|
* @type {[type]}
|
|
*/
|
|
(req: string | EmptyObject, res?: EmptyObject | boolean): Promise;
|
|
/**
|
|
* think.http.base
|
|
* @type {think_http_base}
|
|
*/
|
|
base: think_http_base;
|
|
}
|
|
|
|
interface think_http_base {
|
|
new(http: HttpObject): think_http_base_instance;
|
|
}
|
|
|
|
interface think_http_base_instance extends think_base_instance {
|
|
/**
|
|
* http object
|
|
* @type {HttpObject}
|
|
*/
|
|
http: HttpObject;
|
|
/**
|
|
* get config
|
|
* @param {string} name []
|
|
* @return {any} []
|
|
*/
|
|
config(name: string): any;
|
|
/**
|
|
* set config
|
|
* @param {string} name []
|
|
* @param {any} value []
|
|
*/
|
|
config(name: string, value: any): void;
|
|
/**
|
|
* invoke action
|
|
* @param {string} controller []
|
|
* @param {string} action []
|
|
* @param {boolean} transMCA []
|
|
* @return {Promise} []
|
|
*/
|
|
action(controller: string, action: string, transMCA?: boolean): Promise;
|
|
/**
|
|
* invoke action
|
|
* @param {think_controller_base} controller []
|
|
* @param {string} action []
|
|
* @param {boolean} transMCA []
|
|
* @return {Promise} []
|
|
*/
|
|
action(controller: think_controller_base_instance, action: string, transMCA?: boolean): Promise;
|
|
/**
|
|
* get or set cache
|
|
* @param {string} key []
|
|
* @param {any} value []
|
|
* @param {string | EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
cache(key: string, value?: any, options?: string | EmptyObject): Promise;
|
|
/**
|
|
* exec hook
|
|
* @param {string} event []
|
|
* @param {any} data []
|
|
* @return {Promise} []
|
|
*/
|
|
hook(event: string, data?: any): Promise;
|
|
/**
|
|
* get model instance
|
|
* @param {string} name []
|
|
* @param {string | EmptyObject} options []
|
|
* @param {string} module []
|
|
* @return {think_model_base} []
|
|
*/
|
|
model(name: string, options: string | EmptyObject, module?: string): think_model_base_instance;
|
|
/**
|
|
* get controller instance
|
|
* @param {string} name []
|
|
* @param {string} module []
|
|
* @return {think_controller_base} []
|
|
*/
|
|
controller(name: string, module?: string): think_controller_base_instance;
|
|
/**
|
|
* get service
|
|
* @param {string} name []
|
|
* @param {string} module []
|
|
* @return {any} []
|
|
*/
|
|
service(name: string, module?: string): any;
|
|
}
|
|
|
|
export var http: think_http;
|
|
/**
|
|
* get uuid
|
|
* @param {number} length []
|
|
* @return {string} []
|
|
*/
|
|
export function uuid(length?: number): string;
|
|
|
|
/**
|
|
* session
|
|
* @param {HttpObject} http []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
export function session(http: HttpObject): EmptyObject;
|
|
|
|
interface think_controller{
|
|
/**
|
|
* get controller instance
|
|
* @type {string}
|
|
*/
|
|
(superClass: string, http: HttpObject): think_controller_base_instance;
|
|
/**
|
|
* get controller instance
|
|
* @type {string}
|
|
*/
|
|
(superClass: string, http: any, module: string): think_controller_base_instance;
|
|
/**
|
|
* create controller
|
|
* @type {Function}
|
|
*/
|
|
(superClass: Function, methods: EmptyObject): Function;
|
|
/**
|
|
* create controller
|
|
* @type {[type]}
|
|
*/
|
|
(superClass: EmptyObject): Function;
|
|
/**
|
|
* think.controller.base class
|
|
* @type {think_controller_base}
|
|
*/
|
|
base: think_controller_base;
|
|
/**
|
|
* think.controller.rest class
|
|
* @type {think_controller_rest}
|
|
*/
|
|
rest: think_controller_rest;
|
|
}
|
|
|
|
interface think_controller_base {
|
|
new(http: HttpObject): think_controller_base_instance
|
|
}
|
|
|
|
interface think_controller_base_instance extends think_http_base_instance {
|
|
/**
|
|
* get ip
|
|
* @return {string} []
|
|
*/
|
|
ip(): string;
|
|
/**
|
|
* get view instance
|
|
* @return {EmptyObject} []
|
|
*/
|
|
view(): EmptyObject;
|
|
/**
|
|
* get http method
|
|
* @return {string} []
|
|
*/
|
|
method(): string;
|
|
/**
|
|
* is method
|
|
* @param {string} method []
|
|
* @return {boolean} []
|
|
*/
|
|
isMethod(method: string): boolean;
|
|
/**
|
|
* is get
|
|
* @return {boolean} []
|
|
*/
|
|
isGet(): boolean;
|
|
/**
|
|
* is post
|
|
* @return {boolean} []
|
|
*/
|
|
isPost(): boolean;
|
|
/**
|
|
* is ajax request
|
|
* @param {string} method []
|
|
* @return {boolean} []
|
|
*/
|
|
isAjax(method?: string): boolean;
|
|
/**
|
|
* is websocket request
|
|
* @return {boolean} []
|
|
*/
|
|
isWebSocket(): boolean;
|
|
/**
|
|
* is cli env
|
|
* @return {boolean} []
|
|
*/
|
|
isCli(): boolean;
|
|
/**
|
|
* is jsonp request
|
|
* @param {string} name []
|
|
* @return {boolean} []
|
|
*/
|
|
isJsonp(name?: string): boolean;
|
|
|
|
/**
|
|
* get all parameters
|
|
* @return {EmptyObject} []
|
|
*/
|
|
get(): EmptyObject;
|
|
/**
|
|
* get one paramter
|
|
* @param {string} name []
|
|
* @return {any} []
|
|
*/
|
|
get(name: string): any;
|
|
/**
|
|
* set one paramter value
|
|
* @param {string} name []
|
|
* @param {any} value []
|
|
*/
|
|
get(name: string, value: any): void;
|
|
/**
|
|
* get all post parameters
|
|
* @return {EmptyObject} []
|
|
*/
|
|
post(): EmptyObject;
|
|
/**
|
|
* get one post parameter
|
|
* @param {string} name []
|
|
* @return {any} []
|
|
*/
|
|
post(name: string): any;
|
|
/**
|
|
* set one post parameter
|
|
* @param {string} name []
|
|
* @param {any} value []
|
|
*/
|
|
post(name: string, value: any): void;
|
|
/**
|
|
* get all parameters
|
|
* @return {EmptyObject} []
|
|
*/
|
|
param(): EmptyObject;
|
|
/**
|
|
* get one parameter
|
|
* @param {string} name []
|
|
* @return {any} []
|
|
*/
|
|
param(name: string): any;
|
|
/**
|
|
* get all upload files
|
|
* @return {EmptyObject} []
|
|
*/
|
|
file(): EmptyObject;
|
|
/**
|
|
* get one upload file
|
|
* @param {string} name []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
file(name: string): EmptyObject;
|
|
/**
|
|
* set one upload file
|
|
* @param {string} name []
|
|
* @param {any} value []
|
|
*/
|
|
file(name: string, value: any): void;
|
|
/**
|
|
* get all request headers
|
|
* @return {EmptyObject} []
|
|
*/
|
|
header(): EmptyObject;
|
|
/**
|
|
* get one header
|
|
* @param {string} name []
|
|
* @return {string} []
|
|
*/
|
|
header(name: string): string;
|
|
/**
|
|
* set one header
|
|
* @param {string} name []
|
|
* @param {string} value []
|
|
*/
|
|
header(name: string, value: string): void;
|
|
/**
|
|
* get request userAgent
|
|
* @return {string} []
|
|
*/
|
|
userAgent(): string;
|
|
/**
|
|
* get request referrer
|
|
* @param {boolean} onlyHost []
|
|
* @return {string} []
|
|
*/
|
|
referrer(onlyHost?: boolean): string;
|
|
/**
|
|
* get all cookies
|
|
* @return {EmptyObject} []
|
|
*/
|
|
cookie(): EmptyObject;
|
|
/**
|
|
* get one cookie
|
|
* @param {string} name []
|
|
* @return {string} []
|
|
*/
|
|
cookie(name: string): string;
|
|
/**
|
|
* set one cookie
|
|
* @param {string} name []
|
|
* @param {string} value []
|
|
* @param {any} options []
|
|
*/
|
|
cookie(name: string, value: string, options?: any): void;
|
|
/**
|
|
* get session data
|
|
* @param {string} name []
|
|
* @return {Promise} []
|
|
*/
|
|
session(name: string): Promise;
|
|
/**
|
|
* set or remove session data
|
|
* @param {string} name []
|
|
* @param {any} value []
|
|
* @return {Promise} []
|
|
*/
|
|
session(name: string, value: any): Promise;
|
|
/**
|
|
* get language
|
|
* @return {string} []
|
|
*/
|
|
lang(): string;
|
|
/**
|
|
* set language
|
|
* @param {string} lang []
|
|
* @param {boolean} asViewPath []
|
|
*/
|
|
lang(lang:string, asViewPath?: boolean): void;
|
|
/**
|
|
* get all locales
|
|
* @return {EmptyObject} []
|
|
*/
|
|
locale(): EmptyObject;
|
|
/**
|
|
* get one locale
|
|
* @param {string} key []
|
|
* @param {string[]} ...data []
|
|
* @return {string} []
|
|
*/
|
|
locale(key: string, ...data: string[]): string;
|
|
/**
|
|
* redirect
|
|
* @param {string} url []
|
|
* @param {number} code []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
redirect(url?: string, code?: number): PreventPromise;
|
|
/**
|
|
* assign data
|
|
* @param {string} name [description]
|
|
* @param {any} value [description]
|
|
* @return {any} [description]
|
|
*/
|
|
assign(name: string, value: any): any;
|
|
/**
|
|
* get assign data
|
|
* @param {string} name [description]
|
|
* @return {any} [description]
|
|
*/
|
|
assign(name: string): any;
|
|
/**
|
|
* get all assign data
|
|
* @return {EmptyObject} [description]
|
|
*/
|
|
assign(): EmptyObject;
|
|
/**
|
|
* assign object
|
|
* @param {EmptyObject} name [description]
|
|
* @return {any} [description]
|
|
*/
|
|
assign(name: EmptyObject): any;
|
|
/**
|
|
* get template content after render
|
|
* @param {string} templateFile []
|
|
* @return {Promise} []
|
|
*/
|
|
fetch(templateFile: string, data?: any, config?: any): Promise;
|
|
/**
|
|
* display template file
|
|
* @param {string} templateFile []
|
|
* @param {string} charset []
|
|
* @param {string} contentType []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
display(templateFile?: string, charset?: string, contentType?: string): PreventPromise;
|
|
/**
|
|
* render template file
|
|
* @param {string} templateFile []
|
|
* @param {string} charset []
|
|
* @param {string} contentType []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
render(templateFile?: string, charset?: string, contentType?: string): PreventPromise;
|
|
/**
|
|
* send jsonp data
|
|
* @param {any} data []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
jsonp(data: any): PreventPromise;
|
|
/**
|
|
* send json data
|
|
* @param {any} data []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
json(data: any): PreventPromise;
|
|
/**
|
|
* set http status
|
|
* @param {number} status []
|
|
* @return {think_controller_base_instance} []
|
|
*/
|
|
status(status?: number): think_controller_base_instance;
|
|
/**
|
|
* deny request
|
|
* @param {number} status []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
deny(status?: number): PreventPromise;
|
|
/**
|
|
* set expires
|
|
* @param {number} time []
|
|
* @return {think_controller_base_instance} []
|
|
*/
|
|
expires(time: number): think_controller_base_instance;
|
|
/**
|
|
* send some content
|
|
* @param {any} obj []
|
|
* @param {string} encoding []
|
|
*/
|
|
write(obj: any, encoding?: string): void;
|
|
/**
|
|
* end request
|
|
* @param {any} obj []
|
|
* @param {string} encoding []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
end(obj: any, encoding?: string): PreventPromise;
|
|
/**
|
|
* send content and end request
|
|
* @param {any} obj []
|
|
* @param {string} encoding []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
send(obj: any, encoding?: string): PreventPromise;
|
|
/**
|
|
* get content-type
|
|
* @return {string} []
|
|
*/
|
|
type(): string;
|
|
/**
|
|
* set conent-type
|
|
* @param {string} type []
|
|
* @param {string} encoding []
|
|
*/
|
|
type(type: string, encoding?: string): void;
|
|
/**
|
|
* download file
|
|
* @param {string} filepath []
|
|
* @param {string} contentType []
|
|
* @param {string} filename []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
download(filepath: string, contentType?: string, filename?: string): PreventPromise;
|
|
/**
|
|
* send success data
|
|
* @param {any} data []
|
|
* @param {any} message []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
success(data: any, message?: any): PreventPromise;
|
|
/**
|
|
* send fail data
|
|
* @param {number | string} errno []
|
|
* @param {string} errmsg []
|
|
* @param {any} data []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
fail(errno?: number | string, errmsg?: string, data?: any): PreventPromise;
|
|
/**
|
|
* send fail data, alias fail method
|
|
* @param {number | string} errno []
|
|
* @param {string} errmsg []
|
|
* @param {any} data []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
error(errno?: number | string, errmsg?: string, data?: any): PreventPromise;
|
|
/**
|
|
* send exec time
|
|
* @param {string} name []
|
|
*/
|
|
sendTime(name: string): void;
|
|
/**
|
|
* emit event
|
|
* @param {string} event []
|
|
* @param {any} data []
|
|
*/
|
|
emit(event: string, data: any): void;
|
|
/**
|
|
* boradcast event
|
|
* @param {string} event []
|
|
* @param {any} data []
|
|
*/
|
|
broadcast(event: string, data: any): void;
|
|
}
|
|
|
|
interface think_controller_rest {
|
|
new(http: HttpObject): think_controller_rest_instance
|
|
}
|
|
|
|
interface think_controller_rest_instance extends think_controller_base_instance {
|
|
_isRest: boolean;
|
|
_method: string;
|
|
modelInstance: think_model_base_instance;
|
|
resource: string;
|
|
id: string;
|
|
|
|
getResource(): string;
|
|
getId(): string;
|
|
getAction(): PreventPromise;
|
|
postAction(): PreventPromise;
|
|
putAction(): PreventPromise;
|
|
deleteAction(): PreventPromise;
|
|
__call(): PreventPromise;
|
|
}
|
|
|
|
export var controller: think_controller;
|
|
|
|
|
|
interface think_logic {
|
|
/**
|
|
* get instance
|
|
* @type {string}
|
|
*/
|
|
(name: string, http: HttpObject): think_logic_base_instance;
|
|
/**
|
|
* get instance
|
|
* @type {string}
|
|
*/
|
|
(name: string, http: any, module: string): think_logic_base_instance;
|
|
/**
|
|
* create logic class
|
|
* @type {[type]}
|
|
*/
|
|
(superClass?: any, methods?: EmptyObject): think_logic_base;
|
|
/**
|
|
* think.logic.base class
|
|
* @type {think_logic_base}
|
|
*/
|
|
base: think_logic_base;
|
|
}
|
|
interface think_logic_base {
|
|
new(http: HttpObject): think_logic_base_instance;
|
|
}
|
|
|
|
interface think_logic_base_instance extends think_controller_base_instance{
|
|
validate(rules?: EmptyObject): boolean;
|
|
errors(): any;
|
|
__after(): any;
|
|
}
|
|
|
|
export var logic: think_logic;
|
|
|
|
interface think_model {
|
|
/**
|
|
* get model instance
|
|
* @type {string}
|
|
*/
|
|
(name: string, config: DbConfObject): think_model_$base_instance;
|
|
/**
|
|
* create model
|
|
* @type {any}
|
|
*/
|
|
(name: any, method: EmptyObject): think_model_base | think_model_mongo;
|
|
/**
|
|
* think.model.base class
|
|
* @type {think_model_base}
|
|
*/
|
|
base: think_model_base;
|
|
/**
|
|
* think.model.mongo class
|
|
* @type {think_model_mongo}
|
|
*/
|
|
mongo: think_model_mongo;
|
|
}
|
|
|
|
interface think_model_base {
|
|
new(name?: string, config?: EmptyObject): think_model_base_instance;
|
|
}
|
|
|
|
interface think_model_mongo {
|
|
new(name?: string, config?: EmptyObject): think_model_mongo_instance;
|
|
}
|
|
|
|
interface think_model_$base_instance extends think_base {
|
|
pk: string;
|
|
name: string;
|
|
tablePrefix: string;
|
|
tableName: string;
|
|
schema: EmptyObject;
|
|
_data: EmptyObject;
|
|
_options: EmptyObject;
|
|
init(name: string, config: EmptyObject): void;
|
|
init(config: EmptyObject): void;
|
|
model(name: string, config?: EmptyObject, module?: string): think_model_$base_instance;
|
|
getTablePrefix(): string;
|
|
db(): EmptyObject;
|
|
getModelName(): string;
|
|
getTableName(): string;
|
|
cache(key: string, timeout?: number): think_model_$base_instance;
|
|
cache(key: EmptyObject): think_model_$base_instance;
|
|
limit(): think_model_$base_instance;
|
|
limit(offset: number, length?: number): think_model_$base_instance;
|
|
page(): think_model_$base_instance;
|
|
page(page: number, listRows?: number): think_model_$base_instance;
|
|
where(): think_model_$base_instance;
|
|
where(where: string | EmptyObject): think_model_$base_instance;
|
|
field(field?: string, reverse?:boolean): think_model_$base_instance;
|
|
fieldReverse(reverse?:boolean): think_model_$base_instance;
|
|
table(table?: string, prefix?:string): think_model_$base_instance;
|
|
union(union?: string, all?: boolean): think_model_$base_instance;
|
|
join(join?: string | EmptyObject): think_model_$base_instance;
|
|
order(order?: string | StringArray): think_model_$base_instance;
|
|
alias(alias?: string): think_model_$base_instance;
|
|
having(having?:string): think_model_$base_instance;
|
|
group(group?:string): think_model_$base_instance;
|
|
lock(lock?:boolean):think_model_$base_instance;
|
|
auto(auto?:any):think_model_$base_instance;
|
|
filter(filter?:any): think_model_$base_instance;
|
|
distinct(distinct?:string): think_model_$base_instance;
|
|
explain(explain?:boolean): think_model_$base_instance;
|
|
optionsFilter(options:EmptyObject): EmptyObject;
|
|
dataFilter(data:any): any;
|
|
beforeAdd(data:any):any;
|
|
afterAdd(data:any):any;
|
|
afterDelete(data: any): any;
|
|
beforeUpdate(data: any): any;
|
|
afterUpdate(data: any): any;
|
|
afterFind(data: any): any;
|
|
afterSelect(data: any): any;
|
|
data(data: any): any;
|
|
options(options: any): any;
|
|
close(): void;
|
|
}
|
|
|
|
interface think_model_base_instance extends think_model_$base_instance {
|
|
/**
|
|
* get table schema
|
|
* @param {string} table []
|
|
* @return {Promise} []
|
|
*/
|
|
getSchema(table?:string): Promise;
|
|
/**
|
|
* get unique field in schema
|
|
* @param {MixedArray[]} data []
|
|
* @return {string} []
|
|
*/
|
|
getUniqueField(data?: MixedArray[]): string;
|
|
/**
|
|
* get last sql
|
|
* @return {string} []
|
|
*/
|
|
getLastSql(): string;
|
|
/**
|
|
* get pk
|
|
* @return {Promise} []
|
|
*/
|
|
getPk(): Promise;
|
|
/**
|
|
* build sql
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
buildSql(options?:EmptyObject): Promise;
|
|
/**
|
|
* parse options
|
|
* @param {EmptyObject} opt1 []
|
|
* @param {EmptyObject} opt2 []
|
|
* @return {Promise} []
|
|
*/
|
|
parseOptions(opt1?: EmptyObject, opt2?: EmptyObject): Promise;
|
|
/**
|
|
* parse where options
|
|
* @param {EmptyObject} options []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
parseWhereOptions(options: EmptyObject): EmptyObject;
|
|
/**
|
|
* parse type
|
|
* @param {string} key []
|
|
* @param {EmptyObject} value []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
parseType(key: string, value: EmptyObject): EmptyObject;
|
|
/**
|
|
* parse data
|
|
* @param {EmptyObject} data []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
parseData(data: EmptyObject): EmptyObject;
|
|
/**
|
|
* add data
|
|
* @param {EmptyObject} data []
|
|
* @param {EmptyObject} options []
|
|
* @param {boolean} replace []
|
|
* @return {Promise} []
|
|
*/
|
|
add(data: EmptyObject, options?: EmptyObject, replace?:boolean): Promise;
|
|
/**
|
|
* then add
|
|
* @param {EmptyObject} data []
|
|
* @param {[type]} where? any []
|
|
* @return {Promise} []
|
|
*/
|
|
thenAdd(data: EmptyObject, where?: any): Promise;
|
|
/**
|
|
* add many
|
|
* @param {MixedArray} data []
|
|
* @param {EmptyObject} options []
|
|
* @param {boolean} replace []
|
|
* @return {Promise} []
|
|
*/
|
|
addMany(data: MixedArray, options?: EmptyObject, replace?: boolean): Promise;
|
|
/**
|
|
* delete
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
delete(options: EmptyObject):Promise;
|
|
/**
|
|
* update data
|
|
* @param {EmptyObject} data []
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
update(data: EmptyObject, options?: EmptyObject): Promise;
|
|
/**
|
|
* update many
|
|
* @param {MixedArray} data []
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
updateMany(data: MixedArray, options?: EmptyObject): Promise;
|
|
/**
|
|
* increment field
|
|
* @param {string} field []
|
|
* @param {number} step []
|
|
* @return {Promise} []
|
|
*/
|
|
increment(field: string, step?:number): Promise;
|
|
/**
|
|
* decrement field
|
|
* @param {string} field []
|
|
* @param {number} step []
|
|
* @return {Promise} []
|
|
*/
|
|
decrement(field: string, step?:number): Promise;
|
|
/**
|
|
* find data
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
find(options?:EmptyObject): Promise;
|
|
/**
|
|
* select data
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
select(options?:EmptyObject): Promise;
|
|
/**
|
|
* select add
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
selectAdd(options?:EmptyObject): Promise;
|
|
/**
|
|
* count select
|
|
* @param {EmptyObject} options []
|
|
* @param {boolean} flag []
|
|
* @return {Promise} []
|
|
*/
|
|
countSelect(options?:EmptyObject, flag?:boolean): Promise;
|
|
/**
|
|
* get field data
|
|
* @param {string} field []
|
|
* @param {boolean | number} one []
|
|
* @return {Promise} []
|
|
*/
|
|
getField(field:string, one?:boolean | number): Promise;
|
|
/**
|
|
* count
|
|
* @param {string} field []
|
|
* @return {Promise} []
|
|
*/
|
|
count(field?:string): Promise;
|
|
/**
|
|
* sum
|
|
* @param {string} field []
|
|
* @return {Promise} []
|
|
*/
|
|
sum(field?:string): Promise;
|
|
/**
|
|
* get min value
|
|
* @param {[type]} field?string []
|
|
* @return {Promise} []
|
|
*/
|
|
min(field?:string): Promise;
|
|
/**
|
|
* get max value
|
|
* @param {string} field []
|
|
* @return {Promise} []
|
|
*/
|
|
max(field?:string): Promise;
|
|
/**
|
|
* get value average
|
|
* @param {string} field []
|
|
* @return {Promise} []
|
|
*/
|
|
avg(field?:string): Promise;
|
|
/**
|
|
* query
|
|
* @param {StringArray[]} ...args []
|
|
* @return {Promise} []
|
|
*/
|
|
query(...args: StringArray[]): Promise;
|
|
/**
|
|
* execute
|
|
* @param {StringArray[]} ...args []
|
|
* @return {Promise} []
|
|
*/
|
|
execute(...args: StringArray[]): Promise;
|
|
/**
|
|
* parse sql
|
|
* @param {StringArray[]} ...args []
|
|
* @return {string} []
|
|
*/
|
|
parseSql(...args: StringArray[]): string;
|
|
/**
|
|
* start transactions
|
|
* @return {Promise} []
|
|
*/
|
|
startTrans(): Promise;
|
|
/**
|
|
* commit transactions
|
|
* @return {Promise} []
|
|
*/
|
|
commit(): Promise;
|
|
/**
|
|
* rollback transactions
|
|
* @return {Promise} []
|
|
*/
|
|
rollback(): Promise;
|
|
/**
|
|
* transaction
|
|
* @param {Function} fn []
|
|
* @return {Promise} []
|
|
*/
|
|
transaction(fn: Function): Promise;
|
|
}
|
|
|
|
interface think_model_mongo_instance extends think_model_$base_instance {
|
|
/**
|
|
* get pk field
|
|
* @return {Promise} []
|
|
*/
|
|
getPk(): Promise;
|
|
/**
|
|
* create indexed
|
|
* @return {Promise} []
|
|
*/
|
|
_createIndexes(): Promise;
|
|
/**
|
|
* parse options
|
|
* @param {EmptyObject} opt1 []
|
|
* @param {EmptyObject} opt2 []
|
|
* @return {Promise} []
|
|
*/
|
|
parseOptions(opt1?: EmptyObject, opt2?: EmptyObject): Promise;
|
|
/**
|
|
* parse data
|
|
* @param {any} data []
|
|
* @return {any} []
|
|
*/
|
|
parseData(data: any): any;
|
|
/**
|
|
* get collection
|
|
* @param {string} table []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
collection(table?:string): EmptyObject;
|
|
/**
|
|
* add data
|
|
* @param {EmptyObject} data []
|
|
* @param {EmptyObject} options []
|
|
* @param {boolean} replace []
|
|
* @return {Promise} []
|
|
*/
|
|
add(data: EmptyObject, options?: EmptyObject, replace?:boolean): Promise;
|
|
/**
|
|
* then add
|
|
* @param {EmptyObject} data []
|
|
* @param {[type]} where? any []
|
|
* @return {Promise} []
|
|
*/
|
|
thenAdd(data: EmptyObject, where?: any): Promise;
|
|
/**
|
|
* add many
|
|
* @param {MixedArray} data []
|
|
* @param {EmptyObject} options []
|
|
* @param {boolean} replace []
|
|
* @return {Promise} []
|
|
*/
|
|
addMany(data: MixedArray, options?: EmptyObject, replace?: boolean): Promise;
|
|
/**
|
|
* delete
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
delete(options: EmptyObject):Promise;
|
|
/**
|
|
* update data
|
|
* @param {EmptyObject} data []
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
update(data: EmptyObject, options?: EmptyObject): Promise;
|
|
/**
|
|
* update many
|
|
* @param {MixedArray} data []
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
updateMany(data: MixedArray, options?: EmptyObject): Promise;
|
|
/**
|
|
* find
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
find(options?:EmptyObject): Promise;
|
|
/**
|
|
* select data
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
select(options?:EmptyObject): Promise;
|
|
/**
|
|
* select add
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
selectAdd(options?:EmptyObject): Promise;
|
|
/**
|
|
* count select
|
|
* @param {EmptyObject} options []
|
|
* @param {boolean} flag []
|
|
* @return {Promise} []
|
|
*/
|
|
countSelect(options?:EmptyObject, flag?:boolean): Promise;
|
|
/**
|
|
* increment field
|
|
* @param {string} field []
|
|
* @param {number} step []
|
|
* @return {Promise} []
|
|
*/
|
|
increment(field: string, step?:number): Promise;
|
|
/**
|
|
* decrement field
|
|
* @param {string} field []
|
|
* @param {number} step []
|
|
* @return {Promise} []
|
|
*/
|
|
decrement(field: string, step?:number): Promise;
|
|
/**
|
|
* count
|
|
* @param {string} field []
|
|
* @return {Promise} []
|
|
*/
|
|
count(field?:string): Promise;
|
|
/**
|
|
* sum
|
|
* @param {string} field []
|
|
* @return {Promise} []
|
|
*/
|
|
sum(field?:string): Promise;
|
|
/**
|
|
* aggregate
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
aggregate(options?:EmptyObject): Promise;
|
|
/**
|
|
* map reduce
|
|
* @param {any} map []
|
|
* @param {any} resuce []
|
|
* @param {any} out []
|
|
* @return {Promise} []
|
|
*/
|
|
mapReduce(map: any, resuce: any, out: any): Promise;
|
|
/**
|
|
* create index
|
|
* @param {any} indexes []
|
|
* @param {any} options []
|
|
* @return {Promise} []
|
|
*/
|
|
createIndex(indexes:any, options: any): Promise;
|
|
/**
|
|
* get indexes
|
|
* @return {Promise} []
|
|
*/
|
|
getIndexes(): Promise;
|
|
}
|
|
|
|
export var model: think_model;
|
|
|
|
interface think_service {
|
|
/**
|
|
* get service
|
|
* @type {[type]}
|
|
*/
|
|
(superClass: string): any;
|
|
/**
|
|
* create service
|
|
* @type {[type]}
|
|
*/
|
|
(): think_service_base;
|
|
/**
|
|
* think.service.base
|
|
* @type {think_service_base}
|
|
*/
|
|
base: think_service_base
|
|
}
|
|
|
|
interface think_service_base {
|
|
new(): think_service_base_instance;
|
|
}
|
|
|
|
interface think_service_base_instance extends think_base_instance {
|
|
|
|
}
|
|
|
|
export var service: think_service;
|
|
/**
|
|
* think.cache
|
|
* @param {string} name []
|
|
* @param {any} value []
|
|
* @param {any} options []
|
|
* @return {Promise} []
|
|
*/
|
|
export function cache(name: string, value?: any, options?: any): Promise;
|
|
/**
|
|
* think.locale
|
|
* @param {string} key []
|
|
* @param {string[]} ...data []
|
|
* @return {string} []
|
|
*/
|
|
export function locale(key?: string, ...data: string[]): string | EmptyObject;
|
|
/**
|
|
* think.await
|
|
* @param {string} key []
|
|
* @param {Function} callback []
|
|
* @return {Promise} []
|
|
*/
|
|
export function await(key: string, callback: Function): Promise;
|
|
/**
|
|
* think.npm
|
|
* @param {string} package []
|
|
* @return {Promise} []
|
|
*/
|
|
export function npm(pkg: string): Promise;
|
|
/**
|
|
* think.error
|
|
* @param {string | EmptyObject} err []
|
|
* @param {string} addOn []
|
|
* @return {EmptyObject} []
|
|
*/
|
|
export function error(err: string | EmptyObject, addOn?: string): ErrorObject;
|
|
/**
|
|
* think.statusAction
|
|
* @param {number} status []
|
|
* @param {HttpObject} http []
|
|
* @param {boolean} log []
|
|
* @return {PreventPromise} []
|
|
*/
|
|
export function statusAction(status?: number, http?: HttpObject, log?: boolean): PreventPromise;
|
|
/**
|
|
* think.waterfall
|
|
* @param {MixedArray} data []
|
|
* @param {any} callback []
|
|
* @return {Promise} []
|
|
*/
|
|
export function waterfall(data: MixedArray, callback: any): Promise;
|
|
/**
|
|
* think.parallelLimit
|
|
* @param {any} key []
|
|
* @param {any} data []
|
|
* @param {any} callback []
|
|
* @param {EmptyObject} options []
|
|
* @return {Promise} []
|
|
*/
|
|
export function parallelLimit(key?: any, data?: any, callback?: any, options?: EmptyObject): Promise;
|
|
|
|
}
|
|
|
|
interface thinkData {
|
|
hook: EmptyObject;
|
|
config: EmptyObject;
|
|
alias: EmptyObject;
|
|
export: EmptyObject;
|
|
route: any;
|
|
middleware: EmptyObject;
|
|
error: EmptyObject;
|
|
template: EmptyObject;
|
|
subController: EmptyObject;
|
|
}
|
|
|
|
declare var thinkData: thinkData;
|
|
|
|
interface thinkCache {
|
|
(type: string, name: string, value?: any): any;
|
|
MEMORY: string;
|
|
VIEW: string;
|
|
VIEW_CONTENT: string;
|
|
DB: string;
|
|
TABLE: string;
|
|
SESSION: string;
|
|
REDIS: string;
|
|
MEMCACHE: string;
|
|
TIMER: string;
|
|
AUTO_RELOAD: string;
|
|
COLLECTION: string;
|
|
WEBSOCKET: string;
|
|
LIMIT: string;
|
|
APP: string;
|
|
}
|
|
|
|
declare var thinkCache: thinkCache; |