happy-sql 1.1.1 → 1.3.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 CHANGED
@@ -1,3 +1,13 @@
1
+ 2026.07.29, v1.3.0
2
+
3
+ feature:
4
+ - 1e421ee SELECT: string
5
+
6
+ 2026.07.29, v1.2.0
7
+
8
+ feature:
9
+ - 6b0b0ae happy-sql: SELECT: ";"
10
+
1
11
  2026.07.27, v1.1.1
2
12
 
3
13
  feature:
@@ -19,6 +19,9 @@ const convertColumn = (column) => {
19
19
  if (column.type === 'alias')
20
20
  return assignmentExpression('=', identifier(column.alias.name), convertOperand(column.expr));
21
21
 
22
+ if (column.type === 'string_literal')
23
+ return stringLiteral(column.value);
24
+
22
25
  return identifier(column.name);
23
26
  };
24
27
 
@@ -38,7 +41,7 @@ export const convertSelect = ({clauses}) => {
38
41
 
39
42
  const args = [
40
43
  ...convertColumns(selectClause.columns),
41
- convertFrom(fromClause),
44
+ fromClause && convertFrom(fromClause),
42
45
  whereClause && convertWhere(whereClause),
43
46
  ].filter(Boolean);
44
47
 
@@ -1,3 +1,3 @@
1
1
  -- @select
2
2
  SELECT *
3
- FROM users
3
+ FROM users;
@@ -2,4 +2,5 @@ export const section = (path, {write, traverse}) => {
2
2
  const [name, stmt] = path.get('arguments');
3
3
  write(`-- ${name.node.value}\n`);
4
4
  traverse(stmt);
5
+ write(';');
5
6
  };
@@ -1,3 +1,7 @@
1
+ import {types} from '@putout/babel';
2
+
3
+ const {isStringLiteral} = types;
4
+
1
5
  export const select = (path, {write, traverse}) => {
2
6
  const args = path.get('arguments');
3
7
  const fromIdx = args.findIndex((a) => a.node.callee?.name === 'from');
@@ -12,6 +16,13 @@ export const select = (path, {write, traverse}) => {
12
16
  traverse(cols[i]);
13
17
  }
14
18
 
19
+ if (rest.length === 1 && isStringLiteral(rest[0])) {
20
+ traverse(rest[0]);
21
+ write(';');
22
+
23
+ return;
24
+ }
25
+
15
26
  for (const arg of rest) {
16
27
  write('\n');
17
28
  traverse(arg);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-sql",
3
- "version": "1.1.1",
3
+ "version": "1.3.0",
4
4
  "type": "module",
5
5
  "description": "sql to js ast parser and printer",
6
6
  "exports": {