@mikro-orm/core 7.1.13-dev.3 → 7.1.13-dev.5
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/metadata/MetadataDiscovery.js +5 -4
- package/package.json +1 -1
- package/utils/Utils.d.ts +1 -1
- package/utils/Utils.js +5 -2
|
@@ -1053,11 +1053,12 @@ export class MetadataDiscovery {
|
|
|
1053
1053
|
}
|
|
1054
1054
|
// TPT children have their own tables that don't contain the parent's columns,
|
|
1055
1055
|
// so propagating parent indexes/uniques/checks/triggers would target missing columns.
|
|
1056
|
+
// deep equality, as the subclass items might be copies of the base class ones (e.g. with TC39 decorators)
|
|
1056
1057
|
if (meta.inheritanceType !== 'tpt' || !meta.tptParent) {
|
|
1057
|
-
meta.indexes = Utils.unique([...base.indexes, ...meta.indexes]);
|
|
1058
|
-
meta.uniques = Utils.unique([...base.uniques, ...meta.uniques]);
|
|
1059
|
-
meta.checks = Utils.unique([...base.checks, ...meta.checks]);
|
|
1060
|
-
meta.triggers = Utils.unique([...base.triggers, ...meta.triggers]);
|
|
1058
|
+
meta.indexes = Utils.unique([...base.indexes, ...meta.indexes], Utils.equals);
|
|
1059
|
+
meta.uniques = Utils.unique([...base.uniques, ...meta.uniques], Utils.equals);
|
|
1060
|
+
meta.checks = Utils.unique([...base.checks, ...meta.checks], Utils.equals);
|
|
1061
|
+
meta.triggers = Utils.unique([...base.triggers, ...meta.triggers], Utils.equals);
|
|
1061
1062
|
}
|
|
1062
1063
|
const pks = Object.values(meta.properties)
|
|
1063
1064
|
.filter(p => p.primary)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikro-orm/core",
|
|
3
|
-
"version": "7.1.13-dev.
|
|
3
|
+
"version": "7.1.13-dev.5",
|
|
4
4
|
"description": "TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"data-mapper",
|
package/utils/Utils.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ export declare class Utils {
|
|
|
58
58
|
/**
|
|
59
59
|
* Gets array without duplicates.
|
|
60
60
|
*/
|
|
61
|
-
static unique<T = string>(items: T[]): T[];
|
|
61
|
+
static unique<T = string>(items: T[], equals?: (a: T, b: T) => boolean): T[];
|
|
62
62
|
/**
|
|
63
63
|
* Merges all sources into the target recursively.
|
|
64
64
|
*/
|
package/utils/Utils.js
CHANGED
|
@@ -153,7 +153,7 @@ export function parseJsonSafe(value) {
|
|
|
153
153
|
/** Collection of general-purpose utility methods used throughout the ORM. */
|
|
154
154
|
export class Utils {
|
|
155
155
|
static PK_SEPARATOR = '~~~';
|
|
156
|
-
static #ORM_VERSION = '7.1.13-dev.
|
|
156
|
+
static #ORM_VERSION = '7.1.13-dev.5';
|
|
157
157
|
/**
|
|
158
158
|
* Checks if the argument is instance of `Object`. Returns false for arrays.
|
|
159
159
|
*/
|
|
@@ -216,10 +216,13 @@ export class Utils {
|
|
|
216
216
|
/**
|
|
217
217
|
* Gets array without duplicates.
|
|
218
218
|
*/
|
|
219
|
-
static unique(items) {
|
|
219
|
+
static unique(items, equals) {
|
|
220
220
|
if (items.length < 2) {
|
|
221
221
|
return items;
|
|
222
222
|
}
|
|
223
|
+
if (equals) {
|
|
224
|
+
return items.filter((a, idx) => items.findIndex(b => equals(a, b)) === idx);
|
|
225
|
+
}
|
|
223
226
|
return [...new Set(items)];
|
|
224
227
|
}
|
|
225
228
|
/**
|