pqb 0.2.0 → 0.2.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 +24 -11
- package/dist/index.esm.js +1 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/columnSchema/columnType.ts +5 -1
- package/src/columnSchema/columnTypes.ts +4 -1
- package/src/db.ts +6 -1
- package/src/query.ts +2 -1
- package/src/queryMethods/insert.test.ts +78 -92
- package/src/queryMethods/insert.ts +6 -6
- package/src/queryMethods/queryMethods.test.ts +1 -1
- package/src/queryMethods/select.test.ts +2 -0
- package/src/queryMethods/update.test.ts +8 -9
- package/src/queryMethods/upsert.ts +1 -1
- package/src/queryMethods/where.test.ts +45 -45
- package/src/relations.ts +1 -1
- package/src/test-utils.ts +4 -31
package/dist/index.d.ts
CHANGED
|
@@ -233,7 +233,7 @@ declare class WhereQueryBuilder<Q extends QueryBase = QueryBase> extends Where i
|
|
|
233
233
|
declare type OptionalKeys<T extends Query> = {
|
|
234
234
|
[K in keyof T['shape']]: T['shape'][K]['isPrimaryKey'] extends true ? K : T['shape'][K]['isNullable'] extends true ? K : never;
|
|
235
235
|
}[keyof T['shape']];
|
|
236
|
-
declare type InsertData<T extends Query, DefaultKeys extends
|
|
236
|
+
declare type InsertData<T extends Query, DefaultKeys extends PropertyKey = keyof T[defaultsKey], Data = SetOptional<SetOptional<T['inputType'], OptionalKeys<T>>, DefaultKeys>> = [keyof T['relations']] extends [never] ? Data : Omit<Data, {
|
|
237
237
|
[K in keyof T['relations']]: T['relations'][K] extends BelongsToRelation ? T['relations'][K]['options']['foreignKey'] : never;
|
|
238
238
|
}[keyof T['relations']]> & {
|
|
239
239
|
[Key in keyof T['relations']]: T['relations'][Key] extends BelongsToRelation ? SetOptional<{
|
|
@@ -284,10 +284,10 @@ declare class Insert {
|
|
|
284
284
|
values: RawExpression;
|
|
285
285
|
}): SetQueryReturnsAll<T>;
|
|
286
286
|
defaults<T extends Query, Data extends Partial<InsertData<T>>>(this: T, data: Data): T & {
|
|
287
|
-
[defaultsKey]: keyof Data
|
|
287
|
+
[defaultsKey]: Record<keyof Data, true>;
|
|
288
288
|
};
|
|
289
289
|
_defaults<T extends Query, Data extends Partial<InsertData<T>>>(this: T, data: Data): T & {
|
|
290
|
-
[defaultsKey]: keyof Data
|
|
290
|
+
[defaultsKey]: Record<keyof Data, true>;
|
|
291
291
|
};
|
|
292
292
|
onConflict<T extends Query, Arg extends OnConflictArg<T>>(this: T, arg?: Arg): OnConflictQueryBuilder<T, Arg>;
|
|
293
293
|
_onConflict<T extends Query, Arg extends OnConflictArg<T> | undefined = undefined>(this: T, arg?: Arg): OnConflictQueryBuilder<T, Arg>;
|
|
@@ -496,7 +496,7 @@ declare type RelationQuery<RelationName extends PropertyKey = string, Params ext
|
|
|
496
496
|
[isRequiredRelationKey]: Required;
|
|
497
497
|
[relationQueryKey]: string;
|
|
498
498
|
}> = ((params: Params) => Q & {
|
|
499
|
-
[defaultsKey]:
|
|
499
|
+
[defaultsKey]: Record<Populate, true>;
|
|
500
500
|
}) & Q;
|
|
501
501
|
|
|
502
502
|
interface QueryResultRow {
|
|
@@ -1202,7 +1202,9 @@ interface Db<Table extends string | undefined = undefined, Shape extends Columns
|
|
|
1202
1202
|
withData: Query['withData'];
|
|
1203
1203
|
joinedTables: Query['joinedTables'];
|
|
1204
1204
|
relations: Relations;
|
|
1205
|
-
[defaultsKey]:
|
|
1205
|
+
[defaultsKey]: Record<{
|
|
1206
|
+
[K in keyof Shape]: Shape[K]['hasDefault'] extends true ? K : never;
|
|
1207
|
+
}[keyof Shape], true>;
|
|
1206
1208
|
}
|
|
1207
1209
|
declare class Db<Table extends string | undefined = undefined, Shape extends ColumnsShape = Record<string, never>, Relations extends Query['relations'] = Query['relations']> implements Query {
|
|
1208
1210
|
adapter: Adapter;
|
|
@@ -1305,8 +1307,12 @@ declare const createDb: <CT extends ColumnTypesBase = {
|
|
|
1305
1307
|
timestamps<T_14 extends ColumnType<unknown, Operators, unknown>>(this: {
|
|
1306
1308
|
timestamp(): T_14;
|
|
1307
1309
|
}): {
|
|
1308
|
-
createdAt: T_14
|
|
1309
|
-
|
|
1310
|
+
createdAt: T_14 & {
|
|
1311
|
+
hasDefault: true;
|
|
1312
|
+
};
|
|
1313
|
+
updatedAt: T_14 & {
|
|
1314
|
+
hasDefault: true;
|
|
1315
|
+
};
|
|
1310
1316
|
};
|
|
1311
1317
|
primaryKey(columns: string[], options?: {
|
|
1312
1318
|
name?: string | undefined;
|
|
@@ -1530,7 +1536,7 @@ declare type Query = QueryMethods & {
|
|
|
1530
1536
|
columnsParsers?: ColumnsParsers;
|
|
1531
1537
|
relations: RelationsBase;
|
|
1532
1538
|
withData: WithDataBase;
|
|
1533
|
-
[defaultsKey]
|
|
1539
|
+
[defaultsKey]: {};
|
|
1534
1540
|
};
|
|
1535
1541
|
declare type Selectable<T extends QueryBase> = StringKey<keyof T['selectable']>;
|
|
1536
1542
|
declare type QueryWithTable = Query & {
|
|
@@ -2286,6 +2292,7 @@ declare abstract class ColumnType<Type = unknown, Ops extends Operators = Operat
|
|
|
2286
2292
|
isPrimaryKey: boolean;
|
|
2287
2293
|
isHidden: boolean;
|
|
2288
2294
|
isNullable: boolean;
|
|
2295
|
+
hasDefault: boolean;
|
|
2289
2296
|
encodeFn?: (input: any) => unknown;
|
|
2290
2297
|
parseFn?: (input: unknown) => unknown;
|
|
2291
2298
|
parseItem?: (input: string) => unknown;
|
|
@@ -2310,7 +2317,9 @@ declare abstract class ColumnType<Type = unknown, Ops extends Operators = Operat
|
|
|
2310
2317
|
type: Output;
|
|
2311
2318
|
};
|
|
2312
2319
|
toSQL(): string;
|
|
2313
|
-
default<T extends ColumnType>(this: T, value: T['type'] | RawExpression): T
|
|
2320
|
+
default<T extends ColumnType>(this: T, value: T['type'] | RawExpression): T & {
|
|
2321
|
+
hasDefault: true;
|
|
2322
|
+
};
|
|
2314
2323
|
index<T extends ColumnType>(this: T, options?: Omit<SingleColumnIndexOptions, 'column'>): any;
|
|
2315
2324
|
unique<T extends ColumnType>(this: T, options?: Omit<SingleColumnIndexOptions, 'column' | 'unique'>): T;
|
|
2316
2325
|
comment<T extends ColumnType>(this: T, comment: string): T;
|
|
@@ -4248,8 +4257,12 @@ declare const columnTypes: {
|
|
|
4248
4257
|
timestamps<T_1 extends ColumnType<unknown, Operators, unknown>>(this: {
|
|
4249
4258
|
timestamp(): T_1;
|
|
4250
4259
|
}): {
|
|
4251
|
-
createdAt: T_1
|
|
4252
|
-
|
|
4260
|
+
createdAt: T_1 & {
|
|
4261
|
+
hasDefault: true;
|
|
4262
|
+
};
|
|
4263
|
+
updatedAt: T_1 & {
|
|
4264
|
+
hasDefault: true;
|
|
4265
|
+
};
|
|
4253
4266
|
};
|
|
4254
4267
|
primaryKey(columns: string[], options?: {
|
|
4255
4268
|
name?: string;
|