@mikro-orm/sql 7.0.0-rc.0 → 7.0.0-rc.2
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/AbstractSqlDriver.d.ts +7 -0
- package/AbstractSqlDriver.js +58 -25
- package/AbstractSqlPlatform.d.ts +8 -1
- package/AbstractSqlPlatform.js +18 -1
- package/SqlEntityManager.d.ts +3 -2
- package/dialects/mysql/BaseMySqlPlatform.d.ts +1 -1
- package/dialects/mysql/BaseMySqlPlatform.js +4 -3
- package/dialects/sqlite/BaseSqliteConnection.d.ts +4 -1
- package/dialects/sqlite/BaseSqliteConnection.js +4 -0
- package/dialects/sqlite/NodeSqliteDialect.d.ts +21 -0
- package/dialects/sqlite/NodeSqliteDialect.js +41 -0
- package/dialects/sqlite/SqliteDriver.d.ts +12 -0
- package/dialects/sqlite/SqliteDriver.js +14 -0
- package/dialects/sqlite/{BaseSqlitePlatform.d.ts → SqlitePlatform.d.ts} +5 -2
- package/dialects/sqlite/{BaseSqlitePlatform.js → SqlitePlatform.js} +27 -4
- package/dialects/sqlite/SqliteSchemaHelper.d.ts +5 -0
- package/dialects/sqlite/SqliteSchemaHelper.js +20 -1
- package/dialects/sqlite/index.d.ts +3 -1
- package/dialects/sqlite/index.js +3 -1
- package/package.json +2 -2
- package/query/ObjectCriteriaNode.js +1 -1
- package/query/QueryBuilder.d.ts +67 -20
- package/query/QueryBuilder.js +80 -15
- package/query/QueryBuilderHelper.d.ts +2 -2
- package/query/QueryBuilderHelper.js +9 -9
- package/schema/SchemaComparator.js +1 -0
- package/schema/SqlSchemaGenerator.d.ts +2 -1
- package/schema/SqlSchemaGenerator.js +2 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/typings.d.ts +14 -3
package/typings.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Generated, Kysely } from 'kysely';
|
|
2
|
-
import type { CheckCallback, DeferMode, Dictionary, EntityName, EntityProperty, EntitySchemaWithMeta, FilterQuery, GroupOperator, IndexColumnOptions, Opt, Primary, PrimaryProperty, QueryFlag, QueryOrderMap, RawQueryFragment, Type } from '@mikro-orm/core';
|
|
2
|
+
import type { CheckCallback, DeferMode, Dictionary, EntityName, EntityProperty, EntitySchemaWithMeta, FilterQuery, GroupOperator, IndexColumnOptions, InferEntityName, Opt, Primary, PrimaryProperty, QueryFlag, QueryOrderMap, RawQueryFragment, Scalar, Type } from '@mikro-orm/core';
|
|
3
3
|
import type { JoinType, QueryType } from './query/enums.js';
|
|
4
4
|
import type { DatabaseSchema } from './schema/DatabaseSchema.js';
|
|
5
5
|
import type { DatabaseTable } from './schema/DatabaseTable.js';
|
|
@@ -210,7 +210,7 @@ export interface ICriteriaNodeProcessOptions {
|
|
|
210
210
|
matchPopulateJoins?: boolean;
|
|
211
211
|
ignoreBranching?: boolean;
|
|
212
212
|
preferNoBranch?: boolean;
|
|
213
|
-
type?: 'orderBy';
|
|
213
|
+
type?: 'orderBy' | 'having';
|
|
214
214
|
filter?: boolean;
|
|
215
215
|
parentPath?: string;
|
|
216
216
|
}
|
|
@@ -273,7 +273,9 @@ type MaybeJoinColumnName<TName extends string, TBuilder> = TBuilder extends {
|
|
|
273
273
|
owner: true;
|
|
274
274
|
};
|
|
275
275
|
} ? PrimaryProperty<Value> extends string ? `${TName}_${SnakeCase<PrimaryProperty<Value>>}` : never : TName;
|
|
276
|
-
export type SnakeCase<TName extends string> = TName extends `${infer
|
|
276
|
+
export type SnakeCase<TName extends string> = TName extends `${infer A}${infer B}${infer Rest}` ? IsUpperLetter<B> extends never ? `${Lowercase<A>}${SnakeCase<`${B}${Rest}`>}` : IsLowerLetter<A> extends never ? `${Lowercase<A>}${SnakeCase<`${B}${Rest}`>}` : `${Lowercase<A>}_${SnakeCase<`${B}${Rest}`>}` : Lowercase<TName>;
|
|
277
|
+
type IsLowerLetter<C extends string> = C extends Lowercase<C> ? (C extends Uppercase<C> ? never : C) : never;
|
|
278
|
+
type IsUpperLetter<C extends string> = C extends Uppercase<C> ? (C extends Lowercase<C> ? never : C) : never;
|
|
277
279
|
type InferColumnValue<TBuilder, TProcessOnCreate extends boolean> = TBuilder extends {
|
|
278
280
|
'~type'?: {
|
|
279
281
|
value: infer Value;
|
|
@@ -307,4 +309,13 @@ type MaybeNever<TValue, TOptions> = TOptions extends {
|
|
|
307
309
|
type ExcludeNever<TMap extends Record<string, any>> = {
|
|
308
310
|
[K in keyof TMap as TMap[K] extends never ? never : K]: TMap[K];
|
|
309
311
|
};
|
|
312
|
+
export type InferClassEntityDB<TEntities, TOptions extends MikroKyselyPluginOptions = {}> = ClassEntityDBMap<TEntities, TOptions> extends infer R ? [keyof R] extends [never] ? unknown : R : never;
|
|
313
|
+
type ClassEntityDBMap<TEntities, TOptions extends MikroKyselyPluginOptions = {}> = {
|
|
314
|
+
[T in TEntities as ClassEntityTableName<T, TOptions>]: ClassEntityColumns<T>;
|
|
315
|
+
};
|
|
316
|
+
type ClassEntityTableName<T, TOptions extends MikroKyselyPluginOptions = {}> = T extends abstract new (...args: any[]) => infer Instance ? TransformName<InferEntityName<Instance>, TOptions['tableNamingStrategy'] extends 'entity' ? 'entity' : 'underscore'> : never;
|
|
317
|
+
type ClassEntityColumns<T> = T extends abstract new (...args: any[]) => infer Instance ? {
|
|
318
|
+
[K in keyof Instance as IsClassEntityColumn<K, Instance[K]>]: Instance[K];
|
|
319
|
+
} : never;
|
|
320
|
+
type IsClassEntityColumn<K, V> = K extends symbol ? never : NonNullable<V> extends Scalar ? K : never;
|
|
310
321
|
export {};
|