@ignisia/sql 0.3.0 → 0.4.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.
Files changed (108) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/column/index.js +2 -9
  3. package/dist/cjs/database/alter.d.cts +2 -2
  4. package/dist/cjs/database/column.d.cts +2 -2
  5. package/dist/cjs/database/contract.d.cts +2 -2
  6. package/dist/cjs/database/index.d.cts +2 -2
  7. package/dist/cjs/database/index.js +1 -1
  8. package/dist/cjs/database/table.d.cts +2 -2
  9. package/dist/cjs/database/types.d.cts +1 -1
  10. package/dist/cjs/database/wrapper.d.cts +3 -3
  11. package/dist/cjs/database/wrapper.js +1 -17
  12. package/dist/cjs/{index-2jl8MRfX.d.cts → index-BjgeY76W.d.cts} +2 -2
  13. package/dist/cjs/{index-CnQVnCEI.d.cts → index-K07efKgt.d.cts} +194 -86
  14. package/dist/cjs/index.d.cts +2 -2
  15. package/dist/cjs/migration/index.d.cts +2 -2
  16. package/dist/cjs/migration/type.d.cts +2 -2
  17. package/dist/cjs/query/ast.d.cts +8 -0
  18. package/dist/cjs/query/ast.js +2 -0
  19. package/dist/cjs/query/builder.d.cts +5 -5
  20. package/dist/cjs/query/builder.js +8 -10
  21. package/dist/cjs/query/compiler.d.cts +13 -0
  22. package/dist/cjs/query/compiler.js +114 -0
  23. package/dist/cjs/query/condition/common.d.cts +46 -0
  24. package/dist/cjs/query/condition/common.js +50 -0
  25. package/dist/cjs/query/condition/core.d.cts +8 -0
  26. package/dist/cjs/query/condition/core.js +91 -0
  27. package/dist/cjs/query/condition/index.d.cts +10 -0
  28. package/dist/cjs/query/condition/index.js +26 -0
  29. package/dist/cjs/query/condition/not.d.cts +46 -0
  30. package/dist/cjs/query/condition/not.js +51 -0
  31. package/dist/cjs/query/constants.d.cts +31 -6
  32. package/dist/cjs/query/constants.js +30 -5
  33. package/dist/cjs/query/contract.d.cts +2 -2
  34. package/dist/cjs/query/explain.d.cts +12 -0
  35. package/dist/cjs/query/explain.js +65 -0
  36. package/dist/cjs/query/helper.d.cts +3 -3
  37. package/dist/cjs/query/helper.js +1 -5
  38. package/dist/cjs/query/index.d.cts +4 -4
  39. package/dist/cjs/query/index.js +57 -72
  40. package/dist/cjs/query/join.d.cts +19 -7
  41. package/dist/cjs/query/join.js +46 -9
  42. package/dist/cjs/query/sql.d.cts +6 -4
  43. package/dist/cjs/query/sql.js +64 -25
  44. package/dist/cjs/query/types.d.cts +2 -2
  45. package/dist/cjs/query/utilities.d.cts +7 -8
  46. package/dist/cjs/query/utilities.js +21 -66
  47. package/dist/cjs/table/index.d.cts +3 -3
  48. package/dist/cjs/table/types.d.cts +2 -2
  49. package/dist/cjs/table/utilities.d.cts +2 -2
  50. package/dist/cjs/types.d.cts +5 -1
  51. package/dist/cjs/utilities.d.cts +2 -1
  52. package/dist/cjs/utilities.js +22 -0
  53. package/dist/esm/column/index.js +3 -10
  54. package/dist/esm/database/alter.d.ts +2 -2
  55. package/dist/esm/database/column.d.ts +2 -2
  56. package/dist/esm/database/contract.d.ts +2 -2
  57. package/dist/esm/database/index.d.ts +2 -2
  58. package/dist/esm/database/index.js +2 -2
  59. package/dist/esm/database/table.d.ts +2 -2
  60. package/dist/esm/database/types.d.ts +1 -1
  61. package/dist/esm/database/wrapper.d.ts +3 -3
  62. package/dist/esm/database/wrapper.js +1 -17
  63. package/dist/esm/{index-BXOAxB_h.d.ts → index-B4y4GiNB.d.ts} +2 -2
  64. package/dist/esm/{index-BdpoD4zk.d.ts → index-CARBkj9h.d.ts} +194 -86
  65. package/dist/esm/index.d.ts +2 -2
  66. package/dist/esm/migration/index.d.ts +2 -2
  67. package/dist/esm/migration/type.d.ts +2 -2
  68. package/dist/esm/query/ast.d.ts +8 -0
  69. package/dist/esm/query/ast.js +1 -0
  70. package/dist/esm/query/builder.d.ts +5 -5
  71. package/dist/esm/query/builder.js +8 -10
  72. package/dist/esm/query/compiler.d.ts +13 -0
  73. package/dist/esm/query/compiler.js +112 -0
  74. package/dist/esm/query/condition/common.d.ts +46 -0
  75. package/dist/esm/query/condition/common.js +45 -0
  76. package/dist/esm/query/condition/core.d.ts +8 -0
  77. package/dist/esm/query/condition/core.js +89 -0
  78. package/dist/esm/query/condition/index.d.ts +10 -0
  79. package/dist/esm/query/condition/index.js +3 -0
  80. package/dist/esm/query/condition/not.d.ts +46 -0
  81. package/dist/esm/query/condition/not.js +46 -0
  82. package/dist/esm/query/constants.d.ts +31 -6
  83. package/dist/esm/query/constants.js +28 -6
  84. package/dist/esm/query/contract.d.ts +2 -2
  85. package/dist/esm/query/explain.d.ts +12 -0
  86. package/dist/esm/query/explain.js +64 -0
  87. package/dist/esm/query/helper.d.ts +3 -3
  88. package/dist/esm/query/helper.js +3 -6
  89. package/dist/esm/query/index.d.ts +4 -4
  90. package/dist/esm/query/index.js +60 -75
  91. package/dist/esm/query/join.d.ts +19 -7
  92. package/dist/esm/query/join.js +45 -9
  93. package/dist/esm/query/sql.d.ts +6 -4
  94. package/dist/esm/query/sql.js +64 -27
  95. package/dist/esm/query/types.d.ts +2 -2
  96. package/dist/esm/query/utilities.d.ts +7 -8
  97. package/dist/esm/query/utilities.js +22 -66
  98. package/dist/esm/table/index.d.ts +3 -3
  99. package/dist/esm/table/types.d.ts +2 -2
  100. package/dist/esm/table/utilities.d.ts +2 -2
  101. package/dist/esm/types.d.ts +5 -1
  102. package/dist/esm/utilities.d.ts +2 -1
  103. package/dist/esm/utilities.js +22 -1
  104. package/package.json +11 -5
  105. package/dist/cjs/query/condition.d.cts +0 -8
  106. package/dist/cjs/query/condition.js +0 -109
  107. package/dist/esm/query/condition.d.ts +0 -8
  108. package/dist/esm/query/condition.js +0 -101
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  require('.');
4
- var constants$1 = require('../table/constants');
5
4
  var utilities = require('../utilities');
6
5
  var constants = require('./constants');
7
6
 
@@ -15,50 +14,6 @@ function getTableColumnNames(column, baseAlias, baseTable, joinedTables) {
15
14
  columns
16
15
  };
17
16
  }
18
- function getCondition(dialect, column, operator, value) {
19
- switch (operator) {
20
- case constants.AcceptedOperator.EQ:
21
- return `${column} = ?`;
22
- case constants.AcceptedOperator.NE:
23
- return `${column} != ?`;
24
- case constants.AcceptedOperator.GT:
25
- return `${column} > ?`;
26
- case constants.AcceptedOperator.LT:
27
- return `${column} < ?`;
28
- case constants.AcceptedOperator.GTE:
29
- return `${column} >= ?`;
30
- case constants.AcceptedOperator.LTE:
31
- return `${column} <= ?`;
32
- case constants.AcceptedOperator.IN:
33
- return `${column} IN (${value.map(() => "?").join(", ")})`;
34
- case constants.AcceptedOperator.NOT_IN:
35
- return `${column} NOT IN (${value.map(() => "?").join(", ")})`;
36
- case constants.AcceptedOperator.LIKE:
37
- return `${column} LIKE ?`;
38
- case constants.AcceptedOperator.NOT_LIKE:
39
- return `${column} NOT LIKE ?`;
40
- case constants.AcceptedOperator.ILIKE:
41
- if (dialect === constants$1.Dialect.POSTGRES) {
42
- return `${column} ILIKE ?`;
43
- }
44
- return `LOWER(${column}) LIKE LOWER(?)`;
45
- case constants.AcceptedOperator.NOT_ILIKE:
46
- if (dialect === constants$1.Dialect.POSTGRES) {
47
- return `${column} NOT ILIKE ?`;
48
- }
49
- return `LOWER(${column}) NOT LIKE LOWER(?)`;
50
- case constants.AcceptedOperator.IS_NULL:
51
- return `${column} IS NULL`;
52
- case constants.AcceptedOperator.IS_NOT_NULL:
53
- return `${column} IS NOT NULL`;
54
- case constants.AcceptedOperator.BETWEEN:
55
- return `${column} BETWEEN ? AND ?`;
56
- case constants.AcceptedOperator.NOT_BETWEEN:
57
- return `${column} NOT BETWEEN ? AND ?`;
58
- default:
59
- throw new Error("Invalid operator");
60
- }
61
- }
62
17
  function getTimestamp(table) {
63
18
  const isWithTimestamp = !!table.timestamp;
64
19
  const timestamp = /* @__PURE__ */ new Date();
@@ -72,13 +27,13 @@ function getTimestamp(table) {
72
27
  if (typeof table.timestamp.createdAt === "string") {
73
28
  createdAt = table.timestamp.createdAt;
74
29
  }
75
- isHasCreatedAt = table.timestamp.createdAt === false;
30
+ isHasCreatedAt = table.timestamp.createdAt !== false;
76
31
  }
77
32
  if (isCustomTimestamp) {
78
33
  if (typeof table.timestamp.updatedAt === "string") {
79
34
  updatedAt = table.timestamp.updatedAt;
80
35
  }
81
- isHasUpdatedAt = table.timestamp.updatedAt === false;
36
+ isHasUpdatedAt = table.timestamp.updatedAt !== false;
82
37
  }
83
38
  }
84
39
  return {
@@ -105,23 +60,6 @@ function getParanoid(table) {
105
60
  deletedAt
106
61
  };
107
62
  }
108
- function getWhereConditions(q) {
109
- if (q.definition.queryType === constants.QueryType.INSERT) return [];
110
- const conditions = [];
111
- const base = q.definition.baseAlias ?? q.table.name;
112
- const { isWithParanoid, deletedAt } = getParanoid(q.table);
113
- const withDeleted = !!q.definition.withDeleted;
114
- const isHasConditions = !!q.definition.where?.length;
115
- if (!withDeleted && isWithParanoid) {
116
- const suffix = isHasConditions ? " AND" : "";
117
- const column = `${base}.${utilities.quoteIdentifier(deletedAt)}`;
118
- conditions.unshift(`${column} IS NULL${suffix}`);
119
- }
120
- if (q.definition.where?.length) {
121
- conditions.push(...q.definition.where);
122
- }
123
- return conditions;
124
- }
125
63
  function getGroupByConditions(q) {
126
64
  if (q.definition.queryType !== constants.QueryType.SELECT) return [];
127
65
  if (q.definition.groupBy?.length) return q.definition.groupBy;
@@ -183,12 +121,29 @@ function parseAliasedRow({
183
121
  }
184
122
  return result;
185
123
  }
124
+ function sanitizeParams(params) {
125
+ return params.map((param) => {
126
+ if (param === null || typeof param === "string" || typeof param === "number" || typeof param === "boolean" || typeof param === "bigint") {
127
+ return param;
128
+ }
129
+ if (param === void 0) {
130
+ return null;
131
+ }
132
+ if (param instanceof Date) {
133
+ return param.toISOString();
134
+ }
135
+ try {
136
+ return JSON.stringify(param);
137
+ } catch {
138
+ return null;
139
+ }
140
+ });
141
+ }
186
142
 
187
- exports.getCondition = getCondition;
188
143
  exports.getGroupByConditions = getGroupByConditions;
189
144
  exports.getParanoid = getParanoid;
190
145
  exports.getTableColumnNames = getTableColumnNames;
191
146
  exports.getTableSelectName = getTableSelectName;
192
147
  exports.getTimestamp = getTimestamp;
193
- exports.getWhereConditions = getWhereConditions;
194
148
  exports.parseAliasedRow = parseAliasedRow;
149
+ exports.sanitizeParams = sanitizeParams;
@@ -1,8 +1,8 @@
1
- export { T as Table } from '../index-CnQVnCEI.cjs';
1
+ export { T as Table } from '../index-K07efKgt.cjs';
2
2
  import '../column/index.cjs';
3
3
  import './constants.cjs';
4
- import '../column/constants.cjs';
4
+ import 'bun';
5
5
  import '../types.cjs';
6
6
  import '../query/constants.cjs';
7
- import 'bun';
7
+ import '../column/constants.cjs';
8
8
  import '../column/types.cjs';
@@ -1,8 +1,8 @@
1
1
  import 'bun';
2
- export { E as ExecOptions, M as MergeTimestampParanoid, x as TableOptions, y as TableOutput, a as TimestampOptions } from '../index-CnQVnCEI.cjs';
2
+ export { K as ExecOptions, M as MergeTimestampParanoid, H as TableOptions, I as TableOutput, h as TimestampOptions } from '../index-K07efKgt.cjs';
3
3
  import '../column/index.cjs';
4
4
  import './constants.cjs';
5
- import '../column/constants.cjs';
6
5
  import '../types.cjs';
7
6
  import '../query/constants.cjs';
7
+ import '../column/constants.cjs';
8
8
  import '../column/types.cjs';
@@ -1,8 +1,8 @@
1
1
  import '../column/constants.cjs';
2
2
  import '../column/index.cjs';
3
3
  import './constants.cjs';
4
- export { t as createdAt, w as defineColumns, v as deletedAt, u as updatedAt } from '../index-CnQVnCEI.cjs';
4
+ export { y as createdAt, F as defineColumns, B as deletedAt, z as updatedAt } from '../index-K07efKgt.cjs';
5
5
  import '../column/types.cjs';
6
+ import 'bun';
6
7
  import '../types.cjs';
7
8
  import '../query/constants.cjs';
8
- import 'bun';
@@ -1,3 +1,7 @@
1
1
  type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
2
+ type BuildTuple<N extends number, T extends unknown[] = []> = T['length'] extends N ? T : BuildTuple<N, [...T, unknown]>;
3
+ type Add<A extends number, B extends number, Result extends unknown[] = [...BuildTuple<A>, ...BuildTuple<B>]> = Result['length'] extends number ? Result['length'] : never;
4
+ type Subtract<A extends number, B extends number> = BuildTuple<A> extends [...BuildTuple<B>, ...infer Rest] ? Rest['length'] : never;
5
+ type Multiply<A extends number, B extends number, Result extends unknown[] = []> = B extends 0 ? Result['length'] : Multiply<A, Subtract<B, 1>, [...Result, ...BuildTuple<A>]>;
2
6
 
3
- export type { UnionToIntersection };
7
+ export type { Add, BuildTuple, Multiply, Subtract, UnionToIntersection };
@@ -1,4 +1,5 @@
1
1
  declare function deepClone<T>(obj: T): T;
2
+ declare function cloneDefinition<T extends Record<string, unknown>>(def: T): T;
2
3
  declare function quoteIdentifier<T extends string, U extends `"${T}"`>(identifier: T): U;
3
4
 
4
- export { deepClone, quoteIdentifier };
5
+ export { cloneDefinition, deepClone, quoteIdentifier };
@@ -13,9 +13,31 @@ function deepClone(obj) {
13
13
  }
14
14
  return obj;
15
15
  }
16
+ function cloneArray(arr) {
17
+ if (arr.length === 0) return [];
18
+ if (typeof arr[0] === "object" && arr[0] !== null) {
19
+ return arr.map((item) => ({ ...item }));
20
+ }
21
+ return arr.slice();
22
+ }
23
+ function cloneDefinition(def) {
24
+ const clone = {};
25
+ for (const key in def) {
26
+ const val = def[key];
27
+ if (val === null || typeof val !== "object") {
28
+ clone[key] = val;
29
+ } else if (Array.isArray(val)) {
30
+ clone[key] = cloneArray(val);
31
+ } else {
32
+ clone[key] = { ...val };
33
+ }
34
+ }
35
+ return clone;
36
+ }
16
37
  function quoteIdentifier(identifier) {
17
38
  return `"${identifier.replace(/"/g, '""')}"`;
18
39
  }
19
40
 
41
+ exports.cloneDefinition = cloneDefinition;
20
42
  exports.deepClone = deepClone;
21
43
  exports.quoteIdentifier = quoteIdentifier;
@@ -1,5 +1,5 @@
1
1
  import { Dialect } from '../table/constants.js';
2
- import { deepClone } from '../utilities.js';
2
+ import { cloneDefinition } from '../utilities.js';
3
3
  import { ColumnTypeMapping, AcceptedColumnTypes } from './constants.js';
4
4
  import { columnProperty } from './utils.js';
5
5
 
@@ -20,14 +20,7 @@ var Column = class _Column {
20
20
  if ("values" in options) {
21
21
  this.enums = options.values;
22
22
  }
23
- this.definition = {
24
- autoIncrement: false,
25
- primaryKey: false,
26
- notNull: false,
27
- unique: false,
28
- comment: null,
29
- default: void 0
30
- };
23
+ this.definition = {};
31
24
  }
32
25
  static define(options) {
33
26
  return new _Column(options);
@@ -66,7 +59,7 @@ var Column = class _Column {
66
59
  ...this.length && { length: this.length },
67
60
  ...this.enums.length && { values: this.enums }
68
61
  });
69
- Object.assign(column.definition, deepClone(this.definition));
62
+ Object.assign(column.definition, cloneDefinition(this.definition));
70
63
  return column;
71
64
  }
72
65
  toQuery() {
@@ -1,7 +1,7 @@
1
- import { D as Database } from '../index-BXOAxB_h.js';
1
+ import { D as Database } from '../index-B4y4GiNB.js';
2
2
  import { Column } from '../column/index.js';
3
3
  import { AcceptedColumnTypes } from '../column/constants.js';
4
- import { T as Table, D as DatabaseDefinition } from '../index-BdpoD4zk.js';
4
+ import { T as Table, D as DatabaseDefinition } from '../index-CARBkj9h.js';
5
5
  import { Dialect } from '../table/constants.js';
6
6
  import 'bun';
7
7
  import '../query/constants.js';
@@ -1,6 +1,6 @@
1
- import { D as Database } from '../index-BXOAxB_h.js';
1
+ import { D as Database } from '../index-B4y4GiNB.js';
2
2
  import { Column } from '../column/index.js';
3
- import { T as Table, D as DatabaseDefinition } from '../index-BdpoD4zk.js';
3
+ import { T as Table, D as DatabaseDefinition } from '../index-CARBkj9h.js';
4
4
  import { Dialect } from '../table/constants.js';
5
5
  import 'bun';
6
6
  import '../query/constants.js';
@@ -1,7 +1,7 @@
1
- export { C as ColumnAlterationContract, T as TableAlterationContract } from '../index-BXOAxB_h.js';
1
+ export { C as ColumnAlterationContract, T as TableAlterationContract } from '../index-B4y4GiNB.js';
2
2
  import '../column/index.js';
3
3
  import '../column/constants.js';
4
- import '../index-BdpoD4zk.js';
4
+ import '../index-CARBkj9h.js';
5
5
  import '../table/constants.js';
6
6
  import 'bun';
7
7
  import '../query/constants.js';
@@ -1,9 +1,9 @@
1
1
  import 'bun';
2
2
  import '../column/index.js';
3
- import '../index-BdpoD4zk.js';
3
+ import '../index-CARBkj9h.js';
4
4
  import '../query/constants.js';
5
5
  import '../table/constants.js';
6
- export { D as Database } from '../index-BXOAxB_h.js';
6
+ export { D as Database } from '../index-B4y4GiNB.js';
7
7
  import '../column/constants.js';
8
8
  import '../column/types.js';
9
9
  import '../types.js';
@@ -1,6 +1,6 @@
1
1
  import '../table/index.js';
2
2
  import { Dialect } from '../table/constants.js';
3
- import { alterColumnType, setColumnDefault, dropColumnDefault, dropColumnNotNull } from './alter.js';
3
+ import { alterColumnType, setColumnDefault, dropColumnDefault, setColumnNotNull, dropColumnNotNull } from './alter.js';
4
4
  import { addColumn, renameColumn, dropColumn } from './column.js';
5
5
  import { createTable, renameTable, dropTable } from './table.js';
6
6
  import { DatabaseMysql, DatabasePsql, DatabaseSqlite } from './wrapper.js';
@@ -53,7 +53,7 @@ var Database = class _Database {
53
53
  this.dropColumnDefault = dropColumnDefault.bind(
54
54
  this
55
55
  );
56
- this.setColumnNotNull = setColumnDefault.bind(
56
+ this.setColumnNotNull = setColumnNotNull.bind(
57
57
  this
58
58
  );
59
59
  this.dropColumnNotNull = dropColumnNotNull.bind(
@@ -1,6 +1,6 @@
1
- import { D as Database } from '../index-BXOAxB_h.js';
1
+ import { D as Database } from '../index-B4y4GiNB.js';
2
2
  import { Column } from '../column/index.js';
3
- import { T as Table, D as DatabaseDefinition, a as TimestampOptions, M as MergeTimestampParanoid } from '../index-BdpoD4zk.js';
3
+ import { T as Table, D as DatabaseDefinition, c as TimestampOptions, M as MergeTimestampParanoid } from '../index-CARBkj9h.js';
4
4
  import { Dialect } from '../table/constants.js';
5
5
  import 'bun';
6
6
  import '../query/constants.js';
@@ -1,6 +1,6 @@
1
1
  import 'bun';
2
2
  import '../column/index.js';
3
- export { D as DatabaseDefinition, b as DatabaseDialect, c as DatabaseExecOptions, i as DatabaseOptions, s as MysqlConfig, P as PostgresConfig, r as SqlConfig, S as SqlConfigMapping, d as SqliteConfig } from '../index-BdpoD4zk.js';
3
+ export { D as DatabaseDefinition, d as DatabaseDialect, e as DatabaseExecOptions, o as DatabaseOptions, f as MysqlConfig, P as PostgresConfig, x as SqlConfig, S as SqlConfigMapping, g as SqliteConfig } from '../index-CARBkj9h.js';
4
4
  import '../table/constants.js';
5
5
  import '../column/constants.js';
6
6
  import '../column/types.js';
@@ -1,6 +1,6 @@
1
1
  import { SQL, TransactionSQL } from 'bun';
2
2
  import { Dialect } from '../table/constants.js';
3
- import { S as SqlConfigMapping, b as DatabaseDialect, c as DatabaseExecOptions, P as PostgresConfig, d as SqliteConfig } from '../index-BdpoD4zk.js';
3
+ import { S as SqlConfigMapping, d as DatabaseDialect, e as DatabaseExecOptions, P as PostgresConfig, f as MysqlConfig, g as SqliteConfig } from '../index-CARBkj9h.js';
4
4
  import '../column/index.js';
5
5
  import '../column/constants.js';
6
6
  import '../column/types.js';
@@ -22,8 +22,8 @@ declare class BaseSql<DbDialect extends Dialect, Options extends SqlConfigMappin
22
22
  declare class DatabasePsql extends BaseSql<typeof Dialect.POSTGRES, PostgresConfig> {
23
23
  constructor(options: PostgresConfig);
24
24
  }
25
- declare class DatabaseMysql extends BaseSql<typeof Dialect.MYSQL, PostgresConfig> {
26
- constructor(options: PostgresConfig);
25
+ declare class DatabaseMysql extends BaseSql<typeof Dialect.MYSQL, MysqlConfig> {
26
+ constructor(options: MysqlConfig);
27
27
  }
28
28
  declare class DatabaseSqlite extends BaseSql<typeof Dialect.SQLITE, SqliteConfig> {
29
29
  constructor(options: SqliteConfig);
@@ -39,23 +39,7 @@ var BaseSql = class {
39
39
  if (!options.params) {
40
40
  return client.unsafe(options.sql);
41
41
  }
42
- const params = (options.params ?? []).map((param) => {
43
- if (param === null || typeof param === "string" || typeof param === "number" || typeof param === "boolean" || typeof param === "bigint") {
44
- return param;
45
- }
46
- if (param === void 0) {
47
- return null;
48
- }
49
- if (param instanceof Date) {
50
- return param.toISOString();
51
- }
52
- try {
53
- return JSON.stringify(param);
54
- } catch {
55
- return null;
56
- }
57
- });
58
- return client.unsafe(options.sql, params);
42
+ return client.unsafe(options.sql, options.params);
59
43
  }
60
44
  async transaction(fn) {
61
45
  return this.client.transaction(fn);
@@ -1,6 +1,6 @@
1
1
  import { TransactionSQL } from 'bun';
2
2
  import { Column } from './column/index.js';
3
- import { T as Table, D as DatabaseDefinition, a as TimestampOptions, M as MergeTimestampParanoid, h as QuerHooks, b as DatabaseDialect, i as DatabaseOptions, f as QueryBuilder, j as QueryRunHooks } from './index-BdpoD4zk.js';
3
+ import { T as Table, D as DatabaseDefinition, c as TimestampOptions, M as MergeTimestampParanoid, n as QueryHooks, d as DatabaseDialect, o as DatabaseOptions, i as QueryBuilder, p as QueryRunHooks } from './index-CARBkj9h.js';
4
4
  import { QueryHooksType } from './query/constants.js';
5
5
  import { Dialect } from './table/constants.js';
6
6
  import { AcceptedColumnTypes } from './column/constants.js';
@@ -77,7 +77,7 @@ interface ColumnAlterationContract<DbDialect extends Dialect, Tables extends Rec
77
77
  }
78
78
 
79
79
  declare class Database<DbDialect extends Dialect, Tables extends Record<string, Table<string, Record<string, Column>>>, Definition extends Partial<DatabaseDefinition<DbDialect>> = DatabaseDefinition<DbDialect>> {
80
- readonly hooks: Partial<QuerHooks>;
80
+ readonly hooks: Partial<QueryHooks>;
81
81
  readonly dialect: DbDialect;
82
82
  readonly defintion: Definition;
83
83
  readonly tables: Tables;