bun-query-builder 0.2.23 → 0.2.25

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/dist/bin/cli.js CHANGED
@@ -15771,6 +15771,14 @@ function createQueryBuilder(state) {
15771
15771
  left = expression.text;
15772
15772
  params.push(...expression.parameters);
15773
15773
  }
15774
+ if (safeOperator.toLowerCase() === "in" || safeOperator.toLowerCase() === "not in") {
15775
+ const values = Array.isArray(value) ? value : [value];
15776
+ const placeholders = getPlaceholders(values.length, params.length + 1);
15777
+ sqlText = `${sqlText} ${getWhereKeyword()} ${left} ${safeOperator.toUpperCase()} (${placeholders})`;
15778
+ params.push(...values);
15779
+ built = _sql.unsafe(sqlText, params);
15780
+ return this;
15781
+ }
15774
15782
  const paramIndex = params.length + 1;
15775
15783
  sqlText = `${sqlText} ${getWhereKeyword()} ${left} ${safeOperator} ${getPlaceholder(paramIndex)}`;
15776
15784
  params.push(value);
@@ -15780,6 +15788,14 @@ function createQueryBuilder(state) {
15780
15788
  if (Array.isArray(expr)) {
15781
15789
  const [col, op2, val] = expr;
15782
15790
  const safeOperator = assertSafeWhereOperator(op2, "updateTable.where");
15791
+ if (safeOperator.toLowerCase() === "in" || safeOperator.toLowerCase() === "not in") {
15792
+ const values = Array.isArray(val) ? val : [val];
15793
+ const placeholders = getPlaceholders(values.length, params.length + 1);
15794
+ sqlText = `${sqlText} ${getWhereKeyword()} ${quoteId(String(col))} ${safeOperator.toUpperCase()} (${placeholders})`;
15795
+ params.push(...values);
15796
+ built = _sql.unsafe(sqlText, params);
15797
+ return this;
15798
+ }
15783
15799
  const paramIndex = params.length + 1;
15784
15800
  sqlText = `${sqlText} ${getWhereKeyword()} ${quoteId(String(col))} ${safeOperator} ${getPlaceholder(paramIndex)}`;
15785
15801
  params.push(val);
@@ -15910,16 +15926,34 @@ function createQueryBuilder(state) {
15910
15926
  where(expr, op, value) {
15911
15927
  whereCondition = expr;
15912
15928
  if (typeof expr === "string" && op !== undefined) {
15929
+ const safeOperator = assertSafeWhereOperator(op, "deleteFrom.where");
15930
+ if (safeOperator.toLowerCase() === "in" || safeOperator.toLowerCase() === "not in") {
15931
+ const values = Array.isArray(value) ? value : [value];
15932
+ const placeholders = getPlaceholders(values.length, delParams.length + 1);
15933
+ sqlText += ` ${getWhereKeyword()} ${quoteId(expr)} ${safeOperator.toUpperCase()} (${placeholders})`;
15934
+ delParams.push(...values);
15935
+ built = null;
15936
+ return this;
15937
+ }
15913
15938
  const paramIndex = delParams.length + 1;
15914
- sqlText += ` ${getWhereKeyword()} ${quoteId(expr)} ${op} ${getPlaceholder(paramIndex)}`;
15939
+ sqlText += ` ${getWhereKeyword()} ${quoteId(expr)} ${safeOperator} ${getPlaceholder(paramIndex)}`;
15915
15940
  delParams.push(value);
15916
15941
  built = null;
15917
15942
  return this;
15918
15943
  }
15919
15944
  if (Array.isArray(expr)) {
15920
15945
  const [col, oper, val] = expr;
15946
+ const safeOperator = assertSafeWhereOperator(oper, "deleteFrom.where");
15947
+ if (safeOperator.toLowerCase() === "in" || safeOperator.toLowerCase() === "not in") {
15948
+ const values = Array.isArray(val) ? val : [val];
15949
+ const placeholders = getPlaceholders(values.length, delParams.length + 1);
15950
+ sqlText += ` ${getWhereKeyword()} ${quoteId(String(col))} ${safeOperator.toUpperCase()} (${placeholders})`;
15951
+ delParams.push(...values);
15952
+ built = null;
15953
+ return this;
15954
+ }
15921
15955
  const paramIndex = delParams.length + 1;
15922
- sqlText += ` ${getWhereKeyword()} ${quoteId(String(col))} ${oper} ${getPlaceholder(paramIndex)}`;
15956
+ sqlText += ` ${getWhereKeyword()} ${quoteId(String(col))} ${safeOperator} ${getPlaceholder(paramIndex)}`;
15923
15957
  delParams.push(val);
15924
15958
  built = null;
15925
15959
  return this;
@@ -28330,7 +28364,7 @@ function info2(message) {
28330
28364
  console.log(message);
28331
28365
  }
28332
28366
  function snakeCase(str) {
28333
- return str.replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z\d])([A-Z])/g, "$1_$2").replace(/(\d)([A-Z])/gi, "$1_$2").toLowerCase();
28367
+ return str.replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z\d])([A-Z])/g, "$1_$2").toLowerCase();
28334
28368
  }
28335
28369
  function singularizeTable(table) {
28336
28370
  return singularizerFor(config5.relations?.singularizeStrategy)(table);
@@ -31656,7 +31690,7 @@ function getPrefix() {
31656
31690
  }
31657
31691
  var prefix = getPrefix();
31658
31692
  // package.json
31659
- var version2 = "0.2.23";
31693
+ var version2 = "0.2.25";
31660
31694
 
31661
31695
  // bin/cli.ts
31662
31696
  init_actions();
package/dist/src/index.js CHANGED
@@ -15770,6 +15770,14 @@ function createQueryBuilder(state) {
15770
15770
  left = expression.text;
15771
15771
  params.push(...expression.parameters);
15772
15772
  }
15773
+ if (safeOperator.toLowerCase() === "in" || safeOperator.toLowerCase() === "not in") {
15774
+ const values = Array.isArray(value) ? value : [value];
15775
+ const placeholders = getPlaceholders(values.length, params.length + 1);
15776
+ sqlText = `${sqlText} ${getWhereKeyword()} ${left} ${safeOperator.toUpperCase()} (${placeholders})`;
15777
+ params.push(...values);
15778
+ built = _sql.unsafe(sqlText, params);
15779
+ return this;
15780
+ }
15773
15781
  const paramIndex = params.length + 1;
15774
15782
  sqlText = `${sqlText} ${getWhereKeyword()} ${left} ${safeOperator} ${getPlaceholder(paramIndex)}`;
15775
15783
  params.push(value);
@@ -15779,6 +15787,14 @@ function createQueryBuilder(state) {
15779
15787
  if (Array.isArray(expr)) {
15780
15788
  const [col, op2, val] = expr;
15781
15789
  const safeOperator = assertSafeWhereOperator(op2, "updateTable.where");
15790
+ if (safeOperator.toLowerCase() === "in" || safeOperator.toLowerCase() === "not in") {
15791
+ const values = Array.isArray(val) ? val : [val];
15792
+ const placeholders = getPlaceholders(values.length, params.length + 1);
15793
+ sqlText = `${sqlText} ${getWhereKeyword()} ${quoteId(String(col))} ${safeOperator.toUpperCase()} (${placeholders})`;
15794
+ params.push(...values);
15795
+ built = _sql.unsafe(sqlText, params);
15796
+ return this;
15797
+ }
15782
15798
  const paramIndex = params.length + 1;
15783
15799
  sqlText = `${sqlText} ${getWhereKeyword()} ${quoteId(String(col))} ${safeOperator} ${getPlaceholder(paramIndex)}`;
15784
15800
  params.push(val);
@@ -15909,16 +15925,34 @@ function createQueryBuilder(state) {
15909
15925
  where(expr, op, value) {
15910
15926
  whereCondition = expr;
15911
15927
  if (typeof expr === "string" && op !== undefined) {
15928
+ const safeOperator = assertSafeWhereOperator(op, "deleteFrom.where");
15929
+ if (safeOperator.toLowerCase() === "in" || safeOperator.toLowerCase() === "not in") {
15930
+ const values = Array.isArray(value) ? value : [value];
15931
+ const placeholders = getPlaceholders(values.length, delParams.length + 1);
15932
+ sqlText += ` ${getWhereKeyword()} ${quoteId(expr)} ${safeOperator.toUpperCase()} (${placeholders})`;
15933
+ delParams.push(...values);
15934
+ built = null;
15935
+ return this;
15936
+ }
15912
15937
  const paramIndex = delParams.length + 1;
15913
- sqlText += ` ${getWhereKeyword()} ${quoteId(expr)} ${op} ${getPlaceholder(paramIndex)}`;
15938
+ sqlText += ` ${getWhereKeyword()} ${quoteId(expr)} ${safeOperator} ${getPlaceholder(paramIndex)}`;
15914
15939
  delParams.push(value);
15915
15940
  built = null;
15916
15941
  return this;
15917
15942
  }
15918
15943
  if (Array.isArray(expr)) {
15919
15944
  const [col, oper, val] = expr;
15945
+ const safeOperator = assertSafeWhereOperator(oper, "deleteFrom.where");
15946
+ if (safeOperator.toLowerCase() === "in" || safeOperator.toLowerCase() === "not in") {
15947
+ const values = Array.isArray(val) ? val : [val];
15948
+ const placeholders = getPlaceholders(values.length, delParams.length + 1);
15949
+ sqlText += ` ${getWhereKeyword()} ${quoteId(String(col))} ${safeOperator.toUpperCase()} (${placeholders})`;
15950
+ delParams.push(...values);
15951
+ built = null;
15952
+ return this;
15953
+ }
15920
15954
  const paramIndex = delParams.length + 1;
15921
- sqlText += ` ${getWhereKeyword()} ${quoteId(String(col))} ${oper} ${getPlaceholder(paramIndex)}`;
15955
+ sqlText += ` ${getWhereKeyword()} ${quoteId(String(col))} ${safeOperator} ${getPlaceholder(paramIndex)}`;
15922
15956
  delParams.push(val);
15923
15957
  built = null;
15924
15958
  return this;
@@ -28329,7 +28363,7 @@ function info2(message) {
28329
28363
  console.log(message);
28330
28364
  }
28331
28365
  function snakeCase(str) {
28332
- return str.replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z\d])([A-Z])/g, "$1_$2").replace(/(\d)([A-Z])/gi, "$1_$2").toLowerCase();
28366
+ return str.replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z\d])([A-Z])/g, "$1_$2").toLowerCase();
28333
28367
  }
28334
28368
  function singularizeTable(table) {
28335
28369
  return singularizerFor(config5.relations?.singularizeStrategy)(table);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bun-query-builder",
3
3
  "type": "module",
4
- "version": "0.2.23",
4
+ "version": "0.2.25",
5
5
  "description": "A simple yet performant query builder for TypeScript. Built with Bun.",
6
6
  "author": "Chris Breuer <chris@stacksjs.org>",
7
7
  "license": "MIT",