happy-sql 1.5.3 → 1.6.0
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/ChangeLog +11 -0
- package/lib/parser/visitors/clause/create-sequence/create-sequence.js +7 -0
- package/lib/parser/visitors/clause/create-sequence/fixture/create-sequence-fix.js +4 -0
- package/lib/parser/visitors/clause/create-sequence/fixture/create-sequence.sql +2 -0
- package/lib/parser/visitors/clause/index.js +2 -0
- package/lib/parser/visitors/clause/select/fixture/select-lastval.sql +1 -1
- package/lib/printer/visitors/binary-expression.js +5 -1
- package/lib/printer/visitors/call-expression/clauses/clauses.js +2 -0
- package/lib/printer/visitors/call-expression/clauses/create-sequence/create-sequence.js +4 -0
- package/lib/printer/visitors/call-expression/clauses/create-sequence/fixture/create-sequence-fix.sql +1 -0
- package/lib/printer/visitors/call-expression/clauses/create-sequence/fixture/create-sequence.js +3 -0
- package/lib/printer/visitors/call-expression/clauses/lastval/fixture/lastval-fix.sql +1 -1
- package/lib/printer/visitors/call-expression/clauses/lastval/lastval.js +1 -1
- package/lib/printer/visitors/fixture/binary-expression-fix.sql +3 -0
- package/lib/printer/visitors/fixture/binary-expression.js +3 -0
- package/package.json +2 -1
package/ChangeLog
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
2026.08.15, v1.6.0
|
|
2
|
+
|
|
3
|
+
fix:
|
|
4
|
+
- 92886e4 binary-expression: replace ?? with object map
|
|
5
|
+
- fbe9fd9 lastval: print lowercase lastval()
|
|
6
|
+
|
|
7
|
+
feature:
|
|
8
|
+
- 07111c0 create sequence: add
|
|
9
|
+
- a032611 create-sequence: add
|
|
10
|
+
- e3d85bf create-sequence: add
|
|
11
|
+
|
|
1
12
|
2026.08.15, v1.5.3
|
|
2
13
|
|
|
3
14
|
feature:
|
|
@@ -4,6 +4,7 @@ import {convertUpdate} from '#parser/clause/update';
|
|
|
4
4
|
import {convertDelete} from '#parser/clause/delete';
|
|
5
5
|
import {convertWithNamed} from '#parser/clause/with-named';
|
|
6
6
|
import {convertCreateTable} from '#parser/clause/create-table';
|
|
7
|
+
import {convertCreateSequence} from '#parser/clause/create-sequence';
|
|
7
8
|
import {findClause} from '#parser/clause/find';
|
|
8
9
|
|
|
9
10
|
export const convertClause = (stmt) => {
|
|
@@ -31,4 +32,5 @@ const clauseVisitors = {
|
|
|
31
32
|
update_stmt: convertUpdate,
|
|
32
33
|
delete_stmt: convertDelete,
|
|
33
34
|
create_table_stmt: convertCreateTable,
|
|
35
|
+
create_sequence_stmt: convertCreateSequence,
|
|
34
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
SELECT
|
|
1
|
+
SELECT lastval() FROM users
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
const JS_TO_SQL_OP = {
|
|
2
2
|
'===': '=',
|
|
3
3
|
'!==': '!=',
|
|
4
|
+
'>=': '>=',
|
|
5
|
+
'<=': '<=',
|
|
6
|
+
'>': '>',
|
|
7
|
+
'<': '<',
|
|
4
8
|
};
|
|
5
9
|
|
|
6
10
|
export const BinaryExpression = (path, {write, traverse}) => {
|
|
@@ -8,6 +12,6 @@ export const BinaryExpression = (path, {write, traverse}) => {
|
|
|
8
12
|
|
|
9
13
|
const op = path.node.operator;
|
|
10
14
|
|
|
11
|
-
write(` ${JS_TO_SQL_OP[op]
|
|
15
|
+
write(` ${JS_TO_SQL_OP[op] || op} `);
|
|
12
16
|
traverse(path.get('right'));
|
|
13
17
|
};
|
|
@@ -16,6 +16,7 @@ import {returning} from './returning/returning.js';
|
|
|
16
16
|
import {as} from './as/as.js';
|
|
17
17
|
import {withNamed} from './with-named/with-named.js';
|
|
18
18
|
import {createTable} from './create-table/create-table.js';
|
|
19
|
+
import {createSequence} from './create-sequence/create-sequence.js';
|
|
19
20
|
import {column} from './column/column.js';
|
|
20
21
|
import {autoIncrement} from './auto-increment/auto-increment.js';
|
|
21
22
|
import {serial} from './serial/serial.js';
|
|
@@ -49,6 +50,7 @@ export const clauses = {
|
|
|
49
50
|
as,
|
|
50
51
|
withNamed,
|
|
51
52
|
createTable,
|
|
53
|
+
createSequence,
|
|
52
54
|
column,
|
|
53
55
|
autoIncrement,
|
|
54
56
|
serial,
|
package/lib/printer/visitors/call-expression/clauses/create-sequence/fixture/create-sequence-fix.sql
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
CREATE SEQUENCE users_id_seq
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
SELECT
|
|
1
|
+
SELECT lastval()
|
|
2
2
|
FROM users
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const lastval = (path, {write}) => write('
|
|
1
|
+
export const lastval = (path, {write}) => write('lastval()');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "happy-sql",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "sql to js ast parser and printer",
|
|
6
6
|
"exports": {
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"#parser/clause/delete": "./lib/parser/visitors/clause/delete/delete.js",
|
|
27
27
|
"#parser/clause/with-named": "./lib/parser/visitors/clause/with-named/with-named.js",
|
|
28
28
|
"#parser/clause/create-table": "./lib/parser/visitors/clause/create-table/create-table.js",
|
|
29
|
+
"#parser/clause/create-sequence": "./lib/parser/visitors/clause/create-sequence/create-sequence.js",
|
|
29
30
|
"#parser/clause/column-definition": "./lib/parser/visitors/clause/column-definition/column-definition.js",
|
|
30
31
|
"#printer": "./lib/printer/printer.js",
|
|
31
32
|
"#printer/test": "./test/create-printer-test.js"
|