@decaf-ts/core 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/core.bundle.min.js +1 -1
- package/dist/esm/core.bundle.min.esm.js +1 -1
- package/lib/esm/identity/decorators.d.ts +4 -10
- package/lib/esm/identity/decorators.js +57 -1
- package/lib/esm/identity/index.js +3 -1
- package/lib/esm/identity/utils.d.ts +2 -0
- package/lib/esm/identity/utils.js +6 -0
- package/lib/esm/index.d.ts +3 -1
- package/lib/esm/index.js +30 -1
- package/lib/esm/interfaces/Builder.js +3 -0
- package/lib/esm/interfaces/Executor.d.ts +3 -1
- package/lib/esm/interfaces/Executor.js +3 -0
- package/lib/esm/interfaces/Observable.js +3 -0
- package/lib/esm/interfaces/Observer.js +3 -0
- package/lib/esm/interfaces/Queriable.d.ts +6 -0
- package/lib/esm/interfaces/Queriable.js +3 -0
- package/lib/esm/interfaces/RawExecutor.d.ts +4 -3
- package/lib/esm/interfaces/RawExecutor.js +3 -0
- package/lib/esm/interfaces/Sequence.d.ts +3 -2
- package/lib/esm/interfaces/Sequence.js +10 -0
- package/lib/esm/interfaces/SequenceOptions.d.ts +9 -1
- package/lib/esm/interfaces/SequenceOptions.js +20 -0
- package/lib/esm/interfaces/index.d.ts +1 -0
- package/lib/esm/interfaces/index.js +10 -1
- package/lib/esm/model/BaseModel.d.ts +2 -3
- package/lib/esm/model/BaseModel.js +28 -1
- package/lib/esm/model/decorators.d.ts +6 -5
- package/lib/esm/model/decorators.js +55 -1
- package/lib/esm/model/index.js +4 -1
- package/lib/esm/persistence/Adapter.d.ts +43 -14
- package/lib/esm/persistence/Adapter.js +153 -1
- package/lib/esm/persistence/constants.d.ts +11 -1
- package/lib/esm/persistence/constants.js +14 -1
- package/lib/esm/persistence/decorators.d.ts +1 -2
- package/lib/esm/persistence/decorators.js +10 -1
- package/lib/esm/persistence/errors.d.ts +4 -0
- package/lib/esm/persistence/errors.js +8 -0
- package/lib/esm/persistence/index.d.ts +1 -0
- package/lib/esm/persistence/index.js +7 -1
- package/lib/esm/persistence/utils.d.ts +2 -2
- package/lib/esm/persistence/utils.js +12 -1
- package/lib/esm/query/Clause.d.ts +43 -0
- package/lib/esm/query/Clause.js +76 -0
- package/lib/esm/query/ClauseFactory.d.ts +71 -0
- package/lib/esm/query/ClauseFactory.js +7 -0
- package/lib/esm/query/Condition.d.ts +75 -0
- package/lib/esm/query/Condition.js +248 -0
- package/lib/esm/query/Query.d.ts +43 -0
- package/lib/esm/query/Query.js +55 -0
- package/lib/esm/query/Statement.d.ts +49 -0
- package/lib/esm/query/Statement.js +163 -0
- package/lib/esm/query/clauses/FromClause.d.ts +45 -0
- package/lib/esm/query/clauses/FromClause.js +60 -0
- package/lib/esm/query/clauses/GroupByClause.d.ts +21 -0
- package/lib/esm/query/clauses/GroupByClause.js +20 -0
- package/lib/esm/query/clauses/InsertClause.d.ts +37 -0
- package/lib/esm/query/clauses/InsertClause.js +56 -0
- package/lib/esm/query/clauses/LimitClause.d.ts +29 -0
- package/lib/esm/query/clauses/LimitClause.js +28 -0
- package/lib/esm/query/clauses/OffsetClause.d.ts +21 -0
- package/lib/esm/query/clauses/OffsetClause.js +20 -0
- package/lib/esm/query/clauses/OrderByClause.d.ts +37 -0
- package/lib/esm/query/clauses/OrderByClause.js +40 -0
- package/lib/esm/query/clauses/SelectClause.d.ts +47 -0
- package/lib/esm/query/clauses/SelectClause.js +63 -0
- package/lib/esm/query/clauses/SelectorBasedClause.d.ts +25 -0
- package/lib/esm/query/clauses/SelectorBasedClause.js +45 -0
- package/lib/esm/query/clauses/ValuesClause.d.ts +21 -0
- package/lib/esm/query/clauses/ValuesClause.js +37 -0
- package/lib/esm/query/clauses/WhereClause.d.ts +46 -0
- package/lib/esm/query/clauses/WhereClause.js +72 -0
- package/lib/esm/query/clauses/index.d.ts +10 -0
- package/lib/esm/query/clauses/index.js +12 -0
- package/lib/esm/query/constants.d.ts +79 -0
- package/lib/esm/query/constants.js +88 -0
- package/lib/esm/query/errors.d.ts +4 -0
- package/lib/esm/query/errors.js +8 -0
- package/lib/esm/query/index.d.ts +11 -0
- package/lib/esm/query/index.js +13 -0
- package/lib/esm/query/options.d.ts +371 -0
- package/lib/esm/query/options.js +3 -0
- package/lib/esm/query/selectors.d.ts +38 -0
- package/lib/esm/query/selectors.js +3 -0
- package/lib/esm/query/types.d.ts +2 -0
- package/lib/esm/query/types.js +3 -0
- package/lib/esm/repository/Repository.d.ts +27 -11
- package/lib/esm/repository/Repository.js +246 -1
- package/lib/esm/repository/constants.js +31 -1
- package/lib/esm/repository/decorators.d.ts +2 -3
- package/lib/esm/repository/decorators.js +27 -1
- package/lib/esm/repository/errors.js +16 -1
- package/lib/esm/repository/index.d.ts +1 -0
- package/lib/esm/repository/index.js +9 -1
- package/lib/esm/repository/injectables.d.ts +5 -0
- package/lib/esm/repository/injectables.js +32 -0
- package/lib/esm/repository/types.js +3 -0
- package/lib/esm/repository/utils.d.ts +4 -3
- package/lib/esm/repository/utils.js +45 -1
- package/lib/esm/validators/ClauseSequenceValidator.d.ts +28 -0
- package/lib/esm/validators/ClauseSequenceValidator.js +95 -0
- package/lib/esm/validators/decorators.d.ts +10 -0
- package/lib/esm/validators/decorators.js +25 -0
- package/lib/esm/validators/index.d.ts +2 -0
- package/lib/esm/validators/index.js +4 -0
- package/lib/identity/decorators.cjs +61 -1
- package/lib/identity/decorators.d.ts +4 -10
- package/lib/identity/index.cjs +19 -1
- package/lib/identity/utils.cjs +9 -0
- package/lib/identity/utils.d.ts +2 -0
- package/lib/index.cjs +47 -1
- package/lib/index.d.ts +3 -1
- package/lib/interfaces/Builder.cjs +4 -1
- package/lib/interfaces/Executor.cjs +4 -1
- package/lib/interfaces/Executor.d.ts +3 -1
- package/lib/interfaces/Observable.cjs +4 -1
- package/lib/interfaces/Observer.cjs +4 -1
- package/lib/interfaces/Queriable.cjs +4 -0
- package/lib/interfaces/Queriable.d.ts +6 -0
- package/lib/interfaces/RawExecutor.cjs +4 -1
- package/lib/interfaces/RawExecutor.d.ts +4 -3
- package/lib/interfaces/Sequence.cjs +11 -1
- package/lib/interfaces/Sequence.d.ts +3 -2
- package/lib/interfaces/SequenceOptions.cjs +23 -1
- package/lib/interfaces/SequenceOptions.d.ts +9 -1
- package/lib/interfaces/index.cjs +26 -1
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/model/BaseModel.cjs +32 -1
- package/lib/model/BaseModel.d.ts +2 -3
- package/lib/model/decorators.cjs +62 -1
- package/lib/model/decorators.d.ts +6 -5
- package/lib/model/index.cjs +20 -1
- package/lib/persistence/Adapter.cjs +157 -1
- package/lib/persistence/Adapter.d.ts +43 -14
- package/lib/persistence/constants.cjs +17 -1
- package/lib/persistence/constants.d.ts +11 -1
- package/lib/persistence/decorators.cjs +13 -1
- package/lib/persistence/decorators.d.ts +1 -2
- package/lib/persistence/errors.cjs +12 -0
- package/lib/persistence/errors.d.ts +4 -0
- package/lib/persistence/index.cjs +23 -1
- package/lib/persistence/index.d.ts +1 -0
- package/lib/persistence/utils.cjs +16 -1
- package/lib/persistence/utils.d.ts +2 -2
- package/lib/query/Clause.cjs +80 -0
- package/lib/query/Clause.d.ts +43 -0
- package/lib/query/ClauseFactory.cjs +11 -0
- package/lib/query/ClauseFactory.d.ts +71 -0
- package/lib/query/Condition.cjs +252 -0
- package/lib/query/Condition.d.ts +75 -0
- package/lib/query/Query.cjs +59 -0
- package/lib/query/Query.d.ts +43 -0
- package/lib/query/Statement.cjs +167 -0
- package/lib/query/Statement.d.ts +49 -0
- package/lib/query/clauses/FromClause.cjs +64 -0
- package/lib/query/clauses/FromClause.d.ts +45 -0
- package/lib/query/clauses/GroupByClause.cjs +24 -0
- package/lib/query/clauses/GroupByClause.d.ts +21 -0
- package/lib/query/clauses/InsertClause.cjs +60 -0
- package/lib/query/clauses/InsertClause.d.ts +37 -0
- package/lib/query/clauses/LimitClause.cjs +32 -0
- package/lib/query/clauses/LimitClause.d.ts +29 -0
- package/lib/query/clauses/OffsetClause.cjs +24 -0
- package/lib/query/clauses/OffsetClause.d.ts +21 -0
- package/lib/query/clauses/OrderByClause.cjs +44 -0
- package/lib/query/clauses/OrderByClause.d.ts +37 -0
- package/lib/query/clauses/SelectClause.cjs +67 -0
- package/lib/query/clauses/SelectClause.d.ts +47 -0
- package/lib/query/clauses/SelectorBasedClause.cjs +49 -0
- package/lib/query/clauses/SelectorBasedClause.d.ts +25 -0
- package/lib/query/clauses/ValuesClause.cjs +41 -0
- package/lib/query/clauses/ValuesClause.d.ts +21 -0
- package/lib/query/clauses/WhereClause.cjs +76 -0
- package/lib/query/clauses/WhereClause.d.ts +46 -0
- package/lib/query/clauses/index.cjs +28 -0
- package/lib/query/clauses/index.d.ts +10 -0
- package/lib/query/constants.cjs +91 -0
- package/lib/query/constants.d.ts +79 -0
- package/lib/query/errors.cjs +12 -0
- package/lib/query/errors.d.ts +4 -0
- package/lib/query/index.cjs +29 -0
- package/lib/query/index.d.ts +11 -0
- package/lib/query/options.cjs +4 -0
- package/lib/query/options.d.ts +371 -0
- package/lib/query/selectors.cjs +4 -0
- package/lib/query/selectors.d.ts +38 -0
- package/lib/query/types.cjs +4 -0
- package/lib/query/types.d.ts +2 -0
- package/lib/repository/Repository.cjs +250 -1
- package/lib/repository/Repository.d.ts +27 -11
- package/lib/repository/constants.cjs +34 -1
- package/lib/repository/decorators.cjs +30 -1
- package/lib/repository/decorators.d.ts +2 -3
- package/lib/repository/errors.cjs +20 -1
- package/lib/repository/index.cjs +25 -1
- package/lib/repository/index.d.ts +1 -0
- package/lib/repository/injectables.cjs +36 -0
- package/lib/repository/injectables.d.ts +5 -0
- package/lib/repository/types.cjs +4 -1
- package/lib/repository/utils.cjs +50 -1
- package/lib/repository/utils.d.ts +6 -0
- package/lib/validators/ClauseSequenceValidator.cjs +98 -0
- package/lib/validators/ClauseSequenceValidator.d.ts +28 -0
- package/lib/validators/decorators.cjs +28 -0
- package/lib/validators/decorators.d.ts +10 -0
- package/lib/validators/index.cjs +20 -0
- package/lib/validators/index.d.ts +2 -0
- package/package.json +14 -11
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
import { GroupBySelector, LimitSelector, OffsetSelector, OrderBySelector, SelectSelector } from "./selectors";
|
|
2
|
+
import { Executor } from "../interfaces";
|
|
3
|
+
import { Constructor, Model } from "@decaf-ts/decorator-validation";
|
|
4
|
+
import { Condition } from "./Condition";
|
|
5
|
+
/**
|
|
6
|
+
* @summary Statement Builder interface
|
|
7
|
+
* @description Exposes the final method to build the statement
|
|
8
|
+
*
|
|
9
|
+
* @typedef Q The query object type to build
|
|
10
|
+
* @interface QueryBuilder
|
|
11
|
+
*
|
|
12
|
+
* @category Query
|
|
13
|
+
* @subcategory Options
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
export interface QueryBuilder<Q> extends Executor {
|
|
17
|
+
/**
|
|
18
|
+
* Method to build and validate the prepared statement before the execution;
|
|
19
|
+
*
|
|
20
|
+
* @throws {QueryError} for invalid statements
|
|
21
|
+
* @method
|
|
22
|
+
*/
|
|
23
|
+
build(previous: Q): Q;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @summary GroupBy Option interface
|
|
27
|
+
* @description Exposes the GROUP BY method and remaining options
|
|
28
|
+
*
|
|
29
|
+
* @interface GroupByOption
|
|
30
|
+
* @extends QueryBuilder
|
|
31
|
+
*
|
|
32
|
+
* @category Query
|
|
33
|
+
* @subcategory Options
|
|
34
|
+
*/
|
|
35
|
+
export interface GroupByOption extends Executor {
|
|
36
|
+
/**
|
|
37
|
+
* @summary Groups records by an attribute
|
|
38
|
+
*
|
|
39
|
+
* @param {GroupBySelector} selector
|
|
40
|
+
* @method
|
|
41
|
+
*/
|
|
42
|
+
groupBy(selector: GroupBySelector): Executor;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @summary Offset Option interface
|
|
46
|
+
* @description Exposes the OFFSET method and remaining options
|
|
47
|
+
*
|
|
48
|
+
* @interface GroupByOption
|
|
49
|
+
* @extends QueryBuilder
|
|
50
|
+
*
|
|
51
|
+
* @category Query
|
|
52
|
+
* @subcategory Options
|
|
53
|
+
*/
|
|
54
|
+
export interface OffsetOption extends Executor {
|
|
55
|
+
/**
|
|
56
|
+
* @summary Offsets the results by the provided selector
|
|
57
|
+
*
|
|
58
|
+
* @param {OffsetSelector} selector
|
|
59
|
+
* @method
|
|
60
|
+
*/
|
|
61
|
+
offset(selector: OffsetSelector): Executor;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* @summary Limit Option interface
|
|
65
|
+
* @description Exposes the LIMIT method and remaining options
|
|
66
|
+
*
|
|
67
|
+
* @interface LimitOption
|
|
68
|
+
* @extends QueryBuilder
|
|
69
|
+
*
|
|
70
|
+
* @category Query
|
|
71
|
+
* @subcategory Options
|
|
72
|
+
*/
|
|
73
|
+
export interface LimitOption extends Executor {
|
|
74
|
+
/**
|
|
75
|
+
* @summary Limits the results to the provided number
|
|
76
|
+
*
|
|
77
|
+
* @param {LimitSelector} selector
|
|
78
|
+
* @method
|
|
79
|
+
*/
|
|
80
|
+
limit(selector: LimitSelector): OffsetOption;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @summary OrderpBy Option interface
|
|
84
|
+
* @description Exposes the ORDER BY method and remaining options
|
|
85
|
+
*
|
|
86
|
+
* @interface OrderByOption
|
|
87
|
+
* @extends QueryBuilder
|
|
88
|
+
*
|
|
89
|
+
* @category Query
|
|
90
|
+
* @subcategory Options
|
|
91
|
+
*/
|
|
92
|
+
export interface OrderByOption extends Executor {
|
|
93
|
+
/**
|
|
94
|
+
* @summary Orders the results by the provided attribute and according to the provided direction
|
|
95
|
+
*
|
|
96
|
+
* @param {OrderBySelector} selector
|
|
97
|
+
* @method
|
|
98
|
+
*/
|
|
99
|
+
orderBy(...selector: OrderBySelector[]): LimitOption & OffsetOption;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* @summary Groups several order and grouping options
|
|
103
|
+
*
|
|
104
|
+
* @interface OrderAndGroupOption
|
|
105
|
+
* @extends OrderByOption
|
|
106
|
+
* @extends GroupByOption
|
|
107
|
+
* @extends LimitOption
|
|
108
|
+
* @extends OffsetOption
|
|
109
|
+
*
|
|
110
|
+
* @category Query
|
|
111
|
+
* @subcategory Options
|
|
112
|
+
*/
|
|
113
|
+
export interface OrderAndGroupOption extends OrderByOption, GroupByOption, LimitOption, OffsetOption {
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* @summary Where Option interface
|
|
117
|
+
* @description Exposes the WHERE method and remaining options
|
|
118
|
+
*
|
|
119
|
+
* @interface WhereOption
|
|
120
|
+
* @extends OrderAndGroupOption
|
|
121
|
+
*
|
|
122
|
+
* @category Query
|
|
123
|
+
* @subcategory Options
|
|
124
|
+
*/
|
|
125
|
+
export interface WhereOption extends OrderAndGroupOption {
|
|
126
|
+
/**
|
|
127
|
+
* @summary filter the records by a condition
|
|
128
|
+
*
|
|
129
|
+
* @param {Condition} condition
|
|
130
|
+
* @method
|
|
131
|
+
*/
|
|
132
|
+
where(condition: Condition): OrderAndGroupOption;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* @summary From Option Interface
|
|
136
|
+
* @description Exposes the FROM method and remaining options
|
|
137
|
+
*
|
|
138
|
+
* @interface FromOption
|
|
139
|
+
*
|
|
140
|
+
* @category Query
|
|
141
|
+
* @subcategory Options
|
|
142
|
+
*/
|
|
143
|
+
export interface FromOption<M extends Model> {
|
|
144
|
+
/**
|
|
145
|
+
* @summary selects records from a table
|
|
146
|
+
*
|
|
147
|
+
* @param {Constructor} tableName
|
|
148
|
+
* @method
|
|
149
|
+
*/
|
|
150
|
+
from(tableName: Constructor<M> | string): WhereOption;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* @summary Distinct Option Interface
|
|
154
|
+
* @description Exposes the remaining options after a DISTINCT
|
|
155
|
+
*
|
|
156
|
+
* @interface DistinctOption
|
|
157
|
+
* @extends FromOption
|
|
158
|
+
*
|
|
159
|
+
* @category Query
|
|
160
|
+
* @subcategory Options
|
|
161
|
+
*/
|
|
162
|
+
export interface DistinctOption<M extends Model> extends FromOption<M> {
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* @summary Max Option Interface
|
|
166
|
+
* @description Exposes the remaining options after a MAX
|
|
167
|
+
*
|
|
168
|
+
* @interface MaxOption
|
|
169
|
+
* @extends FromOption
|
|
170
|
+
*
|
|
171
|
+
* @category Query
|
|
172
|
+
* @subcategory Options
|
|
173
|
+
*/
|
|
174
|
+
export interface MaxOption<M extends Model> extends FromOption<M> {
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* @summary Min Option Interface
|
|
178
|
+
* @description Exposes the remaining options after a MIN
|
|
179
|
+
*
|
|
180
|
+
* @interface MinOption
|
|
181
|
+
* @extends FromOption
|
|
182
|
+
*
|
|
183
|
+
* @category Query
|
|
184
|
+
* @subcategory Options
|
|
185
|
+
*/
|
|
186
|
+
export interface MinOption<M extends Model> extends FromOption<M> {
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* @summary Count Option Interface
|
|
190
|
+
* @description Exposes the remaining options after a COUNT
|
|
191
|
+
*
|
|
192
|
+
* @interface CountOption
|
|
193
|
+
* @extends FromOption
|
|
194
|
+
*
|
|
195
|
+
* @category Query
|
|
196
|
+
* @subcategory Options
|
|
197
|
+
*/
|
|
198
|
+
export interface CountOption<M extends Model> extends FromOption<M> {
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* @summary Select Option Interface
|
|
202
|
+
* @description Exposes the remaining options after a SELECT
|
|
203
|
+
*
|
|
204
|
+
* @interface SelectOption
|
|
205
|
+
* @extends FromOption
|
|
206
|
+
*
|
|
207
|
+
* @category Query
|
|
208
|
+
* @subcategory Options
|
|
209
|
+
*/
|
|
210
|
+
export interface SelectOption<M extends Model> extends FromOption<M> {
|
|
211
|
+
/**
|
|
212
|
+
* @summary selects distinct values
|
|
213
|
+
*
|
|
214
|
+
* @param {SelectSelector} selector
|
|
215
|
+
* @method
|
|
216
|
+
*/
|
|
217
|
+
distinct(selector: SelectSelector): DistinctOption<M>;
|
|
218
|
+
/**
|
|
219
|
+
* @summary the maximum value
|
|
220
|
+
*
|
|
221
|
+
* @param {SelectSelector} selector
|
|
222
|
+
* @method
|
|
223
|
+
*/
|
|
224
|
+
max(selector: SelectSelector): MaxOption<M>;
|
|
225
|
+
/**
|
|
226
|
+
* @summary selects the minimum value
|
|
227
|
+
*
|
|
228
|
+
* @param {SelectSelector} selector
|
|
229
|
+
* @method
|
|
230
|
+
*/
|
|
231
|
+
min(selector: SelectSelector): MinOption<M>;
|
|
232
|
+
/**
|
|
233
|
+
* @summary counts the records
|
|
234
|
+
*
|
|
235
|
+
* @param {SelectSelector} selector
|
|
236
|
+
* @method
|
|
237
|
+
*/
|
|
238
|
+
count(selector: SelectSelector): CountOption<M>;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* @summary Into Option Interface
|
|
242
|
+
* @description Exposes the remaining options after an INTO
|
|
243
|
+
*
|
|
244
|
+
* @interface IntoOption
|
|
245
|
+
*
|
|
246
|
+
* @category Query
|
|
247
|
+
* @subcategory Options
|
|
248
|
+
*/
|
|
249
|
+
export interface IntoOption<M extends Model> {
|
|
250
|
+
/**
|
|
251
|
+
* @summary sets the models to insert
|
|
252
|
+
*
|
|
253
|
+
* @param {T[]} models
|
|
254
|
+
* @method
|
|
255
|
+
*/
|
|
256
|
+
values(...models: M[]): Executor;
|
|
257
|
+
/**
|
|
258
|
+
* @summary filter records to insert
|
|
259
|
+
*
|
|
260
|
+
* @param {Condition} condition
|
|
261
|
+
* @method
|
|
262
|
+
*/
|
|
263
|
+
where(condition: Condition): Executor;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* @summary Valuest Option Interface
|
|
267
|
+
* @description Exposes the remaining options after a VALUES
|
|
268
|
+
*
|
|
269
|
+
* @interface ValuesOption
|
|
270
|
+
* @extends QueryBuilder
|
|
271
|
+
*
|
|
272
|
+
* @category Query
|
|
273
|
+
* @subcategory Options
|
|
274
|
+
*/
|
|
275
|
+
export interface ValuesOption extends Executor {
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* @summary Insert Option Interface
|
|
279
|
+
* @description Exposes the remaining options after an INSERT
|
|
280
|
+
*
|
|
281
|
+
* @interface InsertOption
|
|
282
|
+
*
|
|
283
|
+
* @category Query
|
|
284
|
+
* @subcategory Options
|
|
285
|
+
*/
|
|
286
|
+
export interface InsertOption<M extends Model> {
|
|
287
|
+
/**
|
|
288
|
+
* @summary selects the table to insert records into
|
|
289
|
+
*
|
|
290
|
+
* @param {string | Constructor} table
|
|
291
|
+
* @method
|
|
292
|
+
*/
|
|
293
|
+
into(table: Constructor<M>): IntoOption<M>;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* @summary {@link Operator} Option Interface
|
|
297
|
+
* @description Exposes the available operators for a {@link Condition}
|
|
298
|
+
*
|
|
299
|
+
* @interface AttributeOption
|
|
300
|
+
*
|
|
301
|
+
* @category Query
|
|
302
|
+
* @subcategory Conditions
|
|
303
|
+
*/
|
|
304
|
+
export interface AttributeOption {
|
|
305
|
+
/**
|
|
306
|
+
* @summary Test equality
|
|
307
|
+
*
|
|
308
|
+
* @param {any} val the value to test
|
|
309
|
+
* @method
|
|
310
|
+
*/
|
|
311
|
+
eq(val: any): Condition;
|
|
312
|
+
/**
|
|
313
|
+
* @summary Test difference
|
|
314
|
+
*
|
|
315
|
+
* @param {any} val the value to test
|
|
316
|
+
* @method
|
|
317
|
+
*/
|
|
318
|
+
dif(val: any): Condition;
|
|
319
|
+
/**
|
|
320
|
+
* @summary Test greater than
|
|
321
|
+
*
|
|
322
|
+
* @param {any} val the value to test
|
|
323
|
+
* @method
|
|
324
|
+
*/
|
|
325
|
+
gt(val: any): Condition;
|
|
326
|
+
/**
|
|
327
|
+
* @summary Test lower than
|
|
328
|
+
*
|
|
329
|
+
* @param {any} val the value to test
|
|
330
|
+
* @method
|
|
331
|
+
*/
|
|
332
|
+
lt(val: any): Condition;
|
|
333
|
+
/**
|
|
334
|
+
* @summary Test greater or equal to
|
|
335
|
+
*
|
|
336
|
+
* @param {any} val the value to test
|
|
337
|
+
* @method
|
|
338
|
+
*/
|
|
339
|
+
gte(val: any): Condition;
|
|
340
|
+
/**
|
|
341
|
+
* @summary Test lower or equal to
|
|
342
|
+
*
|
|
343
|
+
* @param {any} val the value to test
|
|
344
|
+
* @method
|
|
345
|
+
*/
|
|
346
|
+
lte(val: any): Condition;
|
|
347
|
+
/**
|
|
348
|
+
* @summary Test value in a range of values
|
|
349
|
+
* @param {any[]} val
|
|
350
|
+
*/
|
|
351
|
+
in(val: any[]): Condition;
|
|
352
|
+
/**
|
|
353
|
+
* @summary Test matches {@link RegExp}
|
|
354
|
+
*
|
|
355
|
+
* @param {any} val the value to test
|
|
356
|
+
* @method
|
|
357
|
+
*/
|
|
358
|
+
regexp(val: string | RegExp): Condition;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* @summary The starting point for creating Conditions
|
|
362
|
+
* @description Exposes the available operations for a {@link Condition}
|
|
363
|
+
*
|
|
364
|
+
* @interface ConditionBuilderOption
|
|
365
|
+
*
|
|
366
|
+
* @category Query
|
|
367
|
+
* @subcategory Conditions
|
|
368
|
+
*/
|
|
369
|
+
export interface ConditionBuilderOption {
|
|
370
|
+
attribute(attr: string): AttributeOption;
|
|
371
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJmaWxlIjoicXVlcnkvb3B0aW9ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZSAqL1xuaW1wb3J0IHtcbiAgR3JvdXBCeVNlbGVjdG9yLFxuICBMaW1pdFNlbGVjdG9yLFxuICBPZmZzZXRTZWxlY3RvcixcbiAgT3JkZXJCeVNlbGVjdG9yLFxuICBTZWxlY3RTZWxlY3Rvcixcbn0gZnJvbSBcIi4vc2VsZWN0b3JzXCI7XG5pbXBvcnQgeyBFeGVjdXRvciB9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBDb25kaXRpb24gfSBmcm9tIFwiLi9Db25kaXRpb25cIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBTdGF0ZW1lbnQgQnVpbGRlciBpbnRlcmZhY2VcbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIHRoZSBmaW5hbCBtZXRob2QgdG8gYnVpbGQgdGhlIHN0YXRlbWVudFxuICpcbiAqIEB0eXBlZGVmIFEgVGhlIHF1ZXJ5IG9iamVjdCB0eXBlIHRvIGJ1aWxkXG4gKiBAaW50ZXJmYWNlIFF1ZXJ5QnVpbGRlclxuICpcbiAqIEBjYXRlZ29yeSBRdWVyeVxuICogQHN1YmNhdGVnb3J5IE9wdGlvbnNcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlCdWlsZGVyPFE+IGV4dGVuZHMgRXhlY3V0b3Ige1xuICAvKipcbiAgICogTWV0aG9kIHRvIGJ1aWxkIGFuZCB2YWxpZGF0ZSB0aGUgcHJlcGFyZWQgc3RhdGVtZW50IGJlZm9yZSB0aGUgZXhlY3V0aW9uO1xuICAgKlxuICAgKiBAdGhyb3dzIHtRdWVyeUVycm9yfSAgZm9yIGludmFsaWQgc3RhdGVtZW50c1xuICAgKiBAbWV0aG9kXG4gICAqL1xuICBidWlsZChwcmV2aW91czogUSk6IFE7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgR3JvdXBCeSBPcHRpb24gaW50ZXJmYWNlXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyB0aGUgR1JPVVAgQlkgbWV0aG9kIGFuZCByZW1haW5pbmcgb3B0aW9uc1xuICpcbiAqIEBpbnRlcmZhY2UgR3JvdXBCeU9wdGlvblxuICogQGV4dGVuZHMgUXVlcnlCdWlsZGVyXG4gKlxuICogQGNhdGVnb3J5IFF1ZXJ5XG4gKiBAc3ViY2F0ZWdvcnkgT3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwQnlPcHRpb24gZXh0ZW5kcyBFeGVjdXRvciB7XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBHcm91cHMgcmVjb3JkcyBieSBhbiBhdHRyaWJ1dGVcbiAgICpcbiAgICogQHBhcmFtIHtHcm91cEJ5U2VsZWN0b3J9IHNlbGVjdG9yXG4gICAqIEBtZXRob2RcbiAgICovXG4gIGdyb3VwQnkoc2VsZWN0b3I6IEdyb3VwQnlTZWxlY3Rvcik6IEV4ZWN1dG9yO1xufVxuLyoqXG4gKiBAc3VtbWFyeSBPZmZzZXQgT3B0aW9uIGludGVyZmFjZVxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgdGhlIE9GRlNFVCBtZXRob2QgYW5kIHJlbWFpbmluZyBvcHRpb25zXG4gKlxuICogQGludGVyZmFjZSBHcm91cEJ5T3B0aW9uXG4gKiBAZXh0ZW5kcyBRdWVyeUJ1aWxkZXJcbiAqXG4gKiBAY2F0ZWdvcnkgUXVlcnlcbiAqIEBzdWJjYXRlZ29yeSBPcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2Zmc2V0T3B0aW9uIGV4dGVuZHMgRXhlY3V0b3Ige1xuICAvKipcbiAgICogQHN1bW1hcnkgT2Zmc2V0cyB0aGUgcmVzdWx0cyBieSB0aGUgcHJvdmlkZWQgc2VsZWN0b3JcbiAgICpcbiAgICogQHBhcmFtIHtPZmZzZXRTZWxlY3Rvcn0gc2VsZWN0b3JcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgb2Zmc2V0KHNlbGVjdG9yOiBPZmZzZXRTZWxlY3Rvcik6IEV4ZWN1dG9yO1xufVxuLyoqXG4gKiBAc3VtbWFyeSBMaW1pdCBPcHRpb24gaW50ZXJmYWNlXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyB0aGUgTElNSVQgbWV0aG9kIGFuZCByZW1haW5pbmcgb3B0aW9uc1xuICpcbiAqIEBpbnRlcmZhY2UgTGltaXRPcHRpb25cbiAqIEBleHRlbmRzIFF1ZXJ5QnVpbGRlclxuICpcbiAqIEBjYXRlZ29yeSBRdWVyeVxuICogQHN1YmNhdGVnb3J5IE9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW1pdE9wdGlvbiBleHRlbmRzIEV4ZWN1dG9yIHtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IExpbWl0cyB0aGUgcmVzdWx0cyB0byB0aGUgcHJvdmlkZWQgbnVtYmVyXG4gICAqXG4gICAqIEBwYXJhbSB7TGltaXRTZWxlY3Rvcn0gc2VsZWN0b3JcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgbGltaXQoc2VsZWN0b3I6IExpbWl0U2VsZWN0b3IpOiBPZmZzZXRPcHRpb247XG59XG4vKipcbiAqIEBzdW1tYXJ5IE9yZGVycEJ5IE9wdGlvbiBpbnRlcmZhY2VcbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIHRoZSBPUkRFUiBCWSBtZXRob2QgYW5kIHJlbWFpbmluZyBvcHRpb25zXG4gKlxuICogQGludGVyZmFjZSBPcmRlckJ5T3B0aW9uXG4gKiBAZXh0ZW5kcyBRdWVyeUJ1aWxkZXJcbiAqXG4gKiBAY2F0ZWdvcnkgUXVlcnlcbiAqIEBzdWJjYXRlZ29yeSBPcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJCeU9wdGlvbiBleHRlbmRzIEV4ZWN1dG9yIHtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IE9yZGVycyB0aGUgcmVzdWx0cyBieSB0aGUgcHJvdmlkZWQgYXR0cmlidXRlIGFuZCBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIGRpcmVjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge09yZGVyQnlTZWxlY3Rvcn0gc2VsZWN0b3JcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgb3JkZXJCeSguLi5zZWxlY3RvcjogT3JkZXJCeVNlbGVjdG9yW10pOiBMaW1pdE9wdGlvbiAmIE9mZnNldE9wdGlvbjtcbn1cbi8qKlxuICogQHN1bW1hcnkgR3JvdXBzIHNldmVyYWwgb3JkZXIgYW5kIGdyb3VwaW5nIG9wdGlvbnNcbiAqXG4gKiBAaW50ZXJmYWNlIE9yZGVyQW5kR3JvdXBPcHRpb25cbiAqIEBleHRlbmRzIE9yZGVyQnlPcHRpb25cbiAqIEBleHRlbmRzIEdyb3VwQnlPcHRpb25cbiAqIEBleHRlbmRzIExpbWl0T3B0aW9uXG4gKiBAZXh0ZW5kcyBPZmZzZXRPcHRpb25cbiAqXG4gKiBAY2F0ZWdvcnkgUXVlcnlcbiAqIEBzdWJjYXRlZ29yeSBPcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJBbmRHcm91cE9wdGlvblxuICBleHRlbmRzIE9yZGVyQnlPcHRpb24sXG4gICAgR3JvdXBCeU9wdGlvbixcbiAgICBMaW1pdE9wdGlvbixcbiAgICBPZmZzZXRPcHRpb24ge31cbi8qKlxuICogQHN1bW1hcnkgV2hlcmUgT3B0aW9uIGludGVyZmFjZVxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgdGhlIFdIRVJFIG1ldGhvZCBhbmQgcmVtYWluaW5nIG9wdGlvbnNcbiAqXG4gKiBAaW50ZXJmYWNlIFdoZXJlT3B0aW9uXG4gKiBAZXh0ZW5kcyBPcmRlckFuZEdyb3VwT3B0aW9uXG4gKlxuICogQGNhdGVnb3J5IFF1ZXJ5XG4gKiBAc3ViY2F0ZWdvcnkgT3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFdoZXJlT3B0aW9uIGV4dGVuZHMgT3JkZXJBbmRHcm91cE9wdGlvbiB7XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBmaWx0ZXIgdGhlIHJlY29yZHMgYnkgYSBjb25kaXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtDb25kaXRpb259IGNvbmRpdGlvblxuICAgKiBAbWV0aG9kXG4gICAqL1xuICB3aGVyZShjb25kaXRpb246IENvbmRpdGlvbik6IE9yZGVyQW5kR3JvdXBPcHRpb247XG59XG5cbi8qKlxuICogQHN1bW1hcnkgRnJvbSBPcHRpb24gSW50ZXJmYWNlXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyB0aGUgRlJPTSBtZXRob2QgYW5kIHJlbWFpbmluZyBvcHRpb25zXG4gKlxuICogQGludGVyZmFjZSBGcm9tT3B0aW9uXG4gKlxuICogQGNhdGVnb3J5IFF1ZXJ5XG4gKiBAc3ViY2F0ZWdvcnkgT3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEZyb21PcHRpb248TSBleHRlbmRzIE1vZGVsPiB7XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBzZWxlY3RzIHJlY29yZHMgZnJvbSBhIHRhYmxlXG4gICAqXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3J9IHRhYmxlTmFtZVxuICAgKiBAbWV0aG9kXG4gICAqL1xuICBmcm9tKHRhYmxlTmFtZTogQ29uc3RydWN0b3I8TT4gfCBzdHJpbmcpOiBXaGVyZU9wdGlvbjtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEaXN0aW5jdCBPcHRpb24gSW50ZXJmYWNlXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyB0aGUgcmVtYWluaW5nIG9wdGlvbnMgYWZ0ZXIgYSBESVNUSU5DVFxuICpcbiAqIEBpbnRlcmZhY2UgRGlzdGluY3RPcHRpb25cbiAqIEBleHRlbmRzIEZyb21PcHRpb25cbiAqXG4gKiBAY2F0ZWdvcnkgUXVlcnlcbiAqIEBzdWJjYXRlZ29yeSBPcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzdGluY3RPcHRpb248TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIEZyb21PcHRpb248TT4ge31cblxuLyoqXG4gKiBAc3VtbWFyeSBNYXggT3B0aW9uIEludGVyZmFjZVxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFmdGVyIGEgTUFYXG4gKlxuICogQGludGVyZmFjZSBNYXhPcHRpb25cbiAqIEBleHRlbmRzIEZyb21PcHRpb25cbiAqXG4gKiBAY2F0ZWdvcnkgUXVlcnlcbiAqIEBzdWJjYXRlZ29yeSBPcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWF4T3B0aW9uPE0gZXh0ZW5kcyBNb2RlbD4gZXh0ZW5kcyBGcm9tT3B0aW9uPE0+IHt9XG5cbi8qKlxuICogQHN1bW1hcnkgTWluIE9wdGlvbiBJbnRlcmZhY2VcbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIHRoZSByZW1haW5pbmcgb3B0aW9ucyBhZnRlciBhIE1JTlxuICpcbiAqIEBpbnRlcmZhY2UgTWluT3B0aW9uXG4gKiBAZXh0ZW5kcyBGcm9tT3B0aW9uXG4gKlxuICogQGNhdGVnb3J5IFF1ZXJ5XG4gKiBAc3ViY2F0ZWdvcnkgT3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE1pbk9wdGlvbjxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgRnJvbU9wdGlvbjxNPiB7fVxuXG4vKipcbiAqIEBzdW1tYXJ5IENvdW50IE9wdGlvbiBJbnRlcmZhY2VcbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIHRoZSByZW1haW5pbmcgb3B0aW9ucyBhZnRlciBhIENPVU5UXG4gKlxuICogQGludGVyZmFjZSBDb3VudE9wdGlvblxuICogQGV4dGVuZHMgRnJvbU9wdGlvblxuICpcbiAqIEBjYXRlZ29yeSBRdWVyeVxuICogQHN1YmNhdGVnb3J5IE9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb3VudE9wdGlvbjxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgRnJvbU9wdGlvbjxNPiB7fVxuXG4vKipcbiAqIEBzdW1tYXJ5IFNlbGVjdCBPcHRpb24gSW50ZXJmYWNlXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyB0aGUgcmVtYWluaW5nIG9wdGlvbnMgYWZ0ZXIgYSBTRUxFQ1RcbiAqXG4gKiBAaW50ZXJmYWNlIFNlbGVjdE9wdGlvblxuICogQGV4dGVuZHMgRnJvbU9wdGlvblxuICpcbiAqIEBjYXRlZ29yeSBRdWVyeVxuICogQHN1YmNhdGVnb3J5IE9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RPcHRpb248TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIEZyb21PcHRpb248TT4ge1xuICAvKipcbiAgICogQHN1bW1hcnkgc2VsZWN0cyBkaXN0aW5jdCB2YWx1ZXNcbiAgICpcbiAgICogQHBhcmFtIHtTZWxlY3RTZWxlY3Rvcn0gc2VsZWN0b3JcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgZGlzdGluY3Qoc2VsZWN0b3I6IFNlbGVjdFNlbGVjdG9yKTogRGlzdGluY3RPcHRpb248TT47XG4gIC8qKlxuICAgKiBAc3VtbWFyeSB0aGUgbWF4aW11bSB2YWx1ZVxuICAgKlxuICAgKiBAcGFyYW0ge1NlbGVjdFNlbGVjdG9yfSBzZWxlY3RvclxuICAgKiBAbWV0aG9kXG4gICAqL1xuICBtYXgoc2VsZWN0b3I6IFNlbGVjdFNlbGVjdG9yKTogTWF4T3B0aW9uPE0+O1xuICAvKipcbiAgICogQHN1bW1hcnkgc2VsZWN0cyB0aGUgbWluaW11bSB2YWx1ZVxuICAgKlxuICAgKiBAcGFyYW0ge1NlbGVjdFNlbGVjdG9yfSBzZWxlY3RvclxuICAgKiBAbWV0aG9kXG4gICAqL1xuICBtaW4oc2VsZWN0b3I6IFNlbGVjdFNlbGVjdG9yKTogTWluT3B0aW9uPE0+O1xuICAvKipcbiAgICogQHN1bW1hcnkgY291bnRzIHRoZSByZWNvcmRzXG4gICAqXG4gICAqIEBwYXJhbSB7U2VsZWN0U2VsZWN0b3J9IHNlbGVjdG9yXG4gICAqIEBtZXRob2RcbiAgICovXG4gIGNvdW50KHNlbGVjdG9yOiBTZWxlY3RTZWxlY3Rvcik6IENvdW50T3B0aW9uPE0+O1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IEludG8gT3B0aW9uIEludGVyZmFjZVxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFmdGVyIGFuIElOVE9cbiAqXG4gKiBAaW50ZXJmYWNlIEludG9PcHRpb25cbiAqXG4gKiBAY2F0ZWdvcnkgUXVlcnlcbiAqIEBzdWJjYXRlZ29yeSBPcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50b09wdGlvbjxNIGV4dGVuZHMgTW9kZWw+IHtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IHNldHMgdGhlIG1vZGVscyB0byBpbnNlcnRcbiAgICpcbiAgICogQHBhcmFtIHtUW119IG1vZGVsc1xuICAgKiBAbWV0aG9kXG4gICAqL1xuICB2YWx1ZXMoLi4ubW9kZWxzOiBNW10pOiBFeGVjdXRvcjtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IGZpbHRlciByZWNvcmRzIHRvIGluc2VydFxuICAgKlxuICAgKiBAcGFyYW0ge0NvbmRpdGlvbn0gY29uZGl0aW9uXG4gICAqIEBtZXRob2RcbiAgICovXG4gIHdoZXJlKGNvbmRpdGlvbjogQ29uZGl0aW9uKTogRXhlY3V0b3I7XG59XG4vKipcbiAqIEBzdW1tYXJ5IFZhbHVlc3QgT3B0aW9uIEludGVyZmFjZVxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFmdGVyIGEgVkFMVUVTXG4gKlxuICogQGludGVyZmFjZSBWYWx1ZXNPcHRpb25cbiAqIEBleHRlbmRzIFF1ZXJ5QnVpbGRlclxuICpcbiAqIEBjYXRlZ29yeSBRdWVyeVxuICogQHN1YmNhdGVnb3J5IE9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWx1ZXNPcHRpb24gZXh0ZW5kcyBFeGVjdXRvciB7fVxuLyoqXG4gKiBAc3VtbWFyeSBJbnNlcnQgT3B0aW9uIEludGVyZmFjZVxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFmdGVyIGFuIElOU0VSVFxuICpcbiAqIEBpbnRlcmZhY2UgSW5zZXJ0T3B0aW9uXG4gKlxuICogQGNhdGVnb3J5IFF1ZXJ5XG4gKiBAc3ViY2F0ZWdvcnkgT3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEluc2VydE9wdGlvbjxNIGV4dGVuZHMgTW9kZWw+IHtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IHNlbGVjdHMgdGhlIHRhYmxlIHRvIGluc2VydCByZWNvcmRzIGludG9cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBDb25zdHJ1Y3Rvcn0gdGFibGVcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgaW50byh0YWJsZTogQ29uc3RydWN0b3I8TT4pOiBJbnRvT3B0aW9uPE0+O1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IHtAbGluayBPcGVyYXRvcn0gT3B0aW9uIEludGVyZmFjZVxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgdGhlIGF2YWlsYWJsZSBvcGVyYXRvcnMgZm9yIGEge0BsaW5rIENvbmRpdGlvbn1cbiAqXG4gKiBAaW50ZXJmYWNlIEF0dHJpYnV0ZU9wdGlvblxuICpcbiAqIEBjYXRlZ29yeSBRdWVyeVxuICogQHN1YmNhdGVnb3J5IENvbmRpdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVPcHRpb24ge1xuICAvKipcbiAgICogQHN1bW1hcnkgVGVzdCBlcXVhbGl0eVxuICAgKlxuICAgKiBAcGFyYW0ge2FueX0gdmFsIHRoZSB2YWx1ZSB0byB0ZXN0XG4gICAqIEBtZXRob2RcbiAgICovXG4gIGVxKHZhbDogYW55KTogQ29uZGl0aW9uO1xuICAvKipcbiAgICogQHN1bW1hcnkgVGVzdCBkaWZmZXJlbmNlXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSB2YWwgdGhlIHZhbHVlIHRvIHRlc3RcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgZGlmKHZhbDogYW55KTogQ29uZGl0aW9uO1xuICAvKipcbiAgICogQHN1bW1hcnkgVGVzdCBncmVhdGVyIHRoYW5cbiAgICpcbiAgICogQHBhcmFtIHthbnl9IHZhbCB0aGUgdmFsdWUgdG8gdGVzdFxuICAgKiBAbWV0aG9kXG4gICAqL1xuICBndCh2YWw6IGFueSk6IENvbmRpdGlvbjtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFRlc3QgbG93ZXIgdGhhblxuICAgKlxuICAgKiBAcGFyYW0ge2FueX0gdmFsIHRoZSB2YWx1ZSB0byB0ZXN0XG4gICAqIEBtZXRob2RcbiAgICovXG4gIGx0KHZhbDogYW55KTogQ29uZGl0aW9uO1xuICAvKipcbiAgICogQHN1bW1hcnkgVGVzdCBncmVhdGVyIG9yIGVxdWFsIHRvXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSB2YWwgdGhlIHZhbHVlIHRvIHRlc3RcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgZ3RlKHZhbDogYW55KTogQ29uZGl0aW9uO1xuICAvKipcbiAgICogQHN1bW1hcnkgVGVzdCBsb3dlciBvciBlcXVhbCB0b1xuICAgKlxuICAgKiBAcGFyYW0ge2FueX0gdmFsIHRoZSB2YWx1ZSB0byB0ZXN0XG4gICAqIEBtZXRob2RcbiAgICovXG4gIGx0ZSh2YWw6IGFueSk6IENvbmRpdGlvbjtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFRlc3QgdmFsdWUgaW4gYSByYW5nZSBvZiB2YWx1ZXNcbiAgICogQHBhcmFtIHthbnlbXX0gdmFsXG4gICAqL1xuICBpbih2YWw6IGFueVtdKTogQ29uZGl0aW9uO1xuICAvKipcbiAgICogQHN1bW1hcnkgVGVzdCBtYXRjaGVzIHtAbGluayBSZWdFeHB9XG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSB2YWwgdGhlIHZhbHVlIHRvIHRlc3RcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgcmVnZXhwKHZhbDogc3RyaW5nIHwgUmVnRXhwKTogQ29uZGl0aW9uO1xufVxuLyoqXG4gKiBAc3VtbWFyeSBUaGUgc3RhcnRpbmcgcG9pbnQgZm9yIGNyZWF0aW5nIENvbmRpdGlvbnNcbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIHRoZSBhdmFpbGFibGUgb3BlcmF0aW9ucyBmb3IgYSB7QGxpbmsgQ29uZGl0aW9ufVxuICpcbiAqIEBpbnRlcmZhY2UgQ29uZGl0aW9uQnVpbGRlck9wdGlvblxuICpcbiAqIEBjYXRlZ29yeSBRdWVyeVxuICogQHN1YmNhdGVnb3J5IENvbmRpdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb25CdWlsZGVyT3B0aW9uIHtcbiAgYXR0cmlidXRlKGF0dHI6IHN0cmluZyk6IEF0dHJpYnV0ZU9wdGlvbjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { OrderDirection } from "../repository";
|
|
2
|
+
import { Constructor, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
+
/**
|
|
4
|
+
* @typedef FromSelector
|
|
5
|
+
*
|
|
6
|
+
* @category Clauses
|
|
7
|
+
*/
|
|
8
|
+
export type FromSelector<M extends Model> = Constructor<M> | string;
|
|
9
|
+
/**
|
|
10
|
+
* @typedef GroupBySelector
|
|
11
|
+
*
|
|
12
|
+
* @category Clauses
|
|
13
|
+
*/
|
|
14
|
+
export type GroupBySelector = string;
|
|
15
|
+
/**
|
|
16
|
+
* @typedef OrderBySelector
|
|
17
|
+
*
|
|
18
|
+
* @category Clauses
|
|
19
|
+
*/
|
|
20
|
+
export type OrderBySelector = [string, OrderDirection];
|
|
21
|
+
/**
|
|
22
|
+
* @typedef LimitSelector
|
|
23
|
+
*
|
|
24
|
+
* @category Clauses
|
|
25
|
+
*/
|
|
26
|
+
export type LimitSelector = number;
|
|
27
|
+
/**
|
|
28
|
+
* @typedef OffsetSelector
|
|
29
|
+
*
|
|
30
|
+
* @category Clauses
|
|
31
|
+
*/
|
|
32
|
+
export type OffsetSelector = number;
|
|
33
|
+
/**
|
|
34
|
+
* @typedef SelectSelector
|
|
35
|
+
*
|
|
36
|
+
* @category Clauses
|
|
37
|
+
*/
|
|
38
|
+
export type SelectSelector = string | string[];
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS9zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJxdWVyeS9zZWxlY3RvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcmRlckRpcmVjdGlvbiB9IGZyb20gXCIuLi9yZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5cbi8qKlxuICogQHR5cGVkZWYgRnJvbVNlbGVjdG9yXG4gKlxuICogQGNhdGVnb3J5IENsYXVzZXNcbiAqL1xuZXhwb3J0IHR5cGUgRnJvbVNlbGVjdG9yPE0gZXh0ZW5kcyBNb2RlbD4gPSBDb25zdHJ1Y3RvcjxNPiB8IHN0cmluZztcbi8qKlxuICogQHR5cGVkZWYgR3JvdXBCeVNlbGVjdG9yXG4gKlxuICogQGNhdGVnb3J5IENsYXVzZXNcbiAqL1xuZXhwb3J0IHR5cGUgR3JvdXBCeVNlbGVjdG9yID0gc3RyaW5nO1xuLyoqXG4gKiBAdHlwZWRlZiBPcmRlckJ5U2VsZWN0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgQ2xhdXNlc1xuICovXG5leHBvcnQgdHlwZSBPcmRlckJ5U2VsZWN0b3IgPSBbc3RyaW5nLCBPcmRlckRpcmVjdGlvbl07XG4vKipcbiAqIEB0eXBlZGVmIExpbWl0U2VsZWN0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgQ2xhdXNlc1xuICovXG5leHBvcnQgdHlwZSBMaW1pdFNlbGVjdG9yID0gbnVtYmVyO1xuLyoqXG4gKiBAdHlwZWRlZiBPZmZzZXRTZWxlY3RvclxuICpcbiAqIEBjYXRlZ29yeSBDbGF1c2VzXG4gKi9cbmV4cG9ydCB0eXBlIE9mZnNldFNlbGVjdG9yID0gbnVtYmVyO1xuXG4vLyBleHBvcnQgdHlwZSBTZWxlY3RGdW5jdGlvbjxUID0gYW55PiA9IChvYmo6IFQpID0+IFQgfCBhbnk7XG4vKipcbiAqIEB0eXBlZGVmIFNlbGVjdFNlbGVjdG9yXG4gKlxuICogQGNhdGVnb3J5IENsYXVzZXNcbiAqL1xuZXhwb3J0IHR5cGUgU2VsZWN0U2VsZWN0b3IgPSBzdHJpbmcgfCBzdHJpbmdbXTtcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwiZmlsZSI6InF1ZXJ5L3R5cGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXR0cmlidXRlUmVzdWx0ID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuZXhwb3J0IHR5cGUgT3BlcmF0aW9uUmVzdWx0ID0gUmVjb3JkPHN0cmluZywgQXR0cmlidXRlUmVzdWx0IHwgYW55PjtcbiJdfQ==
|
|
@@ -1,22 +1,32 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Repository as Rep } from "@decaf-ts/db-decorators";
|
|
2
2
|
import { Observable } from "../interfaces/Observable";
|
|
3
3
|
import { Observer } from "../interfaces/Observer";
|
|
4
4
|
import { Adapter } from "../persistence/Adapter";
|
|
5
|
-
import { Constructor } from "@decaf-ts/decorator-validation";
|
|
6
|
-
|
|
5
|
+
import { Constructor, Model } from "@decaf-ts/decorator-validation";
|
|
6
|
+
import { Condition, SelectSelector, WhereOption } from "../query";
|
|
7
|
+
import { OrderDirection } from "./constants";
|
|
8
|
+
import { SequenceOptions } from "../interfaces";
|
|
9
|
+
import { Queriable } from "../interfaces/Queriable";
|
|
10
|
+
export declare class Repository<M extends Model, Q = any> extends Rep<M> implements Observable, Queriable {
|
|
11
|
+
private static _cache;
|
|
7
12
|
private observers;
|
|
8
13
|
private readonly _adapter;
|
|
9
14
|
private _tableName;
|
|
10
15
|
private _pk;
|
|
11
|
-
get adapter(): Adapter<any,
|
|
16
|
+
get adapter(): Adapter<any, Q>;
|
|
12
17
|
protected get tableName(): string;
|
|
13
18
|
protected get pk(): string;
|
|
14
|
-
constructor(adapter?: Adapter<any,
|
|
15
|
-
create(model:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
constructor(adapter?: Adapter<any, Q>, clazz?: Constructor<M>);
|
|
20
|
+
create(model: M, ...args: any[]): Promise<M>;
|
|
21
|
+
createAll(models: M[], ...args: any[]): Promise<M[]>;
|
|
22
|
+
protected createAllPrefix(models: M[], ...args: any[]): Promise<any[]>;
|
|
23
|
+
read(id: string | number | bigint, ...args: any[]): Promise<M>;
|
|
24
|
+
update(model: M, ...args: any[]): Promise<M>;
|
|
25
|
+
protected updatePrefix(model: M, ...args: any[]): Promise<[M, ...args: any[]]>;
|
|
26
|
+
protected updateAllPrefix(models: M[], ...args: any[]): Promise<any[]>;
|
|
27
|
+
delete(id: string | number | bigint, ...args: any[]): Promise<M>;
|
|
28
|
+
select(selector?: SelectSelector): WhereOption;
|
|
29
|
+
query<V>(condition: Condition, orderBy: string, order?: OrderDirection, limit?: number, skip?: number): Promise<V>;
|
|
20
30
|
/**
|
|
21
31
|
* @summary Registers an {@link Observer}
|
|
22
32
|
* @param {Observer} observer
|
|
@@ -36,5 +46,11 @@ export declare class Repository<T extends DBModel, V = any> extends Rep<T> imple
|
|
|
36
46
|
* @param {any[]} [args] optional arguments to be passed to the {@link Observer#refresh} method
|
|
37
47
|
*/
|
|
38
48
|
updateObservers(...args: any[]): Promise<void>;
|
|
39
|
-
static forModel<
|
|
49
|
+
static forModel<M extends Model, R extends Repository<M, any>>(model: Constructor<M>): R;
|
|
50
|
+
private static get;
|
|
51
|
+
static register<M extends Model>(name: string, repo: Constructor<Repository<M, any>>): void;
|
|
52
|
+
static setMetadata<M extends Model>(model: M, metadata: any): void;
|
|
53
|
+
static getMetadata<M extends Model>(model: M): any;
|
|
54
|
+
static removeMetadata<M extends Model>(model: M): void;
|
|
55
|
+
static getSequenceOptions<M extends Model>(model: M): SequenceOptions;
|
|
40
56
|
}
|