@e22m4u/js-repository 0.0.32 → 0.0.33
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/package.json +1 -1
- package/src/adapter/adapter.d.ts +11 -7
- package/src/adapter/builtin/memory-adapter.d.ts +11 -7
- package/src/filter/fields-clause-tool.d.ts +2 -2
- package/src/filter/{filter.d.ts → filter-clause.d.ts} +10 -10
- package/src/filter/include-clause-tool.d.ts +7 -5
- package/src/filter/index.d.ts +1 -1
- package/src/filter/order-clause-tool.d.ts +1 -1
- package/src/filter/slice-clause-tool.js +1 -1
- package/src/filter/where-clause-tool.d.ts +1 -1
- package/src/relations/belongs-to-resolver.d.ts +3 -3
- package/src/relations/has-many-resolver.d.ts +4 -4
- package/src/relations/has-one-resolver.d.ts +4 -4
- package/src/relations/references-many-resolver.d.ts +2 -2
- package/src/repository/repository.d.ts +9 -9
package/package.json
CHANGED
package/src/adapter/adapter.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {ModelId} from '../types.js';
|
|
2
2
|
import {AnyObject} from '../types.js';
|
|
3
3
|
import {ModelData} from '../types.js';
|
|
4
|
-
import {Filter} from '../filter/index.js';
|
|
5
4
|
import {Service} from '@e22m4u/js-service';
|
|
6
|
-
import {ItemFilter} from '../filter/index.js';
|
|
7
5
|
import {WhereClause} from '../filter/index.js';
|
|
6
|
+
import {FilterClause} from '../filter/index.js';
|
|
7
|
+
import {ItemFilterClause} from '../filter/index.js';
|
|
8
8
|
import {ServiceContainer} from '@e22m4u/js-service';
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -34,7 +34,7 @@ export declare class Adapter extends Service {
|
|
|
34
34
|
create(
|
|
35
35
|
modelName: string,
|
|
36
36
|
modelData: ModelData,
|
|
37
|
-
filter?:
|
|
37
|
+
filter?: ItemFilterClause,
|
|
38
38
|
): Promise<ModelData>;
|
|
39
39
|
|
|
40
40
|
/**
|
|
@@ -49,7 +49,7 @@ export declare class Adapter extends Service {
|
|
|
49
49
|
modelName: string,
|
|
50
50
|
id: ModelId,
|
|
51
51
|
modelData: ModelData,
|
|
52
|
-
filter?:
|
|
52
|
+
filter?: ItemFilterClause,
|
|
53
53
|
): Promise<ModelData>;
|
|
54
54
|
|
|
55
55
|
/**
|
|
@@ -64,7 +64,7 @@ export declare class Adapter extends Service {
|
|
|
64
64
|
modelName: string,
|
|
65
65
|
id: ModelId,
|
|
66
66
|
modelData: ModelData,
|
|
67
|
-
filter?:
|
|
67
|
+
filter?: ItemFilterClause,
|
|
68
68
|
): Promise<ModelData>;
|
|
69
69
|
|
|
70
70
|
/**
|
|
@@ -73,7 +73,7 @@ export declare class Adapter extends Service {
|
|
|
73
73
|
* @param modelName
|
|
74
74
|
* @param filter
|
|
75
75
|
*/
|
|
76
|
-
find(modelName: string, filter?:
|
|
76
|
+
find(modelName: string, filter?: FilterClause): Promise<ModelData[]>;
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
79
|
* Find by id.
|
|
@@ -82,7 +82,11 @@ export declare class Adapter extends Service {
|
|
|
82
82
|
* @param id
|
|
83
83
|
* @param filter
|
|
84
84
|
*/
|
|
85
|
-
findById(
|
|
85
|
+
findById(
|
|
86
|
+
modelName: string,
|
|
87
|
+
id: ModelId,
|
|
88
|
+
filter?: ItemFilterClause,
|
|
89
|
+
): Promise<ModelData>;
|
|
86
90
|
|
|
87
91
|
/**
|
|
88
92
|
* Delete.
|
|
@@ -2,10 +2,10 @@ import {Adapter} from '../adapter.js';
|
|
|
2
2
|
import {ModelId} from '../../types.js';
|
|
3
3
|
import {AnyObject} from '../../types.js';
|
|
4
4
|
import {ModelData} from '../../types.js';
|
|
5
|
-
import {Filter} from '../../filter/index.js';
|
|
6
|
-
import {ItemFilter} from '../../filter/index.js';
|
|
7
5
|
import {WhereClause} from '../../filter/index.js';
|
|
6
|
+
import {FilterClause} from '../../filter/index.js';
|
|
8
7
|
import {ServiceContainer} from '@e22m4u/js-service';
|
|
8
|
+
import {ItemFilterClause} from '../../filter/index.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Memory adapter.
|
|
@@ -34,7 +34,7 @@ export declare class MemoryAdapter extends Adapter {
|
|
|
34
34
|
create(
|
|
35
35
|
modelName: string,
|
|
36
36
|
modelData: ModelData,
|
|
37
|
-
filter?:
|
|
37
|
+
filter?: ItemFilterClause,
|
|
38
38
|
): Promise<ModelData>;
|
|
39
39
|
|
|
40
40
|
/**
|
|
@@ -49,7 +49,7 @@ export declare class MemoryAdapter extends Adapter {
|
|
|
49
49
|
modelName: string,
|
|
50
50
|
id: ModelId,
|
|
51
51
|
modelData: ModelData,
|
|
52
|
-
filter?:
|
|
52
|
+
filter?: ItemFilterClause,
|
|
53
53
|
): Promise<ModelData>;
|
|
54
54
|
|
|
55
55
|
/**
|
|
@@ -64,7 +64,7 @@ export declare class MemoryAdapter extends Adapter {
|
|
|
64
64
|
modelName: string,
|
|
65
65
|
id: ModelId,
|
|
66
66
|
modelData: ModelData,
|
|
67
|
-
filter?:
|
|
67
|
+
filter?: ItemFilterClause,
|
|
68
68
|
): Promise<ModelData>;
|
|
69
69
|
|
|
70
70
|
/**
|
|
@@ -73,7 +73,7 @@ export declare class MemoryAdapter extends Adapter {
|
|
|
73
73
|
* @param modelName
|
|
74
74
|
* @param filter
|
|
75
75
|
*/
|
|
76
|
-
find(modelName: string, filter?:
|
|
76
|
+
find(modelName: string, filter?: FilterClause): Promise<ModelData[]>;
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
79
|
* Find by id.
|
|
@@ -82,7 +82,11 @@ export declare class MemoryAdapter extends Adapter {
|
|
|
82
82
|
* @param id
|
|
83
83
|
* @param filter
|
|
84
84
|
*/
|
|
85
|
-
findById(
|
|
85
|
+
findById(
|
|
86
|
+
modelName: string,
|
|
87
|
+
id: ModelId,
|
|
88
|
+
filter?: ItemFilterClause,
|
|
89
|
+
): Promise<ModelData>;
|
|
86
90
|
|
|
87
91
|
/**
|
|
88
92
|
* Delete.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {ModelData} from '../types.js';
|
|
2
|
-
import {FieldsClause} from './filter.js';
|
|
3
2
|
import {Service} from '@e22m4u/js-service';
|
|
4
|
-
import {
|
|
3
|
+
import {FieldsClause} from './filter-clause.js';
|
|
4
|
+
import {NormalizedFieldsClause} from './filter-clause.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Field clause tool.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {ModelData} from '../types.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Filter.
|
|
4
|
+
* Filter clause.
|
|
5
5
|
*/
|
|
6
|
-
export declare type
|
|
6
|
+
export declare type FilterClause = {
|
|
7
7
|
where?: WhereClause;
|
|
8
8
|
order?: OrderClause;
|
|
9
9
|
limit?: number;
|
|
@@ -13,9 +13,9 @@ export declare type Filter = {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* Item filter.
|
|
16
|
+
* Item filter clause.
|
|
17
17
|
*/
|
|
18
|
-
export declare type
|
|
18
|
+
export declare type ItemFilterClause = Pick<FilterClause, 'fields' | 'include'>;
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Where clause.
|
|
@@ -45,20 +45,20 @@ export declare type ItemFilter = Pick<Filter, 'fields' | 'include'>;
|
|
|
45
45
|
* ```
|
|
46
46
|
*/
|
|
47
47
|
export declare type WhereClause =
|
|
48
|
-
|
|
|
48
|
+
| PredicateClause
|
|
49
49
|
| PropertiesClause
|
|
50
50
|
| AndClause
|
|
51
51
|
| OrClause;
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
54
|
+
* Predicate clause.
|
|
55
55
|
*
|
|
56
56
|
* @example
|
|
57
57
|
* ```ts
|
|
58
58
|
* (value) => value.featured === true;
|
|
59
59
|
* ```
|
|
60
60
|
*/
|
|
61
|
-
export type
|
|
61
|
+
export type PredicateClause = (value: ModelData) => boolean;
|
|
62
62
|
|
|
63
63
|
/**
|
|
64
64
|
* Properties clause.
|
|
@@ -136,7 +136,7 @@ export declare type OperatorClause = {
|
|
|
136
136
|
* ```
|
|
137
137
|
*/
|
|
138
138
|
export interface AndClause {
|
|
139
|
-
and
|
|
139
|
+
and?: WhereClause[];
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
/**
|
|
@@ -150,7 +150,7 @@ export interface AndClause {
|
|
|
150
150
|
* ```
|
|
151
151
|
*/
|
|
152
152
|
export interface OrClause {
|
|
153
|
-
or
|
|
153
|
+
or?: WhereClause[];
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
/**
|
|
@@ -331,5 +331,5 @@ export declare type NestedIncludeClause = {
|
|
|
331
331
|
*/
|
|
332
332
|
export declare type NormalizedIncludeClause = {
|
|
333
333
|
relation: string;
|
|
334
|
-
scope?:
|
|
334
|
+
scope?: FilterClause;
|
|
335
335
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {Filter} from './filter.js';
|
|
2
1
|
import {ModelData} from '../types.js';
|
|
3
|
-
import {IncludeClause} from './filter.js';
|
|
4
2
|
import {Service} from '@e22m4u/js-service';
|
|
5
|
-
import {
|
|
3
|
+
import {FilterClause} from './filter-clause.js';
|
|
4
|
+
import {IncludeClause} from './filter-clause.js';
|
|
5
|
+
import {NormalizedIncludeClause} from './filter-clause.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Include clause tool.
|
|
@@ -33,7 +33,7 @@ export declare class IncludeClauseTool extends Service {
|
|
|
33
33
|
*
|
|
34
34
|
* @param clause
|
|
35
35
|
*/
|
|
36
|
-
static validateScopeClause(clause:
|
|
36
|
+
static validateScopeClause(clause: FilterClause | undefined): void;
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* Normalize include clause.
|
|
@@ -49,5 +49,7 @@ export declare class IncludeClauseTool extends Service {
|
|
|
49
49
|
*
|
|
50
50
|
* @param clause
|
|
51
51
|
*/
|
|
52
|
-
static normalizeScopeClause(
|
|
52
|
+
static normalizeScopeClause(
|
|
53
|
+
clause: FilterClause | undefined,
|
|
54
|
+
): FilterClause | undefined;
|
|
53
55
|
}
|
package/src/filter/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {ModelData} from '../types.js';
|
|
2
|
-
import {Filter} from '../filter/index.js';
|
|
3
2
|
import {Service} from '@e22m4u/js-service';
|
|
3
|
+
import {FilterClause} from '../filter/index.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Belongs to resolver.
|
|
@@ -22,7 +22,7 @@ export declare class BelongsToResolver extends Service {
|
|
|
22
22
|
targetName: string,
|
|
23
23
|
relationName: string,
|
|
24
24
|
foreignKey?: string,
|
|
25
|
-
scope?:
|
|
25
|
+
scope?: FilterClause,
|
|
26
26
|
): Promise<void>;
|
|
27
27
|
|
|
28
28
|
/**
|
|
@@ -41,6 +41,6 @@ export declare class BelongsToResolver extends Service {
|
|
|
41
41
|
relationName: string,
|
|
42
42
|
foreignKey?: string,
|
|
43
43
|
discriminator?: string,
|
|
44
|
-
scope?:
|
|
44
|
+
scope?: FilterClause,
|
|
45
45
|
): Promise<void>;
|
|
46
46
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {ModelData} from '../types.js';
|
|
2
|
-
import {Filter} from '../filter/index.js';
|
|
3
2
|
import {Service} from '@e22m4u/js-service';
|
|
3
|
+
import {FilterClause} from '../filter/index.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Has many resolver.
|
|
@@ -22,7 +22,7 @@ export declare class HasManyResolver extends Service {
|
|
|
22
22
|
targetName: string,
|
|
23
23
|
relationName: string,
|
|
24
24
|
foreignKey: string,
|
|
25
|
-
scope?:
|
|
25
|
+
scope?: FilterClause,
|
|
26
26
|
): Promise<void>;
|
|
27
27
|
|
|
28
28
|
/**
|
|
@@ -43,7 +43,7 @@ export declare class HasManyResolver extends Service {
|
|
|
43
43
|
relationName: string,
|
|
44
44
|
foreignKey: string,
|
|
45
45
|
discriminator: string,
|
|
46
|
-
scope?:
|
|
46
|
+
scope?: FilterClause,
|
|
47
47
|
): Promise<void>;
|
|
48
48
|
|
|
49
49
|
/**
|
|
@@ -62,6 +62,6 @@ export declare class HasManyResolver extends Service {
|
|
|
62
62
|
targetName: string,
|
|
63
63
|
relationName: string,
|
|
64
64
|
targetRelationName: string,
|
|
65
|
-
scope?:
|
|
65
|
+
scope?: FilterClause,
|
|
66
66
|
): Promise<void>;
|
|
67
67
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {ModelData} from '../types.js';
|
|
2
|
-
import {Filter} from '../filter/index.js';
|
|
3
2
|
import {Service} from '@e22m4u/js-service';
|
|
3
|
+
import {FilterClause} from '../filter/index.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Has one resolver.
|
|
@@ -22,7 +22,7 @@ export declare class HasOneResolver extends Service {
|
|
|
22
22
|
targetName: string,
|
|
23
23
|
relationName: string,
|
|
24
24
|
foreignKey: string,
|
|
25
|
-
scope?:
|
|
25
|
+
scope?: FilterClause,
|
|
26
26
|
): Promise<void>;
|
|
27
27
|
|
|
28
28
|
/**
|
|
@@ -43,7 +43,7 @@ export declare class HasOneResolver extends Service {
|
|
|
43
43
|
relationName: string,
|
|
44
44
|
foreignKey: string,
|
|
45
45
|
discriminator: string,
|
|
46
|
-
scope?:
|
|
46
|
+
scope?: FilterClause,
|
|
47
47
|
): Promise<void>;
|
|
48
48
|
|
|
49
49
|
/**
|
|
@@ -62,6 +62,6 @@ export declare class HasOneResolver extends Service {
|
|
|
62
62
|
targetName: string,
|
|
63
63
|
relationName: string,
|
|
64
64
|
targetRelationName: string,
|
|
65
|
-
scope?:
|
|
65
|
+
scope?: FilterClause,
|
|
66
66
|
): Promise<void>;
|
|
67
67
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {ModelData} from '../types.js';
|
|
2
|
-
import {Filter} from '../filter/index.js';
|
|
3
2
|
import {Service} from '@e22m4u/js-service';
|
|
3
|
+
import {FilterClause} from '../filter/index.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* References many resolver.
|
|
@@ -22,6 +22,6 @@ export declare class ReferencesManyResolver extends Service {
|
|
|
22
22
|
targetName: string,
|
|
23
23
|
relationName: string,
|
|
24
24
|
foreignKey?: string,
|
|
25
|
-
scope?:
|
|
25
|
+
scope?: FilterClause,
|
|
26
26
|
): Promise<void>;
|
|
27
27
|
}
|
|
@@ -2,11 +2,11 @@ import {ModelId} from '../types.js';
|
|
|
2
2
|
import {Flatten} from '../types.js';
|
|
3
3
|
import {ModelData} from '../types.js';
|
|
4
4
|
import {PartialBy} from '../types.js';
|
|
5
|
-
import {Filter} from '../filter/index.js';
|
|
6
5
|
import {Service} from '@e22m4u/js-service';
|
|
7
6
|
import {Adapter} from '../adapter/index.js';
|
|
8
|
-
import {ItemFilter} from '../filter/index.js';
|
|
9
7
|
import {WhereClause} from '../filter/index.js';
|
|
8
|
+
import {FilterClause} from '../filter/index.js';
|
|
9
|
+
import {ItemFilterClause} from '../filter/index.js';
|
|
10
10
|
import {ServiceContainer} from '@e22m4u/js-service';
|
|
11
11
|
import {DEFAULT_PRIMARY_KEY_PROPERTY_NAME} from '../definition/index.js';
|
|
12
12
|
|
|
@@ -50,7 +50,7 @@ export declare class Repository<
|
|
|
50
50
|
*/
|
|
51
51
|
create(
|
|
52
52
|
data: OptionalUnlessRequiredId<IdName, FlatData>,
|
|
53
|
-
filter?:
|
|
53
|
+
filter?: ItemFilterClause,
|
|
54
54
|
): Promise<FlatData>;
|
|
55
55
|
|
|
56
56
|
/**
|
|
@@ -63,7 +63,7 @@ export declare class Repository<
|
|
|
63
63
|
replaceById(
|
|
64
64
|
id: IdType,
|
|
65
65
|
data: WithoutId<IdName, FlatData>,
|
|
66
|
-
filter?:
|
|
66
|
+
filter?: ItemFilterClause,
|
|
67
67
|
): Promise<FlatData>;
|
|
68
68
|
|
|
69
69
|
/**
|
|
@@ -74,7 +74,7 @@ export declare class Repository<
|
|
|
74
74
|
*/
|
|
75
75
|
replaceOrCreate(
|
|
76
76
|
data: OptionalUnlessRequiredId<IdName, Data>,
|
|
77
|
-
filter?:
|
|
77
|
+
filter?: ItemFilterClause,
|
|
78
78
|
): Promise<FlatData>;
|
|
79
79
|
|
|
80
80
|
/**
|
|
@@ -87,7 +87,7 @@ export declare class Repository<
|
|
|
87
87
|
patchById(
|
|
88
88
|
id: IdType,
|
|
89
89
|
data: PartialWithoutId<IdName, Data>,
|
|
90
|
-
filter?:
|
|
90
|
+
filter?: ItemFilterClause,
|
|
91
91
|
): Promise<FlatData>;
|
|
92
92
|
|
|
93
93
|
/**
|
|
@@ -95,14 +95,14 @@ export declare class Repository<
|
|
|
95
95
|
*
|
|
96
96
|
* @param filter
|
|
97
97
|
*/
|
|
98
|
-
find(filter?:
|
|
98
|
+
find(filter?: FilterClause): Promise<FlatData[]>;
|
|
99
99
|
|
|
100
100
|
/**
|
|
101
101
|
* Find one.
|
|
102
102
|
*
|
|
103
103
|
* @param filter
|
|
104
104
|
*/
|
|
105
|
-
findOne(filter?:
|
|
105
|
+
findOne(filter?: FilterClause): Promise<FlatData | undefined>;
|
|
106
106
|
|
|
107
107
|
/**
|
|
108
108
|
* Find by id.
|
|
@@ -110,7 +110,7 @@ export declare class Repository<
|
|
|
110
110
|
* @param id
|
|
111
111
|
* @param filter
|
|
112
112
|
*/
|
|
113
|
-
findById(id: IdType, filter?:
|
|
113
|
+
findById(id: IdType, filter?: ItemFilterClause): Promise<FlatData>;
|
|
114
114
|
|
|
115
115
|
/**
|
|
116
116
|
* Delete.
|