-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathentityObject.ts
More file actions
121 lines (118 loc) · 4.91 KB
/
Copy pathentityObject.ts
File metadata and controls
121 lines (118 loc) · 4.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import { IJoinQueryObject } from './tinyDB.d';
import { IEntityObject, IDataContext, IQueryObject } from './tinyDB';
export class EntityObject<T extends IEntityObject> implements IEntityObject, IQueryObject<T>, IJoinQueryObject<T>{
Sum(qFn?: (entityObject: T) => void): Promise<number> {
return null;
}
Contains(feild: (x: T) => void, values: any[]): IQueryObject<T>;
Contains<K extends IEntityObject>(feild: (x: K) => void, values: any[], entity: K): IQueryObject<T>;
Contains(feild: any, values: any, entity?: any) {
return this;
}
Where(qFn: (x: T) => boolean, paramsKey?: string[], paramsValue?: any[]): IQueryObject<T>;
Where<K extends IEntityObject>(qFn: (x: K) => boolean, paramsKey?: string[], paramsValue?: any[], entity?: K): IQueryObject<T>;
Where(qFn: any, paramsKey?: any, paramsValue?: any, entity?: any) {
return this;
}
On<F extends IEntityObject>(func: (m: T, f: F) => void): IQueryObject<T>;
On<M extends IEntityObject, F extends IEntityObject>(func: (m: M, f: F) => void, mEntity: M): IQueryObject<T>;
On(func: any, mEntity?: any) {
return this;
}
LeftJoin<F extends IEntityObject>(fEntity: F): IJoinQueryObject<T> {
return this;
}
constructor(ctx?: IDataContext) { }
id: string;
toString(): string { return ""; }
/**
* 克隆复制对象
*
* @param {*} source 目标对象
* @param {any} destination 目的对象
* @param {boolean} [isDeep]
* @returns {T}
*
* @memberOf EntityObject
*/
clone(source: any, destination, isDeep?: boolean): T { return null; }
/**
* 左外连接查询
*
* @template K
* @param {(x: K) => void} qFn
* @param {K} entity
*
* @memberOf IQueryObject
*/
Join<K extends IEntityObject>(qFn: (x: K) => void, entity: K, mainFeild?: string, isMainTable?: boolean): IQueryObject<T> { return this; }
/**
* 从集合中查找是否有符合匹配的项,存在任何一项返回true,不存在返回false
* @param {(entityObject:T)=>boolean} qFn 查询条件函数
* @param {string[]} paramsKey? 参数名称列表
* @param {any[]} paramsValue? 参数值列表
* @param {(result:boolean)=>void} queryCallback? 结果回调函数
* @returns boolean
*/
Any(qFn: (entityObject: T) => boolean, paramsKey?: string[], paramsValue?: any[], queryCallback?: (result: boolean) => void): Promise<boolean> { return null; }
/**
* 根据查询条件返回第一项结果,存在返回实体对象,不存在返回null
* @param {(entityObject:T)=>boolean} qFn? 查询条件函数
* @param {string[]} paramsKey? 参数名称列表
* @param {any[]} paramsValue? 参数值列表
* @param {(result:T)=>void} queryCallback? 结果回调函数
* @returns T
*/
First(qFn?: (entityObject: T) => boolean,
paramsKey?: string[],
paramsValue?: any[],
queryCallback?: (result: T) => void): Promise<T> { return null; }
/**
* 执行查询条件。
* @param {(result:T[])=>void} queryCallback? 结果集回调函数
* @returns T[]
*/
ToList(queryCallback?: (result: T[]) => void): Promise<T[]> { return null; }
/**
* 获取查询结果集中的结果条数
* @param {(entityObject:T)=>boolean} qFn? 查询条件函数
* @param {string[]} paramsKey? 参数名称列表
* @param {any[]} paramsValue? 参数值列表
* @param {(result:number)=>void} queryCallback? 结果回调函数
* @returns number
*/
Count(qFn?: (entityObject: T) => boolean, paramsKey?: string[], paramsValue?: any[], queryCallback?: (result: number) => void): Promise<number> { return null; }
/**
* 查询排序
* @param {(x:T)=>void} qFn 查询条件函数
* @returns IQueryObject 查询对象
*/
OrderBy(qFn: (x: T) => any, entity?: IEntityObject): IQueryObject<T> { return this; }
/**
* 查询排序,倒序
* @param {(x:T)=>void} qFn 查询条件函数
* @returns IQueryObject 查询对象
*/
OrderByDesc(qFn: (x: T) => any, entity?: IEntityObject): IQueryObject<T> { return this; }
GroupBy(qFn: (x: T) => void): IQueryObject<T> { return this; }
/**
* 设置需要查询的字段
* @param {(x:T)=>void} qFn 查询条件函数
* @returns IQueryObject 查询对象
*/
Select(qFn: (x: T) => void): IQueryObject<T> { return this; }
/**
* 获取的结果条数
* @param {number} count 获取的数目
* @returns IQueryObject 查询对象
*/
Take(count: number) { return this; }
/**
* 跳过的结果条数
* @param {number} count 跳过查询的数目
* @returns IQueryObject 查询对象
*/
Skip(count: number): IQueryObject<T> { return this; }
Max(qFn: (x: T) => void): Promise<number> { return null; }
Min(qFn: (x: T) => void): Promise<number> { return null; }
}