@qrvey/formula-lang 3.1.0-rc.741 → 3.1.0-rc.744

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.
@@ -61,7 +61,7 @@ function databricks(...args) {
61
61
  return sql(...args);
62
62
  }
63
63
  function mssql(...args) {
64
- const predicates = args.map((arg) => (0, scripts_1.normalizePredicate)(arg));
65
- return `IIF(${predicates.join(' AND ')}, CAST(1 AS BIT), CAST(0 AS BIT))`;
64
+ const castedArgs = args.map((arg) => (0, scripts_1.castBooleansExpression)(arg));
65
+ return sql(...castedArgs);
66
66
  }
67
67
  //# sourceMappingURL=and.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/functions/and.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,sEAAmE;AACnE,oDAA4D;AAE5D;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,2BAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,2BAAe,CAAC,GAAG,EAAE,2BAAe,CAAC,SAAS,CAAC;IAC/D,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,IAAc;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,4BAAkB,EAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,OAAO,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/functions/and.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,sEAAmE;AACnE,oDAGgC;AAEhC;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,2BAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,2BAAe,CAAC,GAAG,EAAE,2BAAe,CAAC,SAAS,CAAC;IAC/D,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,IAAW;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,gCAAsB,EAAC,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9B,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OR = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const isBooleanExpression_1 = require("../utils/isBooleanExpression");
6
+ const mssql_1 = require("../utils/mssql");
6
7
  /**
7
8
  * `OR` Returns true if any expressions are truthy; otherwise, it will return false.
8
9
  */
@@ -60,17 +61,7 @@ function databricks(...args) {
60
61
  return sql(...args);
61
62
  }
62
63
  function mssql(...args) {
63
- const boolPreds = args.map((arg) => {
64
- const expr = arg.trim();
65
- if (/^(IIF\(|CASE\b)/i.test(expr)) {
66
- return `(${expr} = CAST(1 AS BIT))`;
67
- }
68
- if (/[<>=]/.test(expr)) {
69
- return expr;
70
- }
71
- return `(${expr} = CAST(1 AS BIT))`;
72
- });
73
- const condition = boolPreds.join(' OR ');
74
- return `IIF(${condition}, CAST(1 AS BIT), CAST(0 AS BIT))`;
64
+ const castedArgs = args.map((arg) => (0, mssql_1.castBooleansExpression)(arg));
65
+ return sql(...castedArgs);
75
66
  }
76
67
  //# sourceMappingURL=or.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"or.js","sourceRoot":"","sources":["../../../src/functions/or.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,sEAAmE;AAEnE;;GAEG;AACU,QAAA,EAAE,GAAuB;IAClC,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,2BAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,2BAAe,CAAC,GAAG,EAAE,2BAAe,CAAC,SAAS,CAAC;IAC/D,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,IAAc;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,IAAI,oBAAoB,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,IAAI,oBAAoB,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,OAAO,SAAS,mCAAmC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"or.js","sourceRoot":"","sources":["../../../src/functions/or.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,sEAAmE;AACnE,0CAAwD;AAExD;;GAEG;AACU,QAAA,EAAE,GAAuB;IAClC,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,2BAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,2BAAe,CAAC,GAAG,EAAE,2BAAe,CAAC,SAAS,CAAC;IAC/D,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,0BAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,0BAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,IAAW;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,8BAAsB,EAAC,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
2
  import { isBooleanExpression } from '../utils/isBooleanExpression';
3
- import { normalizePredicate } from '../utils/mssql/scripts';
3
+ import { castBooleansExpression, } from '../utils/mssql/scripts';
4
4
  /**
5
5
  * `AND` Returns true if all expressions are truthy; otherwise, it will return false.
6
6
  */
@@ -58,7 +58,7 @@ function databricks(...args) {
58
58
  return sql(...args);
59
59
  }
60
60
  function mssql(...args) {
61
- const predicates = args.map((arg) => normalizePredicate(arg));
62
- return `IIF(${predicates.join(' AND ')}, CAST(1 AS BIT), CAST(0 AS BIT))`;
61
+ const castedArgs = args.map((arg) => castBooleansExpression(arg));
62
+ return sql(...castedArgs);
63
63
  }
64
64
  //# sourceMappingURL=and.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/functions/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,eAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC;IAC/D,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,IAAc;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,OAAO,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/functions/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACH,sBAAsB,GAEzB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,eAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC;IAC/D,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,IAAW;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
2
  import { isBooleanExpression } from '../utils/isBooleanExpression';
3
+ import { castBooleansExpression } from '../utils/mssql';
3
4
  /**
4
5
  * `OR` Returns true if any expressions are truthy; otherwise, it will return false.
5
6
  */
@@ -57,17 +58,7 @@ function databricks(...args) {
57
58
  return sql(...args);
58
59
  }
59
60
  function mssql(...args) {
60
- const boolPreds = args.map((arg) => {
61
- const expr = arg.trim();
62
- if (/^(IIF\(|CASE\b)/i.test(expr)) {
63
- return `(${expr} = CAST(1 AS BIT))`;
64
- }
65
- if (/[<>=]/.test(expr)) {
66
- return expr;
67
- }
68
- return `(${expr} = CAST(1 AS BIT))`;
69
- });
70
- const condition = boolPreds.join(' OR ');
71
- return `IIF(${condition}, CAST(1 AS BIT), CAST(0 AS BIT))`;
61
+ const castedArgs = args.map((arg) => castBooleansExpression(arg));
62
+ return sql(...castedArgs);
72
63
  }
73
64
  //# sourceMappingURL=or.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"or.js","sourceRoot":"","sources":["../../../src/functions/or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,EAAE,GAAuB;IAClC,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,eAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC;IAC/D,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,IAAc;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,IAAI,oBAAoB,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,IAAI,oBAAoB,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,OAAO,SAAS,mCAAmC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"or.js","sourceRoot":"","sources":["../../../src/functions/or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,EAAE,GAAuB;IAClC,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,eAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC;IAC/D,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,IAAW;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/formula-lang",
3
- "version": "3.1.0-rc.741",
3
+ "version": "3.1.0-rc.744",
4
4
  "description": "QFormula support for qrvey projects",
5
5
  "types": "dist/module/index.d.ts",
6
6
  "main": "dist/module/index.js",