@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.
- package/README.md +1 -1
- package/dist/cjs/column/index.js +2 -9
- package/dist/cjs/database/alter.d.cts +2 -2
- package/dist/cjs/database/column.d.cts +2 -2
- package/dist/cjs/database/contract.d.cts +2 -2
- package/dist/cjs/database/index.d.cts +2 -2
- package/dist/cjs/database/index.js +1 -1
- package/dist/cjs/database/table.d.cts +2 -2
- package/dist/cjs/database/types.d.cts +1 -1
- package/dist/cjs/database/wrapper.d.cts +3 -3
- package/dist/cjs/database/wrapper.js +1 -17
- package/dist/cjs/{index-2jl8MRfX.d.cts → index-BjgeY76W.d.cts} +2 -2
- package/dist/cjs/{index-CnQVnCEI.d.cts → index-K07efKgt.d.cts} +194 -86
- package/dist/cjs/index.d.cts +2 -2
- package/dist/cjs/migration/index.d.cts +2 -2
- package/dist/cjs/migration/type.d.cts +2 -2
- package/dist/cjs/query/ast.d.cts +8 -0
- package/dist/cjs/query/ast.js +2 -0
- package/dist/cjs/query/builder.d.cts +5 -5
- package/dist/cjs/query/builder.js +8 -10
- package/dist/cjs/query/compiler.d.cts +13 -0
- package/dist/cjs/query/compiler.js +114 -0
- package/dist/cjs/query/condition/common.d.cts +46 -0
- package/dist/cjs/query/condition/common.js +50 -0
- package/dist/cjs/query/condition/core.d.cts +8 -0
- package/dist/cjs/query/condition/core.js +91 -0
- package/dist/cjs/query/condition/index.d.cts +10 -0
- package/dist/cjs/query/condition/index.js +26 -0
- package/dist/cjs/query/condition/not.d.cts +46 -0
- package/dist/cjs/query/condition/not.js +51 -0
- package/dist/cjs/query/constants.d.cts +31 -6
- package/dist/cjs/query/constants.js +30 -5
- package/dist/cjs/query/contract.d.cts +2 -2
- package/dist/cjs/query/explain.d.cts +12 -0
- package/dist/cjs/query/explain.js +65 -0
- package/dist/cjs/query/helper.d.cts +3 -3
- package/dist/cjs/query/helper.js +1 -5
- package/dist/cjs/query/index.d.cts +4 -4
- package/dist/cjs/query/index.js +57 -72
- package/dist/cjs/query/join.d.cts +19 -7
- package/dist/cjs/query/join.js +46 -9
- package/dist/cjs/query/sql.d.cts +6 -4
- package/dist/cjs/query/sql.js +64 -25
- package/dist/cjs/query/types.d.cts +2 -2
- package/dist/cjs/query/utilities.d.cts +7 -8
- package/dist/cjs/query/utilities.js +21 -66
- package/dist/cjs/table/index.d.cts +3 -3
- package/dist/cjs/table/types.d.cts +2 -2
- package/dist/cjs/table/utilities.d.cts +2 -2
- package/dist/cjs/types.d.cts +5 -1
- package/dist/cjs/utilities.d.cts +2 -1
- package/dist/cjs/utilities.js +22 -0
- package/dist/esm/column/index.js +3 -10
- package/dist/esm/database/alter.d.ts +2 -2
- package/dist/esm/database/column.d.ts +2 -2
- package/dist/esm/database/contract.d.ts +2 -2
- package/dist/esm/database/index.d.ts +2 -2
- package/dist/esm/database/index.js +2 -2
- package/dist/esm/database/table.d.ts +2 -2
- package/dist/esm/database/types.d.ts +1 -1
- package/dist/esm/database/wrapper.d.ts +3 -3
- package/dist/esm/database/wrapper.js +1 -17
- package/dist/esm/{index-BXOAxB_h.d.ts → index-B4y4GiNB.d.ts} +2 -2
- package/dist/esm/{index-BdpoD4zk.d.ts → index-CARBkj9h.d.ts} +194 -86
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/migration/index.d.ts +2 -2
- package/dist/esm/migration/type.d.ts +2 -2
- package/dist/esm/query/ast.d.ts +8 -0
- package/dist/esm/query/ast.js +1 -0
- package/dist/esm/query/builder.d.ts +5 -5
- package/dist/esm/query/builder.js +8 -10
- package/dist/esm/query/compiler.d.ts +13 -0
- package/dist/esm/query/compiler.js +112 -0
- package/dist/esm/query/condition/common.d.ts +46 -0
- package/dist/esm/query/condition/common.js +45 -0
- package/dist/esm/query/condition/core.d.ts +8 -0
- package/dist/esm/query/condition/core.js +89 -0
- package/dist/esm/query/condition/index.d.ts +10 -0
- package/dist/esm/query/condition/index.js +3 -0
- package/dist/esm/query/condition/not.d.ts +46 -0
- package/dist/esm/query/condition/not.js +46 -0
- package/dist/esm/query/constants.d.ts +31 -6
- package/dist/esm/query/constants.js +28 -6
- package/dist/esm/query/contract.d.ts +2 -2
- package/dist/esm/query/explain.d.ts +12 -0
- package/dist/esm/query/explain.js +64 -0
- package/dist/esm/query/helper.d.ts +3 -3
- package/dist/esm/query/helper.js +3 -6
- package/dist/esm/query/index.d.ts +4 -4
- package/dist/esm/query/index.js +60 -75
- package/dist/esm/query/join.d.ts +19 -7
- package/dist/esm/query/join.js +45 -9
- package/dist/esm/query/sql.d.ts +6 -4
- package/dist/esm/query/sql.js +64 -27
- package/dist/esm/query/types.d.ts +2 -2
- package/dist/esm/query/utilities.d.ts +7 -8
- package/dist/esm/query/utilities.js +22 -66
- package/dist/esm/table/index.d.ts +3 -3
- package/dist/esm/table/types.d.ts +2 -2
- package/dist/esm/table/utilities.d.ts +2 -2
- package/dist/esm/types.d.ts +5 -1
- package/dist/esm/utilities.d.ts +2 -1
- package/dist/esm/utilities.js +22 -1
- package/package.json +11 -5
- package/dist/cjs/query/condition.d.cts +0 -8
- package/dist/cjs/query/condition.js +0 -109
- package/dist/esm/query/condition.d.ts +0 -8
- package/dist/esm/query/condition.js +0 -101
package/README.md
CHANGED
|
@@ -6,6 +6,7 @@ Type-safe SQL query builder for Bun SQL and SQLite.
|
|
|
6
6
|
|
|
7
7
|
- [Bun](https://bun.sh/)
|
|
8
8
|
- [PostgreSQL](https://www.postgresql.org/) (optional, only for PostgreSQL dialect)
|
|
9
|
+
- [MySQL](https://www.mysql.com/) (optional, only for MySQL dialect)
|
|
9
10
|
|
|
10
11
|
## Installation
|
|
11
12
|
|
|
@@ -21,7 +22,6 @@ import { Table, Column, Database } from '@ignisia/sql';
|
|
|
21
22
|
// Define a table
|
|
22
23
|
const users = Table.define({
|
|
23
24
|
name: 'users',
|
|
24
|
-
dialect: 'postgres',
|
|
25
25
|
columns: {
|
|
26
26
|
// Define a column called "id"
|
|
27
27
|
id: Column.define({
|
package/dist/cjs/column/index.js
CHANGED
|
@@ -21,14 +21,7 @@ class Column {
|
|
|
21
21
|
if ("values" in options) {
|
|
22
22
|
this.enums = options.values;
|
|
23
23
|
}
|
|
24
|
-
this.definition = {
|
|
25
|
-
autoIncrement: false,
|
|
26
|
-
primaryKey: false,
|
|
27
|
-
notNull: false,
|
|
28
|
-
unique: false,
|
|
29
|
-
comment: null,
|
|
30
|
-
default: void 0
|
|
31
|
-
};
|
|
24
|
+
this.definition = {};
|
|
32
25
|
}
|
|
33
26
|
static define(options) {
|
|
34
27
|
return new Column(options);
|
|
@@ -67,7 +60,7 @@ class Column {
|
|
|
67
60
|
...this.length && { length: this.length },
|
|
68
61
|
...this.enums.length && { values: this.enums }
|
|
69
62
|
});
|
|
70
|
-
Object.assign(column.definition, utilities.
|
|
63
|
+
Object.assign(column.definition, utilities.cloneDefinition(this.definition));
|
|
71
64
|
return column;
|
|
72
65
|
}
|
|
73
66
|
toQuery() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { D as Database } from '../index-
|
|
1
|
+
import { D as Database } from '../index-BjgeY76W.cjs';
|
|
2
2
|
import { Column } from '../column/index.cjs';
|
|
3
3
|
import { AcceptedColumnTypes } from '../column/constants.cjs';
|
|
4
|
-
import { T as Table, D as DatabaseDefinition } from '../index-
|
|
4
|
+
import { T as Table, D as DatabaseDefinition } from '../index-K07efKgt.cjs';
|
|
5
5
|
import { Dialect } from '../table/constants.cjs';
|
|
6
6
|
import 'bun';
|
|
7
7
|
import '../query/constants.cjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { D as Database } from '../index-
|
|
1
|
+
import { D as Database } from '../index-BjgeY76W.cjs';
|
|
2
2
|
import { Column } from '../column/index.cjs';
|
|
3
|
-
import { T as Table, D as DatabaseDefinition } from '../index-
|
|
3
|
+
import { T as Table, D as DatabaseDefinition } from '../index-K07efKgt.cjs';
|
|
4
4
|
import { Dialect } from '../table/constants.cjs';
|
|
5
5
|
import 'bun';
|
|
6
6
|
import '../query/constants.cjs';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { C as ColumnAlterationContract, T as TableAlterationContract } from '../index-
|
|
1
|
+
export { C as ColumnAlterationContract, T as TableAlterationContract } from '../index-BjgeY76W.cjs';
|
|
2
2
|
import '../column/index.cjs';
|
|
3
3
|
import '../column/constants.cjs';
|
|
4
|
-
import '../index-
|
|
4
|
+
import '../index-K07efKgt.cjs';
|
|
5
5
|
import '../table/constants.cjs';
|
|
6
6
|
import 'bun';
|
|
7
7
|
import '../query/constants.cjs';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import 'bun';
|
|
2
2
|
import '../column/index.cjs';
|
|
3
|
-
import '../index-
|
|
3
|
+
import '../index-K07efKgt.cjs';
|
|
4
4
|
import '../query/constants.cjs';
|
|
5
5
|
import '../table/constants.cjs';
|
|
6
|
-
export { D as Database } from '../index-
|
|
6
|
+
export { D as Database } from '../index-BjgeY76W.cjs';
|
|
7
7
|
import '../column/constants.cjs';
|
|
8
8
|
import '../column/types.cjs';
|
|
9
9
|
import '../types.cjs';
|
|
@@ -54,7 +54,7 @@ class Database {
|
|
|
54
54
|
this.dropColumnDefault = alter.dropColumnDefault.bind(
|
|
55
55
|
this
|
|
56
56
|
);
|
|
57
|
-
this.setColumnNotNull = alter.
|
|
57
|
+
this.setColumnNotNull = alter.setColumnNotNull.bind(
|
|
58
58
|
this
|
|
59
59
|
);
|
|
60
60
|
this.dropColumnNotNull = alter.dropColumnNotNull.bind(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { D as Database } from '../index-
|
|
1
|
+
import { D as Database } from '../index-BjgeY76W.cjs';
|
|
2
2
|
import { Column } from '../column/index.cjs';
|
|
3
|
-
import { T as Table, D as DatabaseDefinition,
|
|
3
|
+
import { T as Table, D as DatabaseDefinition, h as TimestampOptions, M as MergeTimestampParanoid } from '../index-K07efKgt.cjs';
|
|
4
4
|
import { Dialect } from '../table/constants.cjs';
|
|
5
5
|
import 'bun';
|
|
6
6
|
import '../query/constants.cjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'bun';
|
|
2
2
|
import '../column/index.cjs';
|
|
3
|
-
export { D as DatabaseDefinition,
|
|
3
|
+
export { D as DatabaseDefinition, j as DatabaseDialect, k as DatabaseExecOptions, o as DatabaseOptions, l as MysqlConfig, P as PostgresConfig, x as SqlConfig, i as SqlConfigMapping, m as SqliteConfig } from '../index-K07efKgt.cjs';
|
|
4
4
|
import '../table/constants.cjs';
|
|
5
5
|
import '../column/constants.cjs';
|
|
6
6
|
import '../column/types.cjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SQL, TransactionSQL } from 'bun';
|
|
2
2
|
import { Dialect } from '../table/constants.cjs';
|
|
3
|
-
import {
|
|
3
|
+
import { i as SqlConfigMapping, j as DatabaseDialect, k as DatabaseExecOptions, P as PostgresConfig, l as MysqlConfig, m as SqliteConfig } from '../index-K07efKgt.cjs';
|
|
4
4
|
import '../column/index.cjs';
|
|
5
5
|
import '../column/constants.cjs';
|
|
6
6
|
import '../column/types.cjs';
|
|
@@ -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,
|
|
26
|
-
constructor(options:
|
|
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);
|
|
@@ -40,23 +40,7 @@ class BaseSql {
|
|
|
40
40
|
if (!options.params) {
|
|
41
41
|
return client.unsafe(options.sql);
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
if (param === null || typeof param === "string" || typeof param === "number" || typeof param === "boolean" || typeof param === "bigint") {
|
|
45
|
-
return param;
|
|
46
|
-
}
|
|
47
|
-
if (param === void 0) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
if (param instanceof Date) {
|
|
51
|
-
return param.toISOString();
|
|
52
|
-
}
|
|
53
|
-
try {
|
|
54
|
-
return JSON.stringify(param);
|
|
55
|
-
} catch {
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
return client.unsafe(options.sql, params);
|
|
43
|
+
return client.unsafe(options.sql, options.params);
|
|
60
44
|
}
|
|
61
45
|
async transaction(fn) {
|
|
62
46
|
return this.client.transaction(fn);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TransactionSQL } from 'bun';
|
|
2
2
|
import { Column } from './column/index.cjs';
|
|
3
|
-
import { T as Table, D as DatabaseDefinition,
|
|
3
|
+
import { T as Table, D as DatabaseDefinition, h as TimestampOptions, M as MergeTimestampParanoid, n as QueryHooks, j as DatabaseDialect, o as DatabaseOptions, c as QueryBuilder, p as QueryRunHooks } from './index-K07efKgt.cjs';
|
|
4
4
|
import { QueryHooksType } from './query/constants.cjs';
|
|
5
5
|
import { Dialect } from './table/constants.cjs';
|
|
6
6
|
import { AcceptedColumnTypes } from './column/constants.cjs';
|
|
@@ -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<
|
|
80
|
+
readonly hooks: Partial<QueryHooks>;
|
|
81
81
|
readonly dialect: DbDialect;
|
|
82
82
|
readonly defintion: Definition;
|
|
83
83
|
readonly tables: Tables;
|