@mikro-orm/core 7.0.0-dev.12 → 7.0.0-dev.121
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/EntityManager.d.ts +85 -56
- package/EntityManager.js +332 -293
- package/MikroORM.d.ts +41 -32
- package/MikroORM.js +100 -140
- package/README.md +3 -2
- package/cache/FileCacheAdapter.d.ts +1 -1
- package/cache/FileCacheAdapter.js +8 -7
- package/cache/GeneratedCacheAdapter.d.ts +0 -1
- package/cache/GeneratedCacheAdapter.js +0 -2
- package/cache/index.d.ts +0 -1
- package/cache/index.js +0 -1
- package/connections/Connection.d.ts +16 -7
- package/connections/Connection.js +23 -14
- package/drivers/DatabaseDriver.d.ts +25 -16
- package/drivers/DatabaseDriver.js +40 -24
- package/drivers/IDatabaseDriver.d.ts +38 -17
- package/entity/BaseEntity.d.ts +0 -1
- package/entity/BaseEntity.js +0 -3
- package/entity/Collection.d.ts +95 -30
- package/entity/Collection.js +439 -99
- package/entity/EntityAssigner.d.ts +1 -1
- package/entity/EntityAssigner.js +26 -18
- package/entity/EntityFactory.d.ts +7 -0
- package/entity/EntityFactory.js +72 -53
- package/entity/EntityHelper.d.ts +2 -2
- package/entity/EntityHelper.js +30 -15
- package/entity/EntityLoader.d.ts +7 -6
- package/entity/EntityLoader.js +84 -72
- package/entity/EntityRepository.d.ts +1 -1
- package/entity/EntityRepository.js +2 -2
- package/entity/Reference.d.ts +6 -5
- package/entity/Reference.js +34 -9
- package/entity/WrappedEntity.d.ts +2 -7
- package/entity/WrappedEntity.js +3 -8
- package/entity/defineEntity.d.ts +568 -0
- package/entity/defineEntity.js +529 -0
- package/entity/index.d.ts +3 -2
- package/entity/index.js +3 -2
- package/entity/utils.d.ts +7 -0
- package/entity/utils.js +16 -4
- package/entity/validators.d.ts +11 -0
- package/entity/validators.js +65 -0
- package/enums.d.ts +21 -6
- package/enums.js +14 -1
- package/errors.d.ts +17 -9
- package/errors.js +41 -21
- package/events/EventManager.d.ts +2 -1
- package/events/EventManager.js +19 -11
- package/hydration/Hydrator.js +1 -2
- package/hydration/ObjectHydrator.d.ts +4 -4
- package/hydration/ObjectHydrator.js +50 -33
- package/index.d.ts +2 -2
- package/index.js +1 -2
- package/logging/DefaultLogger.d.ts +1 -1
- package/logging/DefaultLogger.js +1 -0
- package/logging/SimpleLogger.d.ts +1 -1
- package/logging/colors.d.ts +1 -1
- package/logging/colors.js +7 -6
- package/logging/index.d.ts +1 -0
- package/logging/index.js +1 -0
- package/logging/inspect.d.ts +2 -0
- package/logging/inspect.js +11 -0
- package/metadata/EntitySchema.d.ts +22 -24
- package/metadata/EntitySchema.js +73 -51
- package/metadata/MetadataDiscovery.d.ts +6 -10
- package/metadata/MetadataDiscovery.js +289 -298
- package/metadata/MetadataProvider.d.ts +11 -2
- package/metadata/MetadataProvider.js +46 -2
- package/metadata/MetadataStorage.d.ts +13 -11
- package/metadata/MetadataStorage.js +70 -37
- package/metadata/MetadataValidator.d.ts +2 -9
- package/metadata/MetadataValidator.js +22 -38
- package/metadata/discover-entities.d.ts +5 -0
- package/metadata/discover-entities.js +40 -0
- package/metadata/index.d.ts +1 -1
- package/metadata/index.js +1 -1
- package/metadata/types.d.ts +480 -0
- package/metadata/types.js +1 -0
- package/naming-strategy/AbstractNamingStrategy.d.ts +8 -4
- package/naming-strategy/AbstractNamingStrategy.js +8 -2
- package/naming-strategy/EntityCaseNamingStrategy.d.ts +3 -3
- package/naming-strategy/EntityCaseNamingStrategy.js +6 -5
- package/naming-strategy/MongoNamingStrategy.d.ts +3 -3
- package/naming-strategy/MongoNamingStrategy.js +6 -6
- package/naming-strategy/NamingStrategy.d.ts +14 -4
- package/naming-strategy/UnderscoreNamingStrategy.d.ts +3 -3
- package/naming-strategy/UnderscoreNamingStrategy.js +6 -6
- package/not-supported.d.ts +2 -0
- package/not-supported.js +4 -0
- package/package.json +19 -11
- package/platforms/ExceptionConverter.js +1 -1
- package/platforms/Platform.d.ts +6 -13
- package/platforms/Platform.js +17 -43
- package/serialization/EntitySerializer.d.ts +5 -0
- package/serialization/EntitySerializer.js +47 -27
- package/serialization/EntityTransformer.js +28 -18
- package/serialization/SerializationContext.d.ts +6 -6
- package/serialization/SerializationContext.js +16 -13
- package/types/ArrayType.d.ts +1 -1
- package/types/ArrayType.js +2 -3
- package/types/BigIntType.d.ts +8 -6
- package/types/BigIntType.js +1 -1
- package/types/BlobType.d.ts +0 -1
- package/types/BlobType.js +0 -3
- package/types/BooleanType.d.ts +2 -1
- package/types/BooleanType.js +3 -0
- package/types/DecimalType.d.ts +6 -4
- package/types/DecimalType.js +3 -3
- package/types/DoubleType.js +2 -2
- package/types/EnumArrayType.js +1 -2
- package/types/JsonType.d.ts +1 -1
- package/types/JsonType.js +7 -2
- package/types/TinyIntType.js +1 -1
- package/types/Type.d.ts +2 -4
- package/types/Type.js +3 -3
- package/types/Uint8ArrayType.d.ts +0 -1
- package/types/Uint8ArrayType.js +1 -4
- package/types/index.d.ts +1 -1
- package/typings.d.ts +148 -109
- package/typings.js +50 -42
- package/unit-of-work/ChangeSet.d.ts +2 -6
- package/unit-of-work/ChangeSet.js +4 -5
- package/unit-of-work/ChangeSetComputer.d.ts +1 -3
- package/unit-of-work/ChangeSetComputer.js +14 -12
- package/unit-of-work/ChangeSetPersister.d.ts +5 -4
- package/unit-of-work/ChangeSetPersister.js +65 -33
- package/unit-of-work/CommitOrderCalculator.d.ts +12 -10
- package/unit-of-work/CommitOrderCalculator.js +13 -13
- package/unit-of-work/UnitOfWork.d.ts +10 -3
- package/unit-of-work/UnitOfWork.js +139 -96
- package/utils/AbstractSchemaGenerator.d.ts +5 -5
- package/utils/AbstractSchemaGenerator.js +18 -16
- package/utils/AsyncContext.d.ts +6 -0
- package/utils/AsyncContext.js +42 -0
- package/utils/Configuration.d.ts +753 -207
- package/utils/Configuration.js +145 -190
- package/utils/ConfigurationLoader.d.ts +1 -54
- package/utils/ConfigurationLoader.js +1 -352
- package/utils/Cursor.d.ts +0 -3
- package/utils/Cursor.js +9 -6
- package/utils/DataloaderUtils.d.ts +15 -5
- package/utils/DataloaderUtils.js +65 -17
- package/utils/EntityComparator.d.ts +13 -9
- package/utils/EntityComparator.js +85 -43
- package/utils/QueryHelper.d.ts +14 -6
- package/utils/QueryHelper.js +87 -25
- package/utils/RawQueryFragment.d.ts +48 -25
- package/utils/RawQueryFragment.js +66 -70
- package/utils/RequestContext.js +2 -2
- package/utils/TransactionContext.js +2 -2
- package/utils/TransactionManager.d.ts +65 -0
- package/utils/TransactionManager.js +223 -0
- package/utils/Utils.d.ts +12 -119
- package/utils/Utils.js +97 -373
- package/utils/clone.js +8 -23
- package/utils/env-vars.d.ts +7 -0
- package/utils/env-vars.js +97 -0
- package/utils/fs-utils.d.ts +32 -0
- package/utils/fs-utils.js +178 -0
- package/utils/index.d.ts +2 -1
- package/utils/index.js +2 -1
- package/utils/upsert-utils.d.ts +9 -4
- package/utils/upsert-utils.js +55 -4
- package/decorators/Check.d.ts +0 -3
- package/decorators/Check.js +0 -13
- package/decorators/CreateRequestContext.d.ts +0 -3
- package/decorators/CreateRequestContext.js +0 -32
- package/decorators/Embeddable.d.ts +0 -8
- package/decorators/Embeddable.js +0 -11
- package/decorators/Embedded.d.ts +0 -18
- package/decorators/Embedded.js +0 -18
- package/decorators/Entity.d.ts +0 -18
- package/decorators/Entity.js +0 -12
- package/decorators/Enum.d.ts +0 -9
- package/decorators/Enum.js +0 -16
- package/decorators/Filter.d.ts +0 -2
- package/decorators/Filter.js +0 -8
- package/decorators/Formula.d.ts +0 -4
- package/decorators/Formula.js +0 -15
- package/decorators/Indexed.d.ts +0 -19
- package/decorators/Indexed.js +0 -20
- package/decorators/ManyToMany.d.ts +0 -40
- package/decorators/ManyToMany.js +0 -14
- package/decorators/ManyToOne.d.ts +0 -30
- package/decorators/ManyToOne.js +0 -14
- package/decorators/OneToMany.d.ts +0 -28
- package/decorators/OneToMany.js +0 -17
- package/decorators/OneToOne.d.ts +0 -24
- package/decorators/OneToOne.js +0 -7
- package/decorators/PrimaryKey.d.ts +0 -8
- package/decorators/PrimaryKey.js +0 -20
- package/decorators/Property.d.ts +0 -250
- package/decorators/Property.js +0 -32
- package/decorators/Transactional.d.ts +0 -13
- package/decorators/Transactional.js +0 -28
- package/decorators/hooks.d.ts +0 -16
- package/decorators/hooks.js +0 -47
- package/decorators/index.d.ts +0 -17
- package/decorators/index.js +0 -17
- package/entity/ArrayCollection.d.ts +0 -116
- package/entity/ArrayCollection.js +0 -402
- package/entity/EntityValidator.d.ts +0 -19
- package/entity/EntityValidator.js +0 -150
- package/metadata/ReflectMetadataProvider.d.ts +0 -8
- package/metadata/ReflectMetadataProvider.js +0 -44
- package/utils/resolveContextProvider.d.ts +0 -10
- package/utils/resolveContextProvider.js +0 -28
package/metadata/EntitySchema.js
CHANGED
|
@@ -10,7 +10,7 @@ export class EntitySchema {
|
|
|
10
10
|
* so we can use the class in `entities` option just like the EntitySchema instance.
|
|
11
11
|
*/
|
|
12
12
|
static REGISTRY = new Map();
|
|
13
|
-
_meta
|
|
13
|
+
_meta;
|
|
14
14
|
internal = false;
|
|
15
15
|
initialized = false;
|
|
16
16
|
constructor(meta) {
|
|
@@ -18,15 +18,14 @@ export class EntitySchema {
|
|
|
18
18
|
if (meta.name) {
|
|
19
19
|
meta.abstract ??= false;
|
|
20
20
|
}
|
|
21
|
+
this._meta = new EntityMetadata({
|
|
22
|
+
className: meta.name,
|
|
23
|
+
...meta,
|
|
24
|
+
});
|
|
25
|
+
this._meta.root ??= this._meta;
|
|
21
26
|
if (meta.class && !meta.internal) {
|
|
22
27
|
EntitySchema.REGISTRY.set(meta.class, this);
|
|
23
28
|
}
|
|
24
|
-
if (meta.tableName || meta.collection) {
|
|
25
|
-
Utils.renameKey(meta, 'tableName', 'collection');
|
|
26
|
-
meta.tableName = meta.collection;
|
|
27
|
-
}
|
|
28
|
-
Object.assign(this._meta, { className: meta.name }, meta);
|
|
29
|
-
this._meta.root ??= this._meta;
|
|
30
29
|
}
|
|
31
30
|
static fromMetadata(meta) {
|
|
32
31
|
const schema = new EntitySchema({ ...meta, internal: true });
|
|
@@ -34,29 +33,13 @@ export class EntitySchema {
|
|
|
34
33
|
return schema;
|
|
35
34
|
}
|
|
36
35
|
addProperty(name, type, options = {}) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
options[to] = [options[from]];
|
|
41
|
-
// @ts-ignore
|
|
42
|
-
delete options[from];
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
if (name !== options.name) {
|
|
46
|
-
Utils.renameKey(options, 'name', 'fieldName');
|
|
47
|
-
}
|
|
48
|
-
rename(options, 'fieldName', 'fieldNames');
|
|
49
|
-
rename(options, 'ref', 'ref');
|
|
50
|
-
rename(options, 'joinColumn', 'joinColumns');
|
|
51
|
-
rename(options, 'inverseJoinColumn', 'inverseJoinColumns');
|
|
52
|
-
rename(options, 'referenceColumnName', 'referencedColumnNames');
|
|
53
|
-
rename(options, 'columnType', 'columnTypes');
|
|
54
|
-
const prop = { name, kind: ReferenceKind.SCALAR, ...options, type: this.normalizeType(options, type) };
|
|
36
|
+
this.renameCompositeOptions(name, options);
|
|
37
|
+
const prop = { name, kind: ReferenceKind.SCALAR, ...options, ...this.normalizeType(options, type) };
|
|
55
38
|
if (type && Type.isMappedType(type.prototype)) {
|
|
56
39
|
prop.type = type;
|
|
57
40
|
}
|
|
58
|
-
if (
|
|
59
|
-
const formula = prop.formula;
|
|
41
|
+
if (typeof prop.formula === 'string') {
|
|
42
|
+
const formula = prop.formula;
|
|
60
43
|
prop.formula = () => formula;
|
|
61
44
|
}
|
|
62
45
|
if (prop.formula) {
|
|
@@ -91,17 +74,18 @@ export class EntitySchema {
|
|
|
91
74
|
}
|
|
92
75
|
addSerializedPrimaryKey(name, type, options = {}) {
|
|
93
76
|
this._meta.serializedPrimaryKey = name;
|
|
94
|
-
this.addProperty(name, type, options);
|
|
77
|
+
this.addProperty(name, type, { serializedPrimaryKey: true, ...options });
|
|
95
78
|
}
|
|
96
79
|
addEmbedded(name, options) {
|
|
80
|
+
this.renameCompositeOptions(name, options);
|
|
97
81
|
Utils.defaultValue(options, 'prefix', true);
|
|
98
82
|
if (options.array) {
|
|
99
83
|
options.object = true; // force object mode for arrays
|
|
100
84
|
}
|
|
101
85
|
this._meta.properties[name] = {
|
|
102
86
|
name,
|
|
103
|
-
type: this.normalizeType(options),
|
|
104
87
|
kind: ReferenceKind.EMBEDDED,
|
|
88
|
+
...this.normalizeType(options),
|
|
105
89
|
...options,
|
|
106
90
|
};
|
|
107
91
|
}
|
|
@@ -114,6 +98,8 @@ export class EntitySchema {
|
|
|
114
98
|
if (prop.fieldNames && !prop.joinColumns) {
|
|
115
99
|
prop.joinColumns = prop.fieldNames;
|
|
116
100
|
}
|
|
101
|
+
// By default, the foreign key constraint is created on the relation
|
|
102
|
+
Utils.defaultValue(prop, 'createForeignKeyConstraint', true);
|
|
117
103
|
this.addProperty(name, type, prop);
|
|
118
104
|
}
|
|
119
105
|
addManyToMany(name, type, options) {
|
|
@@ -123,6 +109,8 @@ export class EntitySchema {
|
|
|
123
109
|
}
|
|
124
110
|
if (options.owner) {
|
|
125
111
|
Utils.renameKey(options, 'mappedBy', 'inversedBy');
|
|
112
|
+
// By default, the foreign key constraint is created on the relation
|
|
113
|
+
Utils.defaultValue(options, 'createForeignKeyConstraint', true);
|
|
126
114
|
}
|
|
127
115
|
const prop = this.createProperty(ReferenceKind.MANY_TO_MANY, options);
|
|
128
116
|
this.addProperty(name, type, prop);
|
|
@@ -135,8 +123,12 @@ export class EntitySchema {
|
|
|
135
123
|
const prop = this.createProperty(ReferenceKind.ONE_TO_ONE, options);
|
|
136
124
|
Utils.defaultValue(prop, 'owner', !!prop.inversedBy || !prop.mappedBy);
|
|
137
125
|
Utils.defaultValue(prop, 'unique', prop.owner);
|
|
138
|
-
if (prop.owner
|
|
139
|
-
|
|
126
|
+
if (prop.owner) {
|
|
127
|
+
if (options.mappedBy) {
|
|
128
|
+
Utils.renameKey(prop, 'mappedBy', 'inversedBy');
|
|
129
|
+
}
|
|
130
|
+
// By default, the foreign key constraint is created on the relation
|
|
131
|
+
Utils.defaultValue(prop, 'createForeignKeyConstraint', true);
|
|
140
132
|
}
|
|
141
133
|
if (prop.joinColumns && !prop.fieldNames) {
|
|
142
134
|
prop.fieldNames = prop.joinColumns;
|
|
@@ -158,21 +150,20 @@ export class EntitySchema {
|
|
|
158
150
|
setExtends(base) {
|
|
159
151
|
this._meta.extends = base;
|
|
160
152
|
}
|
|
161
|
-
setClass(
|
|
162
|
-
const sameClass = this._meta.className ===
|
|
163
|
-
this._meta.class =
|
|
164
|
-
this._meta.prototype =
|
|
165
|
-
this._meta.className =
|
|
153
|
+
setClass(cls) {
|
|
154
|
+
const sameClass = this._meta.className === cls.name;
|
|
155
|
+
this._meta.class = cls;
|
|
156
|
+
this._meta.prototype = cls.prototype;
|
|
157
|
+
this._meta.className = this._meta.name ?? cls.name;
|
|
166
158
|
if (!sameClass || !this._meta.constructorParams) {
|
|
167
|
-
|
|
168
|
-
this._meta.constructorParams = Utils.getParamNames(tokens, 'constructor');
|
|
169
|
-
this._meta.toJsonParams = Utils.getParamNames(tokens, 'toJSON').filter(p => p !== '...args');
|
|
159
|
+
this._meta.constructorParams = Utils.getConstructorParams(cls);
|
|
170
160
|
}
|
|
171
161
|
if (!this.internal) {
|
|
172
|
-
EntitySchema.REGISTRY.set(
|
|
162
|
+
EntitySchema.REGISTRY.set(cls, this);
|
|
173
163
|
}
|
|
174
|
-
|
|
175
|
-
|
|
164
|
+
const base = Object.getPrototypeOf(cls);
|
|
165
|
+
if (base !== BaseEntity) {
|
|
166
|
+
this._meta.extends ??= base.name ? base : undefined;
|
|
176
167
|
}
|
|
177
168
|
}
|
|
178
169
|
get meta() {
|
|
@@ -181,6 +172,18 @@ export class EntitySchema {
|
|
|
181
172
|
get name() {
|
|
182
173
|
return this._meta.className;
|
|
183
174
|
}
|
|
175
|
+
get tableName() {
|
|
176
|
+
return this._meta.tableName;
|
|
177
|
+
}
|
|
178
|
+
get class() {
|
|
179
|
+
return this._meta.class;
|
|
180
|
+
}
|
|
181
|
+
get properties() {
|
|
182
|
+
return this._meta.properties;
|
|
183
|
+
}
|
|
184
|
+
new(...params) {
|
|
185
|
+
return new this._meta.class(...params);
|
|
186
|
+
}
|
|
184
187
|
/**
|
|
185
188
|
* @internal
|
|
186
189
|
*/
|
|
@@ -188,11 +191,6 @@ export class EntitySchema {
|
|
|
188
191
|
if (this.initialized) {
|
|
189
192
|
return this;
|
|
190
193
|
}
|
|
191
|
-
if (!this._meta.class) {
|
|
192
|
-
const name = this.name;
|
|
193
|
-
this._meta.class = ({ [name]: class {
|
|
194
|
-
} })[name];
|
|
195
|
-
}
|
|
196
194
|
this.setClass(this._meta.class);
|
|
197
195
|
if (this._meta.abstract && !this._meta.discriminatorColumn) {
|
|
198
196
|
delete this._meta.name;
|
|
@@ -200,7 +198,7 @@ export class EntitySchema {
|
|
|
200
198
|
const tableName = this._meta.collection ?? this._meta.tableName;
|
|
201
199
|
if (tableName?.includes('.') && !this._meta.schema) {
|
|
202
200
|
this._meta.schema = tableName.substring(0, tableName.indexOf('.'));
|
|
203
|
-
this._meta.
|
|
201
|
+
this._meta.tableName = tableName.substring(tableName.indexOf('.') + 1);
|
|
204
202
|
}
|
|
205
203
|
this.initProperties();
|
|
206
204
|
this.initPrimaryKeys();
|
|
@@ -266,12 +264,15 @@ export class EntitySchema {
|
|
|
266
264
|
}
|
|
267
265
|
normalizeType(options, type) {
|
|
268
266
|
if ('entity' in options) {
|
|
269
|
-
|
|
270
|
-
|
|
267
|
+
/* v8 ignore next */
|
|
268
|
+
if (typeof options.entity === 'string') {
|
|
269
|
+
throw new Error(`Relation target needs to be an entity class or EntitySchema instance, string '${options.entity}' given instead for ${this._meta.className}.${options.name}.`);
|
|
271
270
|
}
|
|
272
271
|
else if (options.entity) {
|
|
273
272
|
const tmp = options.entity();
|
|
274
273
|
type = options.type = Array.isArray(tmp) ? tmp.map(t => Utils.className(t)).sort().join(' | ') : Utils.className(tmp);
|
|
274
|
+
const target = tmp instanceof EntitySchema ? tmp.meta.class : tmp;
|
|
275
|
+
return { type, target };
|
|
275
276
|
}
|
|
276
277
|
}
|
|
277
278
|
if (type instanceof Function) {
|
|
@@ -280,7 +281,7 @@ export class EntitySchema {
|
|
|
280
281
|
if (['String', 'Number', 'Boolean', 'Array'].includes(type)) {
|
|
281
282
|
type = type.toLowerCase();
|
|
282
283
|
}
|
|
283
|
-
return type;
|
|
284
|
+
return { type };
|
|
284
285
|
}
|
|
285
286
|
createProperty(kind, options) {
|
|
286
287
|
return {
|
|
@@ -289,4 +290,25 @@ export class EntitySchema {
|
|
|
289
290
|
...options,
|
|
290
291
|
};
|
|
291
292
|
}
|
|
293
|
+
rename(data, from, to) {
|
|
294
|
+
if (from in data && !(to in data)) {
|
|
295
|
+
// @ts-ignore
|
|
296
|
+
data[to] = [data[from]];
|
|
297
|
+
// @ts-ignore
|
|
298
|
+
delete data[from];
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
renameCompositeOptions(name, options = {}) {
|
|
302
|
+
if (name !== options.name && !options.fieldNames) {
|
|
303
|
+
Utils.renameKey(options, 'name', 'fieldName');
|
|
304
|
+
}
|
|
305
|
+
else if (options.name && (options.fieldNames?.length ?? 0) > 1) {
|
|
306
|
+
delete options.name;
|
|
307
|
+
}
|
|
308
|
+
this.rename(options, 'fieldName', 'fieldNames');
|
|
309
|
+
this.rename(options, 'joinColumn', 'joinColumns');
|
|
310
|
+
this.rename(options, 'inverseJoinColumn', 'inverseJoinColumns');
|
|
311
|
+
this.rename(options, 'referenceColumnName', 'referencedColumnNames');
|
|
312
|
+
this.rename(options, 'columnType', 'columnTypes');
|
|
313
|
+
}
|
|
292
314
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type EntityClass, EntityMetadata, type EntityName } from '../typings.js';
|
|
2
2
|
import type { Configuration } from '../utils/Configuration.js';
|
|
3
3
|
import { MetadataStorage } from './MetadataStorage.js';
|
|
4
4
|
import { EntitySchema } from './EntitySchema.js';
|
|
@@ -9,26 +9,24 @@ export declare class MetadataDiscovery {
|
|
|
9
9
|
private readonly config;
|
|
10
10
|
private readonly namingStrategy;
|
|
11
11
|
private readonly metadataProvider;
|
|
12
|
-
private readonly cache;
|
|
13
12
|
private readonly logger;
|
|
14
13
|
private readonly schemaHelper;
|
|
15
14
|
private readonly validator;
|
|
16
15
|
private readonly discovered;
|
|
17
16
|
constructor(metadata: MetadataStorage, platform: Platform, config: Configuration);
|
|
18
17
|
discover(preferTs?: boolean): Promise<MetadataStorage>;
|
|
19
|
-
discoverSync(
|
|
18
|
+
discoverSync(): MetadataStorage;
|
|
20
19
|
private mapDiscoveredEntities;
|
|
20
|
+
private initAccessors;
|
|
21
21
|
processDiscoveredEntities(discovered: EntityMetadata[]): EntityMetadata[];
|
|
22
22
|
private findEntities;
|
|
23
23
|
private discoverMissingTargets;
|
|
24
24
|
private tryDiscoverTargets;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
reset(className: string): void;
|
|
28
|
-
private prepare;
|
|
25
|
+
discoverReferences<T>(refs: Iterable<EntityClass<T> | EntitySchema<T>>, validate?: boolean): EntityMetadata<T>[];
|
|
26
|
+
reset<T>(entityName: EntityName<T>): void;
|
|
29
27
|
private getSchema;
|
|
28
|
+
private getRootEntity;
|
|
30
29
|
private discoverEntity;
|
|
31
|
-
private saveToCache;
|
|
32
30
|
private initNullability;
|
|
33
31
|
private applyNamingStrategy;
|
|
34
32
|
private initOwnColumns;
|
|
@@ -54,7 +52,6 @@ export declare class MetadataDiscovery {
|
|
|
54
52
|
private initAutoincrement;
|
|
55
53
|
private initCheckConstraints;
|
|
56
54
|
private initGeneratedColumn;
|
|
57
|
-
private createColumnMappingObject;
|
|
58
55
|
private getDefaultVersionValue;
|
|
59
56
|
private inferDefaultValue;
|
|
60
57
|
private initDefaultValue;
|
|
@@ -67,6 +64,5 @@ export declare class MetadataDiscovery {
|
|
|
67
64
|
private getPrefix;
|
|
68
65
|
private initUnsigned;
|
|
69
66
|
private initIndexes;
|
|
70
|
-
private getEntityClassOrSchema;
|
|
71
67
|
private shouldForceConstructorUsage;
|
|
72
68
|
}
|