orchid-orm 1.22.1 → 1.23.1
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 +12 -12
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Query, SelectableFromShape, CreateMethodsNames, AddQueryDefaults,
|
|
1
|
+
import { Query, SelectableFromShape, CreateMethodsNames, AddQueryDefaults, SetQueryReturnsOne, SetQueryReturnsOneOptional, RelationJoinQuery, UpdateData, WhereArg, CreateData, JoinQueryMethod, DeleteMethodsNames, Db, IsolationLevel, TransactionOptions, Adapter, FromArg, FromArgOptions, FromResult, AdapterOptions, QueryLogOptions, NoPrimaryKeyOption, RelationQuery, MapTableScopesOption, ComputedColumnsBase, QueryData, QueryBase, DbTableOptionScopes, DefaultSchemaConfig, DefaultColumnTypes, RelationQueryBase, QueryBeforeHook, QueryAfterHook, AfterHook, WhereResult, MergeQuery } from 'pqb';
|
|
2
2
|
export * from 'pqb';
|
|
3
|
-
import { ColumnsShapeBase,
|
|
3
|
+
import { ColumnsShapeBase, EmptyObject, MaybeArray, RecordUnknown, CoreQueryScopes, ColumnShapeOutput, ColumnShapeInput, ColumnShapeInputPartial, ColumnSchemaConfig, QueryReturnType } from 'orchid-core';
|
|
4
4
|
|
|
5
5
|
interface RelationCommonOptions<Related extends TableClass = TableClass, Scope extends Query = Query> {
|
|
6
6
|
scope?: ScopeFn<Related, Scope>;
|
|
@@ -29,7 +29,7 @@ type HasOneOptions<Columns extends ColumnsShapeBase = ColumnsShapeBase, Related
|
|
|
29
29
|
type HasOneParams<T extends RelationConfigSelf, Relation extends RelationThunkBase> = Relation['options'] extends RelationRefsOptions ? {
|
|
30
30
|
[Name in Relation['options']['columns'][number]]: T['columns'][Name]['type'];
|
|
31
31
|
} : Relation['options'] extends RelationKeysOptions ? Record<Relation['options']['primaryKey'], T['columns'][Relation['options']['primaryKey']]['type']> : Relation['options'] extends RelationThroughOptions ? RelationConfigParams<T, T['relations'][Relation['options']['through']]> : never;
|
|
32
|
-
interface HasOneInfo<T extends RelationConfigSelf, Name extends keyof T['relations'] & string, TableQuery extends Query, Populate
|
|
32
|
+
interface HasOneInfo<T extends RelationConfigSelf, Name extends keyof T['relations'] & string, TableQuery extends Query, Populate = T['relations'][Name]['options'] extends RelationRefsOptions ? Record<T['relations'][Name]['options']['references'][number], true> : T['relations'][Name]['options'] extends RelationKeysOptions ? Record<T['relations'][Name]['options']['foreignKey'], true> : never, Q extends Query = T['relations'][Name]['options'] extends RelationThroughOptions ? {
|
|
33
33
|
[K in keyof TableQuery]: K extends 'meta' ? Omit<TableQuery['meta'], 'selectable'> & {
|
|
34
34
|
as: Name;
|
|
35
35
|
defaults: Populate;
|
|
@@ -43,7 +43,7 @@ interface HasOneInfo<T extends RelationConfigSelf, Name extends keyof T['relatio
|
|
|
43
43
|
hasWhere: true;
|
|
44
44
|
selectable: SelectableFromShape<TableQuery['shape'], Name>;
|
|
45
45
|
} : K extends 'join' ? RelJoin : TableQuery[K];
|
|
46
|
-
}, NestedCreateQuery extends Query = T['relations'][Name]['options'] extends RelationThroughOptions ? Q : AddQueryDefaults<Q, Populate>>
|
|
46
|
+
}, NestedCreateQuery extends Query = T['relations'][Name]['options'] extends RelationThroughOptions ? Q : AddQueryDefaults<Q, Populate>> {
|
|
47
47
|
query: Q;
|
|
48
48
|
methodQuery: T['relations'][Name]['options']['required'] extends true ? SetQueryReturnsOne<Q> : SetQueryReturnsOneOptional<Q>;
|
|
49
49
|
joinQuery: RelationJoinQuery;
|
|
@@ -97,7 +97,7 @@ interface HasManyInfo<T extends RelationConfigSelf, Name extends keyof T['relati
|
|
|
97
97
|
hasWhere: true;
|
|
98
98
|
selectable: SelectableFromShape<TableQuery['shape'], Name>;
|
|
99
99
|
} : K extends 'join' ? RelJoin : TableQuery[K];
|
|
100
|
-
}>
|
|
100
|
+
}> {
|
|
101
101
|
query: Q;
|
|
102
102
|
methodQuery: Q;
|
|
103
103
|
joinQuery: RelationJoinQuery;
|
|
@@ -135,14 +135,14 @@ type BelongsToFKey<Relation extends RelationThunkBase> = Relation['options'] ext
|
|
|
135
135
|
type BelongsToParams<T extends RelationConfigSelf, Relation extends RelationThunkBase> = {
|
|
136
136
|
[Name in BelongsToFKey<Relation>]: T['columns'][Name]['type'];
|
|
137
137
|
};
|
|
138
|
-
interface BelongsToInfo<T extends RelationConfigSelf, Name extends keyof T['relations'] & string, TableQuery extends Query, FK extends string
|
|
139
|
-
[
|
|
138
|
+
interface BelongsToInfo<T extends RelationConfigSelf, Name extends keyof T['relations'] & string, TableQuery extends Query, FK extends string, Required, Q extends Query = {
|
|
139
|
+
[P in keyof TableQuery]: P extends 'meta' ? // Omit is optimal
|
|
140
140
|
Omit<TableQuery['meta'], 'selectable'> & {
|
|
141
141
|
as: Name;
|
|
142
142
|
hasWhere: true;
|
|
143
143
|
selectable: SelectableFromShape<TableQuery['shape'], Name>;
|
|
144
|
-
} :
|
|
145
|
-
}>
|
|
144
|
+
} : P extends 'join' ? RelJoin : P extends CreateMethodsNames | DeleteMethodsNames ? never : TableQuery[P];
|
|
145
|
+
}> {
|
|
146
146
|
query: Q;
|
|
147
147
|
methodQuery: Required extends true ? SetQueryReturnsOne<Q> : SetQueryReturnsOneOptional<Q>;
|
|
148
148
|
joinQuery: RelationJoinQuery;
|
|
@@ -249,7 +249,7 @@ type OrchidORM<T extends TableClasses = TableClasses> = {
|
|
|
249
249
|
* @param args - SQL template literal, or an object { raw: string, values?: unknown[] }
|
|
250
250
|
*/
|
|
251
251
|
$queryArrays: Db['queryArrays'];
|
|
252
|
-
$from<
|
|
252
|
+
$from<Arg extends FromArg<Query>>(arg: Arg, options?: FromArgOptions): FromResult<Query, Arg>;
|
|
253
253
|
$close(): Promise<void>;
|
|
254
254
|
};
|
|
255
255
|
declare const orchidORM: <T extends TableClasses>({ log, logger, autoPreparedStatements, noPrimaryKey, ...options }: (Omit<AdapterOptions, "log"> | {
|
|
@@ -293,7 +293,7 @@ interface HasAndBelongsToManyInfo<T extends RelationConfigSelf, Name extends key
|
|
|
293
293
|
hasWhere: true;
|
|
294
294
|
selectable: SelectableFromShape<TableQuery['shape'], Name>;
|
|
295
295
|
} : K extends 'join' ? RelJoin : TableQuery[K];
|
|
296
|
-
}>
|
|
296
|
+
}> {
|
|
297
297
|
query: Q;
|
|
298
298
|
methodQuery: Q;
|
|
299
299
|
joinQuery: RelationJoinQuery;
|
|
@@ -380,7 +380,7 @@ interface RelationConfigSelf {
|
|
|
380
380
|
relations: RelationThunks;
|
|
381
381
|
}
|
|
382
382
|
type RelationConfigParams<T extends RelationConfigSelf, Relation extends RelationThunk> = Relation extends BelongsTo ? BelongsToParams<T, Relation> : Relation extends HasOne ? HasOneParams<T, Relation> : Relation extends HasMany ? HasManyParams<T, Relation> : Relation extends HasAndBelongsToMany ? HasAndBelongsToManyParams<T, Relation> : never;
|
|
383
|
-
type MapRelation<T extends RelationConfigSelf, K extends keyof T['relations'] & string> = RelationQuery<T['relations'][K] extends BelongsTo ? BelongsToInfo<T, K, RelationScopeOrTable<T['relations'][K]
|
|
383
|
+
type MapRelation<T extends RelationConfigSelf, K extends keyof T['relations'] & string> = RelationQuery<T['relations'][K] extends BelongsTo ? BelongsToInfo<T, K, RelationScopeOrTable<T['relations'][K]>, BelongsToFKey<T['relations'][K]>, T['relations'][K]['options']['required']> : T['relations'][K] extends HasOne ? HasOneInfo<T, K, RelationScopeOrTable<T['relations'][K]>> : T['relations'][K] extends HasMany ? HasManyInfo<T, K, RelationScopeOrTable<T['relations'][K]>> : T['relations'][K] extends HasAndBelongsToMany ? HasAndBelongsToManyInfo<T, K, RelationScopeOrTable<T['relations'][K]>> : never>;
|
|
384
384
|
type MapRelations<T> = T extends {
|
|
385
385
|
columns: ColumnsShapeBase;
|
|
386
386
|
relations: RelationThunks;
|
package/dist/index.js
CHANGED
|
@@ -1844,7 +1844,7 @@ const orchidORM = (_a, tables) => {
|
|
|
1844
1844
|
$queryBuilder: qb,
|
|
1845
1845
|
$query: (...args) => qb.query(...args),
|
|
1846
1846
|
$queryArrays: (...args) => qb.queryArrays(...args),
|
|
1847
|
-
$from: (
|
|
1847
|
+
$from: (arg, options2) => qb.from(arg, options2),
|
|
1848
1848
|
$close: () => adapter.close()
|
|
1849
1849
|
};
|
|
1850
1850
|
const tableInstances = {};
|