pqb 0.67.7 → 0.68.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 +69 -6
- package/dist/index.js +105 -129
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +105 -129
- package/dist/index.mjs.map +1 -1
- package/dist/internal.d.ts +66 -6
- 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.
|
|
@@ -4992,6 +5039,8 @@ interface Base$1<Value> {
|
|
|
4992
5039
|
__hasSelect: true;
|
|
4993
5040
|
equals: Operator<Value | IsQuery$1 | Expression$1, BooleanQueryColumn>;
|
|
4994
5041
|
not: Operator<Value | IsQuery$1 | Expression$1, BooleanQueryColumn>;
|
|
5042
|
+
isDistinctFrom: Operator<Value | IsQuery$1 | Expression$1, BooleanQueryColumn>;
|
|
5043
|
+
isNotDistinctFrom: Operator<Value | IsQuery$1 | Expression$1, BooleanQueryColumn>;
|
|
4995
5044
|
in: Operator<Value[] | IsQuery$1 | Expression$1, BooleanQueryColumn>;
|
|
4996
5045
|
notIn: Operator<Value[] | IsQuery$1 | Expression$1, BooleanQueryColumn>;
|
|
4997
5046
|
}
|
|
@@ -5361,6 +5410,12 @@ interface PickQueryWindows {
|
|
|
5361
5410
|
interface PickQueryRelations$1 {
|
|
5362
5411
|
relations: RelationsBase$1;
|
|
5363
5412
|
}
|
|
5413
|
+
interface PickQueryRelationsDataForCreate {
|
|
5414
|
+
relationsDataForCreate: RelationsDataForCreateBase;
|
|
5415
|
+
}
|
|
5416
|
+
interface PickQueryRelationsDataForCreateOptional {
|
|
5417
|
+
relationsDataForCreateOptional: RelationsDataForCreateOptionalBase;
|
|
5418
|
+
}
|
|
5364
5419
|
interface PickQueryColumTypes {
|
|
5365
5420
|
columnTypes: unknown;
|
|
5366
5421
|
}
|
|
@@ -5969,13 +6024,14 @@ declare class QueryCreateFrom {
|
|
|
5969
6024
|
*/
|
|
5970
6025
|
insertForEachFrom<T extends CreateSelf$1>(this: T, query: IsQuery$1): InsertManyFromResult<T>;
|
|
5971
6026
|
}
|
|
5972
|
-
interface CreateSelf$1 extends PickQueryHasSelect, PickQueryDefaults, PickQueryResult, PickQueryRelations$1, PickQueryWithData, PickQueryReturnType, PickQueryShape$1, PickQueryUniqueProperties, PickQueryInputType$1, Query.Pick.IsNotReadOnly {}
|
|
6027
|
+
interface CreateSelf$1 extends PickQueryHasSelect, PickQueryDefaults, PickQueryResult, PickQueryRelations$1, PickQueryRelationsDataForCreate, PickQueryRelationsDataForCreateOptional, PickQueryWithData, PickQueryReturnType, PickQueryShape$1, PickQueryUniqueProperties, PickQueryInputType$1, Query.Pick.IsNotReadOnly {}
|
|
5973
6028
|
type CreateData$1<T extends CreateSelf$1> = EmptyObject$1 extends T['relations'] ? CreateDataWithDefaults<T, keyof T['__defaults']> : CreateRelationsData<T>;
|
|
5974
6029
|
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
6030
|
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
6031
|
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,
|
|
6032
|
+
type CreateRelationsData<T extends CreateSelf$1> = CreateDataWithDefaultsForRelations<T, keyof T['__defaults'], T['relations'][keyof T['relations']]['omitForeignKeyInCreate']> & CreateRelationsDataOmittingFKeys<T, T['relationsDataForCreate']> & T['relationsDataForCreateOptional'];
|
|
6033
|
+
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;
|
|
6034
|
+
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
6035
|
type CreateResult<T extends CreateSelf$1, Data> = T extends {
|
|
5980
6036
|
isCount: true;
|
|
5981
6037
|
} ? 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>>;
|
|
@@ -7196,7 +7252,7 @@ declare namespace Column$1 {
|
|
|
7196
7252
|
unique: Name;
|
|
7197
7253
|
};
|
|
7198
7254
|
};
|
|
7199
|
-
export type Nullable<T extends Column$1.Pick.ForNullable, InputSchema, OutputSchema, QuerySchema> = { [K in keyof T]: K extends '__type' ? T['__type'] | null : K extends '__inputType' ? T['__inputType'] | null : K extends 'inputSchema' ? InputSchema : K extends '__outputType' ? T['__outputType'] | (unknown extends T['__nullType'] ? null : T['__nullType']) : K extends 'outputSchema' ? OutputSchema : K extends '__queryType' ? T['__queryType'] | null : K extends 'querySchema' ? QuerySchema : K extends 'data' ? T['data'] & DataNullable : K extends 'operators' ? { [K in keyof T['operators']]: K extends 'equals' | 'not' ? Operator<T | null> : T['operators'][K] } : T[K] };
|
|
7255
|
+
export type Nullable<T extends Column$1.Pick.ForNullable, InputSchema, OutputSchema, QuerySchema> = { [K in keyof T]: K extends '__type' ? T['__type'] | null : K extends '__inputType' ? T['__inputType'] | null : K extends 'inputSchema' ? InputSchema : K extends '__outputType' ? T['__outputType'] | (unknown extends T['__nullType'] ? null : T['__nullType']) : K extends 'outputSchema' ? OutputSchema : K extends '__queryType' ? T['__queryType'] | null : K extends 'querySchema' ? QuerySchema : K extends 'data' ? T['data'] & DataNullable : K extends 'operators' ? { [K in keyof T['operators']]: K extends 'equals' | 'not' | 'isDistinctFrom' | 'isNotDistinctFrom' ? Operator<T | null> : T['operators'][K] } : T[K] };
|
|
7200
7256
|
export type QueryColumnToNullable<C> = { [K in keyof C]: K extends '__outputType' | '__queryType' ? C[K] | null : C[K] };
|
|
7201
7257
|
export type QueryColumnToOptional<C> = { [K in keyof C]: K extends '__outputType' ? C[K] | undefined : C[K] };
|
|
7202
7258
|
interface DataNullable {
|
|
@@ -7206,6 +7262,8 @@ declare namespace Column$1 {
|
|
|
7206
7262
|
export interface OperatorsNullable<T> {
|
|
7207
7263
|
equals: Operator<T | null>;
|
|
7208
7264
|
not: Operator<T | null>;
|
|
7265
|
+
isDistinctFrom: Operator<T | null>;
|
|
7266
|
+
isNotDistinctFrom: Operator<T | null>;
|
|
7209
7267
|
}
|
|
7210
7268
|
export type Encode<T, InputSchema, Input> = { [K in keyof T]: K extends '__inputType' ? Input : K extends 'inputSchema' ? InputSchema : T[K] };
|
|
7211
7269
|
export type Parse<T extends Pick.ForParse, OutputSchema, Output> = { [K in keyof T]: K extends '__outputType' ? null extends T['__type'] ? (Output extends null ? never : Output) | (unknown extends T['__nullType'] ? null : T['__nullType']) : Output : K extends 'outputSchema' ? null extends T['__type'] ? OutputSchema | T['nullSchema'] : OutputSchema : T[K] };
|
|
@@ -9378,6 +9436,8 @@ interface Query extends IsQuery$1, PickQueryTable, PickQueryShape$1, PickQuerySe
|
|
|
9378
9436
|
catch: QueryCatch;
|
|
9379
9437
|
windows: EmptyObject$1;
|
|
9380
9438
|
relations: RelationsBase$1;
|
|
9439
|
+
relationsDataForCreate: RelationsDataForCreateBase;
|
|
9440
|
+
relationsDataForCreateOptional: RelationsDataForCreateOptionalBase;
|
|
9381
9441
|
relationQueries: IsQueries;
|
|
9382
9442
|
error: new (message: string, length: number, name: QueryErrorName) => QueryError;
|
|
9383
9443
|
__readOnly: true | undefined;
|