@e22m4u/js-repository 0.8.0 → 0.8.1
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 +164 -123
- package/dist/cjs/index.cjs +86 -1
- package/eslint.config.js +2 -1
- package/package.json +15 -8
- package/src/adapter/adapter-loader.d.ts +16 -0
- package/src/adapter/adapter-registry.d.ts +14 -0
- package/src/adapter/adapter.d.ts +153 -0
- package/src/adapter/builtin/memory-adapter.d.ts +148 -0
- package/src/adapter/builtin/memory-adapter.js +1 -1
- package/src/adapter/decorator/data-sanitizing-decorator.d.ts +14 -0
- package/src/adapter/decorator/default-values-decorator.d.ts +14 -0
- package/src/adapter/decorator/fields-filtering-decorator.d.ts +14 -0
- package/src/adapter/decorator/inclusion-decorator.d.ts +14 -0
- package/src/adapter/decorator/index.d.ts +5 -0
- package/src/adapter/decorator/property-uniqueness-decorator.d.ts +14 -0
- package/src/adapter/index.d.ts +3 -0
- package/src/database-schema.d.ts +37 -0
- package/src/definition/datasource/datasource-definition-validator.d.ts +14 -0
- package/src/definition/datasource/datasource-definition.d.ts +8 -0
- package/src/definition/datasource/index.d.ts +2 -0
- package/src/definition/definition-registry.d.ts +50 -0
- package/src/definition/index.d.ts +3 -0
- package/src/definition/model/index.d.ts +6 -0
- package/src/definition/model/index.js +1 -0
- package/src/definition/model/model-data-sanitizer.d.ts +15 -0
- package/src/definition/model/model-definition-utils.d.ts +180 -0
- package/src/definition/model/model-definition-validator.d.ts +14 -0
- package/src/definition/model/model-definition.d.ts +28 -0
- package/src/definition/model/model-definition.js +1 -0
- package/src/definition/model/properties/data-type.d.ts +16 -0
- package/src/definition/model/properties/index.d.ts +6 -0
- package/src/definition/model/properties/index.js +1 -0
- package/src/definition/model/properties/primary-keys-definition-validator.d.ts +15 -0
- package/src/definition/model/properties/properties-definition-validator.d.ts +15 -0
- package/src/definition/model/properties/property-definition.d.ts +23 -0
- package/src/definition/model/properties/property-definition.js +1 -0
- package/src/definition/model/properties/property-uniqueness-validator.d.ts +31 -0
- package/src/definition/model/properties/property-uniqueness.d.ts +14 -0
- package/src/definition/model/relations/index.d.ts +3 -0
- package/src/definition/model/relations/index.js +1 -0
- package/src/definition/model/relations/relation-definition.d.ts +236 -0
- package/src/definition/model/relations/relation-definition.js +1 -0
- package/src/definition/model/relations/relation-type.d.ts +14 -0
- package/src/definition/model/relations/relations-definition-validator.d.ts +15 -0
- package/src/errors/index.d.ts +3 -0
- package/src/errors/invalid-argument-error.d.ts +6 -0
- package/src/errors/invalid-operator-value-error.d.ts +13 -0
- package/src/errors/not-implemented-error.d.ts +6 -0
- package/src/filter/fields-clause-tool.d.ts +38 -0
- package/src/filter/filter-clause.d.ts +348 -0
- package/src/filter/include-clause-tool.d.ts +55 -0
- package/src/filter/index.d.ts +7 -0
- package/src/filter/operator-clause-tool.d.ts +224 -0
- package/src/filter/order-clause-tool.d.ts +32 -0
- package/src/filter/slice-clause-tool.d.ts +30 -0
- package/src/filter/where-clause-tool.d.ts +23 -0
- package/src/index.d.ts +9 -0
- package/src/index.js +1 -0
- package/src/relations/belongs-to-resolver.d.ts +46 -0
- package/src/relations/has-many-resolver.d.ts +67 -0
- package/src/relations/has-one-resolver.d.ts +67 -0
- package/src/relations/index.d.ts +4 -0
- package/src/relations/references-many-resolver.d.ts +27 -0
- package/src/repository/index.d.ts +2 -0
- package/src/repository/repository-registry.d.ts +29 -0
- package/src/repository/repository.d.ts +183 -0
- package/src/types.d.ts +43 -0
- package/src/types.js +1 -0
- package/src/utils/capitalize.d.ts +6 -0
- package/src/utils/clone-deep.d.ts +6 -0
- package/src/utils/exclude-object-keys.d.ts +10 -0
- package/src/utils/get-value-by-path.d.ts +12 -0
- package/src/utils/index.d.ts +12 -0
- package/src/utils/is-deep-equal.d.ts +10 -0
- package/src/utils/is-plain-object.d.ts +6 -0
- package/src/utils/is-promise.d.ts +10 -0
- package/src/utils/like-to-regexp.d.ts +14 -0
- package/src/utils/model-name-to-model-key.d.ts +6 -0
- package/src/utils/select-object-keys.d.ts +10 -0
- package/src/utils/singularize.d.ts +6 -0
- package/src/utils/string-to-regexp.d.ts +10 -0
- package/tsconfig.json +14 -0
- package/jsconfig.json +0 -7
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import {ModelId} from '../types.js';
|
|
2
|
+
import {AnyObject} from '../types.js';
|
|
3
|
+
import {ModelData} from '../types.js';
|
|
4
|
+
import {Service} from '@e22m4u/js-service';
|
|
5
|
+
import {WhereClause} from '../filter/index.js';
|
|
6
|
+
import {FilterClause} from '../filter/index.js';
|
|
7
|
+
import {ItemFilterClause} from '../filter/index.js';
|
|
8
|
+
import {ServiceContainer} from '@e22m4u/js-service';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Adapter.
|
|
12
|
+
*/
|
|
13
|
+
export declare class Adapter extends Service {
|
|
14
|
+
/**
|
|
15
|
+
* Kinds.
|
|
16
|
+
*/
|
|
17
|
+
static kinds: string[];
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Settings.
|
|
21
|
+
*/
|
|
22
|
+
get settings(): AnyObject | undefined;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Constructor.
|
|
26
|
+
*
|
|
27
|
+
* @param container
|
|
28
|
+
* @param settings
|
|
29
|
+
*/
|
|
30
|
+
constructor(container?: ServiceContainer, settings?: AnyObject);
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Create.
|
|
34
|
+
*
|
|
35
|
+
* @param modelName
|
|
36
|
+
* @param modelData
|
|
37
|
+
* @param filter
|
|
38
|
+
*/
|
|
39
|
+
create(
|
|
40
|
+
modelName: string,
|
|
41
|
+
modelData: ModelData,
|
|
42
|
+
filter?: ItemFilterClause,
|
|
43
|
+
): Promise<ModelData>;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Replace by id.
|
|
47
|
+
*
|
|
48
|
+
* @param modelName
|
|
49
|
+
* @param id
|
|
50
|
+
* @param modelData
|
|
51
|
+
* @param filter
|
|
52
|
+
*/
|
|
53
|
+
replaceById(
|
|
54
|
+
modelName: string,
|
|
55
|
+
id: ModelId,
|
|
56
|
+
modelData: ModelData,
|
|
57
|
+
filter?: ItemFilterClause,
|
|
58
|
+
): Promise<ModelData>;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Replace or create.
|
|
62
|
+
*
|
|
63
|
+
* @param modelName
|
|
64
|
+
* @param modelData
|
|
65
|
+
* @param filter
|
|
66
|
+
*/
|
|
67
|
+
replaceOrCreate(
|
|
68
|
+
modelName: string,
|
|
69
|
+
modelData: ModelData,
|
|
70
|
+
filter?: ItemFilterClause,
|
|
71
|
+
): Promise<ModelData>;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Patch.
|
|
75
|
+
*
|
|
76
|
+
* @param modelName
|
|
77
|
+
* @param modelData
|
|
78
|
+
* @param where
|
|
79
|
+
*/
|
|
80
|
+
patch(
|
|
81
|
+
modelName: string,
|
|
82
|
+
modelData: ModelData,
|
|
83
|
+
where?: WhereClause,
|
|
84
|
+
): Promise<number>;
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Patch by id.
|
|
88
|
+
*
|
|
89
|
+
* @param modelName
|
|
90
|
+
* @param id
|
|
91
|
+
* @param modelData
|
|
92
|
+
* @param filter
|
|
93
|
+
*/
|
|
94
|
+
patchById(
|
|
95
|
+
modelName: string,
|
|
96
|
+
id: ModelId,
|
|
97
|
+
modelData: ModelData,
|
|
98
|
+
filter?: ItemFilterClause,
|
|
99
|
+
): Promise<ModelData>;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Find.
|
|
103
|
+
*
|
|
104
|
+
* @param modelName
|
|
105
|
+
* @param filter
|
|
106
|
+
*/
|
|
107
|
+
find(modelName: string, filter?: FilterClause): Promise<ModelData[]>;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Find by id.
|
|
111
|
+
*
|
|
112
|
+
* @param modelName
|
|
113
|
+
* @param id
|
|
114
|
+
* @param filter
|
|
115
|
+
*/
|
|
116
|
+
findById(
|
|
117
|
+
modelName: string,
|
|
118
|
+
id: ModelId,
|
|
119
|
+
filter?: ItemFilterClause,
|
|
120
|
+
): Promise<ModelData>;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Delete.
|
|
124
|
+
*
|
|
125
|
+
* @param modelName
|
|
126
|
+
* @param where
|
|
127
|
+
*/
|
|
128
|
+
delete(modelName: string, where?: WhereClause): Promise<number>;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Delete by id.
|
|
132
|
+
*
|
|
133
|
+
* @param modelName
|
|
134
|
+
* @param id
|
|
135
|
+
*/
|
|
136
|
+
deleteById(modelName: string, id: ModelId): Promise<boolean>;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Exists.
|
|
140
|
+
*
|
|
141
|
+
* @param modelName
|
|
142
|
+
* @param id
|
|
143
|
+
*/
|
|
144
|
+
exists(modelName: string, id: ModelId): Promise<boolean>;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Count.
|
|
148
|
+
*
|
|
149
|
+
* @param modelName
|
|
150
|
+
* @param where
|
|
151
|
+
*/
|
|
152
|
+
count(modelName: string, where?: WhereClause): Promise<number>;
|
|
153
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import {Adapter} from '../adapter.js';
|
|
2
|
+
import {ModelId} from '../../types.js';
|
|
3
|
+
import {AnyObject} from '../../types.js';
|
|
4
|
+
import {ModelData} from '../../types.js';
|
|
5
|
+
import {WhereClause} from '../../filter/index.js';
|
|
6
|
+
import {FilterClause} from '../../filter/index.js';
|
|
7
|
+
import {ServiceContainer} from '@e22m4u/js-service';
|
|
8
|
+
import {ItemFilterClause} from '../../filter/index.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Memory adapter.
|
|
12
|
+
*/
|
|
13
|
+
export declare class MemoryAdapter extends Adapter {
|
|
14
|
+
/**
|
|
15
|
+
* Settings.
|
|
16
|
+
*/
|
|
17
|
+
get settings(): AnyObject | undefined;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Constructor.
|
|
21
|
+
*
|
|
22
|
+
* @param container
|
|
23
|
+
* @param settings
|
|
24
|
+
*/
|
|
25
|
+
constructor(container?: ServiceContainer, settings?: AnyObject);
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Create.
|
|
29
|
+
*
|
|
30
|
+
* @param modelName
|
|
31
|
+
* @param modelData
|
|
32
|
+
* @param filter
|
|
33
|
+
*/
|
|
34
|
+
create(
|
|
35
|
+
modelName: string,
|
|
36
|
+
modelData: ModelData,
|
|
37
|
+
filter?: ItemFilterClause,
|
|
38
|
+
): Promise<ModelData>;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Replace by id.
|
|
42
|
+
*
|
|
43
|
+
* @param modelName
|
|
44
|
+
* @param id
|
|
45
|
+
* @param modelData
|
|
46
|
+
* @param filter
|
|
47
|
+
*/
|
|
48
|
+
replaceById(
|
|
49
|
+
modelName: string,
|
|
50
|
+
id: ModelId,
|
|
51
|
+
modelData: ModelData,
|
|
52
|
+
filter?: ItemFilterClause,
|
|
53
|
+
): Promise<ModelData>;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Replace or create.
|
|
57
|
+
*
|
|
58
|
+
* @param modelName
|
|
59
|
+
* @param modelData
|
|
60
|
+
* @param filter
|
|
61
|
+
*/
|
|
62
|
+
replaceOrCreate(
|
|
63
|
+
modelName: string,
|
|
64
|
+
modelData: ModelData,
|
|
65
|
+
filter?: ItemFilterClause,
|
|
66
|
+
): Promise<ModelData>;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Patch.
|
|
70
|
+
*
|
|
71
|
+
* @param modelName
|
|
72
|
+
* @param modelData
|
|
73
|
+
* @param where
|
|
74
|
+
*/
|
|
75
|
+
patch(
|
|
76
|
+
modelName: string,
|
|
77
|
+
modelData: ModelData,
|
|
78
|
+
where?: WhereClause,
|
|
79
|
+
): Promise<number>;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Patch by id.
|
|
83
|
+
*
|
|
84
|
+
* @param modelName
|
|
85
|
+
* @param id
|
|
86
|
+
* @param modelData
|
|
87
|
+
* @param filter
|
|
88
|
+
*/
|
|
89
|
+
patchById(
|
|
90
|
+
modelName: string,
|
|
91
|
+
id: ModelId,
|
|
92
|
+
modelData: ModelData,
|
|
93
|
+
filter?: ItemFilterClause,
|
|
94
|
+
): Promise<ModelData>;
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Find.
|
|
98
|
+
*
|
|
99
|
+
* @param modelName
|
|
100
|
+
* @param filter
|
|
101
|
+
*/
|
|
102
|
+
find(modelName: string, filter?: FilterClause): Promise<ModelData[]>;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Find by id.
|
|
106
|
+
*
|
|
107
|
+
* @param modelName
|
|
108
|
+
* @param id
|
|
109
|
+
* @param filter
|
|
110
|
+
*/
|
|
111
|
+
findById(
|
|
112
|
+
modelName: string,
|
|
113
|
+
id: ModelId,
|
|
114
|
+
filter?: ItemFilterClause,
|
|
115
|
+
): Promise<ModelData>;
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Delete.
|
|
119
|
+
*
|
|
120
|
+
* @param modelName
|
|
121
|
+
* @param where
|
|
122
|
+
*/
|
|
123
|
+
delete(modelName: string, where?: WhereClause): Promise<number>;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Delete by id.
|
|
127
|
+
*
|
|
128
|
+
* @param modelName
|
|
129
|
+
* @param id
|
|
130
|
+
*/
|
|
131
|
+
deleteById(modelName: string, id: ModelId): Promise<boolean>;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Exists.
|
|
135
|
+
*
|
|
136
|
+
* @param modelName
|
|
137
|
+
* @param id
|
|
138
|
+
*/
|
|
139
|
+
exists(modelName: string, id: ModelId): Promise<boolean>;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Count.
|
|
143
|
+
*
|
|
144
|
+
* @param modelName
|
|
145
|
+
* @param where
|
|
146
|
+
*/
|
|
147
|
+
count(modelName: string, where?: WhereClause): Promise<number>;
|
|
148
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {Adapter} from '../adapter.js';
|
|
2
|
-
import {cloneDeep, capitalize} from '../../utils/index.js';
|
|
3
2
|
import {InvalidArgumentError} from '../../errors/index.js';
|
|
3
|
+
import {cloneDeep, capitalize} from '../../utils/index.js';
|
|
4
4
|
import {DataType, ModelDefinitionUtils} from '../../definition/index.js';
|
|
5
5
|
|
|
6
6
|
import {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {Adapter} from '../adapter.js';
|
|
2
|
+
import {Service} from '@e22m4u/js-service';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Data sanitizing decorator.
|
|
6
|
+
*/
|
|
7
|
+
export declare class DataSanitizingDecorator extends Service {
|
|
8
|
+
/**
|
|
9
|
+
* Decorate.
|
|
10
|
+
*
|
|
11
|
+
* @param adapter
|
|
12
|
+
*/
|
|
13
|
+
decorate(adapter: Adapter): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {Service} from '@e22m4u/js-service';
|
|
2
|
+
import {Adapter} from '../adapter.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Default values decorator.
|
|
6
|
+
*/
|
|
7
|
+
export declare class DefaultValuesDecorator extends Service {
|
|
8
|
+
/**
|
|
9
|
+
* Decorate.
|
|
10
|
+
*
|
|
11
|
+
* @param adapter
|
|
12
|
+
*/
|
|
13
|
+
decorate(adapter: Adapter): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {Service} from '@e22m4u/js-service';
|
|
2
|
+
import {Adapter} from '../adapter.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Fields filtering decorator.
|
|
6
|
+
*/
|
|
7
|
+
export declare class FieldsFilteringDecorator extends Service {
|
|
8
|
+
/**
|
|
9
|
+
* Decorate.
|
|
10
|
+
*
|
|
11
|
+
* @param adapter
|
|
12
|
+
*/
|
|
13
|
+
decorate(adapter: Adapter): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {Service} from '@e22m4u/js-service';
|
|
2
|
+
import {Adapter} from '../adapter.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Inclusion decorator.
|
|
6
|
+
*/
|
|
7
|
+
export declare class InclusionDecorator extends Service {
|
|
8
|
+
/**
|
|
9
|
+
* Decorate.
|
|
10
|
+
*
|
|
11
|
+
* @param adapter
|
|
12
|
+
*/
|
|
13
|
+
decorate(adapter: Adapter): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {Adapter} from '../adapter.js';
|
|
2
|
+
import {Service} from '@e22m4u/js-service';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Property uniqueness decorator.
|
|
6
|
+
*/
|
|
7
|
+
export declare class PropertyUniquenessDecorator extends Service {
|
|
8
|
+
/**
|
|
9
|
+
* Decorate.
|
|
10
|
+
*
|
|
11
|
+
* @param adapter
|
|
12
|
+
*/
|
|
13
|
+
decorate(adapter: Adapter): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {ModelId} from './types.js';
|
|
2
|
+
import {ModelData} from './types.js';
|
|
3
|
+
import {Service} from '@e22m4u/js-service';
|
|
4
|
+
import {Repository} from './repository/index.js';
|
|
5
|
+
import {ModelDefinition} from './definition/index.js';
|
|
6
|
+
import {DatasourceDefinition} from './definition/index.js';
|
|
7
|
+
import {DEFAULT_PRIMARY_KEY_PROPERTY_NAME} from './definition/index.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Database schema.
|
|
11
|
+
*/
|
|
12
|
+
export declare class DatabaseSchema extends Service {
|
|
13
|
+
/**
|
|
14
|
+
* Define datasource.
|
|
15
|
+
*
|
|
16
|
+
* @param datasourceDef
|
|
17
|
+
*/
|
|
18
|
+
defineDatasource(datasourceDef: DatasourceDefinition): this;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Define model.
|
|
22
|
+
*
|
|
23
|
+
* @param modelDef
|
|
24
|
+
*/
|
|
25
|
+
defineModel(modelDef: ModelDefinition): this;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Get repository.
|
|
29
|
+
*
|
|
30
|
+
* @param modelName
|
|
31
|
+
*/
|
|
32
|
+
getRepository<
|
|
33
|
+
Data extends object = ModelData,
|
|
34
|
+
IdType extends ModelId = ModelId,
|
|
35
|
+
IdName extends string = typeof DEFAULT_PRIMARY_KEY_PROPERTY_NAME,
|
|
36
|
+
>(modelName: string): Repository<Data, IdType, IdName>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {Service} from '@e22m4u/js-service';
|
|
2
|
+
import {DatasourceDefinition} from './datasource-definition.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Datasource definition validator.
|
|
6
|
+
*/
|
|
7
|
+
export declare class DatasourceDefinitionValidator extends Service {
|
|
8
|
+
/**
|
|
9
|
+
* Validate.
|
|
10
|
+
*
|
|
11
|
+
* @param datasourceDef
|
|
12
|
+
*/
|
|
13
|
+
validate(datasourceDef: DatasourceDefinition): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import {Service} from '@e22m4u/js-service';
|
|
2
|
+
import {ModelDefinition} from './model/index.js';
|
|
3
|
+
import {DatasourceDefinition} from './datasource/index.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Definition registry.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DefinitionRegistry extends Service {
|
|
9
|
+
/**
|
|
10
|
+
* Add datasource.
|
|
11
|
+
*
|
|
12
|
+
* @param datasourceDef
|
|
13
|
+
*/
|
|
14
|
+
addDatasource(datasourceDef: DatasourceDefinition): void;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Has datasource.
|
|
18
|
+
*
|
|
19
|
+
* @param name
|
|
20
|
+
*/
|
|
21
|
+
hasDatasource(name: string): boolean;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Get datasource.
|
|
25
|
+
*
|
|
26
|
+
* @param name
|
|
27
|
+
*/
|
|
28
|
+
getDatasource(name: string): DatasourceDefinition;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Add model.
|
|
32
|
+
*
|
|
33
|
+
* @param modelDef
|
|
34
|
+
*/
|
|
35
|
+
addModel(modelDef: ModelDefinition): void;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Has model.
|
|
39
|
+
*
|
|
40
|
+
* @param name
|
|
41
|
+
*/
|
|
42
|
+
hasModel(name: string): boolean;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Get model.
|
|
46
|
+
*
|
|
47
|
+
* @param name
|
|
48
|
+
*/
|
|
49
|
+
getModel(name: string): ModelDefinition;
|
|
50
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {ModelData} from '../../types.js';
|
|
2
|
+
import {Service} from '@e22m4u/js-service';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Model data sanitizer.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ModelDataSanitizer extends Service {
|
|
8
|
+
/**
|
|
9
|
+
* Sanitize.
|
|
10
|
+
*
|
|
11
|
+
* @param modelName
|
|
12
|
+
* @param modelData
|
|
13
|
+
*/
|
|
14
|
+
sanitize(modelName: string, modelData: ModelData): ModelData;
|
|
15
|
+
}
|