@cubejs-client/ngx 0.34.41 → 0.35.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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@cubejs-client/core'), require('rxjs/operators'), require('fast-deep-equal')) :
3
3
  typeof define === 'function' && define.amd ? define('@cubejs-client/ngx', ['exports', '@angular/core', 'rxjs', '@cubejs-client/core', 'rxjs/operators', 'fast-deep-equal'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["cubejs-client"] = global["cubejs-client"] || {}, global["cubejs-client"].ngx = {}), global.ng.core, global.rxjs, global.cubejs, global.rxjs.operators, global.equal));
5
- })(this, (function (exports, i0, rxjs, cubejs, operators, equal) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["cubejs-client"] = global["cubejs-client"] || {}, global["cubejs-client"].ngx = {}), global.ng.core, global.rxjs, global.cube, global.rxjs.operators, global.equal));
5
+ })(this, (function (exports, i0, rxjs, cube, operators, equal) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -25,7 +25,7 @@
25
25
  }
26
26
 
27
27
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
- var cubejs__default = /*#__PURE__*/_interopDefaultLegacy(cubejs);
28
+ var cube__default = /*#__PURE__*/_interopDefaultLegacy(cube);
29
29
  var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
30
30
 
31
31
  /*! *****************************************************************************
@@ -346,8 +346,8 @@
346
346
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
347
347
  }
348
348
 
349
- var CubejsClient = /** @class */ (function () {
350
- function CubejsClient(config) {
349
+ var CubeClient = /** @class */ (function () {
350
+ function CubeClient(config) {
351
351
  var _this = this;
352
352
  this.config = config;
353
353
  this.ready$ = new rxjs.BehaviorSubject(false);
@@ -360,36 +360,36 @@
360
360
  this.ready$.next(true);
361
361
  }
362
362
  }
363
- CubejsClient.prototype.apiInstance = function () {
363
+ CubeClient.prototype.apiInstance = function () {
364
364
  var _this = this;
365
- if (!this.cubeJsApi) {
365
+ if (!this.cubeApi) {
366
366
  if (this.config instanceof rxjs.Observable) {
367
367
  this.config.subscribe(function (config) {
368
- _this.cubeJsApi = cubejs__default["default"](config.token, config.options);
369
- if (!_this.cubeJsApi) {
370
- throw new Error('Cannot create CubejsApi instance. Please check that the config is passed correctly and contains all required options.');
368
+ _this.cubeApi = cube__default["default"](config.token, config.options);
369
+ if (!_this.cubeApi) {
370
+ throw new Error('Cannot create CubeApi instance. Please check that the config is passed correctly and contains all required options.');
371
371
  }
372
372
  });
373
373
  }
374
374
  else {
375
- this.cubeJsApi = cubejs__default["default"](this.config.token, this.config.options);
375
+ this.cubeApi = cube__default["default"](this.config.token, this.config.options);
376
376
  }
377
377
  }
378
- return this.cubeJsApi;
378
+ return this.cubeApi;
379
379
  };
380
- CubejsClient.prototype.load = function (query, options) {
380
+ CubeClient.prototype.load = function (query, options) {
381
381
  return rxjs.from(this.apiInstance().load(query, options));
382
382
  };
383
- CubejsClient.prototype.sql = function (query, options) {
383
+ CubeClient.prototype.sql = function (query, options) {
384
384
  return rxjs.from(this.apiInstance().sql(query, options));
385
385
  };
386
- CubejsClient.prototype.dryRun = function (query, options) {
386
+ CubeClient.prototype.dryRun = function (query, options) {
387
387
  return rxjs.from(this.apiInstance().dryRun(query, options));
388
388
  };
389
- CubejsClient.prototype.meta = function (options) {
389
+ CubeClient.prototype.meta = function (options) {
390
390
  return rxjs.from(this.apiInstance().meta(options));
391
391
  };
392
- CubejsClient.prototype.watch = function (query, params) {
392
+ CubeClient.prototype.watch = function (query, params) {
393
393
  var _this = this;
394
394
  if (params === void 0) { params = {}; }
395
395
  return new rxjs.Observable(function (observer) { return query.subscribe({
@@ -414,12 +414,12 @@
414
414
  }); },
415
415
  }); });
416
416
  };
417
- return CubejsClient;
417
+ return CubeClient;
418
418
  }());
419
- /** @nocollapse */ CubejsClient.ɵfac = function CubejsClient_Factory(t) { return new (t || CubejsClient)(i0__namespace.ɵɵinject('config')); };
420
- /** @nocollapse */ CubejsClient.ɵprov = /** @pureOrBreakMyCode */ i0__namespace.ɵɵdefineInjectable({ token: CubejsClient, factory: CubejsClient.ɵfac });
419
+ /** @nocollapse */ CubeClient.ɵfac = function CubeClient_Factory(t) { return new (t || CubeClient)(i0__namespace.ɵɵinject('config')); };
420
+ /** @nocollapse */ CubeClient.ɵprov = /** @pureOrBreakMyCode */ i0__namespace.ɵɵdefineInjectable({ token: CubeClient, factory: CubeClient.ɵfac });
421
421
  (function () {
422
- (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(CubejsClient, [{
422
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(CubeClient, [{
423
423
  type: i0.Injectable
424
424
  }], function () {
425
425
  return [{ type: undefined, decorators: [{
@@ -429,14 +429,14 @@
429
429
  }, null);
430
430
  })();
431
431
 
432
- var CubejsClientModule = /** @class */ (function () {
433
- function CubejsClientModule() {
432
+ var CubeClientModule = /** @class */ (function () {
433
+ function CubeClientModule() {
434
434
  }
435
- CubejsClientModule.forRoot = function (config) {
435
+ CubeClientModule.forRoot = function (config) {
436
436
  return {
437
- ngModule: CubejsClientModule,
437
+ ngModule: CubeClientModule,
438
438
  providers: [
439
- CubejsClient,
439
+ CubeClient,
440
440
  {
441
441
  provide: 'config',
442
442
  useValue: config,
@@ -444,16 +444,16 @@
444
444
  ],
445
445
  };
446
446
  };
447
- return CubejsClientModule;
447
+ return CubeClientModule;
448
448
  }());
449
- /** @nocollapse */ CubejsClientModule.ɵfac = function CubejsClientModule_Factory(t) { return new (t || CubejsClientModule)(); };
450
- /** @nocollapse */ CubejsClientModule.ɵmod = /** @pureOrBreakMyCode */ i0__namespace.ɵɵdefineNgModule({ type: CubejsClientModule });
451
- /** @nocollapse */ CubejsClientModule.ɵinj = /** @pureOrBreakMyCode */ i0__namespace.ɵɵdefineInjector({ providers: [CubejsClient] });
449
+ /** @nocollapse */ CubeClientModule.ɵfac = function CubeClientModule_Factory(t) { return new (t || CubeClientModule)(); };
450
+ /** @nocollapse */ CubeClientModule.ɵmod = /** @pureOrBreakMyCode */ i0__namespace.ɵɵdefineNgModule({ type: CubeClientModule });
451
+ /** @nocollapse */ CubeClientModule.ɵinj = /** @pureOrBreakMyCode */ i0__namespace.ɵɵdefineInjector({ providers: [CubeClient] });
452
452
  (function () {
453
- (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(CubejsClientModule, [{
453
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(CubeClientModule, [{
454
454
  type: i0.NgModule,
455
455
  args: [{
456
- providers: [CubejsClient],
456
+ providers: [CubeClient],
457
457
  }]
458
458
  }], null, null);
459
459
  })();
@@ -627,7 +627,7 @@
627
627
  }));
628
628
  };
629
629
  Order.prototype.reorder = function (sourceIndex, destinationIndex) {
630
- this.orderMembers.next(cubejs.moveItemInArray(this.orderMembers.getValue(), sourceIndex, destinationIndex));
630
+ this.orderMembers.next(cube.moveItemInArray(this.orderMembers.getValue(), sourceIndex, destinationIndex));
631
631
  };
632
632
  Order.prototype.of = function (member) {
633
633
  return (this.query.asCubeQuery().order || {})[member] || 'none';
@@ -755,7 +755,7 @@
755
755
  this.setPartialQuery({ limit: limit });
756
756
  };
757
757
  Query.prototype.isPresent = function () {
758
- return cubejs.isQueryPresent(this.asCubeQuery());
758
+ return cube.isQueryPresent(this.asCubeQuery());
759
759
  };
760
760
  return Query;
761
761
  }(StateSubject));
@@ -794,7 +794,7 @@
794
794
  return _super.call(this, pivotConfig) || this;
795
795
  }
796
796
  PivotConfig.prototype.moveItem = function (sourceIndex, destinationIndex, sourceAxis, destinationAxis) {
797
- this.subject.next(cubejs.movePivotItem(this.get(), sourceIndex, destinationIndex, sourceAxis, destinationAxis));
797
+ this.subject.next(cube.movePivotItem(this.get(), sourceIndex, destinationIndex, sourceAxis, destinationAxis));
798
798
  };
799
799
  PivotConfig.prototype.setFillMissingDates = function (fillMissingDates) {
800
800
  this.subject.next(Object.assign(Object.assign({}, this.get()), { fillMissingDates: fillMissingDates }));
@@ -825,7 +825,7 @@
825
825
  return __generator(this, function (_c) {
826
826
  this.pivotConfig = new PivotConfig(null);
827
827
  this.chartType = new ChartType('line');
828
- this._cubejs.meta().subscribe(function (meta) {
828
+ this._cube.meta().subscribe(function (meta) {
829
829
  _this._meta = meta;
830
830
  _this._query = new Query(_this._meta, _this._handleQueryChange.bind(_this));
831
831
  _this._resolveQuery(_this._query);
@@ -836,7 +836,7 @@
836
836
  this._heuristicChange$
837
837
  .pipe(operators.switchMap(function (data) {
838
838
  return rxjs.combineLatest([
839
- _this._cubejs.dryRun(data.query).pipe(operators.catchError(function (error) {
839
+ _this._cube.dryRun(data.query).pipe(operators.catchError(function (error) {
840
840
  console.error(error);
841
841
  return rxjs.of(null);
842
842
  })),
@@ -849,7 +849,7 @@
849
849
  return;
850
850
  }
851
851
  var pivotQuery = dryRunResponse.pivotQuery, queryOrder = dryRunResponse.queryOrder;
852
- _this.pivotConfig.set(cubejs.ResultSet.getNormalizedPivotConfig(pivotQuery, _this.pivotConfig.get()));
852
+ _this.pivotConfig.set(cube.ResultSet.getNormalizedPivotConfig(pivotQuery, _this.pivotConfig.get()));
853
853
  if (shouldApplyHeuristicOrder) {
854
854
  _this._query.order.set(queryOrder.reduce(function (a, b) { return (Object.assign(Object.assign({}, a), b)); }, {}));
855
855
  }
@@ -861,14 +861,14 @@
861
861
  };
862
862
  QueryBuilderService.prototype._handleQueryChange = function (newQuery, oldQuery) {
863
863
  var _a, _b;
864
- var _c = cubejs.defaultHeuristics(newQuery, oldQuery, {
864
+ var _c = cube.defaultHeuristics(newQuery, oldQuery, {
865
865
  meta: this._meta,
866
866
  sessionGranularity: (_b = (_a = newQuery === null || newQuery === void 0 ? void 0 : newQuery.timeDimensions) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.granularity,
867
867
  }), chartType = _c.chartType, shouldApplyHeuristicOrder = _c.shouldApplyHeuristicOrder, heuristicQuery = _c.query;
868
868
  var query = this._disableHeuristics
869
869
  ? newQuery
870
870
  : heuristicQuery || newQuery;
871
- if (cubejs.isQueryPresent(query) && !this._disableHeuristics) {
871
+ if (cube.isQueryPresent(query) && !this._disableHeuristics) {
872
872
  this._heuristicChange$.next({
873
873
  shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),
874
874
  query: query,
@@ -879,8 +879,8 @@
879
879
  }
880
880
  return query;
881
881
  };
882
- QueryBuilderService.prototype.setCubejsClient = function (cubejsClient) {
883
- this._cubejs = cubejsClient;
882
+ QueryBuilderService.prototype.setCubeClient = function (cubeClient) {
883
+ this._cube = cubeClient;
884
884
  this.init();
885
885
  };
886
886
  QueryBuilderService.prototype.subscribe = function () {
@@ -959,8 +959,8 @@
959
959
  exports.BaseMember = BaseMember;
960
960
  exports.BuilderMeta = BuilderMeta;
961
961
  exports.ChartType = ChartType;
962
- exports.CubejsClient = CubejsClient;
963
- exports.CubejsClientModule = CubejsClientModule;
962
+ exports.CubeClient = CubeClient;
963
+ exports.CubeClientModule = CubeClientModule;
964
964
  exports.FilterMember = FilterMember;
965
965
  exports.Order = Order;
966
966
  exports.PivotConfig = PivotConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"cubejs-client-ngx.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../src/client.ts","../../src/module.ts","../../src/query-builder/common.ts","../../src/query-builder/query-members.ts","../../src/query-builder/query.ts","../../src/query-builder/builder-meta.ts","../../src/query-builder/pivot-config.ts","../../src/query-builder/chart-type.ts","../../src/query-builder/query-builder.service.ts","../../src/public_api.ts","../../index.ts","../../cubejs-client-ngx.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\nimport { Observable, from, BehaviorSubject } from 'rxjs';\nimport cubejs, {\n CubejsApi,\n CubeJSApiOptions,\n DryRunResponse,\n LoadMethodOptions,\n Meta,\n Query,\n ResultSet,\n SqlQuery,\n} from '@cubejs-client/core';\n\nexport type CubejsConfig = {\n token: string;\n options?: CubeJSApiOptions;\n};\n\n@Injectable()\nexport class CubejsClient {\n public ready$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private cubeJsApi: CubejsApi;\n\n constructor(@Inject('config') private config: any | Observable<any>) {\n if (this.config instanceof Observable) {\n this.config.subscribe(() => {\n this.ready$.next(true);\n });\n } else {\n this.ready$.next(true);\n }\n }\n\n private apiInstance(): CubejsApi {\n if (!this.cubeJsApi) {\n if (this.config instanceof Observable) {\n this.config.subscribe((config) => {\n this.cubeJsApi = cubejs(config.token, config.options);\n\n if (!this.cubeJsApi) {\n throw new Error(\n 'Cannot create CubejsApi instance. Please check that the config is passed correctly and contains all required options.'\n );\n }\n });\n } else {\n this.cubeJsApi = cubejs(this.config.token, this.config.options);\n }\n }\n\n return this.cubeJsApi;\n }\n\n public load(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<ResultSet> {\n return from(<Promise<ResultSet>>this.apiInstance().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstance().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstance().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstance().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n try {\n const resultSet = await this.apiInstance().load(query, params);\n observer.next(resultSet);\n } catch(err) {\n observer.error(err);\n }\n\n },\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CubejsClient } from './client';\n\n@NgModule({\n providers: [CubejsClient],\n})\nexport class CubejsClientModule {\n public static forRoot(config: any): ModuleWithProviders<CubejsClientModule> {\n return {\n ngModule: CubejsClientModule,\n providers: [\n CubejsClient,\n {\n provide: 'config',\n useValue: config,\n },\n ],\n };\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class StateSubject<T = any> {\n subject: BehaviorSubject<T>;\n\n constructor(value: T) {\n this.subject = new BehaviorSubject(value);\n }\n\n get() {\n return this.subject.getValue();\n }\n\n set(value: T) {\n this.subject.next(value);\n }\n}\n","import {\n TimeDimensionGranularity,\n TQueryOrderObject,\n TQueryOrderArray,\n moveItemInArray,\n Filter,\n UnaryFilter,\n BinaryFilter,\n} from '@cubejs-client/core';\nimport { BehaviorSubject } from 'rxjs';\nimport equal from 'fast-deep-equal';\n\nimport { Query } from './query';\n\nexport type TOrder = 'asc' | 'desc' | 'none';\n\nexport type TOrderMember = {\n id: string;\n order: TOrder;\n title: string;\n};\n\nexport class BaseMember {\n constructor(\n private query: Query,\n private field: 'measures' | 'dimensions' | 'segments'\n ) {}\n\n private get members() {\n return this.query.asCubeQuery()[this.field] || [];\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n [this.field]: [...this.members, name],\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n [this.field]: this.members.map((currentName) =>\n currentName === name ? replaceWithName : currentName\n ),\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n [this.field]: this.query\n .asCubeQuery()\n [this.field].filter((currentName, index) => {\n if (typeof by === 'string') {\n return currentName !== by;\n }\n\n return index !== by;\n }),\n });\n }\n\n set(members: string[]) {\n this.query.setPartialQuery({\n [this.field]: members,\n });\n }\n\n asArray() {\n return (this.query.asCubeQuery()[this.field] || []).map((name) =>\n this.query.meta.resolveMember(name, this.field)\n );\n }\n}\n\nexport class TimeDimensionMember {\n constructor(private query: Query) {}\n\n private get members() {\n return this.query.asCubeQuery().timeDimensions || [];\n }\n\n get granularity() {\n return this.members[0]?.granularity;\n }\n\n updateTimeDimension(by: string | number, updateWith: any) {\n const timeDimensions = this.members.map((td, index) => {\n if (td.dimension === by || index === by) {\n return {\n ...td,\n ...updateWith,\n };\n }\n return td;\n });\n\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n timeDimensions: [\n {\n dimension: name,\n },\n ],\n });\n }\n\n remove(name: string) {\n this.query.setPartialQuery({\n timeDimensions: this.members.filter(\n ({ dimension }) => dimension !== name\n ),\n });\n }\n\n set(timeDimensions: any[]) {\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n setDateRange(by: string | number, dateRange: string | string[]) {\n this.updateTimeDimension(by, { dateRange });\n }\n\n setGranularity(by: string | number, granularity: TimeDimensionGranularity) {\n this.updateTimeDimension(by, { granularity });\n }\n\n asArray(): any[] {\n return (this.query.asCubeQuery().timeDimensions || []).map((td) => {\n return {\n ...this.query.meta.resolveMember(td.dimension, 'dimensions'),\n ...td,\n };\n });\n }\n}\n\nexport class Order {\n orderMembers = new BehaviorSubject<TOrderMember[]>([]);\n\n constructor(private query: Query) {\n this.query.subject.subscribe(this.handleQueryChange.bind(this));\n this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));\n }\n\n private handleOrderMembersChange(orderMembers: TOrderMember[]) {\n const order = orderMembers\n .filter(({ order }) => order !== 'none')\n .reduce(\n (memo, { id, order }) => ({ ...memo, [id]: order }),\n {}\n ) as TQueryOrderObject;\n\n if (!equal(order, this.asObject())) {\n this.query.setPartialQuery({ order });\n }\n }\n\n private handleQueryChange() {\n this.orderMembers.next(\n [\n ...this.query.measures.asArray(),\n ...this.query.dimensions.asArray(),\n ...this.query.timeDimensions.asArray(),\n ].map<TOrderMember>(({ name, title }) => {\n return {\n id: name,\n order: this.of(name),\n title,\n };\n })\n );\n }\n\n setMemberOrder(id: string, order: TOrder) {\n this.orderMembers.next(\n this.orderMembers.getValue().map((orderMember) => {\n if (orderMember.id === id) {\n return {\n ...orderMember,\n order,\n };\n }\n return orderMember;\n })\n );\n }\n\n reorder(sourceIndex: number, destinationIndex: number) {\n this.orderMembers.next(\n moveItemInArray(\n this.orderMembers.getValue(),\n sourceIndex,\n destinationIndex\n )\n );\n }\n\n of(member: string) {\n return (this.query.asCubeQuery().order || {})[member] || 'none';\n }\n\n set(order: TQueryOrderObject | TQueryOrderArray) {\n this.query.setPartialQuery({ order });\n }\n\n asArray(): TQueryOrderArray {\n if (Array.isArray(this.query.asCubeQuery().order)) {\n return this.query.asCubeQuery().order as TQueryOrderArray;\n }\n\n return Object.entries(this.query.asCubeQuery().order || {});\n }\n\n asObject(): TQueryOrderObject {\n return this.asArray().reduce(\n (memo, [key, value]) => ({ ...memo, [key]: value }),\n {}\n );\n }\n}\n\nexport class FilterMember {\n constructor(private query: Query) {}\n\n private get filters() {\n // TODO: update this type assertion once the QueryBuilder supports logical and/or\n return (this.query.asCubeQuery().filters || []) as (UnaryFilter | BinaryFilter)[];\n }\n\n update(by: string | number, updateWith: Partial<Filter>) {\n const filters = this.filters.map((filter, index) => {\n if (index === by || filter.member === by || filter.dimension === by) {\n return {\n ...filter,\n ...updateWith,\n };\n }\n return filter;\n });\n\n this.query.setPartialQuery({\n filters: filters as Filter[],\n });\n }\n\n add(filter: Filter) {\n this.query.setPartialQuery({\n filters: [...this.filters, filter],\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n filters: this.filters.filter((filter, index) => {\n if (filter.member === by || filter.dimension === by || index === by) {\n return false;\n }\n\n return true;\n }),\n });\n }\n\n set(filters: Filter[]) {\n this.query.setPartialQuery({\n filters,\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n filters: this.filters.map((filter) => {\n const field = filter.member ? 'member' : 'dimension';\n return filter.member === name || filter.dimension === name\n ? {\n ...filter,\n [field]: replaceWithName,\n }\n : filter;\n }),\n });\n }\n\n asArray(): any[] {\n return this.filters.map((filter) => {\n return {\n ...this.query.meta.resolveMember(filter.member || filter.dimension, [\n 'dimensions',\n 'measures',\n ]),\n operators: this.query.meta.filterOperatorsForMember(\n filter.member || filter.dimension,\n ['dimensions', 'measures']\n ),\n ...filter,\n };\n });\n }\n}\n","import { isQueryPresent, Meta, Query as TCubeQuery } from '@cubejs-client/core';\n\nimport { StateSubject } from './common';\nimport { BaseMember, FilterMember, Order, TimeDimensionMember } from './query-members';\n\nexport enum MemberType {\n Measures = 'measures',\n Dimensions = 'dimensions',\n Segments = 'segments',\n TimeDimensions = 'timeDimensions',\n Filters = 'filters',\n Order = 'order',\n}\n\nexport type OnChangeCallback = (\n newQuery: TCubeQuery,\n oldQuery: TCubeQuery,\n query: Query\n) => TCubeQuery;\n\nexport class Query extends StateSubject<TCubeQuery> {\n measures: BaseMember;\n dimensions: BaseMember;\n segments: BaseMember;\n timeDimensions: TimeDimensionMember;\n filters: FilterMember;\n order: Order;\n\n constructor(\n public meta: Meta,\n private _onBeforeChange: OnChangeCallback = (newQuery) => newQuery\n ) {\n super({});\n this.init();\n }\n\n private init() {\n this.measures = new BaseMember(this, MemberType.Measures);\n this.dimensions = new BaseMember(this, MemberType.Dimensions);\n this.segments = new BaseMember(this, MemberType.Segments);\n this.timeDimensions = new TimeDimensionMember(this);\n this.filters = new FilterMember(this);\n this.order = new Order(this);\n }\n\n asCubeQuery(): TCubeQuery {\n return this.subject.getValue() || {};\n }\n\n setQuery(query: TCubeQuery) {\n this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));\n }\n\n setPartialQuery(partialQuery: Partial<TCubeQuery>) {\n this.subject.next(\n this._onBeforeChange(\n {\n ...this.subject.getValue(),\n ...partialQuery,\n },\n this.subject.getValue(),\n this\n )\n );\n }\n\n setLimit(limit: number) {\n this.setPartialQuery({ limit });\n }\n \n isPresent(): boolean {\n return isQueryPresent(this.asCubeQuery());\n }\n}\n","import {\n Meta,\n TCubeDimension,\n TCubeMeasure,\n TCubeMember,\n} from '@cubejs-client/core';\n\nexport class BuilderMeta {\n measures: TCubeMeasure[];\n dimensions: TCubeDimension[];\n segments: TCubeMember[];\n timeDimensions: TCubeDimension[];\n filters: Array<TCubeMeasure | TCubeDimension>;\n\n constructor(public readonly meta: Meta) {\n this.mapMeta();\n }\n\n private mapMeta() {\n const allDimensions = <TCubeDimension[]>(\n this.meta.membersForQuery(null, 'dimensions')\n );\n\n this.measures = <TCubeMeasure[]>this.meta.membersForQuery(null, 'measures');\n this.segments = this.meta.membersForQuery(null, 'segments');\n this.dimensions = allDimensions.filter(({ type }) => type !== 'time');\n this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');\n this.filters = [...allDimensions, ...this.measures].map((member) => {\n return {\n ...member,\n operators: this.meta.filterOperatorsForMember(member.name, [\n 'dimensions',\n 'measures',\n ]),\n };\n });\n }\n}\n","import {\n movePivotItem,\n PivotConfig as TPivotConfig,\n TSourceAxis,\n} from '@cubejs-client/core';\nimport { StateSubject } from './common';\n\nexport class PivotConfig extends StateSubject<TPivotConfig> {\n constructor(pivotConfig: TPivotConfig) {\n super(pivotConfig);\n }\n \n moveItem(\n sourceIndex: number,\n destinationIndex: number,\n sourceAxis: TSourceAxis,\n destinationAxis: TSourceAxis\n ) {\n this.subject.next(\n movePivotItem(\n this.get(),\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n )\n );\n }\n \n setFillMissingDates(fillMissingDates: boolean) {\n this.subject.next({\n ...this.get(),\n fillMissingDates\n });\n }\n}\n","import { StateSubject } from './common';\n\nexport type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';\n\nexport class ChartType extends StateSubject<TChartType> {\n constructor(value) {\n super(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Meta,\n ResultSet,\n Query as TCubeQuery,\n PivotConfig as TPivotConfig,\n isQueryPresent,\n defaultHeuristics,\n} from '@cubejs-client/core';\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\nimport { CubejsClient } from '../client';\nimport { Query } from './query';\nimport { BuilderMeta } from './builder-meta';\nimport { PivotConfig } from './pivot-config';\nimport { ChartType, TChartType } from './chart-type';\nimport { StateSubject } from './common';\n\nexport type TQueryBuilderState = {\n query?: TCubeQuery;\n pivotConfig?: TPivotConfig;\n chartType?: TChartType;\n};\n\n@Injectable()\nexport class QueryBuilderService {\n private _cubejs: CubejsClient;\n private _meta: Meta;\n private _query: Query;\n private _disableHeuristics: boolean = false;\n private _resolveQuery: (query: Query) => void;\n private _resolveBuilderMeta: (query: BuilderMeta) => void;\n private _heuristicChange$ = new Subject<any>();\n\n readonly builderMeta = new Promise<BuilderMeta>(\n (resolve) => (this._resolveBuilderMeta = resolve)\n );\n readonly query = new Promise<Query>(\n (resolve) => (this._resolveQuery = resolve)\n );\n readonly state = new BehaviorSubject<TQueryBuilderState>({});\n\n pivotConfig: PivotConfig;\n chartType: ChartType;\n\n private async init() {\n this.pivotConfig = new PivotConfig(null);\n this.chartType = new ChartType('line');\n\n this._cubejs.meta().subscribe((meta) => {\n this._meta = meta;\n\n this._query = new Query(\n this._meta,\n this._handleQueryChange.bind(this)\n );\n this._resolveQuery(this._query);\n this._resolveBuilderMeta(new BuilderMeta(this._meta));\n });\n\n this.subscribe();\n\n if (!this._disableHeuristics) {\n this._heuristicChange$\n .pipe(\n switchMap((data) => {\n return combineLatest([\n this._cubejs.dryRun(data.query).pipe(catchError((error) => {\n console.error(error);\n return of(null);\n })),\n of(data.shouldApplyHeuristicOrder),\n ]);\n })\n )\n .subscribe(\n ([dryRunResponse, shouldApplyHeuristicOrder]) => {\n if (!dryRunResponse) {\n return;\n }\n \n const { pivotQuery, queryOrder } = dryRunResponse;\n \n this.pivotConfig.set(\n ResultSet.getNormalizedPivotConfig(\n pivotQuery,\n this.pivotConfig.get()\n )\n );\n if (shouldApplyHeuristicOrder) {\n this._query.order.set(\n queryOrder.reduce((a, b) => ({ ...a, ...b }), {})\n );\n }\n }\n );\n }\n }\n\n private _handleQueryChange(newQuery, oldQuery) {\n const {\n chartType,\n shouldApplyHeuristicOrder,\n query: heuristicQuery,\n } = defaultHeuristics(newQuery, oldQuery, {\n meta: this._meta,\n sessionGranularity: newQuery?.timeDimensions?.[0]?.granularity,\n });\n\n const query = this._disableHeuristics\n ? newQuery\n : heuristicQuery || newQuery;\n\n if (isQueryPresent(query) && !this._disableHeuristics) {\n this._heuristicChange$.next({\n shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),\n query,\n });\n }\n\n if (!this._disableHeuristics && chartType) {\n this.chartType.set(chartType);\n }\n\n return query;\n }\n\n setCubejsClient(cubejsClient: CubejsClient) {\n this._cubejs = cubejsClient;\n this.init();\n }\n\n private subscribe() {\n Object.getOwnPropertyNames(this).forEach((key) => {\n if (this[key] instanceof StateSubject) {\n this[key].subject.subscribe((value) =>\n this.setPartialState({\n [key]: value,\n })\n );\n }\n });\n this.query.then((query) => {\n query.subject.subscribe((cubeQuery) => {\n this.setPartialState({\n query: cubeQuery,\n });\n });\n });\n }\n\n async deserialize(state) {\n if (state.query) {\n (await this.query).setQuery(state.query);\n }\n\n Object.entries(state).forEach(([key, value]) => {\n if (this[key] instanceof StateSubject) {\n this[key].set(value);\n }\n });\n\n this.subscribe();\n }\n\n setPartialState(partialState) {\n this.state.next({\n ...this.state.getValue(),\n ...partialState,\n });\n }\n\n disableHeuristics() {\n this._disableHeuristics = false;\n }\n\n enableHeuristics() {\n this._disableHeuristics = true;\n }\n}\n","/*\n * Public API Surface of cubejs-client-ngx\n */\n\nexport { CubejsClientModule } from './module';\nexport * from './client';\nexport * from './query-builder/query-builder.service';\nexport * from './query-builder/query';\nexport * from './query-builder/builder-meta';\nexport * from './query-builder/query-members';\nexport * from './query-builder/pivot-config';\nexport * from './query-builder/chart-type';\n","// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './src/public_api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BehaviorSubject","Observable","cubejs","from","i0","Injectable","Inject","NgModule","equal","moveItemInArray","MemberType","isQueryPresent","movePivotItem","Subject","switchMap","combineLatest","catchError","of","ResultSet","defaultHeuristics"],"mappings":"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"}
1
+ {"version":3,"file":"cubejs-client-ngx.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/client.ts","../../src/module.ts","../../src/query-builder/common.ts","../../src/query-builder/query-members.ts","../../src/query-builder/query.ts","../../src/query-builder/builder-meta.ts","../../src/query-builder/pivot-config.ts","../../src/query-builder/chart-type.ts","../../src/query-builder/query-builder.service.ts","../../src/public_api.ts","../../index.ts","../../cubejs-client-ngx.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\nimport { Observable, from, BehaviorSubject } from 'rxjs';\nimport cube, {\n CubeApi,\n CubeApiOptions,\n DryRunResponse,\n LoadMethodOptions,\n Meta,\n Query,\n ResultSet,\n SqlQuery,\n} from '@cubejs-client/core';\n\nexport type CubeConfig = {\n token: string;\n options?: CubeApiOptions;\n};\n\n@Injectable()\nexport class CubeClient {\n public ready$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private cubeApi: CubeApi;\n\n constructor(@Inject('config') private config: any | Observable<any>) {\n if (this.config instanceof Observable) {\n this.config.subscribe(() => {\n this.ready$.next(true);\n });\n } else {\n this.ready$.next(true);\n }\n }\n\n private apiInstance(): CubeApi {\n if (!this.cubeApi) {\n if (this.config instanceof Observable) {\n this.config.subscribe((config) => {\n this.cubeApi = cube(config.token, config.options);\n\n if (!this.cubeApi) {\n throw new Error(\n 'Cannot create CubeApi instance. Please check that the config is passed correctly and contains all required options.'\n );\n }\n });\n } else {\n this.cubeApi = cube(this.config.token, this.config.options);\n }\n }\n\n return this.cubeApi;\n }\n\n public load(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<ResultSet> {\n return from(<Promise<ResultSet>>this.apiInstance().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstance().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstance().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstance().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n try {\n const resultSet = await this.apiInstance().load(query, params);\n observer.next(resultSet);\n } catch(err) {\n observer.error(err);\n }\n\n },\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CubeClient } from './client';\n\n@NgModule({\n providers: [CubeClient],\n})\nexport class CubeClientModule {\n public static forRoot(config: any): ModuleWithProviders<CubeClientModule> {\n return {\n ngModule: CubeClientModule,\n providers: [\n CubeClient,\n {\n provide: 'config',\n useValue: config,\n },\n ],\n };\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class StateSubject<T = any> {\n subject: BehaviorSubject<T>;\n\n constructor(value: T) {\n this.subject = new BehaviorSubject(value);\n }\n\n get() {\n return this.subject.getValue();\n }\n\n set(value: T) {\n this.subject.next(value);\n }\n}\n","import {\n TimeDimensionGranularity,\n TQueryOrderObject,\n TQueryOrderArray,\n moveItemInArray,\n Filter,\n UnaryFilter,\n BinaryFilter,\n} from '@cubejs-client/core';\nimport { BehaviorSubject } from 'rxjs';\nimport equal from 'fast-deep-equal';\n\nimport { Query } from './query';\n\nexport type TOrder = 'asc' | 'desc' | 'none';\n\nexport type TOrderMember = {\n id: string;\n order: TOrder;\n title: string;\n};\n\nexport class BaseMember {\n constructor(\n private query: Query,\n private field: 'measures' | 'dimensions' | 'segments'\n ) {}\n\n private get members() {\n return this.query.asCubeQuery()[this.field] || [];\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n [this.field]: [...this.members, name],\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n [this.field]: this.members.map((currentName) =>\n currentName === name ? replaceWithName : currentName\n ),\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n [this.field]: this.query\n .asCubeQuery()\n [this.field].filter((currentName, index) => {\n if (typeof by === 'string') {\n return currentName !== by;\n }\n\n return index !== by;\n }),\n });\n }\n\n set(members: string[]) {\n this.query.setPartialQuery({\n [this.field]: members,\n });\n }\n\n asArray() {\n return (this.query.asCubeQuery()[this.field] || []).map((name) =>\n this.query.meta.resolveMember(name, this.field)\n );\n }\n}\n\nexport class TimeDimensionMember {\n constructor(private query: Query) {}\n\n private get members() {\n return this.query.asCubeQuery().timeDimensions || [];\n }\n\n get granularity() {\n return this.members[0]?.granularity;\n }\n\n updateTimeDimension(by: string | number, updateWith: any) {\n const timeDimensions = this.members.map((td, index) => {\n if (td.dimension === by || index === by) {\n return {\n ...td,\n ...updateWith,\n };\n }\n return td;\n });\n\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n timeDimensions: [\n {\n dimension: name,\n },\n ],\n });\n }\n\n remove(name: string) {\n this.query.setPartialQuery({\n timeDimensions: this.members.filter(\n ({ dimension }) => dimension !== name\n ),\n });\n }\n\n set(timeDimensions: any[]) {\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n setDateRange(by: string | number, dateRange: string | string[]) {\n this.updateTimeDimension(by, { dateRange });\n }\n\n setGranularity(by: string | number, granularity: TimeDimensionGranularity) {\n this.updateTimeDimension(by, { granularity });\n }\n\n asArray(): any[] {\n return (this.query.asCubeQuery().timeDimensions || []).map((td) => {\n return {\n ...this.query.meta.resolveMember(td.dimension, 'dimensions'),\n ...td,\n };\n });\n }\n}\n\nexport class Order {\n orderMembers = new BehaviorSubject<TOrderMember[]>([]);\n\n constructor(private query: Query) {\n this.query.subject.subscribe(this.handleQueryChange.bind(this));\n this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));\n }\n\n private handleOrderMembersChange(orderMembers: TOrderMember[]) {\n const order = orderMembers\n .filter(({ order }) => order !== 'none')\n .reduce(\n (memo, { id, order }) => ({ ...memo, [id]: order }),\n {}\n ) as TQueryOrderObject;\n\n if (!equal(order, this.asObject())) {\n this.query.setPartialQuery({ order });\n }\n }\n\n private handleQueryChange() {\n this.orderMembers.next(\n [\n ...this.query.measures.asArray(),\n ...this.query.dimensions.asArray(),\n ...this.query.timeDimensions.asArray(),\n ].map<TOrderMember>(({ name, title }) => {\n return {\n id: name,\n order: this.of(name),\n title,\n };\n })\n );\n }\n\n setMemberOrder(id: string, order: TOrder) {\n this.orderMembers.next(\n this.orderMembers.getValue().map((orderMember) => {\n if (orderMember.id === id) {\n return {\n ...orderMember,\n order,\n };\n }\n return orderMember;\n })\n );\n }\n\n reorder(sourceIndex: number, destinationIndex: number) {\n this.orderMembers.next(\n moveItemInArray(\n this.orderMembers.getValue(),\n sourceIndex,\n destinationIndex\n )\n );\n }\n\n of(member: string) {\n return (this.query.asCubeQuery().order || {})[member] || 'none';\n }\n\n set(order: TQueryOrderObject | TQueryOrderArray) {\n this.query.setPartialQuery({ order });\n }\n\n asArray(): TQueryOrderArray {\n if (Array.isArray(this.query.asCubeQuery().order)) {\n return this.query.asCubeQuery().order as TQueryOrderArray;\n }\n\n return Object.entries(this.query.asCubeQuery().order || {});\n }\n\n asObject(): TQueryOrderObject {\n return this.asArray().reduce(\n (memo, [key, value]) => ({ ...memo, [key]: value }),\n {}\n );\n }\n}\n\nexport class FilterMember {\n constructor(private query: Query) {}\n\n private get filters() {\n // TODO: update this type assertion once the QueryBuilder supports logical and/or\n return (this.query.asCubeQuery().filters || []) as (UnaryFilter | BinaryFilter)[];\n }\n\n update(by: string | number, updateWith: Partial<Filter>) {\n const filters = this.filters.map((filter, index) => {\n if (index === by || filter.member === by || filter.dimension === by) {\n return {\n ...filter,\n ...updateWith,\n };\n }\n return filter;\n });\n\n this.query.setPartialQuery({\n filters: filters as Filter[],\n });\n }\n\n add(filter: Filter) {\n this.query.setPartialQuery({\n filters: [...this.filters, filter],\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n filters: this.filters.filter((filter, index) => {\n if (filter.member === by || filter.dimension === by || index === by) {\n return false;\n }\n\n return true;\n }),\n });\n }\n\n set(filters: Filter[]) {\n this.query.setPartialQuery({\n filters,\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n filters: this.filters.map((filter) => {\n const field = filter.member ? 'member' : 'dimension';\n return filter.member === name || filter.dimension === name\n ? {\n ...filter,\n [field]: replaceWithName,\n }\n : filter;\n }),\n });\n }\n\n asArray(): any[] {\n return this.filters.map((filter) => {\n return {\n ...this.query.meta.resolveMember(filter.member || filter.dimension, [\n 'dimensions',\n 'measures',\n ]),\n operators: this.query.meta.filterOperatorsForMember(\n filter.member || filter.dimension,\n ['dimensions', 'measures']\n ),\n ...filter,\n };\n });\n }\n}\n","import { isQueryPresent, Meta, Query as TCubeQuery } from '@cubejs-client/core';\n\nimport { StateSubject } from './common';\nimport { BaseMember, FilterMember, Order, TimeDimensionMember } from './query-members';\n\nexport enum MemberType {\n Measures = 'measures',\n Dimensions = 'dimensions',\n Segments = 'segments',\n TimeDimensions = 'timeDimensions',\n Filters = 'filters',\n Order = 'order',\n}\n\nexport type OnChangeCallback = (\n newQuery: TCubeQuery,\n oldQuery: TCubeQuery,\n query: Query\n) => TCubeQuery;\n\nexport class Query extends StateSubject<TCubeQuery> {\n measures: BaseMember;\n dimensions: BaseMember;\n segments: BaseMember;\n timeDimensions: TimeDimensionMember;\n filters: FilterMember;\n order: Order;\n\n constructor(\n public meta: Meta,\n private _onBeforeChange: OnChangeCallback = (newQuery) => newQuery\n ) {\n super({});\n this.init();\n }\n\n private init() {\n this.measures = new BaseMember(this, MemberType.Measures);\n this.dimensions = new BaseMember(this, MemberType.Dimensions);\n this.segments = new BaseMember(this, MemberType.Segments);\n this.timeDimensions = new TimeDimensionMember(this);\n this.filters = new FilterMember(this);\n this.order = new Order(this);\n }\n\n asCubeQuery(): TCubeQuery {\n return this.subject.getValue() || {};\n }\n\n setQuery(query: TCubeQuery) {\n this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));\n }\n\n setPartialQuery(partialQuery: Partial<TCubeQuery>) {\n this.subject.next(\n this._onBeforeChange(\n {\n ...this.subject.getValue(),\n ...partialQuery,\n },\n this.subject.getValue(),\n this\n )\n );\n }\n\n setLimit(limit: number) {\n this.setPartialQuery({ limit });\n }\n \n isPresent(): boolean {\n return isQueryPresent(this.asCubeQuery());\n }\n}\n","import {\n Meta,\n TCubeDimension,\n TCubeMeasure,\n TCubeMember,\n} from '@cubejs-client/core';\n\nexport class BuilderMeta {\n measures: TCubeMeasure[];\n dimensions: TCubeDimension[];\n segments: TCubeMember[];\n timeDimensions: TCubeDimension[];\n filters: Array<TCubeMeasure | TCubeDimension>;\n\n constructor(public readonly meta: Meta) {\n this.mapMeta();\n }\n\n private mapMeta() {\n const allDimensions = <TCubeDimension[]>(\n this.meta.membersForQuery(null, 'dimensions')\n );\n\n this.measures = <TCubeMeasure[]>this.meta.membersForQuery(null, 'measures');\n this.segments = this.meta.membersForQuery(null, 'segments');\n this.dimensions = allDimensions.filter(({ type }) => type !== 'time');\n this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');\n this.filters = [...allDimensions, ...this.measures].map((member) => {\n return {\n ...member,\n operators: this.meta.filterOperatorsForMember(member.name, [\n 'dimensions',\n 'measures',\n ]),\n };\n });\n }\n}\n","import {\n movePivotItem,\n PivotConfig as TPivotConfig,\n TSourceAxis,\n} from '@cubejs-client/core';\nimport { StateSubject } from './common';\n\nexport class PivotConfig extends StateSubject<TPivotConfig> {\n constructor(pivotConfig: TPivotConfig) {\n super(pivotConfig);\n }\n \n moveItem(\n sourceIndex: number,\n destinationIndex: number,\n sourceAxis: TSourceAxis,\n destinationAxis: TSourceAxis\n ) {\n this.subject.next(\n movePivotItem(\n this.get(),\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n )\n );\n }\n \n setFillMissingDates(fillMissingDates: boolean) {\n this.subject.next({\n ...this.get(),\n fillMissingDates\n });\n }\n}\n","import { StateSubject } from './common';\n\nexport type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';\n\nexport class ChartType extends StateSubject<TChartType> {\n constructor(value) {\n super(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Meta,\n ResultSet,\n Query as TCubeQuery,\n PivotConfig as TPivotConfig,\n isQueryPresent,\n defaultHeuristics,\n} from '@cubejs-client/core';\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\nimport { CubeClient } from '../client';\nimport { Query } from './query';\nimport { BuilderMeta } from './builder-meta';\nimport { PivotConfig } from './pivot-config';\nimport { ChartType, TChartType } from './chart-type';\nimport { StateSubject } from './common';\n\nexport type TQueryBuilderState = {\n query?: TCubeQuery;\n pivotConfig?: TPivotConfig;\n chartType?: TChartType;\n};\n\n@Injectable()\nexport class QueryBuilderService {\n private _cube: CubeClient;\n private _meta: Meta;\n private _query: Query;\n private _disableHeuristics: boolean = false;\n private _resolveQuery: (query: Query) => void;\n private _resolveBuilderMeta: (query: BuilderMeta) => void;\n private _heuristicChange$ = new Subject<any>();\n\n readonly builderMeta = new Promise<BuilderMeta>(\n (resolve) => (this._resolveBuilderMeta = resolve)\n );\n readonly query = new Promise<Query>(\n (resolve) => (this._resolveQuery = resolve)\n );\n readonly state = new BehaviorSubject<TQueryBuilderState>({});\n\n pivotConfig: PivotConfig;\n chartType: ChartType;\n\n private async init() {\n this.pivotConfig = new PivotConfig(null);\n this.chartType = new ChartType('line');\n\n this._cube.meta().subscribe((meta) => {\n this._meta = meta;\n\n this._query = new Query(\n this._meta,\n this._handleQueryChange.bind(this)\n );\n this._resolveQuery(this._query);\n this._resolveBuilderMeta(new BuilderMeta(this._meta));\n });\n\n this.subscribe();\n\n if (!this._disableHeuristics) {\n this._heuristicChange$\n .pipe(\n switchMap((data) => {\n return combineLatest([\n this._cube.dryRun(data.query).pipe(catchError((error) => {\n console.error(error);\n return of(null);\n })),\n of(data.shouldApplyHeuristicOrder),\n ]);\n })\n )\n .subscribe(\n ([dryRunResponse, shouldApplyHeuristicOrder]) => {\n if (!dryRunResponse) {\n return;\n }\n \n const { pivotQuery, queryOrder } = dryRunResponse;\n \n this.pivotConfig.set(\n ResultSet.getNormalizedPivotConfig(\n pivotQuery,\n this.pivotConfig.get()\n )\n );\n if (shouldApplyHeuristicOrder) {\n this._query.order.set(\n queryOrder.reduce((a, b) => ({ ...a, ...b }), {})\n );\n }\n }\n );\n }\n }\n\n private _handleQueryChange(newQuery, oldQuery) {\n const {\n chartType,\n shouldApplyHeuristicOrder,\n query: heuristicQuery,\n } = defaultHeuristics(newQuery, oldQuery, {\n meta: this._meta,\n sessionGranularity: newQuery?.timeDimensions?.[0]?.granularity,\n });\n\n const query = this._disableHeuristics\n ? newQuery\n : heuristicQuery || newQuery;\n\n if (isQueryPresent(query) && !this._disableHeuristics) {\n this._heuristicChange$.next({\n shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),\n query,\n });\n }\n\n if (!this._disableHeuristics && chartType) {\n this.chartType.set(chartType);\n }\n\n return query;\n }\n\n setCubeClient(cubeClient: CubeClient) {\n this._cube = cubeClient;\n this.init();\n }\n\n private subscribe() {\n Object.getOwnPropertyNames(this).forEach((key) => {\n if (this[key] instanceof StateSubject) {\n this[key].subject.subscribe((value) =>\n this.setPartialState({\n [key]: value,\n })\n );\n }\n });\n this.query.then((query) => {\n query.subject.subscribe((cubeQuery) => {\n this.setPartialState({\n query: cubeQuery,\n });\n });\n });\n }\n\n async deserialize(state) {\n if (state.query) {\n (await this.query).setQuery(state.query);\n }\n\n Object.entries(state).forEach(([key, value]) => {\n if (this[key] instanceof StateSubject) {\n this[key].set(value);\n }\n });\n\n this.subscribe();\n }\n\n setPartialState(partialState) {\n this.state.next({\n ...this.state.getValue(),\n ...partialState,\n });\n }\n\n disableHeuristics() {\n this._disableHeuristics = false;\n }\n\n enableHeuristics() {\n this._disableHeuristics = true;\n }\n}\n","/*\n * Public API Surface of cubejs-client-ngx\n */\n\nexport { CubeClientModule } from './module';\nexport * from './client';\nexport * from './query-builder/query-builder.service';\nexport * from './query-builder/query';\nexport * from './query-builder/builder-meta';\nexport * from './query-builder/query-members';\nexport * from './query-builder/pivot-config';\nexport * from './query-builder/chart-type';\n","// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './src/public_api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BehaviorSubject","Observable","cube","from","i0","Injectable","Inject","NgModule","equal","moveItemInArray","MemberType","isQueryPresent","movePivotItem","Subject","switchMap","combineLatest","catchError","of","ResultSet","defaultHeuristics"],"mappings":"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"}