@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e22m4u/js-repository",
3
- "version": "0.0.32",
3
+ "version": "0.0.33",
4
4
  "description": "Абстракция для работы с базами данных для Node.js",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -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?: ItemFilter,
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?: ItemFilter,
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?: ItemFilter,
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?: Filter): Promise<ModelData[]>;
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(modelName: string, id: ModelId, filter?: Filter): Promise<ModelData>;
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?: ItemFilter,
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?: ItemFilter,
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?: ItemFilter,
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?: Filter): Promise<ModelData[]>;
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(modelName: string, id: ModelId, filter?: Filter): Promise<ModelData>;
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 {NormalizedFieldsClause} from './filter.js';
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 Filter = {
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 ItemFilter = Pick<Filter, 'fields' | 'include'>;
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
- | FunctionClause
48
+ | PredicateClause
49
49
  | PropertiesClause
50
50
  | AndClause
51
51
  | OrClause;
52
52
 
53
53
  /**
54
- * Function clause.
54
+ * Predicate clause.
55
55
  *
56
56
  * @example
57
57
  * ```ts
58
58
  * (value) => value.featured === true;
59
59
  * ```
60
60
  */
61
- export type FunctionClause = (value: ModelData) => boolean;
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: WhereClause[];
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: WhereClause[];
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?: Filter;
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 {NormalizedIncludeClause} from './filter.js';
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: Filter | undefined): void;
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(clause: Filter | undefined): Filter | undefined;
52
+ static normalizeScopeClause(
53
+ clause: FilterClause | undefined,
54
+ ): FilterClause | undefined;
53
55
  }
@@ -1,4 +1,4 @@
1
- export * from './filter.js';
1
+ export * from './filter-clause.js';
2
2
  export * from './slice-clause-tool.js';
3
3
  export * from './order-clause-tool.js';
4
4
  export * from './where-clause-tool.js';
@@ -1,6 +1,6 @@
1
1
  import {ModelData} from '../types.js';
2
- import {OrderClause} from './filter.js';
3
2
  import {Service} from '@e22m4u/js-service';
3
+ import {OrderClause} from './filter-clause.js';
4
4
 
5
5
  /**
6
6
  * Order clause tool.
@@ -6,7 +6,7 @@ import {InvalidArgumentError} from '../errors/index.js';
6
6
  */
7
7
  export class SliceClauseTool extends Service {
8
8
  /**
9
- * Filter.
9
+ * Slice.
10
10
  *
11
11
  * @param {object[]} entities
12
12
  * @param {number|undefined} skip
@@ -1,6 +1,6 @@
1
1
  import {ModelData} from '../types.js';
2
- import {WhereClause} from './filter.js';
3
2
  import {Service} from '@e22m4u/js-service';
3
+ import {WhereClause} from './filter-clause.js';
4
4
 
5
5
  /**
6
6
  * Where clause tool.
@@ -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?: Filter,
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?: Filter,
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?: Filter,
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?: Filter,
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?: Filter,
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?: Filter,
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?: Filter,
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?: Filter,
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?: Filter,
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?: ItemFilter,
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?: ItemFilter,
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?: ItemFilter,
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?: ItemFilter,
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?: Filter): Promise<FlatData[]>;
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?: ItemFilter): Promise<FlatData | undefined>;
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?: ItemFilter): Promise<FlatData>;
113
+ findById(id: IdType, filter?: ItemFilterClause): Promise<FlatData>;
114
114
 
115
115
  /**
116
116
  * Delete.