@devbro/neko-sql 0.1.3 → 0.1.4

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 (76) hide show
  1. package/dist/Blueprint.mjs +12 -1
  2. package/dist/Blueprint.mjs.map +1 -1
  3. package/dist/Connection.mjs +5 -0
  4. package/dist/Connection.mjs.map +1 -1
  5. package/dist/Expression.mjs +5 -0
  6. package/dist/Expression.mjs.map +1 -1
  7. package/dist/Migration.mjs +5 -0
  8. package/dist/Migration.mjs.map +1 -1
  9. package/dist/Query.mjs +5 -0
  10. package/dist/Query.mjs.map +1 -1
  11. package/dist/QueryGrammar.mjs +6 -0
  12. package/dist/QueryGrammar.mjs.map +1 -1
  13. package/dist/Schema.mjs +7 -2
  14. package/dist/Schema.mjs.map +1 -1
  15. package/dist/SchemaGrammar.mjs +6 -1
  16. package/dist/SchemaGrammar.mjs.map +1 -1
  17. package/dist/databases/index.mjs +1 -1
  18. package/dist/databases/index.mjs.map +1 -1
  19. package/dist/databases/postgresql/PostgresqlConnection.mjs +10 -5
  20. package/dist/databases/postgresql/PostgresqlConnection.mjs.map +1 -1
  21. package/dist/databases/postgresql/PostgresqlQueryGrammar.mjs +6 -1
  22. package/dist/databases/postgresql/PostgresqlQueryGrammar.mjs.map +1 -1
  23. package/dist/databases/postgresql/PostgresqlSchemaGrammar.mjs +6 -1
  24. package/dist/databases/postgresql/PostgresqlSchemaGrammar.mjs.map +1 -1
  25. package/dist/databases/postgresql/index.mjs +3 -3
  26. package/dist/databases/postgresql/index.mjs.map +1 -1
  27. package/dist/index.js +929 -19
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.mjs +9 -9
  30. package/dist/index.mjs.map +1 -1
  31. package/package.json +6 -6
  32. package/dist/Blueprint.d.ts +0 -57
  33. package/dist/Blueprint.js +0 -169
  34. package/dist/Blueprint.js.map +0 -1
  35. package/dist/Connection-DklX9Kzq.d.ts +0 -106
  36. package/dist/Connection.d.ts +0 -4
  37. package/dist/Connection.js +0 -30
  38. package/dist/Connection.js.map +0 -1
  39. package/dist/Expression.d.ts +0 -1
  40. package/dist/Expression.js +0 -37
  41. package/dist/Expression.js.map +0 -1
  42. package/dist/Migration.d.ts +0 -11
  43. package/dist/Migration.js +0 -30
  44. package/dist/Migration.js.map +0 -1
  45. package/dist/Query.d.ts +0 -4
  46. package/dist/Query.js +0 -171
  47. package/dist/Query.js.map +0 -1
  48. package/dist/QueryGrammar.d.ts +0 -4
  49. package/dist/QueryGrammar.js +0 -260
  50. package/dist/QueryGrammar.js.map +0 -1
  51. package/dist/Schema.d.ts +0 -4
  52. package/dist/Schema.js +0 -70
  53. package/dist/Schema.js.map +0 -1
  54. package/dist/SchemaGrammar.d.ts +0 -20
  55. package/dist/SchemaGrammar.js +0 -174
  56. package/dist/SchemaGrammar.js.map +0 -1
  57. package/dist/databases/index.d.ts +0 -8
  58. package/dist/databases/index.js +0 -23
  59. package/dist/databases/index.js.map +0 -1
  60. package/dist/databases/postgresql/PostgresqlConnection.d.ts +0 -28
  61. package/dist/databases/postgresql/PostgresqlConnection.js +0 -114
  62. package/dist/databases/postgresql/PostgresqlConnection.js.map +0 -1
  63. package/dist/databases/postgresql/PostgresqlQueryGrammar.d.ts +0 -21
  64. package/dist/databases/postgresql/PostgresqlQueryGrammar.js +0 -69
  65. package/dist/databases/postgresql/PostgresqlQueryGrammar.js.map +0 -1
  66. package/dist/databases/postgresql/PostgresqlSchemaGrammar.d.ts +0 -8
  67. package/dist/databases/postgresql/PostgresqlSchemaGrammar.js +0 -31
  68. package/dist/databases/postgresql/PostgresqlSchemaGrammar.js.map +0 -1
  69. package/dist/databases/postgresql/index.d.ts +0 -8
  70. package/dist/databases/postgresql/index.js +0 -27
  71. package/dist/databases/postgresql/index.js.map +0 -1
  72. package/dist/index.d.ts +0 -9
  73. package/dist/types-C_aDrXJN.d.ts +0 -48
  74. package/dist/types.d.ts +0 -1
  75. package/dist/types.js +0 -17
  76. package/dist/types.js.map +0 -1
package/dist/Migration.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var Migration_exports = {};
20
- __export(Migration_exports, {
21
- Migration: () => Migration
22
- });
23
- module.exports = __toCommonJS(Migration_exports);
24
- class Migration {
25
- }
26
- // Annotate the CommonJS export names for ESM import in node:
27
- 0 && (module.exports = {
28
- Migration
29
- });
30
- //# sourceMappingURL=Migration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Migration.ts"],"sourcesContent":["import { Schema } from './Schema';\n\nexport abstract class Migration {\n abstract up(schema: Schema): Promise<void>;\n abstract down(schema: Schema): Promise<void>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAe,UAAU;AAGhC;","names":[]}
package/dist/Query.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export { a as Query, Q as QueryParts } from './Connection-DklX9Kzq.js';
2
- import './types-C_aDrXJN.js';
3
- import './Blueprint.js';
4
- import './SchemaGrammar.js';
package/dist/Query.js DELETED
@@ -1,171 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var Query_exports = {};
20
- __export(Query_exports, {
21
- Query: () => Query
22
- });
23
- module.exports = __toCommonJS(Query_exports);
24
- class Query {
25
- constructor(connection, grammar) {
26
- this.connection = connection;
27
- this.grammar = grammar;
28
- }
29
- allowedOperations = ["=", ">", "<", "!=", "like", "ilike"];
30
- parts = {
31
- select: ["*"],
32
- table: "",
33
- join: [],
34
- where: [],
35
- groupBy: [],
36
- having: [],
37
- orderBy: [],
38
- limit: null,
39
- offset: null
40
- };
41
- table(tableName) {
42
- this.parts.table = tableName;
43
- return this;
44
- }
45
- whereOp(column, operation, value, joinCondition = "and", negateCondition = false) {
46
- this.parts.where.push({
47
- type: "operation",
48
- column,
49
- operation,
50
- value,
51
- joinCondition,
52
- negateCondition
53
- });
54
- return this;
55
- }
56
- whereColumn(column1, operation, column2, joinCondition = "and", negateCondition = false) {
57
- this.parts.where.push({
58
- type: "operationColumn",
59
- column1,
60
- operation,
61
- column2,
62
- joinCondition,
63
- negateCondition
64
- });
65
- return this;
66
- }
67
- whereNull(column, joinCondition = "and", negateCondition = false) {
68
- this.parts.where.push({ type: "null", column, joinCondition, negateCondition });
69
- return this;
70
- }
71
- clearWhere() {
72
- this.parts.where = [];
73
- return this;
74
- }
75
- select(selects) {
76
- this.parts.select = [...selects];
77
- return this;
78
- }
79
- groupBy(columns) {
80
- this.parts.groupBy = [...columns];
81
- return this;
82
- }
83
- havingOp(column, operation, value, joinCondition = "and", negateCondition = false) {
84
- this.parts.having.push({
85
- type: "operation",
86
- column,
87
- operation,
88
- value,
89
- joinCondition,
90
- negateCondition
91
- });
92
- return this;
93
- }
94
- havingRaw(sql, bindings, joinCondition = "and", negateCondition = false) {
95
- this.parts.having.push({ type: "raw", sql, bindings, joinCondition, negateCondition });
96
- return this;
97
- }
98
- orderBy(column, direction = "asc") {
99
- this.parts.orderBy.push(`${column} ${direction}`);
100
- return this;
101
- }
102
- limit(limit) {
103
- this.parts.limit = limit;
104
- return this;
105
- }
106
- offset(offset) {
107
- this.parts.offset = offset;
108
- return this;
109
- }
110
- toSql() {
111
- return this.grammar.toSql(this);
112
- }
113
- async get() {
114
- return await this.connection?.runQuery(this.toSql());
115
- }
116
- async count() {
117
- const csql = this.grammar.compileCount(this);
118
- const result = await this.connection?.runQuery(csql);
119
- if (result && Array.isArray(result) && result.length > 0) {
120
- return parseInt(result[0]["count"], 10);
121
- }
122
- return 0;
123
- }
124
- async getCursor() {
125
- return await this.connection?.runCursor(this.toSql());
126
- }
127
- getConnection() {
128
- return this.connection;
129
- }
130
- async insert(data) {
131
- const csql = this.grammar.compileInsert(this, data);
132
- return await this.connection?.runQuery(csql);
133
- }
134
- async insertGetId(data, options = { primaryKey: ["id"] }) {
135
- const csql = this.grammar.compileInsertGetId(this, data, options);
136
- return await this.connection?.runQuery(csql);
137
- }
138
- async update(data) {
139
- const csql = this.grammar.compileUpdate(this, data);
140
- return await this.connection?.runQuery(csql);
141
- }
142
- async upsert(data, uniqueColumns, updateColumns) {
143
- const csql = this.grammar.compileUpsert(this, data, uniqueColumns, updateColumns);
144
- return await this.connection?.runQuery(csql);
145
- }
146
- async delete() {
147
- const csql = this.grammar.compileDelete(this);
148
- return await this.connection?.runQuery(csql);
149
- }
150
- innerJoin(table, condtions) {
151
- this.parts.join.push({ type: "inner", table, conditions: condtions });
152
- return this;
153
- }
154
- leftJoin(table, condtions) {
155
- this.parts.join.push({ type: "left", table, conditions: condtions });
156
- return this;
157
- }
158
- rightJoin(table, condtions) {
159
- this.parts.join.push({ type: "right", table, conditions: condtions });
160
- return this;
161
- }
162
- fullJoin(table, condtions) {
163
- this.parts.join.push({ type: "full", table, conditions: condtions });
164
- return this;
165
- }
166
- }
167
- // Annotate the CommonJS export names for ESM import in node:
168
- 0 && (module.exports = {
169
- Query
170
- });
171
- //# sourceMappingURL=Query.js.map
package/dist/Query.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Query.ts"],"sourcesContent":["import { Connection } from './Connection';\nimport { QueryGrammar } from './QueryGrammar';\nimport {\n CompiledSql,\n JoinCondition,\n Parameter,\n selectType,\n whereType,\n havingType,\n joinType,\n} from './types';\n\nexport type QueryParts = {\n select: selectType[];\n table: string;\n join: joinType[];\n where: whereType[];\n groupBy: string[];\n having: havingType[];\n orderBy: string[];\n limit: number | null;\n offset: number | null;\n};\n\nexport class Query {\n allowedOperations: string[] = ['=', '>', '<', '!=', 'like', 'ilike'];\n parts: QueryParts = {\n select: ['*'],\n table: '',\n join: [],\n where: [],\n groupBy: [],\n having: [],\n orderBy: [],\n limit: null,\n offset: null,\n };\n\n constructor(\n private readonly connection: Connection | null,\n private readonly grammar: QueryGrammar\n ) {}\n\n table(tableName: string): this {\n this.parts.table = tableName;\n return this;\n }\n\n whereOp(\n column: string,\n operation: (typeof this.allowedOperations)[number],\n value: Parameter,\n joinCondition: JoinCondition = 'and',\n negateCondition: boolean = false\n ): this {\n this.parts.where.push({\n type: 'operation',\n column,\n operation,\n value,\n joinCondition,\n negateCondition,\n });\n return this;\n }\n\n whereColumn(\n column1: string,\n operation: (typeof this.allowedOperations)[number],\n column2: string,\n joinCondition: JoinCondition = 'and',\n negateCondition: boolean = false\n ): this {\n this.parts.where.push({\n type: 'operationColumn',\n column1,\n operation,\n column2,\n joinCondition,\n negateCondition,\n });\n return this;\n }\n\n whereNull(\n column: string,\n joinCondition: JoinCondition = 'and',\n negateCondition: boolean = false\n ): this {\n this.parts.where.push({ type: 'null', column, joinCondition, negateCondition });\n return this;\n }\n\n clearWhere(): this {\n this.parts.where = [];\n return this;\n }\n\n select(selects: selectType[]): this {\n this.parts.select = [...selects];\n return this;\n }\n\n groupBy(columns: string[]): this {\n this.parts.groupBy = [...columns];\n return this;\n }\n\n havingOp(\n column: string,\n operation: (typeof this.allowedOperations)[number],\n value: Parameter,\n joinCondition: JoinCondition = 'and',\n negateCondition: boolean = false\n ): this {\n this.parts.having.push({\n type: 'operation',\n column,\n operation,\n value,\n joinCondition,\n negateCondition,\n });\n return this;\n }\n\n havingRaw(\n sql: string,\n bindings: Parameter[],\n joinCondition: JoinCondition = 'and',\n negateCondition: boolean = false\n ): this {\n this.parts.having.push({ type: 'raw', sql, bindings, joinCondition, negateCondition });\n return this;\n }\n\n orderBy(column: string, direction: 'asc' | 'desc' = 'asc'): this {\n this.parts.orderBy.push(`${column} ${direction}`);\n return this;\n }\n\n limit(limit: number): this {\n this.parts.limit = limit;\n return this;\n }\n\n offset(offset: number): this {\n this.parts.offset = offset;\n return this;\n }\n\n toSql(): CompiledSql {\n return this.grammar.toSql(this);\n }\n\n async get() {\n return await this.connection?.runQuery(this.toSql());\n }\n\n async count(): Promise<number> {\n const csql: CompiledSql = this.grammar.compileCount(this);\n const result = await this.connection?.runQuery(csql);\n if (result && Array.isArray(result) && result.length > 0) {\n return parseInt(result[0]['count'], 10);\n }\n return 0;\n }\n\n async getCursor() {\n return await this.connection?.runCursor(this.toSql());\n }\n\n getConnection(): Connection | null {\n return this.connection;\n }\n\n async insert(data: Record<string, Parameter>) {\n const csql: CompiledSql = this.grammar.compileInsert(this, data);\n return await this.connection?.runQuery(csql);\n }\n\n async insertGetId(\n data: Record<string, Parameter>,\n options: { primaryKey: string[] } = { primaryKey: ['id'] }\n ) {\n const csql: CompiledSql = this.grammar.compileInsertGetId(this, data, options);\n return await this.connection?.runQuery(csql);\n }\n\n async update(data: Record<string, Parameter>) {\n const csql: CompiledSql = this.grammar.compileUpdate(this, data);\n return await this.connection?.runQuery(csql);\n }\n\n async upsert(data: Record<string, Parameter>, uniqueColumns: string[], updateColumns: string[]) {\n const csql: CompiledSql = this.grammar.compileUpsert(this, data, uniqueColumns, updateColumns);\n return await this.connection?.runQuery(csql);\n }\n\n async delete() {\n const csql: CompiledSql = this.grammar.compileDelete(this);\n return await this.connection?.runQuery(csql);\n }\n\n innerJoin(table: string, condtions: whereType[]): this {\n this.parts.join.push({ type: 'inner', table, conditions: condtions });\n return this;\n }\n\n leftJoin(table: string, condtions: whereType[]): this {\n this.parts.join.push({ type: 'left', table, conditions: condtions });\n return this;\n }\n\n rightJoin(table: string, condtions: whereType[]): this {\n this.parts.join.push({ type: 'right', table, conditions: condtions });\n return this;\n }\n\n fullJoin(table: string, condtions: whereType[]): this {\n this.parts.join.push({ type: 'full', table, conditions: condtions });\n return this;\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,4 +0,0 @@
1
- export { b as QueryGrammar } from './Connection-DklX9Kzq.js';
2
- import './types-C_aDrXJN.js';
3
- import './Blueprint.js';
4
- import './SchemaGrammar.js';
@@ -1,260 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var QueryGrammar_exports = {};
20
- __export(QueryGrammar_exports, {
21
- QueryGrammar: () => QueryGrammar
22
- });
23
- module.exports = __toCommonJS(QueryGrammar_exports);
24
- function toUpperFirst(str) {
25
- return str.substring(0, 1).toUpperCase() + str.substring(1);
26
- }
27
- class QueryGrammar {
28
- sqlParts = [
29
- "select",
30
- "table",
31
- "join",
32
- "where",
33
- "groupBy",
34
- "having",
35
- "orderBy",
36
- "limit",
37
- "offset"
38
- ];
39
- toSql(query) {
40
- let sql = "";
41
- let bindings = [];
42
- for (const part of this.sqlParts) {
43
- const funcName = "compile" + toUpperFirst(part);
44
- const r = this[funcName](query.parts[part]);
45
- if (!sql) {
46
- sql = r.sql;
47
- } else if (r.sql) {
48
- sql += " " + r.sql;
49
- }
50
- bindings = [...bindings, ...r.bindings];
51
- }
52
- return { sql, bindings };
53
- }
54
- compileCount(query) {
55
- let sql = "";
56
- let bindings = [];
57
- for (const part of this.sqlParts) {
58
- let parts = query.parts[part];
59
- if (part === "select") {
60
- parts = ["count(*) as count"];
61
- }
62
- const funcName = "compile" + toUpperFirst(part);
63
- const r = this[funcName](parts);
64
- if (!sql) {
65
- sql = r.sql;
66
- } else if (r.sql) {
67
- sql += " " + r.sql;
68
- }
69
- bindings = [...bindings, ...r.bindings];
70
- }
71
- return { sql, bindings };
72
- }
73
- compileSelect(selects) {
74
- const rc = selects.map((v) => {
75
- return v;
76
- }).join(", ");
77
- return { sql: "select " + rc, bindings: [] };
78
- }
79
- compileTable(tableName) {
80
- let rc = "";
81
- if (tableName.length) {
82
- rc = "from " + tableName;
83
- }
84
- return { sql: rc, bindings: [] };
85
- }
86
- compileJoin(joins) {
87
- let sql = "";
88
- let bindings = [];
89
- for (const j of joins) {
90
- sql += " " + j.type + " join " + j.table + " on ";
91
- const where = this.compileWhere(j.conditions);
92
- if (where.sql.startsWith("where ")) {
93
- where.sql = where.sql.substring("where ".length);
94
- }
95
- sql += "(";
96
- sql += where.sql;
97
- sql += ")";
98
- bindings = [...bindings, ...where.bindings];
99
- }
100
- return { sql, bindings };
101
- }
102
- compileWhere(wheres) {
103
- let sql = "";
104
- let bindings = [];
105
- for (const w of wheres) {
106
- sql += " " + w.joinCondition + " ";
107
- if (w.negateCondition) {
108
- sql += "not ";
109
- }
110
- const funcName = "compileWhere" + toUpperFirst(w.type);
111
- const wh = this[funcName](w);
112
- sql += wh.sql;
113
- bindings = [...bindings, ...wh.bindings];
114
- }
115
- if (sql.startsWith(" and ")) {
116
- sql = "where " + sql.substring(" and ".length);
117
- } else if (sql.startsWith(" or ")) {
118
- sql = "where " + sql.substring(" or ".length);
119
- }
120
- return { sql, bindings };
121
- }
122
- compileWhereOperation(w) {
123
- return {
124
- sql: `${w.column} ${w.operation} ${this.getVariablePlaceholder()}`,
125
- bindings: [w.value]
126
- };
127
- }
128
- compileWhereOperationColumn(w) {
129
- return {
130
- sql: `${w.column1} ${w.operation} ${w.column2}`,
131
- bindings: []
132
- };
133
- }
134
- compileOrderBy(orderBy) {
135
- let rc = "";
136
- if (orderBy.length) {
137
- rc = "order by " + orderBy.join(", ");
138
- }
139
- return { sql: rc, bindings: [] };
140
- }
141
- compileLimit(limit) {
142
- let rc = "";
143
- if (limit !== null) {
144
- rc = "limit " + limit;
145
- }
146
- return { sql: rc, bindings: [] };
147
- }
148
- compileOffset(offset) {
149
- let rc = "";
150
- if (offset !== null) {
151
- rc = "offset " + offset;
152
- }
153
- return { sql: rc, bindings: [] };
154
- }
155
- compileWhereNull(w) {
156
- return {
157
- sql: `${w.column} is null`,
158
- bindings: []
159
- };
160
- }
161
- compileInsert(query, data) {
162
- let sql = "insert into " + query.parts.table + " (";
163
- const columns = [];
164
- const bindings = [];
165
- const values = [];
166
- for (const [k, v] of Object.entries(data)) {
167
- columns.push(k);
168
- bindings.push(v);
169
- values.push(this.getVariablePlaceholder());
170
- }
171
- sql += columns.join(", ") + ") values (" + values + ")";
172
- return { sql, bindings };
173
- }
174
- compileUpdate(query, data) {
175
- let sql = "update " + query.parts.table + " set ";
176
- const bindings = [];
177
- const setParts = [];
178
- for (const [k, v] of Object.entries(data)) {
179
- setParts.push(`${k} = ${this.getVariablePlaceholder()}`);
180
- bindings.push(v);
181
- }
182
- sql += setParts.join(", ");
183
- const where_csql = this.compileWhere(query.parts.where);
184
- sql += " " + where_csql.sql;
185
- bindings.push(...where_csql.bindings);
186
- return { sql, bindings };
187
- }
188
- compileDelete(query) {
189
- let sql = "delete from " + query.parts.table;
190
- const where_csql = this.compileWhere(query.parts.where);
191
- sql += " " + where_csql.sql;
192
- return { sql, bindings: where_csql.bindings };
193
- }
194
- compileUpsert(query, data, conflictFields, updateFields) {
195
- let sql = "insert into " + query.parts.table + " (";
196
- const columns = [];
197
- const bindings = [];
198
- const values = [];
199
- for (const [k, v] of Object.entries(data)) {
200
- columns.push(k);
201
- bindings.push(v);
202
- values.push(this.getVariablePlaceholder());
203
- }
204
- sql += columns.join(", ") + ") values (" + values + ")";
205
- sql += " on conflict (" + conflictFields.join(", ") + ") do update set ";
206
- const setParts = [];
207
- for (const f of updateFields) {
208
- setParts.push(`${f} = excluded.${f}`);
209
- }
210
- sql += setParts.join(", ");
211
- const where_csql = this.compileWhere(query.parts.where);
212
- sql += " " + where_csql.sql;
213
- bindings.push(...where_csql.bindings);
214
- return { sql, bindings };
215
- }
216
- compileGroupBy(groupBy) {
217
- let rc = "";
218
- if (groupBy.length) {
219
- rc = "group by " + groupBy.join(", ");
220
- }
221
- return { sql: rc, bindings: [] };
222
- }
223
- compileHaving(having) {
224
- let sql = "";
225
- let bindings = [];
226
- for (const w of having) {
227
- sql += " " + w.joinCondition + " ";
228
- if (w.negateCondition) {
229
- sql += "not ";
230
- }
231
- const funcName = "compileHaving" + toUpperFirst(w.type);
232
- const wh = this[funcName](w);
233
- sql += wh.sql;
234
- bindings = [...bindings, ...wh.bindings];
235
- }
236
- if (sql.startsWith(" and ")) {
237
- sql = "having " + sql.substring(" and ".length);
238
- } else if (sql.startsWith(" or ")) {
239
- sql = "having " + sql.substring(" or ".length);
240
- }
241
- return { sql, bindings };
242
- }
243
- compileHavingOperation(w) {
244
- return {
245
- sql: `${w.column} ${w.operation} ${this.getVariablePlaceholder()}`,
246
- bindings: [w.value]
247
- };
248
- }
249
- compileHavingRaw(w) {
250
- return {
251
- sql: w.sql,
252
- bindings: w.bindings
253
- };
254
- }
255
- }
256
- // Annotate the CommonJS export names for ESM import in node:
257
- 0 && (module.exports = {
258
- QueryGrammar
259
- });
260
- //# sourceMappingURL=QueryGrammar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/QueryGrammar.ts"],"sourcesContent":["import { Query } from './Query';\nimport {\n Parameter,\n CompiledSql,\n selectType,\n whereNull,\n whereOp,\n whereType,\n whereRaw,\n havingType,\n whereOpColumn,\n joinType,\n} from './types';\n\nfunction toUpperFirst(str: string) {\n return str.substring(0, 1).toUpperCase() + str.substring(1);\n}\nexport abstract class QueryGrammar {\n sqlParts: string[] = [\n 'select',\n 'table',\n 'join',\n 'where',\n 'groupBy',\n 'having',\n 'orderBy',\n 'limit',\n 'offset',\n ];\n\n toSql(query: Query): CompiledSql {\n let sql = '';\n let bindings: Parameter[] = [];\n\n for (const part of this.sqlParts) {\n // @ts-ignore\n const funcName: keyof this = 'compile' + toUpperFirst(part);\n // @ts-ignore\n const r = this[funcName](query.parts[part]);\n if (!sql) {\n sql = r.sql;\n } else if (r.sql) {\n sql += ' ' + r.sql;\n }\n bindings = [...bindings, ...r.bindings];\n }\n return { sql, bindings };\n }\n\n compileCount(query: Query): CompiledSql {\n let sql = '';\n let bindings: Parameter[] = [];\n\n for (const part of this.sqlParts) {\n // @ts-ignore\n let parts = query.parts[part];\n if (part === 'select') {\n parts = ['count(*) as count'];\n }\n // @ts-ignore\n const funcName: keyof this = 'compile' + toUpperFirst(part);\n // @ts-ignore\n const r = this[funcName](parts);\n if (!sql) {\n sql = r.sql;\n } else if (r.sql) {\n sql += ' ' + r.sql;\n }\n bindings = [...bindings, ...r.bindings];\n }\n return { sql, bindings };\n }\n\n compileSelect(selects: selectType[]): CompiledSql {\n const rc = selects\n .map((v) => {\n return v;\n })\n .join(', ');\n\n return { sql: 'select ' + rc, bindings: [] };\n }\n\n compileTable(tableName: string): CompiledSql {\n let rc = '';\n if (tableName.length) {\n rc = 'from ' + tableName;\n }\n\n return { sql: rc, bindings: [] };\n }\n\n compileJoin(joins: joinType[]): CompiledSql {\n let sql = '';\n let bindings: Parameter[] = [];\n\n for (const j of joins) {\n sql += ' ' + j.type + ' join ' + j.table + ' on ';\n\n const where = this.compileWhere(j.conditions);\n if (where.sql.startsWith('where ')) {\n where.sql = where.sql.substring('where '.length);\n }\n\n sql += '(';\n sql += where.sql;\n sql += ')';\n\n bindings = [...bindings, ...where.bindings];\n }\n\n return { sql, bindings };\n }\n\n compileWhere(wheres: whereType[]): CompiledSql {\n let sql = '';\n let bindings: Parameter[] = [];\n\n for (const w of wheres) {\n sql += ' ' + w.joinCondition + ' ';\n if (w.negateCondition) {\n sql += 'not ';\n }\n const funcName = 'compileWhere' + toUpperFirst(w.type);\n // @ts-ignore\n const wh = this[funcName](w);\n sql += wh.sql;\n bindings = [...bindings, ...wh.bindings];\n }\n if (sql.startsWith(' and ')) {\n sql = 'where ' + sql.substring(' and '.length);\n } else if (sql.startsWith(' or ')) {\n sql = 'where ' + sql.substring(' or '.length);\n }\n return { sql, bindings };\n }\n\n compileWhereOperation(w: whereOp): CompiledSql {\n return {\n sql: `${w.column} ${w.operation} ${this.getVariablePlaceholder()}`,\n bindings: [w.value],\n };\n }\n\n compileWhereOperationColumn(w: whereOpColumn): CompiledSql {\n return {\n sql: `${w.column1} ${w.operation} ${w.column2}`,\n bindings: [],\n };\n }\n\n compileOrderBy(orderBy: string[]): CompiledSql {\n let rc = '';\n if (orderBy.length) {\n rc = 'order by ' + orderBy.join(', ');\n }\n\n return { sql: rc, bindings: [] };\n }\n\n compileLimit(limit: number | null): CompiledSql {\n let rc = '';\n if (limit !== null) {\n rc = 'limit ' + limit;\n }\n\n return { sql: rc, bindings: [] };\n }\n\n compileOffset(offset: number | null): CompiledSql {\n let rc = '';\n if (offset !== null) {\n rc = 'offset ' + offset;\n }\n\n return { sql: rc, bindings: [] };\n }\n\n abstract getVariablePlaceholder(): string;\n\n compileWhereNull(w: whereNull): CompiledSql {\n return {\n sql: `${w.column} is null`,\n bindings: [],\n };\n }\n\n compileInsert(query: Query, data: Record<string, Parameter>): CompiledSql {\n let sql = 'insert into ' + query.parts.table + ' (';\n const columns: string[] = [];\n const bindings: Parameter[] = [];\n const values: string[] = [];\n\n for (const [k, v] of Object.entries(data)) {\n columns.push(k);\n bindings.push(v);\n values.push(this.getVariablePlaceholder());\n }\n\n sql += columns.join(', ') + ') values (' + values + ')';\n\n return { sql, bindings };\n }\n\n abstract compileInsertGetId(\n query: Query,\n data: Record<string, Parameter>,\n options: { primaryKey: string[] }\n ): CompiledSql;\n\n compileUpdate(query: Query, data: Record<string, Parameter>): CompiledSql {\n let sql = 'update ' + query.parts.table + ' set ';\n const bindings: Parameter[] = [];\n\n const setParts = [];\n for (const [k, v] of Object.entries(data)) {\n setParts.push(`${k} = ${this.getVariablePlaceholder()}`);\n bindings.push(v);\n }\n\n sql += setParts.join(', ');\n\n const where_csql = this.compileWhere(query.parts.where);\n sql += ' ' + where_csql.sql;\n bindings.push(...where_csql.bindings);\n\n return { sql, bindings };\n }\n\n compileDelete(query: Query): CompiledSql {\n let sql = 'delete from ' + query.parts.table;\n const where_csql = this.compileWhere(query.parts.where);\n sql += ' ' + where_csql.sql;\n return { sql, bindings: where_csql.bindings };\n }\n\n compileUpsert(\n query: Query,\n data: Record<string, Parameter>,\n conflictFields: string[],\n updateFields: string[]\n ): CompiledSql {\n let sql = 'insert into ' + query.parts.table + ' (';\n const columns: string[] = [];\n const bindings: Parameter[] = [];\n const values: string[] = [];\n\n for (const [k, v] of Object.entries(data)) {\n columns.push(k);\n bindings.push(v);\n values.push(this.getVariablePlaceholder());\n }\n\n sql += columns.join(', ') + ') values (' + values + ')';\n\n sql += ' on conflict (' + conflictFields.join(', ') + ') do update set ';\n const setParts = [];\n for (const f of updateFields) {\n setParts.push(`${f} = excluded.${f}`);\n }\n sql += setParts.join(', ');\n\n const where_csql = this.compileWhere(query.parts.where);\n sql += ' ' + where_csql.sql;\n bindings.push(...where_csql.bindings);\n\n return { sql, bindings };\n }\n\n compileGroupBy(groupBy: string[]): CompiledSql {\n let rc = '';\n if (groupBy.length) {\n rc = 'group by ' + groupBy.join(', ');\n }\n\n return { sql: rc, bindings: [] };\n }\n\n compileHaving(having: havingType[]): CompiledSql {\n let sql = '';\n let bindings: Parameter[] = [];\n\n for (const w of having) {\n sql += ' ' + w.joinCondition + ' ';\n if (w.negateCondition) {\n sql += 'not ';\n }\n const funcName = 'compileHaving' + toUpperFirst(w.type);\n // @ts-ignore\n const wh = this[funcName](w);\n sql += wh.sql;\n bindings = [...bindings, ...wh.bindings];\n }\n if (sql.startsWith(' and ')) {\n sql = 'having ' + sql.substring(' and '.length);\n } else if (sql.startsWith(' or ')) {\n sql = 'having ' + sql.substring(' or '.length);\n }\n return { sql, bindings };\n }\n\n compileHavingOperation(w: whereOp): CompiledSql {\n return {\n sql: `${w.column} ${w.operation} ${this.getVariablePlaceholder()}`,\n bindings: [w.value],\n };\n }\n\n compileHavingRaw(w: whereRaw): CompiledSql {\n return {\n sql: w.sql,\n bindings: w.bindings,\n };\n }\n}\n"],"mappings":"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","names":[]}
package/dist/Schema.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import './Blueprint.js';
2
- export { S as Schema } from './Connection-DklX9Kzq.js';
3
- import './SchemaGrammar.js';
4
- import './types-C_aDrXJN.js';
package/dist/Schema.js DELETED
@@ -1,70 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var Schema_exports = {};
20
- __export(Schema_exports, {
21
- Schema: () => Schema
22
- });
23
- module.exports = __toCommonJS(Schema_exports);
24
- var import_Blueprint = require("./Blueprint");
25
- var import_SchemaGrammar = require("./SchemaGrammar");
26
- class Schema {
27
- constructor(connection, grammar) {
28
- this.connection = connection;
29
- this.grammar = grammar;
30
- }
31
- async createTable(tableName, structMethod) {
32
- const blueprint = new import_Blueprint.Blueprint();
33
- blueprint.setTableName(tableName, false);
34
- structMethod(blueprint);
35
- const grammar = new import_SchemaGrammar.SchemaGrammar();
36
- const sql = grammar.toSql(blueprint);
37
- await this.connection?.runQuery({ sql, bindings: [] });
38
- }
39
- async alterTable(tableName, structMethod) {
40
- const blueprint = new import_Blueprint.Blueprint();
41
- blueprint.setTableName(tableName, true);
42
- structMethod(blueprint);
43
- const grammar = new import_SchemaGrammar.SchemaGrammar();
44
- const sql = grammar.toSql(blueprint);
45
- await this.connection?.runQuery({ sql, bindings: [] });
46
- }
47
- async dropTable(tableName) {
48
- const grammar = new import_SchemaGrammar.SchemaGrammar();
49
- await this.connection?.runQuery(grammar.compileDropTable(tableName));
50
- }
51
- async tables() {
52
- const grammar = new import_SchemaGrammar.SchemaGrammar();
53
- return await this.connection?.runQuery(grammar.compileTables());
54
- }
55
- async tableExists(table_name) {
56
- const grammar = new import_SchemaGrammar.SchemaGrammar();
57
- return (await this.connection?.runQuery(grammar.compileTableExists(table_name)))[0]["exists"];
58
- }
59
- async dropTableIfExists(tableName) {
60
- if (await this.tableExists(tableName)) {
61
- await this.dropTable(tableName);
62
- }
63
- return;
64
- }
65
- }
66
- // Annotate the CommonJS export names for ESM import in node:
67
- 0 && (module.exports = {
68
- Schema
69
- });
70
- //# sourceMappingURL=Schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Schema.ts"],"sourcesContent":["import { Blueprint } from './Blueprint';\nimport { Connection } from './Connection';\nimport { SchemaGrammar } from './SchemaGrammar';\n\nexport class Schema {\n constructor(\n private readonly connection: Connection | null,\n private readonly grammar: SchemaGrammar\n ) {}\n\n async createTable(tableName: string, structMethod: (blueprint: Blueprint) => void) {\n const blueprint = new Blueprint();\n blueprint.setTableName(tableName, false);\n structMethod(blueprint);\n\n const grammar = new SchemaGrammar();\n const sql = grammar.toSql(blueprint);\n await this.connection?.runQuery({ sql, bindings: [] });\n }\n\n async alterTable(tableName: string, structMethod: (blueprint: Blueprint) => void) {\n const blueprint = new Blueprint();\n blueprint.setTableName(tableName, true);\n structMethod(blueprint);\n\n const grammar = new SchemaGrammar();\n const sql = grammar.toSql(blueprint);\n await this.connection?.runQuery({ sql, bindings: [] });\n }\n\n async dropTable(tableName: string) {\n const grammar = new SchemaGrammar();\n await this.connection?.runQuery(grammar.compileDropTable(tableName));\n }\n\n async tables() {\n const grammar = new SchemaGrammar();\n return await this.connection?.runQuery(grammar.compileTables());\n }\n\n async tableExists(table_name: string): Promise<boolean> {\n const grammar = new SchemaGrammar();\n return (await this.connection?.runQuery(grammar.compileTableExists(table_name)))[0]['exists'];\n }\n\n async dropTableIfExists(tableName: string): Promise<void> {\n if (await this.tableExists(tableName)) {\n await this.dropTable(tableName);\n }\n\n return;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0B;AAE1B,2BAA8B;AAEvB,MAAM,OAAO;AAAA,EAClB,YACmB,YACA,SACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAEH,MAAM,YAAY,WAAmB,cAA8C;AACjF,UAAM,YAAY,IAAI,2BAAU;AAChC,cAAU,aAAa,WAAW,KAAK;AACvC,iBAAa,SAAS;AAEtB,UAAM,UAAU,IAAI,mCAAc;AAClC,UAAM,MAAM,QAAQ,MAAM,SAAS;AACnC,UAAM,KAAK,YAAY,SAAS,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC;AAAA,EACvD;AAAA,EAEA,MAAM,WAAW,WAAmB,cAA8C;AAChF,UAAM,YAAY,IAAI,2BAAU;AAChC,cAAU,aAAa,WAAW,IAAI;AACtC,iBAAa,SAAS;AAEtB,UAAM,UAAU,IAAI,mCAAc;AAClC,UAAM,MAAM,QAAQ,MAAM,SAAS;AACnC,UAAM,KAAK,YAAY,SAAS,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC;AAAA,EACvD;AAAA,EAEA,MAAM,UAAU,WAAmB;AACjC,UAAM,UAAU,IAAI,mCAAc;AAClC,UAAM,KAAK,YAAY,SAAS,QAAQ,iBAAiB,SAAS,CAAC;AAAA,EACrE;AAAA,EAEA,MAAM,SAAS;AACb,UAAM,UAAU,IAAI,mCAAc;AAClC,WAAO,MAAM,KAAK,YAAY,SAAS,QAAQ,cAAc,CAAC;AAAA,EAChE;AAAA,EAEA,MAAM,YAAY,YAAsC;AACtD,UAAM,UAAU,IAAI,mCAAc;AAClC,YAAQ,MAAM,KAAK,YAAY,SAAS,QAAQ,mBAAmB,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ;AAAA,EAC9F;AAAA,EAEA,MAAM,kBAAkB,WAAkC;AACxD,QAAI,MAAM,KAAK,YAAY,SAAS,GAAG;AACrC,YAAM,KAAK,UAAU,SAAS;AAAA,IAChC;AAEA;AAAA,EACF;AACF;","names":[]}
@@ -1,20 +0,0 @@
1
- import { Blueprint, Column, ForeignKeyConstraint } from './Blueprint.js';
2
- import { C as CompiledSql, P as Parameter } from './types-C_aDrXJN.js';
3
-
4
- declare class SchemaGrammar {
5
- toSql(blueprint: Blueprint): string;
6
- compileCreateTable(blueprint: Blueprint): CompiledSql;
7
- compileAlterTable(blueprint: Blueprint): CompiledSql;
8
- compileColumn(column: Column): string;
9
- escape(value: Parameter): string;
10
- compilePrimaryKeys(primaryKeys: string[]): string;
11
- compileTables(schema?: string | string[] | undefined): CompiledSql;
12
- compileTableExists(tableName: string, schema?: string): CompiledSql;
13
- compileDropTable(tableName: string): CompiledSql;
14
- protected compileSchemaWhereClause(schema: string | string[] | undefined, column: string): string;
15
- protected quoteString(value: string | string[]): string;
16
- protected doubleQuoteString(value: string | string[]): string;
17
- protected compileForeignKey(foreignKey: ForeignKeyConstraint): string;
18
- }
19
-
20
- export { SchemaGrammar };