@e22m4u/js-repository 0.7.0 → 0.8.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/.mocharc.json +2 -3
- package/README.md +123 -164
- package/dist/cjs/index.cjs +8 -114
- package/eslint.config.js +29 -58
- package/jsconfig.json +7 -0
- package/package.json +11 -19
- package/src/adapter/adapter-loader.js +3 -4
- package/src/adapter/adapter.js +8 -5
- package/src/adapter/adapter.spec.js +10 -9
- package/src/adapter/builtin/memory-adapter.js +8 -7
- package/src/adapter/builtin/memory-adapter.spec.js +5 -2
- package/src/adapter/decorator/default-values-decorator.spec.js +1 -2
- package/src/database-schema.js +1 -2
- package/src/{database-schema.spec.ts → database-schema.spec.js} +5 -17
- package/src/definition/model/index.js +0 -1
- package/src/definition/model/model-definition-utils.js +1 -2
- package/src/definition/model/model-definition-utils.spec.js +5 -2
- package/src/definition/model/properties/index.js +0 -1
- package/src/definition/model/relations/index.js +0 -1
- package/src/definition/model/relations/relations-definition-validator.js +4 -5
- package/src/filter/include-clause-tool.js +8 -6
- package/src/index.js +0 -1
- package/src/relations/belongs-to-resolver.js +1 -2
- package/src/relations/belongs-to-resolver.spec.js +6 -3
- package/src/relations/has-many-resolver.js +1 -2
- package/src/relations/has-many-resolver.spec.js +6 -3
- package/src/relations/has-one-resolver.js +1 -2
- package/src/relations/has-one-resolver.spec.js +6 -3
- package/src/relations/references-many-resolver.js +1 -2
- package/src/relations/references-many-resolver.spec.js +6 -3
- package/src/repository/repository.js +1 -2
- package/src/utils/is-plain-object.js +4 -4
- package/src/adapter/adapter-loader.d.ts +0 -16
- package/src/adapter/adapter-registry.d.ts +0 -14
- package/src/adapter/adapter.d.ts +0 -153
- package/src/adapter/builtin/memory-adapter.d.ts +0 -148
- package/src/adapter/decorator/data-sanitizing-decorator.d.ts +0 -14
- package/src/adapter/decorator/default-values-decorator.d.ts +0 -14
- package/src/adapter/decorator/fields-filtering-decorator.d.ts +0 -14
- package/src/adapter/decorator/inclusion-decorator.d.ts +0 -14
- package/src/adapter/decorator/index.d.ts +0 -5
- package/src/adapter/decorator/property-uniqueness-decorator.d.ts +0 -14
- package/src/adapter/index.d.ts +0 -3
- package/src/database-schema.d.ts +0 -37
- package/src/definition/datasource/datasource-definition-validator.d.ts +0 -14
- package/src/definition/datasource/datasource-definition.d.ts +0 -8
- package/src/definition/datasource/index.d.ts +0 -2
- package/src/definition/definition-registry.d.ts +0 -50
- package/src/definition/index.d.ts +0 -3
- package/src/definition/model/index.d.ts +0 -6
- package/src/definition/model/model-data-sanitizer.d.ts +0 -15
- package/src/definition/model/model-definition-utils.d.ts +0 -180
- package/src/definition/model/model-definition-validator.d.ts +0 -14
- package/src/definition/model/model-definition.d.ts +0 -28
- package/src/definition/model/model-definition.js +0 -1
- package/src/definition/model/properties/data-type.d.ts +0 -16
- package/src/definition/model/properties/index.d.ts +0 -6
- package/src/definition/model/properties/primary-keys-definition-validator.d.ts +0 -15
- package/src/definition/model/properties/properties-definition-validator.d.ts +0 -15
- package/src/definition/model/properties/property-definition.d.ts +0 -23
- package/src/definition/model/properties/property-definition.js +0 -1
- package/src/definition/model/properties/property-uniqueness-validator.d.ts +0 -31
- package/src/definition/model/properties/property-uniqueness.d.ts +0 -14
- package/src/definition/model/relations/index.d.ts +0 -3
- package/src/definition/model/relations/relation-definition.d.ts +0 -236
- package/src/definition/model/relations/relation-definition.js +0 -1
- package/src/definition/model/relations/relation-type.d.ts +0 -14
- package/src/definition/model/relations/relations-definition-validator.d.ts +0 -15
- package/src/errors/index.d.ts +0 -3
- package/src/errors/invalid-argument-error.d.ts +0 -6
- package/src/errors/invalid-operator-value-error.d.ts +0 -13
- package/src/errors/not-implemented-error.d.ts +0 -6
- package/src/filter/fields-clause-tool.d.ts +0 -38
- package/src/filter/filter-clause.d.ts +0 -348
- package/src/filter/include-clause-tool.d.ts +0 -55
- package/src/filter/index.d.ts +0 -7
- package/src/filter/operator-clause-tool.d.ts +0 -224
- package/src/filter/order-clause-tool.d.ts +0 -32
- package/src/filter/slice-clause-tool.d.ts +0 -30
- package/src/filter/where-clause-tool.d.ts +0 -23
- package/src/index.d.ts +0 -9
- package/src/relations/belongs-to-resolver.d.ts +0 -46
- package/src/relations/has-many-resolver.d.ts +0 -67
- package/src/relations/has-one-resolver.d.ts +0 -67
- package/src/relations/index.d.ts +0 -4
- package/src/relations/references-many-resolver.d.ts +0 -27
- package/src/repository/index.d.ts +0 -2
- package/src/repository/repository-registry.d.ts +0 -29
- package/src/repository/repository.d.ts +0 -183
- package/src/types.d.ts +0 -43
- package/src/types.js +0 -1
- package/src/utils/capitalize.d.ts +0 -6
- package/src/utils/clone-deep.d.ts +0 -6
- package/src/utils/exclude-object-keys.d.ts +0 -10
- package/src/utils/get-value-by-path.d.ts +0 -12
- package/src/utils/index.d.ts +0 -12
- package/src/utils/is-deep-equal.d.ts +0 -10
- package/src/utils/is-plain-object.d.ts +0 -6
- package/src/utils/is-promise.d.ts +0 -10
- package/src/utils/like-to-regexp.d.ts +0 -14
- package/src/utils/model-name-to-model-key.d.ts +0 -6
- package/src/utils/select-object-keys.d.ts +0 -10
- package/src/utils/singularize.d.ts +0 -6
- package/src/utils/string-to-regexp.d.ts +0 -10
- package/tsconfig.json +0 -11
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import {ModelData} from '../types.js';
|
|
2
|
-
import {Service} from '@e22m4u/js-service';
|
|
3
|
-
import {FieldsClause} from './filter-clause.js';
|
|
4
|
-
import {NormalizedFieldsClause} from './filter-clause.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Field clause tool.
|
|
8
|
-
*/
|
|
9
|
-
export declare class FieldsClauseTool extends Service {
|
|
10
|
-
/**
|
|
11
|
-
* Filter.
|
|
12
|
-
*
|
|
13
|
-
* @param input
|
|
14
|
-
* @param modelName
|
|
15
|
-
* @param clause
|
|
16
|
-
*/
|
|
17
|
-
filter<T extends ModelData | ModelData[]>(
|
|
18
|
-
input: T,
|
|
19
|
-
modelName: string,
|
|
20
|
-
clause: FieldsClause | undefined,
|
|
21
|
-
): T;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Validate fields clause.
|
|
25
|
-
*
|
|
26
|
-
* @param clause
|
|
27
|
-
*/
|
|
28
|
-
static validateFieldsClause(clause: FieldsClause | undefined): void;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Normalize fields clause.
|
|
32
|
-
*
|
|
33
|
-
* @param clause
|
|
34
|
-
*/
|
|
35
|
-
static normalizeFieldsClause(
|
|
36
|
-
clause: FieldsClause | undefined,
|
|
37
|
-
): NormalizedFieldsClause | undefined;
|
|
38
|
-
}
|
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
import {ModelData} from '../types.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Filter clause.
|
|
5
|
-
*/
|
|
6
|
-
export declare type FilterClause<M extends object = ModelData> = {
|
|
7
|
-
where?: WhereClause<M>;
|
|
8
|
-
order?: OrderClause<M>;
|
|
9
|
-
limit?: number;
|
|
10
|
-
skip?: number;
|
|
11
|
-
fields?: FieldsClause<M>;
|
|
12
|
-
include?: IncludeClause<M>;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Item filter clause.
|
|
17
|
-
*/
|
|
18
|
-
export declare type ItemFilterClause<M extends object = ModelData> = Pick<
|
|
19
|
-
FilterClause<M>,
|
|
20
|
-
'fields' | 'include'
|
|
21
|
-
>;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Where clause.
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```ts
|
|
28
|
-
* value => value.featured === true
|
|
29
|
-
* {foo: 'bar'}
|
|
30
|
-
* {foo: {eq: 'bar'}}
|
|
31
|
-
* {foo: {neq: 'bar'}}
|
|
32
|
-
* {foo: {gt: 5}}
|
|
33
|
-
* {foo: {lt: 10}}
|
|
34
|
-
* {foo: {gte: 5}}
|
|
35
|
-
* {foo: {lte: 10}}
|
|
36
|
-
* {foo: {inq: ['bar', 'baz']}}
|
|
37
|
-
* {foo: {nin: ['bar', 'baz']}}
|
|
38
|
-
* {foo: {between: [5, 10]}}
|
|
39
|
-
* {foo: {exists: true}}
|
|
40
|
-
* {foo: {like: 'bar'}}
|
|
41
|
-
* {foo: {ilike: 'BaR'}}
|
|
42
|
-
* {foo: {nlike: 'bar'}}
|
|
43
|
-
* {foo: {nilike: 'BaR'}}
|
|
44
|
-
* {foo: {regexp: 'ba.+'}}
|
|
45
|
-
* {foo: {regexp: 'ba.+', flags: 'i'}}
|
|
46
|
-
* {and: [...]}
|
|
47
|
-
* {or: [...]}
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
export declare type WhereClause<M extends object = ModelData> =
|
|
51
|
-
Partial<AndClause<M>> |
|
|
52
|
-
Partial<OrClause<M>> |
|
|
53
|
-
PropertiesClause<M>;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Primitive values.
|
|
57
|
-
*/
|
|
58
|
-
export declare type PrimitiveValue =
|
|
59
|
-
| string
|
|
60
|
-
| number
|
|
61
|
-
| boolean
|
|
62
|
-
| null
|
|
63
|
-
| undefined;
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Properties clause.
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* ```ts
|
|
70
|
-
* {
|
|
71
|
-
* name: {inq: ['John', 'Mary']},
|
|
72
|
-
* status: 'ACTIVE',
|
|
73
|
-
* age: {gte: 40}
|
|
74
|
-
* }
|
|
75
|
-
* ```
|
|
76
|
-
*/
|
|
77
|
-
export declare type PropertiesClause<M extends object = ModelData> = {
|
|
78
|
-
[property in keyof M]?: OperatorClause | PrimitiveValue | RegExp;
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Operator clause.
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* ```ts
|
|
86
|
-
* {eq: 'bar'}
|
|
87
|
-
* {neq: 'bar'}
|
|
88
|
-
* {gt: 5}
|
|
89
|
-
* {lt: 10}
|
|
90
|
-
* {gte: 5}
|
|
91
|
-
* {lte: 10}
|
|
92
|
-
* {inq: ['bar', 'baz']}
|
|
93
|
-
* {nin: ['bar', 'baz']}
|
|
94
|
-
* {between: [5, 10]}
|
|
95
|
-
* {exists: true}
|
|
96
|
-
* {like: 'bar'}
|
|
97
|
-
* {ilike: 'BaR'}
|
|
98
|
-
* {nlike: 'bar'}
|
|
99
|
-
* {nilike: 'BaR'}
|
|
100
|
-
* {regexp: 'ba.+'}
|
|
101
|
-
* {regexp: 'ba.+', flags: 'i'}
|
|
102
|
-
* ```
|
|
103
|
-
*/
|
|
104
|
-
export declare type OperatorClause = {
|
|
105
|
-
eq?: PrimitiveValue;
|
|
106
|
-
neq?: PrimitiveValue;
|
|
107
|
-
gt?: string | number;
|
|
108
|
-
gte?: string | number;
|
|
109
|
-
lt?: string | number;
|
|
110
|
-
lte?: string | number;
|
|
111
|
-
inq?: PrimitiveValue[];
|
|
112
|
-
nin?: PrimitiveValue[];
|
|
113
|
-
between?: readonly [string | number, string | number];
|
|
114
|
-
exists?: boolean;
|
|
115
|
-
like?: string;
|
|
116
|
-
nlike?: string;
|
|
117
|
-
ilike?: string;
|
|
118
|
-
nilike?: string;
|
|
119
|
-
regexp?: string | RegExp;
|
|
120
|
-
flags?: string;
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* And clause.
|
|
125
|
-
*
|
|
126
|
-
* @example
|
|
127
|
-
* ```ts
|
|
128
|
-
* {
|
|
129
|
-
* and: [...],
|
|
130
|
-
* }
|
|
131
|
-
* ```
|
|
132
|
-
*/
|
|
133
|
-
export interface AndClause<M extends object = ModelData> {
|
|
134
|
-
and: WhereClause<M>[];
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Or clause.
|
|
139
|
-
*
|
|
140
|
-
* @example
|
|
141
|
-
* ```ts
|
|
142
|
-
* {
|
|
143
|
-
* or: [...],
|
|
144
|
-
* }
|
|
145
|
-
* ```
|
|
146
|
-
*/
|
|
147
|
-
export interface OrClause<M extends object = ModelData> {
|
|
148
|
-
or: WhereClause<M>[];
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Order clause item.
|
|
153
|
-
*
|
|
154
|
-
* @example
|
|
155
|
-
* ```ts
|
|
156
|
-
* 'prop'
|
|
157
|
-
* 'prop ASC'
|
|
158
|
-
* 'prop DESC';
|
|
159
|
-
* ```
|
|
160
|
-
*/
|
|
161
|
-
export declare type OrderClauseItem<M extends object = ModelData> = {
|
|
162
|
-
[prop in keyof M]: prop | `${prop & string} ASC` | `${prop & string} DESC`;
|
|
163
|
-
}[keyof M];
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* Order clause.
|
|
167
|
-
*
|
|
168
|
-
* @example
|
|
169
|
-
* ```ts
|
|
170
|
-
* 'prop'
|
|
171
|
-
* 'prop ASC'
|
|
172
|
-
* 'prop DESC';
|
|
173
|
-
* ['prop1', 'prop2'];
|
|
174
|
-
* ['prop1 ASC', 'prop2 DESC'];
|
|
175
|
-
* ```
|
|
176
|
-
*/
|
|
177
|
-
export declare type OrderClause<M extends object = ModelData> =
|
|
178
|
-
| OrderClauseItem<M>
|
|
179
|
-
| OrderClauseItem<M>[];
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Fields.
|
|
183
|
-
*
|
|
184
|
-
* @example
|
|
185
|
-
* ```ts
|
|
186
|
-
* 'prop'
|
|
187
|
-
* ['prop1', 'prop2']
|
|
188
|
-
* ```
|
|
189
|
-
*/
|
|
190
|
-
export declare type FieldsClause<M extends object = ModelData> =
|
|
191
|
-
| keyof M
|
|
192
|
-
| NormalizedFieldsClause<M>;
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Normalized fields clause.
|
|
196
|
-
*
|
|
197
|
-
* @example
|
|
198
|
-
* ```ts
|
|
199
|
-
* [
|
|
200
|
-
* 'prop1',
|
|
201
|
-
* 'prop2',
|
|
202
|
-
* ]
|
|
203
|
-
* ```
|
|
204
|
-
*/
|
|
205
|
-
export declare type NormalizedFieldsClause<M extends object = ModelData> =
|
|
206
|
-
(keyof M)[];
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Include clause.
|
|
210
|
-
*
|
|
211
|
-
* @example
|
|
212
|
-
* ```ts
|
|
213
|
-
* 'customers'
|
|
214
|
-
* ```
|
|
215
|
-
*
|
|
216
|
-
* @example
|
|
217
|
-
* ```ts
|
|
218
|
-
* [
|
|
219
|
-
* 'customers',
|
|
220
|
-
* 'orders',
|
|
221
|
-
* ]
|
|
222
|
-
* ```
|
|
223
|
-
*
|
|
224
|
-
* @example
|
|
225
|
-
* ```ts
|
|
226
|
-
* {
|
|
227
|
-
* customer: 'orders'
|
|
228
|
-
* }
|
|
229
|
-
* ```
|
|
230
|
-
*
|
|
231
|
-
* @example
|
|
232
|
-
* ```ts
|
|
233
|
-
* {
|
|
234
|
-
* customer: {
|
|
235
|
-
* address: 'city',
|
|
236
|
-
* },
|
|
237
|
-
* }
|
|
238
|
-
* ```
|
|
239
|
-
*
|
|
240
|
-
* @example
|
|
241
|
-
* ```ts
|
|
242
|
-
* {
|
|
243
|
-
* customer: [
|
|
244
|
-
* 'orders',
|
|
245
|
-
* {address: 'city'},
|
|
246
|
-
* ],
|
|
247
|
-
* }
|
|
248
|
-
* ```
|
|
249
|
-
*
|
|
250
|
-
* @example
|
|
251
|
-
* ```ts
|
|
252
|
-
* {
|
|
253
|
-
* relation: 'customer',
|
|
254
|
-
* scope: {
|
|
255
|
-
* where: {removed: false},
|
|
256
|
-
* order: 'createdAt DESC',
|
|
257
|
-
* skip: 0,
|
|
258
|
-
* limit: 16,
|
|
259
|
-
* fields: ['id', 'name', 'removed'],
|
|
260
|
-
* include: 'address',
|
|
261
|
-
* }
|
|
262
|
-
* }
|
|
263
|
-
* ```
|
|
264
|
-
*/
|
|
265
|
-
export declare type IncludeClause<M extends object = ModelData> =
|
|
266
|
-
| keyof M
|
|
267
|
-
| (keyof M)[]
|
|
268
|
-
| NestedIncludeClause<M>
|
|
269
|
-
| NormalizedIncludeClause<M>
|
|
270
|
-
| IncludeClause[];
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* Nested include clause.
|
|
274
|
-
*
|
|
275
|
-
* @example
|
|
276
|
-
* ```ts
|
|
277
|
-
* {
|
|
278
|
-
* customer: 'orders'
|
|
279
|
-
* }
|
|
280
|
-
* ```
|
|
281
|
-
*
|
|
282
|
-
* @example
|
|
283
|
-
* ```ts
|
|
284
|
-
* {
|
|
285
|
-
* customer: {
|
|
286
|
-
* address: 'city',
|
|
287
|
-
* },
|
|
288
|
-
* }
|
|
289
|
-
* ```
|
|
290
|
-
*
|
|
291
|
-
* @example
|
|
292
|
-
* ```ts
|
|
293
|
-
* {
|
|
294
|
-
* customer: [
|
|
295
|
-
* 'orders',
|
|
296
|
-
* {address: 'city'},
|
|
297
|
-
* ],
|
|
298
|
-
* }
|
|
299
|
-
* ```
|
|
300
|
-
*
|
|
301
|
-
* @example
|
|
302
|
-
* ```ts
|
|
303
|
-
* {
|
|
304
|
-
* relation: 'customer',
|
|
305
|
-
* scope: {
|
|
306
|
-
* where: {removed: false},
|
|
307
|
-
* order: 'createdAt DESC',
|
|
308
|
-
* skip: 0,
|
|
309
|
-
* limit: 16,
|
|
310
|
-
* fields: ['id', 'name', 'removed'],
|
|
311
|
-
* include: 'address',
|
|
312
|
-
* }
|
|
313
|
-
* }
|
|
314
|
-
* ```
|
|
315
|
-
*/
|
|
316
|
-
export declare type NestedIncludeClause<M extends object = ModelData> = {
|
|
317
|
-
[property in keyof M]?: IncludeClause;
|
|
318
|
-
};
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* Inclusion.
|
|
322
|
-
*
|
|
323
|
-
* @example
|
|
324
|
-
* ```ts
|
|
325
|
-
* {
|
|
326
|
-
* relation: 'customer',
|
|
327
|
-
* }
|
|
328
|
-
* ```
|
|
329
|
-
*
|
|
330
|
-
* @example
|
|
331
|
-
* ```ts
|
|
332
|
-
* {
|
|
333
|
-
* relation: 'customer',
|
|
334
|
-
* scope: {
|
|
335
|
-
* where: {removed: false},
|
|
336
|
-
* order: 'createdAt DESC',
|
|
337
|
-
* skip: 0,
|
|
338
|
-
* limit: 16,
|
|
339
|
-
* fields: ['id', 'name', 'removed'],
|
|
340
|
-
* include: 'address',
|
|
341
|
-
* }
|
|
342
|
-
* }
|
|
343
|
-
* ```
|
|
344
|
-
*/
|
|
345
|
-
export declare interface NormalizedIncludeClause<M extends object = ModelData> {
|
|
346
|
-
relation: keyof M;
|
|
347
|
-
scope?: FilterClause;
|
|
348
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import {ModelData} from '../types.js';
|
|
2
|
-
import {Service} from '@e22m4u/js-service';
|
|
3
|
-
import {FilterClause} from './filter-clause.js';
|
|
4
|
-
import {IncludeClause} from './filter-clause.js';
|
|
5
|
-
import {NormalizedIncludeClause} from './filter-clause.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Include clause tool.
|
|
9
|
-
*/
|
|
10
|
-
export declare class IncludeClauseTool extends Service {
|
|
11
|
-
/**
|
|
12
|
-
* Include to.
|
|
13
|
-
*
|
|
14
|
-
* @param entities
|
|
15
|
-
* @param modelName
|
|
16
|
-
* @param clause
|
|
17
|
-
*/
|
|
18
|
-
includeTo(
|
|
19
|
-
entities: ModelData[],
|
|
20
|
-
modelName: string,
|
|
21
|
-
clause: IncludeClause | undefined,
|
|
22
|
-
): Promise<void>;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Validate include clause.
|
|
26
|
-
*
|
|
27
|
-
* @param clause
|
|
28
|
-
*/
|
|
29
|
-
static validateIncludeClause(clause: IncludeClause | undefined): void;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Validate scope clause.
|
|
33
|
-
*
|
|
34
|
-
* @param clause
|
|
35
|
-
*/
|
|
36
|
-
static validateScopeClause(clause: FilterClause | undefined): void;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Normalize include clause.
|
|
40
|
-
*
|
|
41
|
-
* @param clause
|
|
42
|
-
*/
|
|
43
|
-
static normalizeIncludeClause(
|
|
44
|
-
clause: IncludeClause | undefined,
|
|
45
|
-
): NormalizedIncludeClause[];
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Normalize scope clause.
|
|
49
|
-
*
|
|
50
|
-
* @param clause
|
|
51
|
-
*/
|
|
52
|
-
static normalizeScopeClause(
|
|
53
|
-
clause: FilterClause | undefined,
|
|
54
|
-
): FilterClause | undefined;
|
|
55
|
-
}
|
package/src/filter/index.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './filter-clause.js';
|
|
2
|
-
export * from './slice-clause-tool.js';
|
|
3
|
-
export * from './order-clause-tool.js';
|
|
4
|
-
export * from './where-clause-tool.js';
|
|
5
|
-
export * from './fields-clause-tool.js';
|
|
6
|
-
export * from './include-clause-tool.js';
|
|
7
|
-
export * from './operator-clause-tool.js';
|
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
import {Service} from '@e22m4u/js-service';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Operator clause tool.
|
|
5
|
-
*/
|
|
6
|
-
export declare class OperatorClauseTool extends Service {
|
|
7
|
-
/**
|
|
8
|
-
* Compare.
|
|
9
|
-
*
|
|
10
|
-
* @param val1
|
|
11
|
-
* @param val2
|
|
12
|
-
* @param noTypeConversion
|
|
13
|
-
*/
|
|
14
|
-
compare(val1: unknown, val2: unknown, noTypeConversion?: boolean): number;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Test all operators.
|
|
18
|
-
*
|
|
19
|
-
* @param clause
|
|
20
|
-
* @param value
|
|
21
|
-
*/
|
|
22
|
-
testAll(clause: object, value: unknown): boolean | undefined;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Test eq/neq operator.
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```ts
|
|
29
|
-
* {
|
|
30
|
-
* eq: 'foo',
|
|
31
|
-
* }
|
|
32
|
-
* ```
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* ```ts
|
|
36
|
-
* {
|
|
37
|
-
* neq: 'foo',
|
|
38
|
-
* }
|
|
39
|
-
* ```
|
|
40
|
-
*
|
|
41
|
-
* @param clause
|
|
42
|
-
* @param value
|
|
43
|
-
*/
|
|
44
|
-
testEqNeq(clause: object, value: unknown): boolean | undefined;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Test lt/gt/lte/gte operator.
|
|
48
|
-
*
|
|
49
|
-
* @example
|
|
50
|
-
* ```ts
|
|
51
|
-
* {
|
|
52
|
-
* lt: 10,
|
|
53
|
-
* }
|
|
54
|
-
* ```
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```ts
|
|
58
|
-
* {
|
|
59
|
-
* lte: 10,
|
|
60
|
-
* }
|
|
61
|
-
* ```
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* ```ts
|
|
65
|
-
* {
|
|
66
|
-
* gt: 10,
|
|
67
|
-
* }
|
|
68
|
-
* ```
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```ts
|
|
72
|
-
* {
|
|
73
|
-
* gte: 10,
|
|
74
|
-
* }
|
|
75
|
-
* ```
|
|
76
|
-
*
|
|
77
|
-
* @param clause
|
|
78
|
-
* @param value
|
|
79
|
-
*/
|
|
80
|
-
testGtLt(clause: object, value: unknown): boolean | undefined;
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Test inc operator.
|
|
84
|
-
*
|
|
85
|
-
* @example
|
|
86
|
-
* ```ts
|
|
87
|
-
* {
|
|
88
|
-
* inc: ['foo', 'bar'],
|
|
89
|
-
* }
|
|
90
|
-
* ```
|
|
91
|
-
*
|
|
92
|
-
* @param clause
|
|
93
|
-
* @param value
|
|
94
|
-
*/
|
|
95
|
-
testInq(clause: object, value: unknown): boolean | undefined;
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Test nin operator.
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* ```ts
|
|
102
|
-
* {
|
|
103
|
-
* nin: ['foo', 'bar'],
|
|
104
|
-
* }
|
|
105
|
-
* ```
|
|
106
|
-
*
|
|
107
|
-
* @param clause
|
|
108
|
-
* @param value
|
|
109
|
-
*/
|
|
110
|
-
testNin(clause: object, value: unknown): boolean | undefined;
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Test between operator.
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```ts
|
|
117
|
-
* {
|
|
118
|
-
* between: [10, 20],
|
|
119
|
-
* }
|
|
120
|
-
* ```
|
|
121
|
-
*
|
|
122
|
-
* @param clause
|
|
123
|
-
* @param value
|
|
124
|
-
*/
|
|
125
|
-
testBetween(clause: object, value: unknown): boolean | undefined;
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Test exists operator.
|
|
129
|
-
*
|
|
130
|
-
* @example
|
|
131
|
-
* ```ts
|
|
132
|
-
* {
|
|
133
|
-
* exists: true,
|
|
134
|
-
* }
|
|
135
|
-
* ```
|
|
136
|
-
*
|
|
137
|
-
* @param clause
|
|
138
|
-
* @param value
|
|
139
|
-
*/
|
|
140
|
-
testExists(clause: object, value: unknown): boolean | undefined;
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Test like operator.
|
|
144
|
-
*
|
|
145
|
-
* @example
|
|
146
|
-
* ```ts
|
|
147
|
-
* {
|
|
148
|
-
* like: 'foo',
|
|
149
|
-
* }
|
|
150
|
-
* ```
|
|
151
|
-
*
|
|
152
|
-
* @param clause
|
|
153
|
-
* @param value
|
|
154
|
-
*/
|
|
155
|
-
testLike(clause: object, value: unknown): boolean | undefined;
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Test nlike operator.
|
|
159
|
-
*
|
|
160
|
-
* @example
|
|
161
|
-
* ```ts
|
|
162
|
-
* {
|
|
163
|
-
* nlike: 'foo',
|
|
164
|
-
* }
|
|
165
|
-
* ```
|
|
166
|
-
*
|
|
167
|
-
* @param clause
|
|
168
|
-
* @param value
|
|
169
|
-
*/
|
|
170
|
-
testNlike(clause: object, value: unknown): boolean | undefined;
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Test ilike operator.
|
|
174
|
-
*
|
|
175
|
-
* @example
|
|
176
|
-
* ```ts
|
|
177
|
-
* {
|
|
178
|
-
* ilike: 'foo',
|
|
179
|
-
* }
|
|
180
|
-
* ```
|
|
181
|
-
*
|
|
182
|
-
* @param clause
|
|
183
|
-
* @param value
|
|
184
|
-
*/
|
|
185
|
-
testIlike(clause: object, value: unknown): boolean | undefined;
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Test nilike operator.
|
|
189
|
-
*
|
|
190
|
-
* @example
|
|
191
|
-
* ```ts
|
|
192
|
-
* {
|
|
193
|
-
* nilike: 'foo',
|
|
194
|
-
* }
|
|
195
|
-
* ```
|
|
196
|
-
*
|
|
197
|
-
* @param clause
|
|
198
|
-
* @param value
|
|
199
|
-
*/
|
|
200
|
-
testNilike(clause: object, value: unknown): boolean | undefined;
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Test regexp.
|
|
204
|
-
*
|
|
205
|
-
* @example
|
|
206
|
-
* ```ts
|
|
207
|
-
* {
|
|
208
|
-
* regexp: 'foo.*',
|
|
209
|
-
* }
|
|
210
|
-
* ```
|
|
211
|
-
*
|
|
212
|
-
* @example
|
|
213
|
-
* ```ts
|
|
214
|
-
* {
|
|
215
|
-
* regexp: 'foo.*',
|
|
216
|
-
* flags: 'i',
|
|
217
|
-
* }
|
|
218
|
-
* ```
|
|
219
|
-
*
|
|
220
|
-
* @param clause
|
|
221
|
-
* @param value
|
|
222
|
-
*/
|
|
223
|
-
testRegexp(clause: object, value: unknown): boolean | undefined;
|
|
224
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import {ModelData} from '../types.js';
|
|
2
|
-
import {Service} from '@e22m4u/js-service';
|
|
3
|
-
import {OrderClause} from './filter-clause.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Order clause tool.
|
|
7
|
-
*/
|
|
8
|
-
export declare class OrderClauseTool extends Service {
|
|
9
|
-
/**
|
|
10
|
-
* Sort.
|
|
11
|
-
*
|
|
12
|
-
* @param entities
|
|
13
|
-
* @param clause
|
|
14
|
-
*/
|
|
15
|
-
sort(entities: ModelData[], clause: OrderClause | undefined): void;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Validate order clause.
|
|
19
|
-
*
|
|
20
|
-
* @param clause
|
|
21
|
-
*/
|
|
22
|
-
static validateOrderClause(clause: OrderClause | undefined): void;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Normalize order clause.
|
|
26
|
-
*
|
|
27
|
-
* @param clause
|
|
28
|
-
*/
|
|
29
|
-
static normalizeOrderClause(
|
|
30
|
-
clause: OrderClause | undefined,
|
|
31
|
-
): string[] | undefined;
|
|
32
|
-
}
|