orchid-orm 1.29.2 → 1.31.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.
- package/dist/index.d.ts +20 -12
- package/dist/index.js +10 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -10
- package/dist/index.mjs.map +1 -1
- package/dist/migrations.js +4 -1
- package/dist/migrations.js.map +1 -1
- package/dist/migrations.mjs +4 -1
- package/dist/migrations.mjs.map +1 -1
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Query, SelectableFromShape, CreateMethodsNames, AddQueryDefaults, SetQueryReturnsOne, SetQueryReturnsOneOptional, RelationJoinQuery, UpdateData, WhereArg, CreateData, JoinQueryMethod, DeleteMethodsNames, Db, IsolationLevel, TransactionOptions, Adapter, FromArg, FromResult, AdapterOptions, DbSharedOptions, RelationQuery, ShapeColumnPrimaryKeys, ShapeUniqueColumns, TableDataItemsUniqueColumns, TableDataItemsUniqueColumnTuples, UniqueConstraints, TableDataItemsUniqueConstraints, MapTableScopesOption, TableDataItem,
|
|
1
|
+
import { Query, SelectableFromShape, CreateMethodsNames, AddQueryDefaults, SetQueryReturnsOne, SetQueryReturnsOneOptional, RelationJoinQuery, UpdateData, WhereArg, CreateData, JoinQueryMethod, DeleteMethodsNames, Db, IsolationLevel, TransactionOptions, Adapter, FromArg, FromResult, AdapterOptions, DbSharedOptions, RelationQuery, ShapeColumnPrimaryKeys, ShapeUniqueColumns, TableDataItemsUniqueColumns, TableDataItemsUniqueColumnTuples, UniqueConstraints, TableDataItemsUniqueConstraints, ComputedColumnsFromOptions, MapTableScopesOption, TableDataItem, ComputedOptionsFactory, QueryData, QueryBase, TableDataFn, DbTableOptionScopes, SqlMethod, DefaultSchemaConfig, DefaultColumnTypes, RelationQueryBase, QueryBeforeHook, QueryAfterHook, AfterHook, WhereResult, MergeQuery } from 'pqb';
|
|
2
2
|
export * from 'pqb';
|
|
3
|
-
import { ColumnsShapeBase, EmptyObject, MaybeArray,
|
|
3
|
+
import { ColumnsShapeBase, EmptyObject, MaybeArray, CoreQueryScopes, ColumnShapeOutput, ColumnShapeInput, ColumnShapeInputPartial, ColumnSchemaConfig, RecordUnknown, QueryReturnType } from 'orchid-core';
|
|
4
4
|
export * from 'orchid-core';
|
|
5
5
|
|
|
6
6
|
interface RelationCommonOptions<Related extends TableClass = TableClass, Scope extends Query = Query> {
|
|
@@ -56,6 +56,7 @@ interface HasOneInfo<T extends RelationConfigSelf, Name extends keyof T['relatio
|
|
|
56
56
|
table: Q;
|
|
57
57
|
}>;
|
|
58
58
|
};
|
|
59
|
+
dataForCreate: never;
|
|
59
60
|
dataForUpdate: {
|
|
60
61
|
disconnect: boolean;
|
|
61
62
|
} | {
|
|
@@ -110,6 +111,7 @@ interface HasManyInfo<T extends RelationConfigSelf, Name extends keyof T['relati
|
|
|
110
111
|
table: Q;
|
|
111
112
|
}>;
|
|
112
113
|
};
|
|
114
|
+
dataForCreate: never;
|
|
113
115
|
dataForUpdate: {
|
|
114
116
|
disconnect?: MaybeArray<WhereArg<Q>>;
|
|
115
117
|
delete?: MaybeArray<WhereArg<Q>>;
|
|
@@ -187,6 +189,9 @@ declare function transaction<T extends {
|
|
|
187
189
|
$queryBuilder: Db;
|
|
188
190
|
}, Result>(this: T, options: IsolationLevel | TransactionOptions, fn: () => Promise<Result>): Promise<Result>;
|
|
189
191
|
|
|
192
|
+
interface FromQuery extends Query {
|
|
193
|
+
returnType: 'all';
|
|
194
|
+
}
|
|
190
195
|
type OrchidORM<T extends TableClasses = TableClasses> = {
|
|
191
196
|
[K in keyof T]: DbTable<InstanceType<T[K]>>;
|
|
192
197
|
} & {
|
|
@@ -253,7 +258,7 @@ type OrchidORM<T extends TableClasses = TableClasses> = {
|
|
|
253
258
|
/**
|
|
254
259
|
* See {@link FromMethods.from}
|
|
255
260
|
*/
|
|
256
|
-
$from<Arg extends MaybeArray<FromArg<Query>>>(arg: Arg): FromResult<
|
|
261
|
+
$from<Arg extends MaybeArray<FromArg<Query>>>(arg: Arg): FromResult<FromQuery, Arg>;
|
|
257
262
|
$close(): Promise<void>;
|
|
258
263
|
};
|
|
259
264
|
type OrchidOrmArg = true | null extends true ? 'Set strict: true to tsconfig' : ({
|
|
@@ -307,6 +312,7 @@ interface HasAndBelongsToManyInfo<T extends RelationConfigSelf, Name extends key
|
|
|
307
312
|
table: Q;
|
|
308
313
|
}>;
|
|
309
314
|
};
|
|
315
|
+
dataForCreate: never;
|
|
310
316
|
dataForUpdate: {
|
|
311
317
|
disconnect?: MaybeArray<WhereArg<Q>>;
|
|
312
318
|
set?: MaybeArray<WhereArg<Q>>;
|
|
@@ -399,9 +405,7 @@ interface TableClasses {
|
|
|
399
405
|
interface RelationQueriesBase {
|
|
400
406
|
[K: string]: RelationQueryBase;
|
|
401
407
|
}
|
|
402
|
-
interface TableToDb<T extends Table, RelationQueries extends RelationQueriesBase> extends Db<T['table'], T['columns']['shape'], keyof ShapeColumnPrimaryKeys<T['columns']['shape']> extends never ? never : ShapeColumnPrimaryKeys<T['columns']['shape']>, ShapeUniqueColumns<T['columns']['shape']> | TableDataItemsUniqueColumns<T['columns']['shape'], T['columns']['data']>, TableDataItemsUniqueColumnTuples<T['columns']['shape'], T['columns']['data']>, UniqueConstraints<T['columns']['shape']> | TableDataItemsUniqueConstraints<T['columns']['data']>, RelationQueries, T['types'], T['
|
|
403
|
-
[K in keyof T['computed']]: ReturnType<T['computed'][K]>['result']['value'];
|
|
404
|
-
} : T['columns']['shape'], MapTableScopesOption<T['scopes'], T['softDelete']>> {
|
|
408
|
+
interface TableToDb<T extends Table, RelationQueries extends RelationQueriesBase> extends Db<T['table'], T['columns']['shape'], keyof ShapeColumnPrimaryKeys<T['columns']['shape']> extends never ? never : ShapeColumnPrimaryKeys<T['columns']['shape']>, ShapeUniqueColumns<T['columns']['shape']> | TableDataItemsUniqueColumns<T['columns']['shape'], T['columns']['data']>, TableDataItemsUniqueColumnTuples<T['columns']['shape'], T['columns']['data']>, UniqueConstraints<T['columns']['shape']> | TableDataItemsUniqueConstraints<T['columns']['data']>, RelationQueries, T['types'], T['columns']['shape'] & ComputedColumnsFromOptions<T['computed']>, MapTableScopesOption<T['scopes'], T['softDelete']>> {
|
|
405
409
|
definedAs: string;
|
|
406
410
|
db: OrchidORM;
|
|
407
411
|
getFilePath(): string;
|
|
@@ -423,7 +427,7 @@ interface Table {
|
|
|
423
427
|
/**
|
|
424
428
|
* collect computed columns returned by {@link BaseTable.setColumns}
|
|
425
429
|
*/
|
|
426
|
-
computed?:
|
|
430
|
+
computed?: ComputedOptionsFactory<never, never>;
|
|
427
431
|
scopes?: CoreQueryScopes;
|
|
428
432
|
readonly softDelete?: true | string;
|
|
429
433
|
comment?: string;
|
|
@@ -548,16 +552,20 @@ interface BaseTableInstance<ColumnTypes> {
|
|
|
548
552
|
*
|
|
549
553
|
* @param computed - object where keys are column names and values are functions returning raw SQL
|
|
550
554
|
*/
|
|
551
|
-
setComputed<
|
|
555
|
+
setComputed<Shape extends ColumnsShapeBase, Computed extends ComputedOptionsFactory<ColumnTypes, Shape>>(this: {
|
|
556
|
+
columns: {
|
|
557
|
+
shape: Shape;
|
|
558
|
+
};
|
|
559
|
+
}, computed: Computed): Computed;
|
|
552
560
|
/**
|
|
553
561
|
* See {@link ScopeMethods}
|
|
554
562
|
*/
|
|
555
|
-
setScopes<Table extends string,
|
|
563
|
+
setScopes<Table extends string, Shape extends ColumnsShapeBase, Keys extends string>(this: {
|
|
556
564
|
table: Table;
|
|
557
565
|
columns: {
|
|
558
|
-
shape:
|
|
566
|
+
shape: Shape;
|
|
559
567
|
};
|
|
560
|
-
}, scopes: DbTableOptionScopes<Table,
|
|
568
|
+
}, scopes: DbTableOptionScopes<Table, Shape, Keys>): CoreQueryScopes<Keys>;
|
|
561
569
|
belongsTo<Columns extends ColumnsShapeBase, Related extends TableClass, Scope extends Query, Options extends BelongsToOptions<Columns, Related, Scope>>(this: {
|
|
562
570
|
columns: {
|
|
563
571
|
shape: Columns;
|
|
@@ -632,7 +640,7 @@ declare function createBaseTable<SchemaConfig extends ColumnSchemaConfig = Defau
|
|
|
632
640
|
|
|
633
641
|
type QueryMethods<T extends Query> = Record<string, (q: T, ...args: any[]) => any>;
|
|
634
642
|
type QueryOne<T extends Query> = {
|
|
635
|
-
[K in keyof T]: K extends 'returnType' ? Exclude<QueryReturnType, 'all'> : T[K];
|
|
643
|
+
[K in keyof T]: K extends 'returnType' ? Exclude<QueryReturnType, 'all' | undefined> : T[K];
|
|
636
644
|
};
|
|
637
645
|
interface MethodsBase<T extends Query> {
|
|
638
646
|
queryMethods?: QueryMethods<T>;
|
package/dist/index.js
CHANGED
|
@@ -437,7 +437,10 @@ const nestedUpdate$3 = ({ query, primaryKeys, foreignKeys, len }) => {
|
|
|
437
437
|
} else if (params.create) {
|
|
438
438
|
const q3 = query.clone();
|
|
439
439
|
q3.q.select = primaryKeys;
|
|
440
|
-
const record = await pqb._queryCreate(
|
|
440
|
+
const record = await pqb._queryCreate(
|
|
441
|
+
q3,
|
|
442
|
+
params.create
|
|
443
|
+
);
|
|
441
444
|
for (let i = 0; i < len; i++) {
|
|
442
445
|
update[foreignKeys[i]] = record[primaryKeys[i]];
|
|
443
446
|
}
|
|
@@ -474,7 +477,10 @@ const nestedUpdate$3 = ({ query, primaryKeys, foreignKeys, len }) => {
|
|
|
474
477
|
);
|
|
475
478
|
} else {
|
|
476
479
|
const data = typeof upsert.create === "function" ? upsert.create() : upsert.create;
|
|
477
|
-
const result = await pqb._queryCreate(
|
|
480
|
+
const result = await pqb._queryCreate(
|
|
481
|
+
query.select(...primaryKeys),
|
|
482
|
+
data
|
|
483
|
+
);
|
|
478
484
|
const collectData = {};
|
|
479
485
|
state.collect = {
|
|
480
486
|
keys: primaryKeys,
|
|
@@ -1885,7 +1891,8 @@ const orchidORM = (_a, tables) => {
|
|
|
1885
1891
|
softDelete: table.softDelete,
|
|
1886
1892
|
snakeCase: table.snakeCase,
|
|
1887
1893
|
comment: table.comment,
|
|
1888
|
-
noPrimaryKey: table.noPrimaryKey ? "ignore" : void 0
|
|
1894
|
+
noPrimaryKey: table.noPrimaryKey ? "ignore" : void 0,
|
|
1895
|
+
computed: table.computed
|
|
1889
1896
|
});
|
|
1890
1897
|
const dbTable = new pqb.Db(
|
|
1891
1898
|
adapter,
|
|
@@ -1902,12 +1909,6 @@ const orchidORM = (_a, tables) => {
|
|
|
1902
1909
|
dbTable.db = result;
|
|
1903
1910
|
dbTable.filePath = table.filePath;
|
|
1904
1911
|
dbTable.name = table.constructor.name;
|
|
1905
|
-
if (table.computed) {
|
|
1906
|
-
pqb.addComputedColumns(
|
|
1907
|
-
dbTable,
|
|
1908
|
-
table.computed
|
|
1909
|
-
);
|
|
1910
|
-
}
|
|
1911
1912
|
result[key] = dbTable;
|
|
1912
1913
|
}
|
|
1913
1914
|
applyRelations(qb, tableInstances, result);
|