@digitalwalletcorp/sql-builder 1.6.1 → 2.0.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/README.md +44 -3
- package/lib/sql-builder.js +10 -8
- package/lib/sql-builder.js.map +1 -1
- package/package.json +5 -1
- package/src/sql-builder.ts +10 -8
package/README.md
CHANGED
|
@@ -6,6 +6,47 @@ Inspired by Java's S2Dao, this TypeScript/JavaScript library dynamically generat
|
|
|
6
6
|
|
|
7
7
|
The core mechanism involves parsing special SQL comments (`/*IF ...*/`, `/*BEGIN...*/`, etc.) in a template and generating a final query based on a provided data object.
|
|
8
8
|
|
|
9
|
+
### ⚠️ Breaking Change in IN Clause Behavior (v1 → v2)
|
|
10
|
+
|
|
11
|
+
**v2.0.0 introduces a breaking change in how arrays are rendered for `IN` clauses.**
|
|
12
|
+
|
|
13
|
+
- **v1.x behavior:** The bind array was automatically output with surrounding parentheses, so the template **did not need to include parentheses**.
|
|
14
|
+
- **v2.x behavior:** Only the array values are output. You must **include parentheses in the template** to form a valid `IN` clause.
|
|
15
|
+
|
|
16
|
+
**v1.x Example (no parentheses in template)**
|
|
17
|
+
```sql
|
|
18
|
+
SELECT *
|
|
19
|
+
FROM activity
|
|
20
|
+
WHERE project_name IN /*projectNames*/('project1')
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
const bindEntity = { projectNames: ['api', 'batch'] };
|
|
25
|
+
const sql = builder.generateSQL(template, bindEntity);
|
|
26
|
+
console.log(sql);
|
|
27
|
+
|
|
28
|
+
// Output (v1.x)
|
|
29
|
+
// project_name IN ('api','batch') ← parentheses added automatically
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**v2.x Example (parentheses required in template)**
|
|
33
|
+
```sql
|
|
34
|
+
SELECT *
|
|
35
|
+
FROM activity
|
|
36
|
+
WHERE project_name IN (/*projectNames*/'project1')
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
const bindEntity = { projectNames: ['api', 'batch'] };
|
|
41
|
+
const sql = builder.generateSQL(template, bindEntity);
|
|
42
|
+
console.log(sql);
|
|
43
|
+
|
|
44
|
+
// Output (v2.x)
|
|
45
|
+
// project_name IN ('api','batch') ← only values are inserted
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
> 💡 Tip: If you upgrade a template from v1.x to v2.x, make sure to add parentheses around any IN bind variables to avoid SQL syntax errors.
|
|
49
|
+
|
|
9
50
|
### ✨ Features
|
|
10
51
|
|
|
11
52
|
* Dynamic Query Generation: Build complex SQL queries dynamically at runtime.
|
|
@@ -48,8 +89,8 @@ SELECT
|
|
|
48
89
|
FROM activity
|
|
49
90
|
/*BEGIN*/WHERE
|
|
50
91
|
1 = 1
|
|
51
|
-
/*IF projectNames != null && projectNames.length*/AND project_name IN
|
|
52
|
-
/*IF statuses != null && statuses.length*/AND status IN /*statuses*/
|
|
92
|
+
/*IF projectNames != null && projectNames.length*/AND project_name IN (*projectNames*/'project1')/*END*/
|
|
93
|
+
/*IF statuses != null && statuses.length*/AND status IN (/*statuses*/1)/*END*/
|
|
53
94
|
/*END*/
|
|
54
95
|
ORDER BY started_at DESC
|
|
55
96
|
LIMIT /*limit*/100
|
|
@@ -212,7 +253,7 @@ FROM users
|
|
|
212
253
|
/*BEGIN*/WHERE
|
|
213
254
|
1 = 1
|
|
214
255
|
/*IF userId != null*/AND user_id = /*userId*/0/*END*/
|
|
215
|
-
/*IF projectNames.length*/AND project_name IN /*projectNames*/
|
|
256
|
+
/*IF projectNames.length*/AND project_name IN (/*projectNames*/'default_project')/*END*/
|
|
216
257
|
/*END*/
|
|
217
258
|
```
|
|
218
259
|
|
package/lib/sql-builder.js
CHANGED
|
@@ -417,7 +417,7 @@ class SQLBuilder {
|
|
|
417
417
|
placeholders.push(`$${options.bindIndex++}`);
|
|
418
418
|
options.bindParams.push(item);
|
|
419
419
|
}
|
|
420
|
-
result +=
|
|
420
|
+
result += placeholders.join(','); // IN ($1,$2,$3)
|
|
421
421
|
}
|
|
422
422
|
else {
|
|
423
423
|
options.bindParams.push(value);
|
|
@@ -433,7 +433,7 @@ class SQLBuilder {
|
|
|
433
433
|
placeholders.push('?');
|
|
434
434
|
options.bindParams.push(item);
|
|
435
435
|
}
|
|
436
|
-
result +=
|
|
436
|
+
result += placeholders.join(','); // IN (?,?,?)
|
|
437
437
|
}
|
|
438
438
|
else {
|
|
439
439
|
options.bindParams.push(value);
|
|
@@ -451,7 +451,7 @@ class SQLBuilder {
|
|
|
451
451
|
placeholders.push(`:${paramName}`);
|
|
452
452
|
options.bindParams[paramName] = value[i];
|
|
453
453
|
}
|
|
454
|
-
result +=
|
|
454
|
+
result += placeholders.join(','); // IN (:p_0,:p_1,:p3)
|
|
455
455
|
}
|
|
456
456
|
else {
|
|
457
457
|
options.bindParams[tagContext.contents] = value;
|
|
@@ -469,7 +469,7 @@ class SQLBuilder {
|
|
|
469
469
|
placeholders.push(`@${paramName}`);
|
|
470
470
|
options.bindParams[paramName] = value[i];
|
|
471
471
|
}
|
|
472
|
-
result +=
|
|
472
|
+
result += placeholders.join(','); // IN (:p_0,:p_1,:p3)
|
|
473
473
|
}
|
|
474
474
|
else {
|
|
475
475
|
options.bindParams[tagContext.contents] = value;
|
|
@@ -542,10 +542,12 @@ class SQLBuilder {
|
|
|
542
542
|
break;
|
|
543
543
|
case c === '(':
|
|
544
544
|
// 丸括弧開始
|
|
545
|
-
bracket = true;
|
|
546
|
-
break;
|
|
545
|
+
// bracket = true;
|
|
546
|
+
// break;
|
|
547
|
+
return i;
|
|
547
548
|
case c === ')':
|
|
548
|
-
throw new Error(`[SQLBuilder] 括弧が開始されていません [index: ${i}, subsequence: '${template.substring(Math.max(i - 20, 0), i + 20)}']`);
|
|
549
|
+
// throw new Error(`[SQLBuilder] 括弧が開始されていません [index: ${i}, subsequence: '${template.substring(Math.max(i - 20, 0), i + 20)}']`);
|
|
550
|
+
return i;
|
|
549
551
|
case c === '*' && 1 < i && chars[i - 1] === '/':
|
|
550
552
|
// 次ノード開始
|
|
551
553
|
return i - 1;
|
|
@@ -626,7 +628,7 @@ class SQLBuilder {
|
|
|
626
628
|
default:
|
|
627
629
|
// string
|
|
628
630
|
if (Array.isArray(value)) {
|
|
629
|
-
result =
|
|
631
|
+
result = value.map(v => typeof v === 'string' ? `'${this.escape(v)}'` : v).join(',');
|
|
630
632
|
}
|
|
631
633
|
else {
|
|
632
634
|
result = typeof value === 'string' ? `'${this.escape(value)}'` : value;
|
package/lib/sql-builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-builder.js","sourceRoot":"","sources":["../src/sql-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sql-builder.js","sourceRoot":"","sources":["../src/sql-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitalwalletcorp/sql-builder",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "This is a library for building SQL",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
},
|
|
17
17
|
"keywords": [
|
|
18
18
|
"sql",
|
|
19
|
+
"template",
|
|
20
|
+
"builder",
|
|
19
21
|
"dynamic",
|
|
22
|
+
"parameterized",
|
|
23
|
+
"placeholder",
|
|
20
24
|
"S2Dao"
|
|
21
25
|
],
|
|
22
26
|
"author": "satoshi kotaki",
|
package/src/sql-builder.ts
CHANGED
|
@@ -438,7 +438,7 @@ export class SQLBuilder {
|
|
|
438
438
|
placeholders.push(`$${options.bindIndex++}`);
|
|
439
439
|
(options.bindParams as any[]).push(item);
|
|
440
440
|
}
|
|
441
|
-
result +=
|
|
441
|
+
result += placeholders.join(','); // IN ($1,$2,$3)
|
|
442
442
|
} else {
|
|
443
443
|
(options.bindParams as any[]).push(value);
|
|
444
444
|
result += `$${options.bindIndex++}`;
|
|
@@ -453,7 +453,7 @@ export class SQLBuilder {
|
|
|
453
453
|
placeholders.push('?');
|
|
454
454
|
(options.bindParams as any[]).push(item);
|
|
455
455
|
}
|
|
456
|
-
result +=
|
|
456
|
+
result += placeholders.join(','); // IN (?,?,?)
|
|
457
457
|
} else {
|
|
458
458
|
(options.bindParams as any[]).push(value);
|
|
459
459
|
result += '?';
|
|
@@ -470,7 +470,7 @@ export class SQLBuilder {
|
|
|
470
470
|
placeholders.push(`:${paramName}`);
|
|
471
471
|
(options.bindParams as Record<string, any>)[paramName] = value[i];
|
|
472
472
|
}
|
|
473
|
-
result +=
|
|
473
|
+
result += placeholders.join(','); // IN (:p_0,:p_1,:p3)
|
|
474
474
|
} else {
|
|
475
475
|
(options.bindParams as Record<string, any>)[tagContext.contents] = value;
|
|
476
476
|
result += `:${tagContext.contents}`;
|
|
@@ -487,7 +487,7 @@ export class SQLBuilder {
|
|
|
487
487
|
placeholders.push(`@${paramName}`);
|
|
488
488
|
(options.bindParams as Record<string, any>)[paramName] = value[i];
|
|
489
489
|
}
|
|
490
|
-
result +=
|
|
490
|
+
result += placeholders.join(','); // IN (:p_0,:p_1,:p3)
|
|
491
491
|
} else {
|
|
492
492
|
(options.bindParams as Record<string, any>)[tagContext.contents] = value;
|
|
493
493
|
result += `@${tagContext.contents}`;
|
|
@@ -559,10 +559,12 @@ export class SQLBuilder {
|
|
|
559
559
|
break;
|
|
560
560
|
case c === '(':
|
|
561
561
|
// 丸括弧開始
|
|
562
|
-
bracket = true;
|
|
563
|
-
break;
|
|
562
|
+
// bracket = true;
|
|
563
|
+
// break;
|
|
564
|
+
return i;
|
|
564
565
|
case c === ')':
|
|
565
|
-
throw new Error(`[SQLBuilder] 括弧が開始されていません [index: ${i}, subsequence: '${template.substring(Math.max(i - 20, 0), i + 20)}']`);
|
|
566
|
+
// throw new Error(`[SQLBuilder] 括弧が開始されていません [index: ${i}, subsequence: '${template.substring(Math.max(i - 20, 0), i + 20)}']`);
|
|
567
|
+
return i;
|
|
566
568
|
case c === '*' && 1 < i && chars[i - 1] === '/':
|
|
567
569
|
// 次ノード開始
|
|
568
570
|
return i - 1;
|
|
@@ -647,7 +649,7 @@ export class SQLBuilder {
|
|
|
647
649
|
default:
|
|
648
650
|
// string
|
|
649
651
|
if (Array.isArray(value)) {
|
|
650
|
-
result =
|
|
652
|
+
result = value.map(v => typeof v === 'string' ? `'${this.escape(v)}'` : v).join(',');
|
|
651
653
|
} else {
|
|
652
654
|
result = typeof value === 'string' ? `'${this.escape(value)}'` : value;
|
|
653
655
|
}
|