bun-query-builder 0.2.39 → 0.2.40

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/bin/cli.js CHANGED
@@ -32354,7 +32354,7 @@ function getPrefix() {
32354
32354
  }
32355
32355
  var prefix = getPrefix();
32356
32356
  // package.json
32357
- var version2 = "0.2.39";
32357
+ var version2 = "0.2.40";
32358
32358
 
32359
32359
  // bin/cli.ts
32360
32360
  init_actions();
package/dist/orm.d.ts CHANGED
@@ -199,6 +199,11 @@ declare interface StaticWhereOverloads<TDef extends ModelDefinition> {
199
199
  column: K,
200
200
  value: K extends keyof ModelAttributes<TDef> ? ModelAttributes<TDef>[K] : unknown
201
201
  ): ModelQueryBuilder<TDef>
202
+ where<K extends ColumnName<TDef>>(
203
+ column: K,
204
+ operator: 'in' | 'not in',
205
+ value: ReadonlyArray<K extends keyof ModelAttributes<TDef> ? ModelAttributes<TDef>[K] : unknown>
206
+ ): ModelQueryBuilder<TDef>
202
207
  where<K extends ColumnName<TDef>>(
203
208
  column: K,
204
209
  operator: WhereOperator,
@@ -357,8 +362,21 @@ declare type FillableKeys<TDef extends ModelDefinition> = {
357
362
  * from `attributes`, so without this every such create was a type error
358
363
  * against the one column the relation exists to set.
359
364
  */
365
+ /**
366
+ * What `create` / `update` accept.
367
+ *
368
+ * `null` is allowed alongside each column's own type because a write is how a
369
+ * nullable column gets CLEARED, and that is a different instruction from
370
+ * leaving the field out. Without it, a caller assembling an update payload -
371
+ * `{ subject: form.subject ?? null }` is the ordinary shape - had to choose
372
+ * between a type error and `undefined`, and `undefined` silently means "do not
373
+ * touch this column", so the field the user cleared stayed as it was.
374
+ *
375
+ * The database's own nullability is still the authority: writing null to a NOT
376
+ * NULL column fails there, as it should.
377
+ */
360
378
  declare type FillableAttributes<TDef extends ModelDefinition> = Partial<Pick<
361
- ModelAttributes<TDef>,
379
+ { [K in keyof ModelAttributes<TDef>]: ModelAttributes<TDef>[K] | null },
362
380
  FillableKeys<TDef> | SnakeCase<FillableKeys<TDef>> | BelongsToKeys<TDef>
363
381
  >>;
364
382
  // Numeric attribute columns - constrains aggregate methods (sum, avg, etc.)
@@ -583,9 +601,11 @@ declare class ModelQueryBuilder<TDef extends ModelDefinition, TSelected extends
583
601
  withTrashed(): ModelQueryBuilder<TDef, TSelected>;
584
602
  onlyTrashed(): ModelQueryBuilder<TDef, TSelected>;
585
603
  where<K extends ColumnName<TDef>>(column: K, value: K extends keyof ModelAttributes<TDef> ? ModelAttributes<TDef>[K] : unknown): ModelQueryBuilder<TDef, TSelected>;
604
+ where<K extends ColumnName<TDef>>(column: K, operator: 'in' | 'not in', value: ReadonlyArray<K extends keyof ModelAttributes<TDef> ? ModelAttributes<TDef>[K] : unknown>): ModelQueryBuilder<TDef, TSelected>;
586
605
  where<K extends ColumnName<TDef>>(column: K, operator: WhereOperator, value: K extends keyof ModelAttributes<TDef> ? ModelAttributes<TDef>[K] : unknown): ModelQueryBuilder<TDef, TSelected>;
587
606
  where<K extends ColumnName<TDef>>(column: K, operatorOrValue: WhereOperator | unknown, value?: unknown): ModelQueryBuilder<TDef, TSelected>;
588
607
  orWhere<K extends ColumnName<TDef>>(column: K, value: K extends keyof ModelAttributes<TDef> ? ModelAttributes<TDef>[K] : unknown): ModelQueryBuilder<TDef, TSelected>;
608
+ orWhere<K extends ColumnName<TDef>>(column: K, operator: 'in' | 'not in', value: ReadonlyArray<K extends keyof ModelAttributes<TDef> ? ModelAttributes<TDef>[K] : unknown>): ModelQueryBuilder<TDef, TSelected>;
589
609
  orWhere<K extends ColumnName<TDef>>(column: K, operator: WhereOperator, value: K extends keyof ModelAttributes<TDef> ? ModelAttributes<TDef>[K] : unknown): ModelQueryBuilder<TDef, TSelected>;
590
610
  orWhere<K extends ColumnName<TDef>>(column: K, operatorOrValue: WhereOperator | unknown, value?: unknown): ModelQueryBuilder<TDef, TSelected>;
591
611
  whereIn<K extends ColumnName<TDef>>(column: K, values: (K extends keyof ModelAttributes<TDef> ? ModelAttributes<TDef>[K] : unknown)[]): ModelQueryBuilder<TDef, TSelected>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bun-query-builder",
3
3
  "type": "module",
4
- "version": "0.2.39",
4
+ "version": "0.2.40",
5
5
  "description": "A simple yet performant query builder for TypeScript. Built with Bun.",
6
6
  "author": "Chris Breuer <chris@stacksjs.org>",
7
7
  "license": "MIT",