@devrev/meerkat-core 0.0.126 → 0.0.127

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrev/meerkat-core",
3
- "version": "0.0.126",
3
+ "version": "0.0.127",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0"
6
6
  },
@@ -0,0 +1,6 @@
1
+ import { CubeToParseExpressionTransform } from '../factory';
2
+ /**
3
+ * For array columns: (col IS NULL OR len(col) = 0)
4
+ * For non-array columns: (col IS NULL)
5
+ */
6
+ export declare const emptyTransform: CubeToParseExpressionTransform;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayEmptyTransform = void 0;
3
+ exports.emptyTransform = void 0;
4
4
  const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
5
5
  const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
6
- const arrayEmptyCondition = (columnName, options) => {
6
+ const emptyCondition = (columnName, options) => {
7
7
  const columnRef = (0, base_condition_builder_1.createColumnRef)(columnName, { isAlias: options.isAlias });
8
8
  return {
9
9
  class: Expression_1.ExpressionClass.CONJUNCTION,
@@ -48,23 +48,28 @@ const arrayEmptyCondition = (columnName, options) => {
48
48
  ],
49
49
  };
50
50
  };
51
+ const nullCondition = (columnName, options) => ({
52
+ class: Expression_1.ExpressionClass.OPERATOR,
53
+ type: Expression_1.ExpressionType.OPERATOR_IS_NULL,
54
+ alias: '',
55
+ children: [(0, base_condition_builder_1.createColumnRef)(columnName, { isAlias: options.isAlias })],
56
+ });
51
57
  /**
52
- * Generates: (col IS NULL OR len(col) = 0)
53
- *
54
- * Only valid for array columns. Throws if the member type is not an array.
58
+ * For array columns: (col IS NULL OR len(col) = 0)
59
+ * For non-array columns: (col IS NULL)
55
60
  */
56
- const arrayEmptyTransform = (query, options) => {
61
+ const emptyTransform = (query, options) => {
57
62
  const { member, memberInfo } = query;
58
63
  if (memberInfo) {
59
64
  switch (memberInfo.type) {
60
65
  case 'string_array':
61
66
  case 'number_array':
62
- return arrayEmptyCondition(member, options);
67
+ return emptyCondition(member, options);
63
68
  default:
64
- throw new Error(`arrayEmpty operator requires an array column, but "${member}" has type "${memberInfo.type}"`);
69
+ return nullCondition(member, options);
65
70
  }
66
71
  }
67
- return arrayEmptyCondition(member, options);
72
+ return emptyCondition(member, options);
68
73
  };
69
- exports.arrayEmptyTransform = arrayEmptyTransform;
70
- //# sourceMappingURL=array-empty.js.map
74
+ exports.emptyTransform = emptyTransform;
75
+ //# sourceMappingURL=empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/empty/empty.ts"],"names":[],"mappings":";;;AAAA,gGAGyE;AACzE,6FAAmF;AAGnF,MAAM,cAAc,GAAG,CACrB,UAAkB,EAClB,OAA6B,EAC7B,EAAE;IACF,MAAM,SAAS,GAAG,IAAA,wCAAe,EAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5E,OAAO;QACL,KAAK,EAAE,4BAAe,CAAC,WAAW;QAClC,IAAI,EAAE,2BAAc,CAAC,cAAc;QACnC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,gBAAgB;gBACrC,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;YACD;gBACE,KAAK,EAAE,4BAAe,CAAC,UAAU;gBACjC,IAAI,EAAE,2BAAc,CAAC,aAAa;gBAClC,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE;oBACJ,KAAK,EAAE,4BAAe,CAAC,QAAQ;oBAC/B,IAAI,EAAE,2BAAc,CAAC,QAAQ;oBAC7B,KAAK,EAAE,EAAE;oBACT,aAAa,EAAE,KAAK;oBACpB,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,CAAC,SAAS,CAAC;oBACrB,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE;oBACjD,QAAQ,EAAE,KAAK;oBACf,WAAW,EAAE,KAAK;oBAClB,YAAY,EAAE,KAAK;oBACnB,OAAO,EAAE,EAAE;iBACZ;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;oBAC/B,IAAI,EAAE,2BAAc,CAAC,cAAc;oBACnC,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;wBACxC,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,CAAC;qBACT;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,UAAkB,EAClB,OAA6B,EAC7B,EAAE,CAAC,CAAC;IACJ,KAAK,EAAE,4BAAe,CAAC,QAAQ;IAC/B,IAAI,EAAE,2BAAc,CAAC,gBAAgB;IACrC,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,CAAC,IAAA,wCAAe,EAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACtE,CAAC,CAAC;AAEH;;;GAGG;AACI,MAAM,cAAc,GAAmC,CAC5D,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAErC,IAAI,UAAU,EAAE;QACd,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc;gBACjB,OAAO,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzC;gBACE,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACzC;KACF;IAED,OAAO,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cubeFilterToDuckdbAST = void 0;
4
4
  const type_guards_1 = require("../utils/type-guards");
5
5
  const and_1 = require("./and/and");
6
- const array_empty_1 = require("./array-empty/array-empty");
7
- const array_not_empty_1 = require("./array-not-empty/array-not-empty");
6
+ const empty_1 = require("./empty/empty");
7
+ const not_empty_1 = require("./not-empty/not-empty");
8
8
  const contains_1 = require("./contains/contains");
9
9
  const equals_1 = require("./equals/equals");
10
10
  const gt_1 = require("./gt/gt");
@@ -53,11 +53,11 @@ const cubeFilterOperatorsToDuckdb = (cubeFilter, options) => {
53
53
  case 'set': {
54
54
  return (0, set_1.setTransform)(cubeFilter, options);
55
55
  }
56
- case 'arrayEmpty': {
57
- return (0, array_empty_1.arrayEmptyTransform)(cubeFilter, options);
56
+ case 'empty': {
57
+ return (0, empty_1.emptyTransform)(cubeFilter, options);
58
58
  }
59
- case 'arrayNotEmpty': {
60
- return (0, array_not_empty_1.arrayNotEmptyTransform)(cubeFilter, options);
59
+ case 'notEmpty': {
60
+ return (0, not_empty_1.notEmptyTransform)(cubeFilter, options);
61
61
  }
62
62
  default:
63
63
  throw new Error('Could not transform the filter');
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-filter-transformer/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-filter-transformer/factory.ts"],"names":[],"mappings":";;;AAQA,sDAO8B;AAC9B,mCAA+C;AAC/C,yCAA+C;AAC/C,qDAA0D;AAE1D,kDAAwD;AACxD,4CAAkD;AAClD,gCAAsC;AACtC,mCAAyC;AACzC,iEAAqE;AACrE,gCAAsC;AACtC,gCAAsC;AACtC,mCAAyC;AACzC,6EAAgF;AAChF,8DAAmE;AACnE,wDAA6D;AAC7D,4CAAiD;AACjD,+CAAoD;AACpD,gCAA4C;AAC5C,mCAAyC;AAOzC,uBAAuB;AACvB,MAAM,2BAA2B,GAAG,CAClC,UAAkC,EAClC,OAA+B,EAC/B,EAAE;IACF,QAAQ,UAAU,CAAC,QAAQ,EAAE;QAC3B,KAAK,QAAQ;YACX,OAAO,IAAA,wBAAe,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,KAAK,WAAW;YACd,OAAO,IAAA,+BAAkB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,KAAK,IAAI;YACP,OAAO,IAAA,gBAAW,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1C,KAAK,OAAO;YACV,OAAO,IAAA,uBAAc,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7C,KAAK,UAAU;YACb,OAAO,IAAA,4BAAiB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,KAAK,aAAa;YAChB,OAAO,IAAA,mCAAoB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnD,KAAK,IAAI;YACP,OAAO,IAAA,gBAAW,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1C,KAAK,KAAK;YACR,OAAO,IAAA,kBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3C,KAAK,IAAI;YACP,OAAO,IAAA,gBAAW,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1C,KAAK,KAAK;YACR,OAAO,IAAA,kBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3C,KAAK,aAAa;YAChB,OAAO,IAAA,oCAAoB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnD,KAAK,gBAAgB;YACnB,OAAO,IAAA,2CAAuB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,KAAK,QAAQ,CAAC,CAAC;YACb,OAAO,IAAA,yBAAe,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAC7C;QACD,KAAK,KAAK,CAAC,CAAC;YACV,OAAO,IAAA,kBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAC1C;QACD,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,IAAA,sBAAc,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAC5C;QACD,KAAK,UAAU,CAAC,CAAC;YACf,OAAO,IAAA,6BAAiB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAC/C;QACD;YACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;KACrD;AACH,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CACrC,UAA+B,EAC/B,QAAiC,EACjC,OAA+B,EACN,EAAE;IAC3B;;OAEG;IACH,IAAI,CAAC,IAAA,2BAAa,EAAC,UAAU,CAAC,IAAI,IAAA,2BAAa,EAAC,UAAU,CAAC,EAAE;QAC3D,MAAM,IAAI,GAAG,2BAA2B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QACD,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,IAAA,2BAAa,EAAC,UAAU,CAAC,IAAI,IAAA,0BAAY,EAAC,UAAU,CAAC,EAAE;QAC1D,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QACD,+BAA+B;QAC/B,MAAM,mBAAmB,GAAG,IAAA,wBAAkB,GAAE,CAAC;QACjD,MAAM,IAAI,GAAG,8BAA8B,CACzC,UAAU,CAAC,GAAG,EACd,mBAAmB,EACnB,OAAO,CACR,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,IAAA,2BAAa,EAAC,UAAU,CAAC,IAAI,IAAA,yBAAW,EAAC,UAAU,CAAC,EAAE;QACzD,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QACD,+BAA+B;QAC/B,MAAM,kBAAkB,GAAG,IAAA,sBAAiB,GAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,8BAA8B,CACzC,UAAU,CAAC,EAAE,EACb,kBAAkB,EAClB,OAAO,CACR,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IAED,IAAI,IAAA,2BAAa,EAAC,UAAU,CAAC,EAAE;QAC7B,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;YAC/B,MAAM,IAAI,GAAG,8BAA8B,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvE,IAAI,IAAI,EAAE;gBACR,IAAI,IAAA,yBAAW,EAAC,QAAQ,CAAC,EAAE;oBACzB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC9B;qBAAM;oBACL,QAAQ,GAAG,IAAI,CAAC;iBACjB;aACF;SACF;QACD,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CACnC,UAAgC,EAChC,GAAoB,EACpB,OAA+B,EAC/B,EAAE;IACF,IAAI,QAAQ,GACT,GAAG,CAAC,IAAmB,CAAC,YAAY,IAAI,IAAI,CAAC;IAEhD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAE7B,IAAI,IAAA,2BAAa,EAAC,MAAM,CAAC,EAAE;QACzB,QAAQ,GAAG,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACzD;IAED,IAAI,IAAA,4BAAc,EAAC,MAAM,CAAC,EAAE;QAC1B,+BAA+B;QAC/B,QAAQ,GAAG,8BAA8B,CACvC,MAAM,EACN,QAAQ,IAAI,IAAI,EAChB,OAAO,CACR,CAAC;KACH;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA7BW,QAAA,qBAAqB,yBA6BhC"}
@@ -0,0 +1,6 @@
1
+ import { CubeToParseExpressionTransform } from '../factory';
2
+ /**
3
+ * For array columns: (col IS NOT NULL AND len(col) > 0)
4
+ * For non-array columns: (col IS NOT NULL)
5
+ */
6
+ export declare const notEmptyTransform: CubeToParseExpressionTransform;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayNotEmptyTransform = void 0;
3
+ exports.notEmptyTransform = void 0;
4
4
  const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
5
5
  const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
6
- const arrayNotEmptyCondition = (columnName, options) => {
6
+ const notEmptyCondition = (columnName, options) => {
7
7
  const columnRef = (0, base_condition_builder_1.createColumnRef)(columnName, { isAlias: options.isAlias });
8
8
  return {
9
9
  class: Expression_1.ExpressionClass.CONJUNCTION,
@@ -48,23 +48,28 @@ const arrayNotEmptyCondition = (columnName, options) => {
48
48
  ],
49
49
  };
50
50
  };
51
+ const notNullCondition = (columnName, options) => ({
52
+ class: Expression_1.ExpressionClass.OPERATOR,
53
+ type: Expression_1.ExpressionType.OPERATOR_IS_NOT_NULL,
54
+ alias: '',
55
+ children: [(0, base_condition_builder_1.createColumnRef)(columnName, { isAlias: options.isAlias })],
56
+ });
51
57
  /**
52
- * Generates: (col IS NOT NULL AND len(col) > 0)
53
- *
54
- * Only valid for array columns. Throws if the member type is not an array.
58
+ * For array columns: (col IS NOT NULL AND len(col) > 0)
59
+ * For non-array columns: (col IS NOT NULL)
55
60
  */
56
- const arrayNotEmptyTransform = (query, options) => {
61
+ const notEmptyTransform = (query, options) => {
57
62
  const { member, memberInfo } = query;
58
63
  if (memberInfo) {
59
64
  switch (memberInfo.type) {
60
65
  case 'string_array':
61
66
  case 'number_array':
62
- return arrayNotEmptyCondition(member, options);
67
+ return notEmptyCondition(member, options);
63
68
  default:
64
- throw new Error(`arrayNotEmpty operator requires an array column, but "${member}" has type "${memberInfo.type}"`);
69
+ return notNullCondition(member, options);
65
70
  }
66
71
  }
67
- return arrayNotEmptyCondition(member, options);
72
+ return notEmptyCondition(member, options);
68
73
  };
69
- exports.arrayNotEmptyTransform = arrayNotEmptyTransform;
70
- //# sourceMappingURL=array-not-empty.js.map
74
+ exports.notEmptyTransform = notEmptyTransform;
75
+ //# sourceMappingURL=not-empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-empty.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-empty/not-empty.ts"],"names":[],"mappings":";;;AAAA,gGAGyE;AACzE,6FAAmF;AAGnF,MAAM,iBAAiB,GAAG,CACxB,UAAkB,EAClB,OAA6B,EAC7B,EAAE;IACF,MAAM,SAAS,GAAG,IAAA,wCAAe,EAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5E,OAAO;QACL,KAAK,EAAE,4BAAe,CAAC,WAAW;QAClC,IAAI,EAAE,2BAAc,CAAC,eAAe;QACpC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,oBAAoB;gBACzC,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;YACD;gBACE,KAAK,EAAE,4BAAe,CAAC,UAAU;gBACjC,IAAI,EAAE,2BAAc,CAAC,mBAAmB;gBACxC,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE;oBACJ,KAAK,EAAE,4BAAe,CAAC,QAAQ;oBAC/B,IAAI,EAAE,2BAAc,CAAC,QAAQ;oBAC7B,KAAK,EAAE,EAAE;oBACT,aAAa,EAAE,KAAK;oBACpB,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,CAAC,SAAS,CAAC;oBACrB,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE;oBACjD,QAAQ,EAAE,KAAK;oBACf,WAAW,EAAE,KAAK;oBAClB,YAAY,EAAE,KAAK;oBACnB,OAAO,EAAE,EAAE;iBACZ;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;oBAC/B,IAAI,EAAE,2BAAc,CAAC,cAAc;oBACnC,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;wBACxC,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,CAAC;qBACT;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,UAAkB,EAClB,OAA6B,EAC7B,EAAE,CAAC,CAAC;IACJ,KAAK,EAAE,4BAAe,CAAC,QAAQ;IAC/B,IAAI,EAAE,2BAAc,CAAC,oBAAoB;IACzC,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,CAAC,IAAA,wCAAe,EAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACtE,CAAC,CAAC;AAEH;;;GAGG;AACI,MAAM,iBAAiB,GAAmC,CAC/D,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAErC,IAAI,UAAU,EAAE;QACd,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc;gBACjB,OAAO,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5C;gBACE,OAAO,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC5C;KACF;IAED,OAAO,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAC;AAjBW,QAAA,iBAAiB,qBAiB5B"}
@@ -25,7 +25,7 @@ type Member = string;
25
25
  /**
26
26
  * Filter operator string.
27
27
  */
28
- type FilterOperator = 'equals' | 'notEquals' | 'contains' | 'notContains' | 'in' | 'notIn' | 'gt' | 'gte' | 'lt' | 'lte' | 'set' | 'notSet' | 'arrayEmpty' | 'arrayNotEmpty' | 'inDateRange' | 'notInDateRange' | 'onTheDate' | 'beforeDate' | 'afterDate' | 'measureFilter';
28
+ type FilterOperator = 'equals' | 'notEquals' | 'contains' | 'notContains' | 'in' | 'notIn' | 'gt' | 'gte' | 'lt' | 'lte' | 'set' | 'notSet' | 'empty' | 'notEmpty' | 'inDateRange' | 'notInDateRange' | 'onTheDate' | 'beforeDate' | 'afterDate' | 'measureFilter';
29
29
  /**
30
30
  * Query order data type.
31
31
  */
@@ -1,7 +0,0 @@
1
- import { CubeToParseExpressionTransform } from '../factory';
2
- /**
3
- * Generates: (col IS NULL OR len(col) = 0)
4
- *
5
- * Only valid for array columns. Throws if the member type is not an array.
6
- */
7
- export declare const arrayEmptyTransform: CubeToParseExpressionTransform;
@@ -1 +0,0 @@
1
- {"version":3,"file":"array-empty.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/array-empty/array-empty.ts"],"names":[],"mappings":";;;AAAA,gGAGyE;AACzE,6FAAmF;AAGnF,MAAM,mBAAmB,GAAG,CAC1B,UAAkB,EAClB,OAA6B,EAC7B,EAAE;IACF,MAAM,SAAS,GAAG,IAAA,wCAAe,EAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5E,OAAO;QACL,KAAK,EAAE,4BAAe,CAAC,WAAW;QAClC,IAAI,EAAE,2BAAc,CAAC,cAAc;QACnC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,gBAAgB;gBACrC,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;YACD;gBACE,KAAK,EAAE,4BAAe,CAAC,UAAU;gBACjC,IAAI,EAAE,2BAAc,CAAC,aAAa;gBAClC,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE;oBACJ,KAAK,EAAE,4BAAe,CAAC,QAAQ;oBAC/B,IAAI,EAAE,2BAAc,CAAC,QAAQ;oBAC7B,KAAK,EAAE,EAAE;oBACT,aAAa,EAAE,KAAK;oBACpB,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,CAAC,SAAS,CAAC;oBACrB,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE;oBACjD,QAAQ,EAAE,KAAK;oBACf,WAAW,EAAE,KAAK;oBAClB,YAAY,EAAE,KAAK;oBACnB,OAAO,EAAE,EAAE;iBACZ;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;oBAC/B,IAAI,EAAE,2BAAc,CAAC,cAAc;oBACnC,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;wBACxC,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,CAAC;qBACT;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACI,MAAM,mBAAmB,GAAmC,CACjE,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAErC,IAAI,UAAU,EAAE;QACd,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc;gBACjB,OAAO,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9C;gBACE,MAAM,IAAI,KAAK,CACb,sDAAsD,MAAM,eAAe,UAAU,CAAC,IAAI,GAAG,CAC9F,CAAC;SACL;KACF;IAED,OAAO,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAnBW,QAAA,mBAAmB,uBAmB9B"}
@@ -1,7 +0,0 @@
1
- import { CubeToParseExpressionTransform } from '../factory';
2
- /**
3
- * Generates: (col IS NOT NULL AND len(col) > 0)
4
- *
5
- * Only valid for array columns. Throws if the member type is not an array.
6
- */
7
- export declare const arrayNotEmptyTransform: CubeToParseExpressionTransform;
@@ -1 +0,0 @@
1
- {"version":3,"file":"array-not-empty.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/array-not-empty/array-not-empty.ts"],"names":[],"mappings":";;;AAAA,gGAGyE;AACzE,6FAAmF;AAGnF,MAAM,sBAAsB,GAAG,CAC7B,UAAkB,EAClB,OAA6B,EAC7B,EAAE;IACF,MAAM,SAAS,GAAG,IAAA,wCAAe,EAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5E,OAAO;QACL,KAAK,EAAE,4BAAe,CAAC,WAAW;QAClC,IAAI,EAAE,2BAAc,CAAC,eAAe;QACpC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,oBAAoB;gBACzC,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;YACD;gBACE,KAAK,EAAE,4BAAe,CAAC,UAAU;gBACjC,IAAI,EAAE,2BAAc,CAAC,mBAAmB;gBACxC,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE;oBACJ,KAAK,EAAE,4BAAe,CAAC,QAAQ;oBAC/B,IAAI,EAAE,2BAAc,CAAC,QAAQ;oBAC7B,KAAK,EAAE,EAAE;oBACT,aAAa,EAAE,KAAK;oBACpB,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,CAAC,SAAS,CAAC;oBACrB,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE;oBACjD,QAAQ,EAAE,KAAK;oBACf,WAAW,EAAE,KAAK;oBAClB,YAAY,EAAE,KAAK;oBACnB,OAAO,EAAE,EAAE;iBACZ;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;oBAC/B,IAAI,EAAE,2BAAc,CAAC,cAAc;oBACnC,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;wBACxC,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,CAAC;qBACT;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACI,MAAM,sBAAsB,GAAmC,CACpE,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAErC,IAAI,UAAU,EAAE;QACd,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc;gBACjB,OAAO,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjD;gBACE,MAAM,IAAI,KAAK,CACb,yDAAyD,MAAM,eAAe,UAAU,CAAC,IAAI,GAAG,CACjG,CAAC;SACL;KACF;IAED,OAAO,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC,CAAC;AAnBW,QAAA,sBAAsB,0BAmBjC"}