pqb 0.67.7 → 0.68.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 +64 -5
- package/dist/index.js +28 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +28 -1
- package/dist/index.mjs.map +1 -1
- package/dist/internal.d.ts +61 -5
- package/package.json +1 -1
package/dist/internal.d.ts
CHANGED
|
@@ -14,7 +14,6 @@ interface RelationConfigBase$1 extends IsQuery$1 {
|
|
|
14
14
|
queryRelated(params: unknown): unknown;
|
|
15
15
|
modifyRelatedQuery?(relatedQuery: IsQuery$1): (query: IsQuery$1) => void;
|
|
16
16
|
omitForeignKeyInCreate: PropertyKey;
|
|
17
|
-
dataForCreate: unknown;
|
|
18
17
|
dataForUpdate: unknown;
|
|
19
18
|
dataForUpdateOne: unknown;
|
|
20
19
|
primaryKeys: string[];
|
|
@@ -24,7 +23,13 @@ interface RelationConfigDataForCreate {
|
|
|
24
23
|
nested: RecordUnknown$1;
|
|
25
24
|
}
|
|
26
25
|
interface RelationsBase$1 {
|
|
27
|
-
[
|
|
26
|
+
[relationName: string]: RelationConfigBase$1;
|
|
27
|
+
}
|
|
28
|
+
interface RelationsDataForCreateBase {
|
|
29
|
+
[relationName: string]: unknown;
|
|
30
|
+
}
|
|
31
|
+
interface RelationsDataForCreateOptionalBase {
|
|
32
|
+
[relationName: string]: unknown;
|
|
28
33
|
}
|
|
29
34
|
type RelationQueryMaybeSingle<T extends RelationConfigBase$1> = T['returnsOne'] extends true ? T['required'] extends true ? QueryManyTake$1<T['query']> : QueryManyTakeOptional$1<T['query']> : T['query'];
|
|
30
35
|
interface SubQueryForSql extends ToSQLQuery {
|
|
@@ -34,6 +39,17 @@ interface HasBeforeAndBeforeSet {
|
|
|
34
39
|
before?: QueryBeforeHook$1[];
|
|
35
40
|
beforeSet?: QueryData$1['beforeSet'];
|
|
36
41
|
}
|
|
42
|
+
interface SqlJoinExpression<T extends Column$1.Pick.QueryColumn> extends Expression$1<T>, ExpressionTypeMethod {}
|
|
43
|
+
declare class SqlJoinExpression<T extends Column$1.Pick.QueryColumn = Column$1.Pick.QueryColumn> extends Expression$1<T> {
|
|
44
|
+
items: readonly unknown[];
|
|
45
|
+
separator?: RawSqlBase$1 | undefined;
|
|
46
|
+
result: {
|
|
47
|
+
value: T;
|
|
48
|
+
};
|
|
49
|
+
q: ExpressionData$1;
|
|
50
|
+
constructor(items: readonly unknown[], separator?: RawSqlBase$1 | undefined);
|
|
51
|
+
makeSQL(ctx: ToSqlValues$1, quotedAs?: string): string;
|
|
52
|
+
}
|
|
37
53
|
/**
|
|
38
54
|
* Expression for a SQL identifier reference.
|
|
39
55
|
* Used to safely quote identifiers in raw SQL queries.
|
|
@@ -2071,6 +2087,37 @@ declare class DynamicRawSQL$1<T extends Column$1.Pick.QueryColumn, ColumnTypes =
|
|
|
2071
2087
|
}
|
|
2072
2088
|
interface SqlFn$1 {
|
|
2073
2089
|
<T, Args extends TemplateLiteralArgs$1 | [sql: string] | [values: RecordUnknown$1, sql?: string]>(this: T, ...args: Args): Args extends [RecordUnknown$1] ? (...sql: TemplateLiteralArgs$1) => RawSql$1<Column$1.Pick.QueryColumn, T> : RawSql$1<Column$1.Pick.QueryColumn, T>;
|
|
2090
|
+
/**
|
|
2091
|
+
* `sql.join` builds a SQL list from values and expressions.
|
|
2092
|
+
* Plain values are bound as query parameters, while SQL expressions render as SQL.
|
|
2093
|
+
*
|
|
2094
|
+
* Use it for SQL constructs such as `ARRAY[...]`, `IN (...)`, function arguments,
|
|
2095
|
+
* or tuple lists. The default separator is `, `. Provide a SQL expression as the
|
|
2096
|
+
* custom separator when a different separator is needed.
|
|
2097
|
+
*
|
|
2098
|
+
* ```ts
|
|
2099
|
+
* await db.user.whereSql`"id" IN (${sql.join([1, 2, 3])})`;
|
|
2100
|
+
* ```
|
|
2101
|
+
*
|
|
2102
|
+
* ```ts
|
|
2103
|
+
* await db.user.whereSql`
|
|
2104
|
+
* (${sql.join([sql.ref('name'), sql.ref('age')])}) IN (${sql.join(
|
|
2105
|
+
* users.map((user) => sql`(${user.name}, ${user.age})`),
|
|
2106
|
+
* )})
|
|
2107
|
+
* `;
|
|
2108
|
+
* ```
|
|
2109
|
+
*
|
|
2110
|
+
* ```ts
|
|
2111
|
+
* await db.user.select({
|
|
2112
|
+
* displayName: (q) =>
|
|
2113
|
+
* sql<string>`concat(${sql.join(
|
|
2114
|
+
* [q.column('firstName'), q.column('lastName')],
|
|
2115
|
+
* sql` || ' ' || `,
|
|
2116
|
+
* )})`,
|
|
2117
|
+
* });
|
|
2118
|
+
* ```
|
|
2119
|
+
*/
|
|
2120
|
+
join<T = unknown>(items: readonly unknown[], separator?: RawSqlBase$1): SqlJoinExpression<Column$1.Pick.QueryColumnOfType<T>>;
|
|
2074
2121
|
/**
|
|
2075
2122
|
* `sql.ref` quotes a SQL identifier such as a table name, column name, or schema name.
|
|
2076
2123
|
* Use it when you need to dynamically reference an identifier in raw SQL.
|
|
@@ -5361,6 +5408,12 @@ interface PickQueryWindows {
|
|
|
5361
5408
|
interface PickQueryRelations$1 {
|
|
5362
5409
|
relations: RelationsBase$1;
|
|
5363
5410
|
}
|
|
5411
|
+
interface PickQueryRelationsDataForCreate {
|
|
5412
|
+
relationsDataForCreate: RelationsDataForCreateBase;
|
|
5413
|
+
}
|
|
5414
|
+
interface PickQueryRelationsDataForCreateOptional {
|
|
5415
|
+
relationsDataForCreateOptional: RelationsDataForCreateOptionalBase;
|
|
5416
|
+
}
|
|
5364
5417
|
interface PickQueryColumTypes {
|
|
5365
5418
|
columnTypes: unknown;
|
|
5366
5419
|
}
|
|
@@ -5969,13 +6022,14 @@ declare class QueryCreateFrom {
|
|
|
5969
6022
|
*/
|
|
5970
6023
|
insertForEachFrom<T extends CreateSelf$1>(this: T, query: IsQuery$1): InsertManyFromResult<T>;
|
|
5971
6024
|
}
|
|
5972
|
-
interface CreateSelf$1 extends PickQueryHasSelect, PickQueryDefaults, PickQueryResult, PickQueryRelations$1, PickQueryWithData, PickQueryReturnType, PickQueryShape$1, PickQueryUniqueProperties, PickQueryInputType$1, Query.Pick.IsNotReadOnly {}
|
|
6025
|
+
interface CreateSelf$1 extends PickQueryHasSelect, PickQueryDefaults, PickQueryResult, PickQueryRelations$1, PickQueryRelationsDataForCreate, PickQueryRelationsDataForCreateOptional, PickQueryWithData, PickQueryReturnType, PickQueryShape$1, PickQueryUniqueProperties, PickQueryInputType$1, Query.Pick.IsNotReadOnly {}
|
|
5973
6026
|
type CreateData$1<T extends CreateSelf$1> = EmptyObject$1 extends T['relations'] ? CreateDataWithDefaults<T, keyof T['__defaults']> : CreateRelationsData<T>;
|
|
5974
6027
|
type CreateDataWithDefaults<T extends CreateSelf$1, Defaults extends PropertyKey> = { [K in keyof T['__inputType'] as K extends Defaults ? never : K]: K extends Defaults ? never : CreateColumn<T, K> } & { [K in Defaults]?: K extends keyof T['__inputType'] ? CreateColumn<T, K> : never };
|
|
5975
6028
|
type CreateDataWithDefaultsForRelations<T extends CreateSelf$1, Defaults extends keyof T['__inputType'], OmitFKeys extends PropertyKey> = { [K in keyof T['__inputType'] as K extends Defaults | OmitFKeys ? never : K]: K extends Defaults | OmitFKeys ? never : CreateColumn<T, K> } & { [K in Defaults as K extends OmitFKeys ? never : K]?: CreateColumn<T, K> };
|
|
5976
6029
|
type CreateColumn<T extends CreateSelf$1, K extends keyof T['__inputType']> = T['__inputType'][K] | ((q: T) => QueryOrExpression$1<T['__inputType'][K]>);
|
|
5977
|
-
type CreateRelationsData<T extends CreateSelf$1> = CreateDataWithDefaultsForRelations<T, keyof T['__defaults'], T['relations'][keyof T['relations']]['omitForeignKeyInCreate']> & CreateRelationsDataOmittingFKeys<T, T['
|
|
5978
|
-
type CreateRelationsDataOmittingFKeys<T extends CreateSelf$1,
|
|
6030
|
+
type CreateRelationsData<T extends CreateSelf$1> = CreateDataWithDefaultsForRelations<T, keyof T['__defaults'], T['relations'][keyof T['relations']]['omitForeignKeyInCreate']> & CreateRelationsDataOmittingFKeys<T, T['relationsDataForCreate']> & T['relationsDataForCreateOptional'];
|
|
6031
|
+
type CreateRelationsDataOmittingFKeys<T extends CreateSelf$1, Data> = EmptyObject$1 extends Data ? EmptyObject$1 : { [K in keyof Data]: CreateRelationDataOmittingFKeys<T, Data[K]> }[keyof Data] extends ((u: infer Obj) => void) ? Obj : never;
|
|
6032
|
+
type CreateRelationDataOmittingFKeys<T extends CreateSelf$1, Union> = (u: Union extends RelationConfigDataForCreate ? Union['columns'] extends keyof T['__defaults'] ? Pick<CreateDataWithDefaults<T, keyof T['__defaults']>, Union['columns']> & Partial<Union['nested']> : (Pick<{ [P in keyof T['__inputType']]: CreateColumn<T, P> }, Union['columns'] & keyof T['__inputType']> & { [K in keyof Union['nested']]?: never }) | Union['nested'] : Union) => void;
|
|
5979
6033
|
type CreateResult<T extends CreateSelf$1, Data> = T extends {
|
|
5980
6034
|
isCount: true;
|
|
5981
6035
|
} ? T : T['returnType'] extends undefined | 'all' ? SetQueryReturnsOneResult<T, NarrowCreateResult<T, Data>> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnResult<T, NarrowCreateResult<T, Data>> : SetQueryResult<T, NarrowCreateResult<T, Data>>;
|
|
@@ -9378,6 +9432,8 @@ interface Query extends IsQuery$1, PickQueryTable, PickQueryShape$1, PickQuerySe
|
|
|
9378
9432
|
catch: QueryCatch;
|
|
9379
9433
|
windows: EmptyObject$1;
|
|
9380
9434
|
relations: RelationsBase$1;
|
|
9435
|
+
relationsDataForCreate: RelationsDataForCreateBase;
|
|
9436
|
+
relationsDataForCreateOptional: RelationsDataForCreateOptionalBase;
|
|
9381
9437
|
relationQueries: IsQueries;
|
|
9382
9438
|
error: new (message: string, length: number, name: QueryErrorName) => QueryError;
|
|
9383
9439
|
__readOnly: true | undefined;
|