@mikro-orm/core 7.0.0-dev.154 → 7.0.0-dev.156
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/entity/defineEntity.d.ts +13 -10
- package/package.json +1 -1
- package/typings.d.ts +7 -1
- package/utils/Utils.js +1 -1
package/entity/defineEntity.d.ts
CHANGED
|
@@ -370,6 +370,9 @@ export declare class OneToManyOptionsBuilderOnlyMappedBy<Value extends object> e
|
|
|
370
370
|
kind: '1:m';
|
|
371
371
|
}, IncludeKeysForOneToManyOptions>, IncludeKeysForOneToManyOptions>;
|
|
372
372
|
}
|
|
373
|
+
type EntityTarget = {
|
|
374
|
+
'~entity': any;
|
|
375
|
+
} | EntityClass;
|
|
373
376
|
declare const propertyBuilders: {
|
|
374
377
|
bigint: <Mode extends "bigint" | "number" | "string" = "bigint">(mode?: Mode) => UniversalPropertyOptionsBuilder<(Mode extends "bigint" ? bigint : Mode extends "number" ? number : string) & {}, EmptyOptions, IncludeKeysForProperty>;
|
|
375
378
|
array: <T = string>(toJsValue?: (i: string) => T, toDbValue?: (i: T) => string) => UniversalPropertyOptionsBuilder<T[], EmptyOptions, IncludeKeysForProperty>;
|
|
@@ -380,15 +383,15 @@ declare const propertyBuilders: {
|
|
|
380
383
|
time: (length?: number) => UniversalPropertyOptionsBuilder<any, EmptyOptions, IncludeKeysForProperty>;
|
|
381
384
|
type: <T extends PropertyValueType>(type: T) => UniversalPropertyOptionsBuilder<InferPropertyValueType<T>, EmptyOptions, IncludeKeysForProperty>;
|
|
382
385
|
enum: <const T extends (number | string)[] | (() => Dictionary)>(items?: T) => UniversalPropertyOptionsBuilder<T extends () => Dictionary ? ValueOf<ReturnType<T>> : T extends (infer Value)[] ? Value : T, EmptyOptions, IncludeKeysForEnumOptions>;
|
|
383
|
-
embedded: <Target extends
|
|
384
|
-
manyToMany: <Target extends
|
|
386
|
+
embedded: <Target extends EntityTarget | EntityTarget[]>(target: Target) => UniversalPropertyOptionsBuilder<InferEntity<Target extends (infer T)[] ? T : Target>, EmptyOptions, IncludeKeysForEmbeddedOptions>;
|
|
387
|
+
manyToMany: <Target extends EntityTarget>(target: Target) => UniversalPropertyOptionsBuilder<InferEntity<Target>, EmptyOptions & {
|
|
385
388
|
kind: "m:n";
|
|
386
389
|
}, IncludeKeysForManyToManyOptions>;
|
|
387
|
-
manyToOne: <Target extends
|
|
390
|
+
manyToOne: <Target extends EntityTarget>(target: Target) => UniversalPropertyOptionsBuilder<InferEntity<Target>, EmptyOptions & {
|
|
388
391
|
kind: "m:1";
|
|
389
392
|
}, IncludeKeysForManyToOneOptions>;
|
|
390
|
-
oneToMany: <Target extends
|
|
391
|
-
oneToOne: <Target extends
|
|
393
|
+
oneToMany: <Target extends EntityTarget>(target: Target) => OneToManyOptionsBuilderOnlyMappedBy<InferEntity<Target>>;
|
|
394
|
+
oneToOne: <Target extends EntityTarget>(target: Target) => UniversalPropertyOptionsBuilder<InferEntity<Target>, EmptyOptions & {
|
|
392
395
|
kind: "1:1";
|
|
393
396
|
}, IncludeKeysForOneToOneOptions>;
|
|
394
397
|
date: () => UniversalPropertyOptionsBuilder<string, EmptyOptions, IncludeKeysForProperty>;
|
|
@@ -454,15 +457,15 @@ export declare namespace defineEntity {
|
|
|
454
457
|
time: (length?: number) => UniversalPropertyOptionsBuilder<any, EmptyOptions, IncludeKeysForProperty>;
|
|
455
458
|
type: <T extends PropertyValueType>(type: T) => UniversalPropertyOptionsBuilder<InferPropertyValueType<T>, EmptyOptions, IncludeKeysForProperty>;
|
|
456
459
|
enum: <const T extends (number | string)[] | (() => Dictionary)>(items?: T) => UniversalPropertyOptionsBuilder<T extends () => Dictionary ? ValueOf<ReturnType<T>> : T extends (infer Value)[] ? Value : T, EmptyOptions, IncludeKeysForEnumOptions>;
|
|
457
|
-
embedded: <Target extends
|
|
458
|
-
manyToMany: <Target extends
|
|
460
|
+
embedded: <Target extends EntityTarget | EntityTarget[]>(target: Target) => UniversalPropertyOptionsBuilder<InferEntity<Target extends (infer T)[] ? T : Target>, EmptyOptions, IncludeKeysForEmbeddedOptions>;
|
|
461
|
+
manyToMany: <Target extends EntityTarget>(target: Target) => UniversalPropertyOptionsBuilder<InferEntity<Target>, EmptyOptions & {
|
|
459
462
|
kind: "m:n";
|
|
460
463
|
}, IncludeKeysForManyToManyOptions>;
|
|
461
|
-
manyToOne: <Target extends
|
|
464
|
+
manyToOne: <Target extends EntityTarget>(target: Target) => UniversalPropertyOptionsBuilder<InferEntity<Target>, EmptyOptions & {
|
|
462
465
|
kind: "m:1";
|
|
463
466
|
}, IncludeKeysForManyToOneOptions>;
|
|
464
|
-
oneToMany: <Target extends
|
|
465
|
-
oneToOne: <Target extends
|
|
467
|
+
oneToMany: <Target extends EntityTarget>(target: Target) => OneToManyOptionsBuilderOnlyMappedBy<InferEntity<Target>>;
|
|
468
|
+
oneToOne: <Target extends EntityTarget>(target: Target) => UniversalPropertyOptionsBuilder<InferEntity<Target>, EmptyOptions & {
|
|
466
469
|
kind: "1:1";
|
|
467
470
|
}, IncludeKeysForOneToOneOptions>;
|
|
468
471
|
date: () => UniversalPropertyOptionsBuilder<string, EmptyOptions, IncludeKeysForProperty>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikro-orm/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "7.0.0-dev.
|
|
4
|
+
"version": "7.0.0-dev.156",
|
|
5
5
|
"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.",
|
|
6
6
|
"exports": {
|
|
7
7
|
"./package.json": "./package.json",
|
package/typings.d.ts
CHANGED
|
@@ -752,6 +752,8 @@ export type PopulateOptions<T> = {
|
|
|
752
752
|
filter?: boolean;
|
|
753
753
|
joinType?: 'inner join' | 'left join';
|
|
754
754
|
children?: PopulateOptions<T[keyof T]>[];
|
|
755
|
+
/** When true, ignores `mapToPk` on the property and returns full entity data instead of just PKs. */
|
|
756
|
+
dataOnly?: boolean;
|
|
755
757
|
};
|
|
756
758
|
type Loadable<T extends object> = Collection<T, any> | Reference<T> | Ref<T> | readonly T[];
|
|
757
759
|
type ExtractType<T> = T extends Loadable<infer U> ? U : T;
|
|
@@ -872,6 +874,10 @@ export interface EntitySchemaWithMeta<TName extends string = string, TTableName
|
|
|
872
874
|
readonly name: TName;
|
|
873
875
|
readonly properties: TProperties;
|
|
874
876
|
readonly tableName: TTableName;
|
|
877
|
+
/** @internal Direct entity type access - avoids expensive pattern matching */
|
|
878
|
+
readonly '~entity': TEntity;
|
|
875
879
|
}
|
|
876
|
-
export type InferEntity<Schema> = Schema extends
|
|
880
|
+
export type InferEntity<Schema> = Schema extends {
|
|
881
|
+
'~entity': infer E;
|
|
882
|
+
} ? E : Schema extends EntitySchema<infer Entity> ? Entity : Schema extends EntityClass<infer Entity> ? Entity : Schema;
|
|
877
883
|
export {};
|
package/utils/Utils.js
CHANGED
|
@@ -123,7 +123,7 @@ export function parseJsonSafe(value) {
|
|
|
123
123
|
}
|
|
124
124
|
export class Utils {
|
|
125
125
|
static PK_SEPARATOR = '~~~';
|
|
126
|
-
static #ORM_VERSION = '7.0.0-dev.
|
|
126
|
+
static #ORM_VERSION = '7.0.0-dev.156';
|
|
127
127
|
/**
|
|
128
128
|
* Checks if the argument is instance of `Object`. Returns false for arrays.
|
|
129
129
|
*/
|