@mikro-orm/core 6.4.7-dev.20 → 6.4.7-dev.21
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/decorators/Entity.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { Constructor, Dictionary, FilterQuery } from '../typings';
|
|
1
|
+
import type { AnyString, Constructor, Dictionary, EntityClass, FilterQuery } from '../typings';
|
|
2
2
|
import type { FindOptions } from '../drivers/IDatabaseDriver';
|
|
3
|
-
export declare function Entity(options?: EntityOptions<
|
|
3
|
+
export declare function Entity<T extends EntityClass<unknown>>(options?: EntityOptions<T>): (target: T) => void;
|
|
4
4
|
export type EntityOptions<T> = {
|
|
5
5
|
tableName?: string;
|
|
6
6
|
schema?: string;
|
|
7
7
|
collection?: string;
|
|
8
|
-
discriminatorColumn?: string;
|
|
8
|
+
discriminatorColumn?: (T extends EntityClass<infer P> ? keyof P : string) | AnyString;
|
|
9
9
|
discriminatorMap?: Dictionary<string>;
|
|
10
10
|
discriminatorValue?: number | string;
|
|
11
11
|
forceConstructor?: boolean;
|
package/decorators/Entity.js
CHANGED
package/decorators/Indexed.d.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { EntityClass, Dictionary, AutoPath } from '../typings';
|
|
2
2
|
import type { DeferMode } from '../enums';
|
|
3
|
-
export declare function Index<T>(options?: IndexOptions<T>): (target:
|
|
4
|
-
export declare function Unique<T>(options?: UniqueOptions<T>): (target:
|
|
5
|
-
|
|
3
|
+
export declare function Index<T extends object, H extends string>(options?: IndexOptions<T, H>): (target: T, propertyName?: (T extends EntityClass<unknown> ? undefined : keyof T) | undefined) => any;
|
|
4
|
+
export declare function Unique<T extends object, H extends string>(options?: UniqueOptions<T, H>): (target: T, propertyName?: (T extends EntityClass<unknown> ? undefined : keyof T) | undefined) => any;
|
|
5
|
+
type MaybeArray<T> = T | T[];
|
|
6
|
+
type Properties<T, H extends string> = MaybeArray<AutoPath<T, H>>;
|
|
7
|
+
interface BaseOptions<T, H extends string> {
|
|
6
8
|
name?: string;
|
|
7
|
-
properties?:
|
|
9
|
+
properties?: (T extends EntityClass<infer P> ? Properties<P, H> : Properties<T, H>);
|
|
8
10
|
options?: Dictionary;
|
|
9
11
|
expression?: string;
|
|
10
12
|
}
|
|
11
|
-
export interface UniqueOptions<T> extends BaseOptions<T> {
|
|
13
|
+
export interface UniqueOptions<T, H extends string = string> extends BaseOptions<T, H> {
|
|
12
14
|
deferMode?: DeferMode | `${DeferMode}`;
|
|
13
15
|
}
|
|
14
|
-
export interface IndexOptions<T> extends BaseOptions<T> {
|
|
16
|
+
export interface IndexOptions<T, H extends string = string> extends BaseOptions<T, H> {
|
|
15
17
|
type?: string;
|
|
16
18
|
}
|
|
17
19
|
export {};
|
package/decorators/Indexed.js
CHANGED
|
@@ -7,7 +7,7 @@ const Utils_1 = require("../utils/Utils");
|
|
|
7
7
|
function createDecorator(options, unique) {
|
|
8
8
|
return function (target, propertyName) {
|
|
9
9
|
const meta = metadata_1.MetadataStorage.getMetadataFromDecorator(propertyName ? target.constructor : target);
|
|
10
|
-
options.properties
|
|
10
|
+
options.properties ??= propertyName;
|
|
11
11
|
const key = unique ? 'uniques' : 'indexes';
|
|
12
12
|
meta[key].push(options);
|
|
13
13
|
if (!propertyName) {
|
|
@@ -60,8 +60,8 @@ export declare class EntitySchema<Entity = any, Base = never> {
|
|
|
60
60
|
addManyToMany<Target = AnyEntity>(name: EntityKey<Entity>, type: TypeType, options: ManyToManyOptions<Entity, Target>): void;
|
|
61
61
|
addOneToMany<Target = AnyEntity>(name: EntityKey<Entity>, type: TypeType, options: OneToManyOptions<Entity, Target>): void;
|
|
62
62
|
addOneToOne<Target = AnyEntity>(name: EntityKey<Entity>, type: TypeType, options: OneToOneOptions<Entity, Target>): void;
|
|
63
|
-
addIndex(options: IndexOptions<Entity>): void;
|
|
64
|
-
addUnique(options: UniqueOptions<Entity>): void;
|
|
63
|
+
addIndex<Key extends string>(options: IndexOptions<Entity, Key>): void;
|
|
64
|
+
addUnique<Key extends string>(options: UniqueOptions<Entity, Key>): void;
|
|
65
65
|
setCustomRepository(repository: () => Constructor): void;
|
|
66
66
|
setExtends(base: string | EntitySchema): void;
|
|
67
67
|
setClass(proto: EntityClass<Entity>): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikro-orm/core",
|
|
3
|
-
"version": "6.4.7-dev.
|
|
3
|
+
"version": "6.4.7-dev.21",
|
|
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
|
"main": "index.js",
|
|
6
6
|
"module": "index.mjs",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"esprima": "4.0.1",
|
|
65
65
|
"fs-extra": "11.3.0",
|
|
66
66
|
"globby": "11.1.0",
|
|
67
|
-
"mikro-orm": "6.4.7-dev.
|
|
67
|
+
"mikro-orm": "6.4.7-dev.21",
|
|
68
68
|
"reflect-metadata": "0.2.2"
|
|
69
69
|
}
|
|
70
70
|
}
|