@mikro-orm/core 7.0.4 → 7.0.5-dev.0

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.
Files changed (206) hide show
  1. package/EntityManager.d.ts +583 -884
  2. package/EntityManager.js +1895 -1922
  3. package/MikroORM.d.ts +74 -103
  4. package/MikroORM.js +179 -178
  5. package/README.md +1 -1
  6. package/cache/CacheAdapter.d.ts +36 -36
  7. package/cache/FileCacheAdapter.d.ts +24 -30
  8. package/cache/FileCacheAdapter.js +78 -80
  9. package/cache/GeneratedCacheAdapter.d.ts +20 -18
  10. package/cache/GeneratedCacheAdapter.js +30 -30
  11. package/cache/MemoryCacheAdapter.d.ts +20 -18
  12. package/cache/MemoryCacheAdapter.js +36 -35
  13. package/cache/NullCacheAdapter.d.ts +16 -16
  14. package/cache/NullCacheAdapter.js +24 -24
  15. package/connections/Connection.d.ts +84 -95
  16. package/connections/Connection.js +168 -165
  17. package/drivers/DatabaseDriver.d.ts +80 -186
  18. package/drivers/DatabaseDriver.js +443 -450
  19. package/drivers/IDatabaseDriver.d.ts +301 -440
  20. package/entity/BaseEntity.d.ts +83 -120
  21. package/entity/BaseEntity.js +43 -43
  22. package/entity/Collection.d.ts +179 -212
  23. package/entity/Collection.js +721 -727
  24. package/entity/EntityAssigner.d.ts +77 -88
  25. package/entity/EntityAssigner.js +230 -231
  26. package/entity/EntityFactory.d.ts +54 -66
  27. package/entity/EntityFactory.js +383 -425
  28. package/entity/EntityHelper.d.ts +22 -34
  29. package/entity/EntityHelper.js +267 -280
  30. package/entity/EntityIdentifier.d.ts +4 -4
  31. package/entity/EntityIdentifier.js +10 -10
  32. package/entity/EntityLoader.d.ts +72 -98
  33. package/entity/EntityLoader.js +723 -753
  34. package/entity/EntityRepository.d.ts +201 -316
  35. package/entity/EntityRepository.js +213 -213
  36. package/entity/PolymorphicRef.d.ts +5 -5
  37. package/entity/PolymorphicRef.js +10 -10
  38. package/entity/Reference.d.ts +82 -126
  39. package/entity/Reference.js +274 -278
  40. package/entity/WrappedEntity.d.ts +72 -115
  41. package/entity/WrappedEntity.js +166 -168
  42. package/entity/defineEntity.d.ts +636 -1315
  43. package/entity/defineEntity.js +518 -527
  44. package/entity/utils.d.ts +3 -13
  45. package/entity/utils.js +73 -71
  46. package/entity/validators.js +43 -43
  47. package/entity/wrap.js +8 -8
  48. package/enums.d.ts +253 -258
  49. package/enums.js +252 -251
  50. package/errors.d.ts +72 -114
  51. package/errors.js +253 -350
  52. package/events/EventManager.d.ts +14 -26
  53. package/events/EventManager.js +77 -79
  54. package/events/EventSubscriber.d.ts +29 -29
  55. package/events/TransactionEventBroadcaster.d.ts +8 -15
  56. package/events/TransactionEventBroadcaster.js +14 -14
  57. package/exceptions.d.ts +40 -23
  58. package/exceptions.js +52 -35
  59. package/hydration/Hydrator.d.ts +17 -42
  60. package/hydration/Hydrator.js +43 -43
  61. package/hydration/ObjectHydrator.d.ts +17 -50
  62. package/hydration/ObjectHydrator.js +416 -481
  63. package/index.d.ts +2 -116
  64. package/index.js +1 -10
  65. package/logging/DefaultLogger.d.ts +32 -34
  66. package/logging/DefaultLogger.js +86 -86
  67. package/logging/Logger.d.ts +41 -41
  68. package/logging/SimpleLogger.d.ts +11 -13
  69. package/logging/SimpleLogger.js +22 -22
  70. package/logging/colors.d.ts +6 -6
  71. package/logging/colors.js +10 -11
  72. package/logging/inspect.js +7 -7
  73. package/metadata/EntitySchema.d.ts +127 -211
  74. package/metadata/EntitySchema.js +398 -397
  75. package/metadata/MetadataDiscovery.d.ts +114 -114
  76. package/metadata/MetadataDiscovery.js +1870 -1951
  77. package/metadata/MetadataProvider.d.ts +21 -24
  78. package/metadata/MetadataProvider.js +84 -82
  79. package/metadata/MetadataStorage.d.ts +32 -38
  80. package/metadata/MetadataStorage.js +118 -118
  81. package/metadata/MetadataValidator.d.ts +39 -39
  82. package/metadata/MetadataValidator.js +338 -381
  83. package/metadata/discover-entities.d.ts +2 -5
  84. package/metadata/discover-entities.js +37 -35
  85. package/metadata/types.d.ts +531 -615
  86. package/naming-strategy/AbstractNamingStrategy.d.ts +39 -54
  87. package/naming-strategy/AbstractNamingStrategy.js +85 -90
  88. package/naming-strategy/EntityCaseNamingStrategy.d.ts +6 -6
  89. package/naming-strategy/EntityCaseNamingStrategy.js +22 -22
  90. package/naming-strategy/MongoNamingStrategy.d.ts +6 -6
  91. package/naming-strategy/MongoNamingStrategy.js +18 -18
  92. package/naming-strategy/NamingStrategy.d.ts +99 -109
  93. package/naming-strategy/UnderscoreNamingStrategy.d.ts +7 -7
  94. package/naming-strategy/UnderscoreNamingStrategy.js +21 -21
  95. package/not-supported.js +4 -7
  96. package/package.json +1 -1
  97. package/platforms/ExceptionConverter.d.ts +1 -1
  98. package/platforms/ExceptionConverter.js +4 -4
  99. package/platforms/Platform.d.ts +301 -310
  100. package/platforms/Platform.js +640 -663
  101. package/serialization/EntitySerializer.d.ts +26 -49
  102. package/serialization/EntitySerializer.js +218 -224
  103. package/serialization/EntityTransformer.d.ts +6 -10
  104. package/serialization/EntityTransformer.js +217 -219
  105. package/serialization/SerializationContext.d.ts +23 -27
  106. package/serialization/SerializationContext.js +105 -105
  107. package/types/ArrayType.d.ts +8 -8
  108. package/types/ArrayType.js +33 -33
  109. package/types/BigIntType.d.ts +10 -17
  110. package/types/BigIntType.js +37 -37
  111. package/types/BlobType.d.ts +3 -3
  112. package/types/BlobType.js +13 -13
  113. package/types/BooleanType.d.ts +4 -4
  114. package/types/BooleanType.js +12 -12
  115. package/types/CharacterType.d.ts +2 -2
  116. package/types/CharacterType.js +6 -6
  117. package/types/DateTimeType.d.ts +5 -5
  118. package/types/DateTimeType.js +15 -15
  119. package/types/DateType.d.ts +5 -5
  120. package/types/DateType.js +15 -15
  121. package/types/DecimalType.d.ts +7 -7
  122. package/types/DecimalType.js +26 -26
  123. package/types/DoubleType.d.ts +3 -3
  124. package/types/DoubleType.js +12 -12
  125. package/types/EnumArrayType.d.ts +5 -5
  126. package/types/EnumArrayType.js +24 -24
  127. package/types/EnumType.d.ts +3 -3
  128. package/types/EnumType.js +11 -11
  129. package/types/FloatType.d.ts +3 -3
  130. package/types/FloatType.js +9 -9
  131. package/types/IntegerType.d.ts +3 -3
  132. package/types/IntegerType.js +9 -9
  133. package/types/IntervalType.d.ts +4 -4
  134. package/types/IntervalType.js +12 -12
  135. package/types/JsonType.d.ts +8 -8
  136. package/types/JsonType.js +32 -32
  137. package/types/MediumIntType.d.ts +1 -1
  138. package/types/MediumIntType.js +3 -3
  139. package/types/SmallIntType.d.ts +3 -3
  140. package/types/SmallIntType.js +9 -9
  141. package/types/StringType.d.ts +4 -4
  142. package/types/StringType.js +12 -12
  143. package/types/TextType.d.ts +3 -3
  144. package/types/TextType.js +9 -9
  145. package/types/TimeType.d.ts +5 -5
  146. package/types/TimeType.js +17 -17
  147. package/types/TinyIntType.d.ts +3 -3
  148. package/types/TinyIntType.js +10 -10
  149. package/types/Type.d.ts +79 -83
  150. package/types/Type.js +82 -82
  151. package/types/Uint8ArrayType.d.ts +4 -4
  152. package/types/Uint8ArrayType.js +21 -21
  153. package/types/UnknownType.d.ts +4 -4
  154. package/types/UnknownType.js +12 -12
  155. package/types/UuidType.d.ts +5 -5
  156. package/types/UuidType.js +19 -19
  157. package/types/index.d.ts +49 -75
  158. package/types/index.js +26 -52
  159. package/typings.d.ts +737 -1250
  160. package/typings.js +231 -244
  161. package/unit-of-work/ChangeSet.d.ts +26 -26
  162. package/unit-of-work/ChangeSet.js +56 -56
  163. package/unit-of-work/ChangeSetComputer.d.ts +12 -12
  164. package/unit-of-work/ChangeSetComputer.js +170 -178
  165. package/unit-of-work/ChangeSetPersister.d.ts +44 -63
  166. package/unit-of-work/ChangeSetPersister.js +421 -442
  167. package/unit-of-work/CommitOrderCalculator.d.ts +40 -40
  168. package/unit-of-work/CommitOrderCalculator.js +88 -89
  169. package/unit-of-work/IdentityMap.d.ts +31 -31
  170. package/unit-of-work/IdentityMap.js +105 -105
  171. package/unit-of-work/UnitOfWork.d.ts +141 -181
  172. package/unit-of-work/UnitOfWork.js +1183 -1200
  173. package/utils/AbstractMigrator.d.ts +91 -111
  174. package/utils/AbstractMigrator.js +275 -275
  175. package/utils/AbstractSchemaGenerator.d.ts +34 -43
  176. package/utils/AbstractSchemaGenerator.js +122 -121
  177. package/utils/AsyncContext.d.ts +3 -3
  178. package/utils/AsyncContext.js +35 -34
  179. package/utils/Configuration.d.ts +808 -852
  180. package/utils/Configuration.js +344 -359
  181. package/utils/Cursor.d.ts +22 -40
  182. package/utils/Cursor.js +127 -135
  183. package/utils/DataloaderUtils.d.ts +43 -58
  184. package/utils/DataloaderUtils.js +198 -203
  185. package/utils/EntityComparator.d.ts +81 -98
  186. package/utils/EntityComparator.js +732 -828
  187. package/utils/NullHighlighter.d.ts +1 -1
  188. package/utils/NullHighlighter.js +3 -3
  189. package/utils/QueryHelper.d.ts +51 -79
  190. package/utils/QueryHelper.js +361 -372
  191. package/utils/RawQueryFragment.d.ts +34 -50
  192. package/utils/RawQueryFragment.js +105 -107
  193. package/utils/RequestContext.d.ts +32 -32
  194. package/utils/RequestContext.js +53 -52
  195. package/utils/TransactionContext.d.ts +16 -16
  196. package/utils/TransactionContext.js +27 -27
  197. package/utils/TransactionManager.d.ts +58 -58
  198. package/utils/TransactionManager.js +197 -199
  199. package/utils/Utils.d.ts +145 -204
  200. package/utils/Utils.js +812 -812
  201. package/utils/clone.js +113 -104
  202. package/utils/env-vars.js +88 -90
  203. package/utils/fs-utils.d.ts +15 -15
  204. package/utils/fs-utils.js +181 -180
  205. package/utils/upsert-utils.d.ts +5 -20
  206. package/utils/upsert-utils.js +116 -114
package/utils/Utils.d.ts CHANGED
@@ -1,14 +1,4 @@
1
- import type {
2
- CompiledFunctions,
3
- Dictionary,
4
- EntityData,
5
- EntityDictionary,
6
- EntityKey,
7
- EntityMetadata,
8
- EntityName,
9
- EntityProperty,
10
- Primary,
11
- } from '../typings.js';
1
+ import type { CompiledFunctions, Dictionary, EntityData, EntityDictionary, EntityKey, EntityMetadata, EntityName, EntityProperty, Primary } from '../typings.js';
12
2
  import type { Collection } from '../entity/Collection.js';
13
3
  import type { Platform } from '../platforms/Platform.js';
14
4
  import { type ScalarReference } from '../entity/Reference.js';
@@ -29,197 +19,148 @@ export declare function equals(a: any, b: any): boolean;
29
19
  export declare function parseJsonSafe<T = unknown>(value: unknown): T;
30
20
  /** Collection of general-purpose utility methods used throughout the ORM. */
31
21
  export declare class Utils {
32
- #private;
33
- static readonly PK_SEPARATOR = '~~~';
34
- /**
35
- * Checks if the argument is instance of `Object`. Returns false for arrays.
36
- */
37
- static isObject<T = Dictionary>(o: any): o is T;
38
- /**
39
- * Removes `undefined` properties (recursively) so they are not saved as nulls
40
- */
41
- static dropUndefinedProperties(o: any, value?: null, visited?: Set<unknown>): void;
42
- /**
43
- * Returns the number of properties on `obj`. This is 20x faster than Object.keys(obj).length.
44
- * @see https://github.com/deepkit/deepkit-framework/blob/master/packages/core/src/core.ts
45
- */
46
- static getObjectKeysSize(object: Dictionary): number;
47
- /**
48
- * Returns true if `obj` has at least one property. This is 20x faster than Object.keys(obj).length.
49
- * @see https://github.com/deepkit/deepkit-framework/blob/master/packages/core/src/core.ts
50
- */
51
- static hasObjectKeys(object: Dictionary): boolean;
52
- /**
53
- * Checks if arguments are deeply (but not strictly) equal.
54
- */
55
- static equals(a: any, b: any): boolean;
56
- /**
57
- * Gets array without duplicates.
58
- */
59
- static unique<T = string>(items: T[]): T[];
60
- /**
61
- * Merges all sources into the target recursively.
62
- */
63
- static merge(target: any, ...sources: any[]): any;
64
- /**
65
- * Merges all sources into the target recursively. Ignores `undefined` values.
66
- */
67
- static mergeConfig<T>(target: T, ...sources: Dictionary[]): T;
68
- /**
69
- * Merges all sources into the target recursively.
70
- */
71
- private static _merge;
72
- /**
73
- * Creates deep copy of given object.
74
- */
75
- static copy<T>(entity: T, respectCustomCloneMethod?: boolean): T;
76
- /**
77
- * Normalize the argument to always be an array.
78
- */
79
- static asArray<T>(data?: T | readonly T[] | Iterable<T>, strict?: boolean): T[];
80
- /**
81
- * Checks if the value is iterable, but considers strings and buffers as not iterable.
82
- */
83
- static isIterable<T>(value: unknown): value is Iterable<T>;
84
- /**
85
- * Renames object key, keeps order of properties.
86
- */
87
- static renameKey<T>(payload: T, from: string | keyof T, to: string): void;
88
- /**
89
- * Returns array of functions argument names. Uses basic regex for source code analysis, might not work with advanced syntax.
90
- */
91
- static getConstructorParams(func: { toString(): string }): string[] | undefined;
92
- /**
93
- * Checks whether the argument looks like primary key (string, number or ObjectId).
94
- */
95
- static isPrimaryKey<T>(key: any, allowComposite?: boolean): key is Primary<T>;
96
- /**
97
- * Extracts primary key from `data`. Accepts objects or primary keys directly.
98
- */
99
- static extractPK<T extends object>(data: any, meta?: EntityMetadata<T>, strict?: boolean): Primary<T> | string | null;
100
- static getCompositeKeyValue<T>(
101
- data: EntityData<T>,
102
- meta: EntityMetadata<T>,
103
- convertCustomTypes?: boolean | 'convertToDatabaseValue' | 'convertToJSValue',
104
- platform?: Platform,
105
- ): Primary<T>;
106
- static getCompositeKeyHash<T>(
107
- data: EntityData<T>,
108
- meta: EntityMetadata<T>,
109
- convertCustomTypes?: boolean,
110
- platform?: Platform,
111
- flat?: boolean,
112
- ): string;
113
- static getPrimaryKeyHash(pks: (string | Buffer | Date)[]): string;
114
- static splitPrimaryKeys<T extends object>(key: string): EntityKey<T>[];
115
- static getPrimaryKeyValues<T>(
116
- entity: T,
117
- meta: EntityMetadata<T>,
118
- allowScalar?: boolean,
119
- convertCustomTypes?: boolean,
120
- ): any;
121
- static getPrimaryKeyCond<T>(entity: T, primaryKeys: EntityKey<T>[]): Record<string, Primary<T>> | null;
122
- /**
123
- * Maps nested FKs from `[1, 2, 3]` to `[1, [2, 3]]`.
124
- */
125
- static mapFlatCompositePrimaryKey(
126
- fk: Primary<any>[],
127
- prop: EntityProperty,
128
- fieldNames?: string[],
129
- idx?: number,
130
- ): Primary<any> | Primary<any>[];
131
- static getPrimaryKeyCondFromArray<T extends object>(
132
- pks: Primary<T>[],
133
- meta: EntityMetadata<T>,
134
- ): Record<string, Primary<T>>;
135
- static getOrderedPrimaryKeys<T>(
136
- id: Primary<T> | Record<string, Primary<T>>,
137
- meta: EntityMetadata<T>,
138
- platform?: Platform,
139
- convertCustomTypes?: boolean,
140
- allowScalar?: boolean,
141
- ): Primary<T>[];
142
- /**
143
- * Checks whether given object is an entity instance.
144
- */
145
- static isEntity<T = unknown>(data: any, allowReference?: boolean): data is T & {};
146
- /**
147
- * Checks whether given object is a scalar reference.
148
- */
149
- static isScalarReference<T = unknown>(data: any, allowReference?: boolean): data is ScalarReference<any> & {};
150
- /**
151
- * Checks whether the argument is empty (array without items, object without keys or falsy value).
152
- */
153
- static isEmpty(data: any): boolean;
154
- /**
155
- * Gets string name of given class.
156
- */
157
- static className<T>(classOrName: string | EntityName<T>): string;
158
- static extractChildElements(items: string[], prefix: string, allSymbol?: string): string[];
159
- /**
160
- * Tries to detect TypeScript support.
161
- */
162
- static detectTypeScriptSupport(): boolean;
163
- /**
164
- * Gets the type of the argument.
165
- */
166
- static getObjectType(value: any): string;
167
- /**
168
- * Checks whether the value is POJO (e.g. `{ foo: 'bar' }`, and not instance of `Foo`)
169
- */
170
- static isPlainObject<T extends Dictionary>(value: any): value is T;
171
- /**
172
- * Executes the `cb` promise serially on every element of the `items` array and returns array of resolved values.
173
- */
174
- static runSerial<T = any, U = any>(items: Iterable<U>, cb: (item: U) => Promise<T>): Promise<T[]>;
175
- static isCollection<T extends object, O extends object = object>(item: any): item is Collection<T, O>;
176
- static hash(data: string, length?: number): string;
177
- static runIfNotEmpty(clause: () => any, data: any): void;
178
- static defaultValue<T extends Dictionary>(prop: T, option: keyof T, defaultValue: any): void;
179
- static findDuplicates<T>(items: T[]): T[];
180
- static removeDuplicates<T>(items: T[]): T[];
181
- static randomInt(min: number, max: number): number;
182
- /**
183
- * Extracts all possible values of a TS enum. Works with both string and numeric enums.
184
- */
185
- static extractEnumValues(target: Dictionary): (string | number)[];
186
- static flatten<T>(arrays: T[][], deep?: boolean): T[];
187
- static isOperator(key: PropertyKey, includeGroupOperators?: boolean): boolean;
188
- static hasNestedKey(object: unknown, key: string): boolean;
189
- static getORMVersion(): string;
190
- static createFunction(
191
- context: Map<string, any>,
192
- code: string,
193
- compiledFunctions?: CompiledFunctions,
194
- key?: string,
195
- ): any;
196
- static callCompiledFunction<T extends unknown[], R>(fn: (...args: T) => R, ...args: T): R;
197
- static unwrapProperty<T>(
198
- entity: T,
199
- meta: EntityMetadata<T>,
200
- prop: EntityProperty<T>,
201
- payload?: boolean,
202
- ): [unknown, number[]][];
203
- static setPayloadProperty<T>(
204
- entity: EntityDictionary<T>,
205
- meta: EntityMetadata<T>,
206
- prop: EntityProperty<T>,
207
- value: unknown,
208
- idx: number[],
209
- ): void;
210
- static tryImport<T extends Dictionary = any>({
211
- module,
212
- warning,
213
- }: {
214
- module: string;
215
- warning?: string;
216
- }): Promise<T | undefined>;
217
- static xor(a: boolean, b: boolean): boolean;
218
- static keys<T extends object>(obj: T): (keyof T)[];
219
- static values<T extends object>(obj: T): T[keyof T][];
220
- static entries<T extends object>(obj: T): [keyof T, T[keyof T]][];
221
- static primaryKeyToObject<T>(meta: EntityMetadata<T>, primaryKey: Primary<T> | T, visible?: (keyof T)[]): T;
222
- static getObjectQueryKeys<T extends Dictionary, K extends string = Extract<keyof T, string>>(
223
- obj: T,
224
- ): (K | RawQueryFragmentSymbol)[];
22
+ #private;
23
+ static readonly PK_SEPARATOR = "~~~";
24
+ /**
25
+ * Checks if the argument is instance of `Object`. Returns false for arrays.
26
+ */
27
+ static isObject<T = Dictionary>(o: any): o is T;
28
+ /**
29
+ * Removes `undefined` properties (recursively) so they are not saved as nulls
30
+ */
31
+ static dropUndefinedProperties(o: any, value?: null, visited?: Set<unknown>): void;
32
+ /**
33
+ * Returns the number of properties on `obj`. This is 20x faster than Object.keys(obj).length.
34
+ * @see https://github.com/deepkit/deepkit-framework/blob/master/packages/core/src/core.ts
35
+ */
36
+ static getObjectKeysSize(object: Dictionary): number;
37
+ /**
38
+ * Returns true if `obj` has at least one property. This is 20x faster than Object.keys(obj).length.
39
+ * @see https://github.com/deepkit/deepkit-framework/blob/master/packages/core/src/core.ts
40
+ */
41
+ static hasObjectKeys(object: Dictionary): boolean;
42
+ /**
43
+ * Checks if arguments are deeply (but not strictly) equal.
44
+ */
45
+ static equals(a: any, b: any): boolean;
46
+ /**
47
+ * Gets array without duplicates.
48
+ */
49
+ static unique<T = string>(items: T[]): T[];
50
+ /**
51
+ * Merges all sources into the target recursively.
52
+ */
53
+ static merge(target: any, ...sources: any[]): any;
54
+ /**
55
+ * Merges all sources into the target recursively. Ignores `undefined` values.
56
+ */
57
+ static mergeConfig<T>(target: T, ...sources: Dictionary[]): T;
58
+ /**
59
+ * Merges all sources into the target recursively.
60
+ */
61
+ private static _merge;
62
+ /**
63
+ * Creates deep copy of given object.
64
+ */
65
+ static copy<T>(entity: T, respectCustomCloneMethod?: boolean): T;
66
+ /**
67
+ * Normalize the argument to always be an array.
68
+ */
69
+ static asArray<T>(data?: T | readonly T[] | Iterable<T>, strict?: boolean): T[];
70
+ /**
71
+ * Checks if the value is iterable, but considers strings and buffers as not iterable.
72
+ */
73
+ static isIterable<T>(value: unknown): value is Iterable<T>;
74
+ /**
75
+ * Renames object key, keeps order of properties.
76
+ */
77
+ static renameKey<T>(payload: T, from: string | keyof T, to: string): void;
78
+ /**
79
+ * Returns array of functions argument names. Uses basic regex for source code analysis, might not work with advanced syntax.
80
+ */
81
+ static getConstructorParams(func: {
82
+ toString(): string;
83
+ }): string[] | undefined;
84
+ /**
85
+ * Checks whether the argument looks like primary key (string, number or ObjectId).
86
+ */
87
+ static isPrimaryKey<T>(key: any, allowComposite?: boolean): key is Primary<T>;
88
+ /**
89
+ * Extracts primary key from `data`. Accepts objects or primary keys directly.
90
+ */
91
+ static extractPK<T extends object>(data: any, meta?: EntityMetadata<T>, strict?: boolean): Primary<T> | string | null;
92
+ static getCompositeKeyValue<T>(data: EntityData<T>, meta: EntityMetadata<T>, convertCustomTypes?: boolean | 'convertToDatabaseValue' | 'convertToJSValue', platform?: Platform): Primary<T>;
93
+ static getCompositeKeyHash<T>(data: EntityData<T>, meta: EntityMetadata<T>, convertCustomTypes?: boolean, platform?: Platform, flat?: boolean): string;
94
+ static getPrimaryKeyHash(pks: (string | Buffer | Date)[]): string;
95
+ static splitPrimaryKeys<T extends object>(key: string): EntityKey<T>[];
96
+ static getPrimaryKeyValues<T>(entity: T, meta: EntityMetadata<T>, allowScalar?: boolean, convertCustomTypes?: boolean): any;
97
+ static getPrimaryKeyCond<T>(entity: T, primaryKeys: EntityKey<T>[]): Record<string, Primary<T>> | null;
98
+ /**
99
+ * Maps nested FKs from `[1, 2, 3]` to `[1, [2, 3]]`.
100
+ */
101
+ static mapFlatCompositePrimaryKey(fk: Primary<any>[], prop: EntityProperty, fieldNames?: string[], idx?: number): Primary<any> | Primary<any>[];
102
+ static getPrimaryKeyCondFromArray<T extends object>(pks: Primary<T>[], meta: EntityMetadata<T>): Record<string, Primary<T>>;
103
+ static getOrderedPrimaryKeys<T>(id: Primary<T> | Record<string, Primary<T>>, meta: EntityMetadata<T>, platform?: Platform, convertCustomTypes?: boolean, allowScalar?: boolean): Primary<T>[];
104
+ /**
105
+ * Checks whether given object is an entity instance.
106
+ */
107
+ static isEntity<T = unknown>(data: any, allowReference?: boolean): data is T & {};
108
+ /**
109
+ * Checks whether given object is a scalar reference.
110
+ */
111
+ static isScalarReference<T = unknown>(data: any, allowReference?: boolean): data is ScalarReference<any> & {};
112
+ /**
113
+ * Checks whether the argument is empty (array without items, object without keys or falsy value).
114
+ */
115
+ static isEmpty(data: any): boolean;
116
+ /**
117
+ * Gets string name of given class.
118
+ */
119
+ static className<T>(classOrName: string | EntityName<T>): string;
120
+ static extractChildElements(items: string[], prefix: string, allSymbol?: string): string[];
121
+ /**
122
+ * Tries to detect TypeScript support.
123
+ */
124
+ static detectTypeScriptSupport(): boolean;
125
+ /**
126
+ * Gets the type of the argument.
127
+ */
128
+ static getObjectType(value: any): string;
129
+ /**
130
+ * Checks whether the value is POJO (e.g. `{ foo: 'bar' }`, and not instance of `Foo`)
131
+ */
132
+ static isPlainObject<T extends Dictionary>(value: any): value is T;
133
+ /**
134
+ * Executes the `cb` promise serially on every element of the `items` array and returns array of resolved values.
135
+ */
136
+ static runSerial<T = any, U = any>(items: Iterable<U>, cb: (item: U) => Promise<T>): Promise<T[]>;
137
+ static isCollection<T extends object, O extends object = object>(item: any): item is Collection<T, O>;
138
+ static hash(data: string, length?: number): string;
139
+ static runIfNotEmpty(clause: () => any, data: any): void;
140
+ static defaultValue<T extends Dictionary>(prop: T, option: keyof T, defaultValue: any): void;
141
+ static findDuplicates<T>(items: T[]): T[];
142
+ static removeDuplicates<T>(items: T[]): T[];
143
+ static randomInt(min: number, max: number): number;
144
+ /**
145
+ * Extracts all possible values of a TS enum. Works with both string and numeric enums.
146
+ */
147
+ static extractEnumValues(target: Dictionary): (string | number)[];
148
+ static flatten<T>(arrays: T[][], deep?: boolean): T[];
149
+ static isOperator(key: PropertyKey, includeGroupOperators?: boolean): boolean;
150
+ static hasNestedKey(object: unknown, key: string): boolean;
151
+ static getORMVersion(): string;
152
+ static createFunction(context: Map<string, any>, code: string, compiledFunctions?: CompiledFunctions, key?: string): any;
153
+ static callCompiledFunction<T extends unknown[], R>(fn: (...args: T) => R, ...args: T): R;
154
+ static unwrapProperty<T>(entity: T, meta: EntityMetadata<T>, prop: EntityProperty<T>, payload?: boolean): [unknown, number[]][];
155
+ static setPayloadProperty<T>(entity: EntityDictionary<T>, meta: EntityMetadata<T>, prop: EntityProperty<T>, value: unknown, idx: number[]): void;
156
+ static tryImport<T extends Dictionary = any>({ module, warning, }: {
157
+ module: string;
158
+ warning?: string;
159
+ }): Promise<T | undefined>;
160
+ static xor(a: boolean, b: boolean): boolean;
161
+ static keys<T extends object>(obj: T): (keyof T)[];
162
+ static values<T extends object>(obj: T): T[keyof T][];
163
+ static entries<T extends object>(obj: T): [keyof T, T[keyof T]][];
164
+ static primaryKeyToObject<T>(meta: EntityMetadata<T>, primaryKey: Primary<T> | T, visible?: (keyof T)[]): T;
165
+ static getObjectQueryKeys<T extends Dictionary, K extends string = Extract<keyof T, string>>(obj: T): (K | RawQueryFragmentSymbol)[];
225
166
  }