pqb 0.2.0 → 0.2.2

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 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 string = T[defaultsKey] extends string ? T[defaultsKey] : never, Data = SetOptional<SetOptional<T['inputType'], OptionalKeys<T>>, DefaultKeys>> = [keyof T['relations']] extends [never] ? Data : Omit<Data, {
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]: Pick<T['type'], Populate>;
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]: Query[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
- updatedAt: T_14;
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]?: string;
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,8 +2317,10 @@ 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;
2314
- index<T extends ColumnType>(this: T, options?: Omit<SingleColumnIndexOptions, 'column'>): any;
2320
+ default<T extends ColumnType>(this: T, value: T['type'] | RawExpression): T & {
2321
+ hasDefault: true;
2322
+ };
2323
+ index<T extends ColumnType>(this: T, options?: Omit<SingleColumnIndexOptions, 'column'>): T;
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;
2317
2326
  validationDefault<T extends ColumnType>(this: T, value: T['type']): 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
- updatedAt: T_1;
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;
package/dist/index.esm.js CHANGED
@@ -25,6 +25,7 @@ class ColumnType {
25
25
  this.isPrimaryKey = false;
26
26
  this.isHidden = false;
27
27
  this.isNullable = false;
28
+ this.hasDefault = false;
28
29
  this.chain = [];
29
30
  }
30
31
  primaryKey() {