@cubejs-client/ngx 0.29.0 → 0.29.26

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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.29.26](https://github.com/cube-js/cube.js/compare/v0.29.25...v0.29.26) (2022-02-07)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **@cubejs-client/ngx:** cubejs.watch() not producing errors ([#3974](https://github.com/cube-js/cube.js/issues/3974)) Thanks @PieterVanZyl-Dev! ([1ee6740](https://github.com/cube-js/cube.js/commit/1ee6740abb51b84296ae65ee565114269b621b65)), closes [#3961](https://github.com/cube-js/cube.js/issues/3961)
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.29.0](https://github.com/cube-js/cube.js/compare/v0.28.67...v0.29.0) (2021-12-14)
7
18
 
8
19
 
@@ -341,7 +341,7 @@
341
341
  this.ready$.next(true);
342
342
  }
343
343
  }
344
- CubejsClient.prototype.apiInstace = function () {
344
+ CubejsClient.prototype.apiInstance = function () {
345
345
  var _this = this;
346
346
  if (!this.cubeJsApi) {
347
347
  if (this.config instanceof rxjs.Observable) {
@@ -359,30 +359,37 @@
359
359
  return this.cubeJsApi;
360
360
  };
361
361
  CubejsClient.prototype.load = function (query, options) {
362
- return rxjs.from(this.apiInstace().load(query, options));
362
+ return rxjs.from(this.apiInstance().load(query, options));
363
363
  };
364
364
  CubejsClient.prototype.sql = function (query, options) {
365
- return rxjs.from(this.apiInstace().sql(query, options));
365
+ return rxjs.from(this.apiInstance().sql(query, options));
366
366
  };
367
367
  CubejsClient.prototype.dryRun = function (query, options) {
368
- return rxjs.from(this.apiInstace().dryRun(query, options));
368
+ return rxjs.from(this.apiInstance().dryRun(query, options));
369
369
  };
370
370
  CubejsClient.prototype.meta = function (options) {
371
- return rxjs.from(this.apiInstace().meta(options));
371
+ return rxjs.from(this.apiInstance().meta(options));
372
372
  };
373
373
  CubejsClient.prototype.watch = function (query, params) {
374
374
  var _this = this;
375
375
  if (params === void 0) { params = {}; }
376
376
  return new rxjs.Observable(function (observer) { return query.subscribe({
377
377
  next: function (query) { return __awaiter(_this, void 0, void 0, function () {
378
- var resultSet;
378
+ var resultSet, err_1;
379
379
  return __generator(this, function (_a) {
380
380
  switch (_a.label) {
381
- case 0: return [4 /*yield*/, this.apiInstace().load(query, params)];
381
+ case 0:
382
+ _a.trys.push([0, 2, , 3]);
383
+ return [4 /*yield*/, this.apiInstance().load(query, params)];
382
384
  case 1:
383
385
  resultSet = _a.sent();
384
386
  observer.next(resultSet);
385
- return [2 /*return*/];
387
+ return [3 /*break*/, 3];
388
+ case 2:
389
+ err_1 = _a.sent();
390
+ observer.error(err_1);
391
+ return [3 /*break*/, 3];
392
+ case 3: return [2 /*return*/];
386
393
  }
387
394
  });
388
395
  }); },
@@ -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 apiInstace(): 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.apiInstace().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstace().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstace().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstace().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n const resultSet = await this.apiInstace().load(query, params);\n observer.next(resultSet);\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\nexport {StateSubject as ɵa} from './src/query-builder/common';"],"names":["BehaviorSubject","Observable","cubejs","from","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 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\nexport {StateSubject as ɵa} from './src/query-builder/common';"],"names":["BehaviorSubject","Observable","cubejs","from","Injectable","Inject","NgModule","equal","moveItemInArray","MemberType","isQueryPresent","movePivotItem","Subject","switchMap","combineLatest","catchError","of","ResultSet","defaultHeuristics"],"mappings":"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"}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"CubejsClientModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"CubejsClient"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"CubejsClientModule"},"providers":[{"__symbolic":"reference","name":"CubejsClient"},{"provide":"config","useValue":{"__symbolic":"reference","name":"config"}}]}}}},"CubejsConfig":{"__symbolic":"interface"},"CubejsClient":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":18,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":15},"arguments":["config"]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"apiInstace":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"sql":[{"__symbolic":"method"}],"dryRun":[{"__symbolic":"method"}],"meta":[{"__symbolic":"method"}],"watch":[{"__symbolic":"method"}]}},"TQueryBuilderState":{"__symbolic":"interface"},"QueryBuilderService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1}}],"members":{"init":[{"__symbolic":"method"}],"_handleQueryChange":[{"__symbolic":"method"}],"setCubejsClient":[{"__symbolic":"method"}],"subscribe":[{"__symbolic":"method"}],"deserialize":[{"__symbolic":"method"}],"setPartialState":[{"__symbolic":"method"}],"disableHeuristics":[{"__symbolic":"method"}],"enableHeuristics":[{"__symbolic":"method"}]}},"MemberType":{"Measures":"measures","Dimensions":"dimensions","Segments":"segments","TimeDimensions":"timeDimensions","Filters":"filters","Order":"order"},"OnChangeCallback":{"__symbolic":"interface"},"Query":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cubejs-client/core","name":"Meta","line":29,"character":17},{"__symbolic":"error","message":"Could not resolve type","line":30,"character":29,"context":{"typeName":"OnChangeCallback"},"module":"./src/query-builder/query"}]}],"init":[{"__symbolic":"method"}],"asCubeQuery":[{"__symbolic":"method"}],"setQuery":[{"__symbolic":"method"}],"setPartialQuery":[{"__symbolic":"method"}],"setLimit":[{"__symbolic":"method"}],"isPresent":[{"__symbolic":"method"}]}},"BuilderMeta":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cubejs-client/core","name":"Meta","line":14,"character":36}]}],"mapMeta":[{"__symbolic":"method"}]}},"TOrder":{"__symbolic":"interface"},"TOrderMember":{"__symbolic":"interface"},"BaseMember":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Query"},{"__symbolic":"error","message":"Expression form not supported","line":25,"character":19,"module":"./src/query-builder/query-members"}]}],"add":[{"__symbolic":"method"}],"replace":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"asArray":[{"__symbolic":"method"}]}},"TimeDimensionMember":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Query"}]}],"updateTimeDimension":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"setDateRange":[{"__symbolic":"method"}],"setGranularity":[{"__symbolic":"method"}],"asArray":[{"__symbolic":"method"}]}},"Order":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Query"}]}],"handleOrderMembersChange":[{"__symbolic":"method"}],"handleQueryChange":[{"__symbolic":"method"}],"setMemberOrder":[{"__symbolic":"method"}],"reorder":[{"__symbolic":"method"}],"of":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"asArray":[{"__symbolic":"method"}],"asObject":[{"__symbolic":"method"}]}},"FilterMember":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Query"}]}],"update":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"replace":[{"__symbolic":"method"}],"asArray":[{"__symbolic":"method"}]}},"PivotConfig":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cubejs-client/core","name":"PivotConfig","line":8,"character":27}]}],"moveItem":[{"__symbolic":"method"}],"setFillMissingDates":[{"__symbolic":"method"}]}},"TChartType":{"__symbolic":"interface"},"ChartType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[null]}]}},"ɵa":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":5,"character":21,"context":{"typeName":"T"},"module":"./src/query-builder/common"}]}],"get":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}}},"origins":{"CubejsClientModule":"./src/module","CubejsConfig":"./src/client","CubejsClient":"./src/client","TQueryBuilderState":"./src/query-builder/query-builder.service","QueryBuilderService":"./src/query-builder/query-builder.service","MemberType":"./src/query-builder/query","OnChangeCallback":"./src/query-builder/query","Query":"./src/query-builder/query","BuilderMeta":"./src/query-builder/builder-meta","TOrder":"./src/query-builder/query-members","TOrderMember":"./src/query-builder/query-members","BaseMember":"./src/query-builder/query-members","TimeDimensionMember":"./src/query-builder/query-members","Order":"./src/query-builder/query-members","FilterMember":"./src/query-builder/query-members","PivotConfig":"./src/query-builder/pivot-config","TChartType":"./src/query-builder/chart-type","ChartType":"./src/query-builder/chart-type","ɵa":"./src/query-builder/common"},"importAs":"@cubejs-client/ngx"}
1
+ {"__symbolic":"module","version":4,"metadata":{"CubejsClientModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"CubejsClient"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"CubejsClientModule"},"providers":[{"__symbolic":"reference","name":"CubejsClient"},{"provide":"config","useValue":{"__symbolic":"reference","name":"config"}}]}}}},"CubejsConfig":{"__symbolic":"interface"},"CubejsClient":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":18,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":15},"arguments":["config"]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"apiInstance":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"sql":[{"__symbolic":"method"}],"dryRun":[{"__symbolic":"method"}],"meta":[{"__symbolic":"method"}],"watch":[{"__symbolic":"method"}]}},"TQueryBuilderState":{"__symbolic":"interface"},"QueryBuilderService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1}}],"members":{"init":[{"__symbolic":"method"}],"_handleQueryChange":[{"__symbolic":"method"}],"setCubejsClient":[{"__symbolic":"method"}],"subscribe":[{"__symbolic":"method"}],"deserialize":[{"__symbolic":"method"}],"setPartialState":[{"__symbolic":"method"}],"disableHeuristics":[{"__symbolic":"method"}],"enableHeuristics":[{"__symbolic":"method"}]}},"MemberType":{"Measures":"measures","Dimensions":"dimensions","Segments":"segments","TimeDimensions":"timeDimensions","Filters":"filters","Order":"order"},"OnChangeCallback":{"__symbolic":"interface"},"Query":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cubejs-client/core","name":"Meta","line":29,"character":17},{"__symbolic":"error","message":"Could not resolve type","line":30,"character":29,"context":{"typeName":"OnChangeCallback"},"module":"./src/query-builder/query"}]}],"init":[{"__symbolic":"method"}],"asCubeQuery":[{"__symbolic":"method"}],"setQuery":[{"__symbolic":"method"}],"setPartialQuery":[{"__symbolic":"method"}],"setLimit":[{"__symbolic":"method"}],"isPresent":[{"__symbolic":"method"}]}},"BuilderMeta":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cubejs-client/core","name":"Meta","line":14,"character":36}]}],"mapMeta":[{"__symbolic":"method"}]}},"TOrder":{"__symbolic":"interface"},"TOrderMember":{"__symbolic":"interface"},"BaseMember":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Query"},{"__symbolic":"error","message":"Expression form not supported","line":25,"character":19,"module":"./src/query-builder/query-members"}]}],"add":[{"__symbolic":"method"}],"replace":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"asArray":[{"__symbolic":"method"}]}},"TimeDimensionMember":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Query"}]}],"updateTimeDimension":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"setDateRange":[{"__symbolic":"method"}],"setGranularity":[{"__symbolic":"method"}],"asArray":[{"__symbolic":"method"}]}},"Order":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Query"}]}],"handleOrderMembersChange":[{"__symbolic":"method"}],"handleQueryChange":[{"__symbolic":"method"}],"setMemberOrder":[{"__symbolic":"method"}],"reorder":[{"__symbolic":"method"}],"of":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"asArray":[{"__symbolic":"method"}],"asObject":[{"__symbolic":"method"}]}},"FilterMember":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Query"}]}],"update":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"replace":[{"__symbolic":"method"}],"asArray":[{"__symbolic":"method"}]}},"PivotConfig":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@cubejs-client/core","name":"PivotConfig","line":8,"character":27}]}],"moveItem":[{"__symbolic":"method"}],"setFillMissingDates":[{"__symbolic":"method"}]}},"TChartType":{"__symbolic":"interface"},"ChartType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[null]}]}},"ɵa":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":5,"character":21,"context":{"typeName":"T"},"module":"./src/query-builder/common"}]}],"get":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}}},"origins":{"CubejsClientModule":"./src/module","CubejsConfig":"./src/client","CubejsClient":"./src/client","TQueryBuilderState":"./src/query-builder/query-builder.service","QueryBuilderService":"./src/query-builder/query-builder.service","MemberType":"./src/query-builder/query","OnChangeCallback":"./src/query-builder/query","Query":"./src/query-builder/query","BuilderMeta":"./src/query-builder/builder-meta","TOrder":"./src/query-builder/query-members","TOrderMember":"./src/query-builder/query-members","BaseMember":"./src/query-builder/query-members","TimeDimensionMember":"./src/query-builder/query-members","Order":"./src/query-builder/query-members","FilterMember":"./src/query-builder/query-members","PivotConfig":"./src/query-builder/pivot-config","TChartType":"./src/query-builder/chart-type","ChartType":"./src/query-builder/chart-type","ɵa":"./src/query-builder/common"},"importAs":"@cubejs-client/ngx"}
@@ -15,7 +15,7 @@ export class CubejsClient {
15
15
  this.ready$.next(true);
16
16
  }
17
17
  }
18
- apiInstace() {
18
+ apiInstance() {
19
19
  if (!this.cubeJsApi) {
20
20
  if (this.config instanceof Observable) {
21
21
  this.config.subscribe((config) => {
@@ -32,22 +32,27 @@ export class CubejsClient {
32
32
  return this.cubeJsApi;
33
33
  }
34
34
  load(query, options) {
35
- return from(this.apiInstace().load(query, options));
35
+ return from(this.apiInstance().load(query, options));
36
36
  }
37
37
  sql(query, options) {
38
- return from(this.apiInstace().sql(query, options));
38
+ return from(this.apiInstance().sql(query, options));
39
39
  }
40
40
  dryRun(query, options) {
41
- return from(this.apiInstace().dryRun(query, options));
41
+ return from(this.apiInstance().dryRun(query, options));
42
42
  }
43
43
  meta(options) {
44
- return from(this.apiInstace().meta(options));
44
+ return from(this.apiInstance().meta(options));
45
45
  }
46
46
  watch(query, params = {}) {
47
47
  return new Observable((observer) => query.subscribe({
48
48
  next: (query) => __awaiter(this, void 0, void 0, function* () {
49
- const resultSet = yield this.apiInstace().load(query, params);
50
- observer.next(resultSet);
49
+ try {
50
+ const resultSet = yield this.apiInstance().load(query, params);
51
+ observer.next(resultSet);
52
+ }
53
+ catch (err) {
54
+ observer.error(err);
55
+ }
51
56
  }),
52
57
  }));
53
58
  }
@@ -66,4 +71,4 @@ CubejsClient.decorators = [
66
71
  CubejsClient.ctorParameters = () => [
67
72
  { type: undefined, decorators: [{ type: Inject, args: ['config',] }] }
68
73
  ];
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sTUFTTixNQUFNLHFCQUFxQixDQUFDO0FBUTdCLE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQXNDLE1BQTZCO1FBQTdCLFdBQU0sR0FBTixNQUFNLENBQXVCO1FBSjVELFdBQU0sR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFLbkUsSUFBSSxJQUFJLENBQUMsTUFBTSxZQUFZLFVBQVUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxZQUFZLFVBQVUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBRXRELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO3dCQUNuQixNQUFNLElBQUksS0FBSyxDQUNiLHVIQUF1SCxDQUN4SCxDQUFDO3FCQUNIO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNqRTtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxJQUFJLENBQ1QsS0FBc0IsRUFDdEIsT0FBMkI7UUFFM0IsT0FBTyxJQUFJLENBQXFCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLEdBQUcsQ0FDUixLQUFzQixFQUN0QixPQUEyQjtRQUUzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxNQUFNLENBQ1gsS0FBc0IsRUFDdEIsT0FBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sSUFBSSxDQUFDLE9BQTJCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUM3QixPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDakMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUNkLElBQUksRUFBRSxDQUFPLEtBQUssRUFBRSxFQUFFO2dCQUNwQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM5RCxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQTtTQUNGLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7OztZQXRFRixVQUFVOzs7Ozs7Ozs7OzRDQU1JLE1BQU0sU0FBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCBjdWJlanMsIHtcbiAgQ3ViZWpzQXBpLFxuICBDdWJlSlNBcGlPcHRpb25zLFxuICBEcnlSdW5SZXNwb25zZSxcbiAgTG9hZE1ldGhvZE9wdGlvbnMsXG4gIE1ldGEsXG4gIFF1ZXJ5LFxuICBSZXN1bHRTZXQsXG4gIFNxbFF1ZXJ5LFxufSBmcm9tICdAY3ViZWpzLWNsaWVudC9jb3JlJztcblxuZXhwb3J0IHR5cGUgQ3ViZWpzQ29uZmlnID0ge1xuICB0b2tlbjogc3RyaW5nO1xuICBvcHRpb25zPzogQ3ViZUpTQXBpT3B0aW9ucztcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdWJlanNDbGllbnQge1xuICBwdWJsaWMgcmVhZHkkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwcml2YXRlIGN1YmVKc0FwaTogQ3ViZWpzQXBpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2NvbmZpZycpIHByaXZhdGUgY29uZmlnOiBhbnkgfCBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBpZiAodGhpcy5jb25maWcgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICB0aGlzLmNvbmZpZy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlYWR5JC5uZXh0KHRydWUpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVhZHkkLm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcGlJbnN0YWNlKCk6IEN1YmVqc0FwaSB7XG4gICAgaWYgKCF0aGlzLmN1YmVKc0FwaSkge1xuICAgICAgaWYgKHRoaXMuY29uZmlnIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICB0aGlzLmNvbmZpZy5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICAgIHRoaXMuY3ViZUpzQXBpID0gY3ViZWpzKGNvbmZpZy50b2tlbiwgY29uZmlnLm9wdGlvbnMpO1xuXG4gICAgICAgICAgaWYgKCF0aGlzLmN1YmVKc0FwaSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAnQ2Fubm90IGNyZWF0ZSBDdWJlanNBcGkgaW5zdGFuY2UuIFBsZWFzZSBjaGVjayB0aGF0IHRoZSBjb25maWcgaXMgcGFzc2VkIGNvcnJlY3RseSBhbmQgY29udGFpbnMgYWxsIHJlcXVpcmVkIG9wdGlvbnMuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jdWJlSnNBcGkgPSBjdWJlanModGhpcy5jb25maWcudG9rZW4sIHRoaXMuY29uZmlnLm9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1YmVKc0FwaTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkKFxuICAgIHF1ZXJ5OiBRdWVyeSB8IFF1ZXJ5W10sXG4gICAgb3B0aW9ucz86IExvYWRNZXRob2RPcHRpb25zXG4gICk6IE9ic2VydmFibGU8UmVzdWx0U2V0PiB7XG4gICAgcmV0dXJuIGZyb20oPFByb21pc2U8UmVzdWx0U2V0Pj50aGlzLmFwaUluc3RhY2UoKS5sb2FkKHF1ZXJ5LCBvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgc3FsKFxuICAgIHF1ZXJ5OiBRdWVyeSB8IFF1ZXJ5W10sXG4gICAgb3B0aW9ucz86IExvYWRNZXRob2RPcHRpb25zXG4gICk6IE9ic2VydmFibGU8U3FsUXVlcnk+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmFwaUluc3RhY2UoKS5zcWwocXVlcnksIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBkcnlSdW4oXG4gICAgcXVlcnk6IFF1ZXJ5IHwgUXVlcnlbXSxcbiAgICBvcHRpb25zPzogTG9hZE1ldGhvZE9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxEcnlSdW5SZXNwb25zZT4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpSW5zdGFjZSgpLmRyeVJ1bihxdWVyeSwgb3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIG1ldGEob3B0aW9ucz86IExvYWRNZXRob2RPcHRpb25zKTogT2JzZXJ2YWJsZTxNZXRhPiB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5hcGlJbnN0YWNlKCkubWV0YShvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgd2F0Y2gocXVlcnksIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxSZXN1bHRTZXQ+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PlxuICAgICAgcXVlcnkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogYXN5bmMgKHF1ZXJ5KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0U2V0ID0gYXdhaXQgdGhpcy5hcGlJbnN0YWNlKCkubG9hZChxdWVyeSwgcGFyYW1zKTtcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3VsdFNldCk7XG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sTUFTTixNQUFNLHFCQUFxQixDQUFDO0FBUTdCLE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQXNDLE1BQTZCO1FBQTdCLFdBQU0sR0FBTixNQUFNLENBQXVCO1FBSjVELFdBQU0sR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFLbkUsSUFBSSxJQUFJLENBQUMsTUFBTSxZQUFZLFVBQVUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxZQUFZLFVBQVUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBRXRELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO3dCQUNuQixNQUFNLElBQUksS0FBSyxDQUNiLHVIQUF1SCxDQUN4SCxDQUFDO3FCQUNIO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNqRTtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxJQUFJLENBQ1QsS0FBc0IsRUFDdEIsT0FBMkI7UUFFM0IsT0FBTyxJQUFJLENBQXFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLEdBQUcsQ0FDUixLQUFzQixFQUN0QixPQUEyQjtRQUUzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNLENBQ1gsS0FBc0IsRUFDdEIsT0FBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sSUFBSSxDQUFDLE9BQTJCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUM3QixPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDakMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUNkLElBQUksRUFBRSxDQUFPLEtBQUssRUFBRSxFQUFFO2dCQUNwQixJQUFJO29CQUNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQy9ELFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQzFCO2dCQUFDLE9BQU0sR0FBRyxFQUFFO29CQUNYLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3JCO1lBRUgsQ0FBQyxDQUFBO1NBQ0YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7O1lBM0VGLFVBQVU7Ozs7Ozs7Ozs7NENBTUksTUFBTSxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IGN1YmVqcywge1xuICBDdWJlanNBcGksXG4gIEN1YmVKU0FwaU9wdGlvbnMsXG4gIERyeVJ1blJlc3BvbnNlLFxuICBMb2FkTWV0aG9kT3B0aW9ucyxcbiAgTWV0YSxcbiAgUXVlcnksXG4gIFJlc3VsdFNldCxcbiAgU3FsUXVlcnksXG59IGZyb20gJ0BjdWJlanMtY2xpZW50L2NvcmUnO1xuXG5leHBvcnQgdHlwZSBDdWJlanNDb25maWcgPSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG9wdGlvbnM/OiBDdWJlSlNBcGlPcHRpb25zO1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEN1YmVqc0NsaWVudCB7XG4gIHB1YmxpYyByZWFkeSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHByaXZhdGUgY3ViZUpzQXBpOiBDdWJlanNBcGk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdCgnY29uZmlnJykgcHJpdmF0ZSBjb25maWc6IGFueSB8IE9ic2VydmFibGU8YW55Pikge1xuICAgIGlmICh0aGlzLmNvbmZpZyBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgIHRoaXMuY29uZmlnLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVhZHkkLm5leHQodHJ1ZSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWFkeSQubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwaUluc3RhbmNlKCk6IEN1YmVqc0FwaSB7XG4gICAgaWYgKCF0aGlzLmN1YmVKc0FwaSkge1xuICAgICAgaWYgKHRoaXMuY29uZmlnIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICB0aGlzLmNvbmZpZy5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICAgIHRoaXMuY3ViZUpzQXBpID0gY3ViZWpzKGNvbmZpZy50b2tlbiwgY29uZmlnLm9wdGlvbnMpO1xuXG4gICAgICAgICAgaWYgKCF0aGlzLmN1YmVKc0FwaSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAnQ2Fubm90IGNyZWF0ZSBDdWJlanNBcGkgaW5zdGFuY2UuIFBsZWFzZSBjaGVjayB0aGF0IHRoZSBjb25maWcgaXMgcGFzc2VkIGNvcnJlY3RseSBhbmQgY29udGFpbnMgYWxsIHJlcXVpcmVkIG9wdGlvbnMuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jdWJlSnNBcGkgPSBjdWJlanModGhpcy5jb25maWcudG9rZW4sIHRoaXMuY29uZmlnLm9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1YmVKc0FwaTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkKFxuICAgIHF1ZXJ5OiBRdWVyeSB8IFF1ZXJ5W10sXG4gICAgb3B0aW9ucz86IExvYWRNZXRob2RPcHRpb25zXG4gICk6IE9ic2VydmFibGU8UmVzdWx0U2V0PiB7XG4gICAgcmV0dXJuIGZyb20oPFByb21pc2U8UmVzdWx0U2V0Pj50aGlzLmFwaUluc3RhbmNlKCkubG9hZChxdWVyeSwgb3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIHNxbChcbiAgICBxdWVyeTogUXVlcnkgfCBRdWVyeVtdLFxuICAgIG9wdGlvbnM/OiBMb2FkTWV0aG9kT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPFNxbFF1ZXJ5PiB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5hcGlJbnN0YW5jZSgpLnNxbChxdWVyeSwgb3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGRyeVJ1bihcbiAgICBxdWVyeTogUXVlcnkgfCBRdWVyeVtdLFxuICAgIG9wdGlvbnM/OiBMb2FkTWV0aG9kT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPERyeVJ1blJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5hcGlJbnN0YW5jZSgpLmRyeVJ1bihxdWVyeSwgb3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIG1ldGEob3B0aW9ucz86IExvYWRNZXRob2RPcHRpb25zKTogT2JzZXJ2YWJsZTxNZXRhPiB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5hcGlJbnN0YW5jZSgpLm1ldGEob3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIHdhdGNoKHF1ZXJ5LCBwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8UmVzdWx0U2V0PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT5cbiAgICAgIHF1ZXJ5LnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IGFzeW5jIChxdWVyeSkgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHRTZXQgPSBhd2FpdCB0aGlzLmFwaUluc3RhbmNlKCkubG9hZChxdWVyeSwgcGFyYW1zKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzdWx0U2V0KTtcbiAgICAgICAgICB9IGNhdGNoKGVycikge1xuICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -18,7 +18,7 @@ class CubejsClient {
18
18
  this.ready$.next(true);
19
19
  }
20
20
  }
21
- apiInstace() {
21
+ apiInstance() {
22
22
  if (!this.cubeJsApi) {
23
23
  if (this.config instanceof Observable) {
24
24
  this.config.subscribe((config) => {
@@ -35,22 +35,27 @@ class CubejsClient {
35
35
  return this.cubeJsApi;
36
36
  }
37
37
  load(query, options) {
38
- return from(this.apiInstace().load(query, options));
38
+ return from(this.apiInstance().load(query, options));
39
39
  }
40
40
  sql(query, options) {
41
- return from(this.apiInstace().sql(query, options));
41
+ return from(this.apiInstance().sql(query, options));
42
42
  }
43
43
  dryRun(query, options) {
44
- return from(this.apiInstace().dryRun(query, options));
44
+ return from(this.apiInstance().dryRun(query, options));
45
45
  }
46
46
  meta(options) {
47
- return from(this.apiInstace().meta(options));
47
+ return from(this.apiInstance().meta(options));
48
48
  }
49
49
  watch(query, params = {}) {
50
50
  return new Observable((observer) => query.subscribe({
51
51
  next: (query) => __awaiter(this, void 0, void 0, function* () {
52
- const resultSet = yield this.apiInstace().load(query, params);
53
- observer.next(resultSet);
52
+ try {
53
+ const resultSet = yield this.apiInstance().load(query, params);
54
+ observer.next(resultSet);
55
+ }
56
+ catch (err) {
57
+ observer.error(err);
58
+ }
54
59
  }),
55
60
  }));
56
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cubejs-client-ngx.js","sources":["../../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":["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 apiInstace(): 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.apiInstace().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstace().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstace().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstace().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n const resultSet = await this.apiInstace().load(query, params);\n observer.next(resultSet);\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\nexport {StateSubject as ɵa} from './src/query-builder/common';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cubejs-client-ngx.js","sources":["../../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":["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\nexport {StateSubject as ɵa} from './src/query-builder/common';"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export declare class CubejsClient {
9
9
  ready$: BehaviorSubject<boolean>;
10
10
  private cubeJsApi;
11
11
  constructor(config: any | Observable<any>);
12
- private apiInstace;
12
+ private apiInstance;
13
13
  load(query: Query | Query[], options?: LoadMethodOptions): Observable<ResultSet>;
14
14
  sql(query: Query | Query[], options?: LoadMethodOptions): Observable<SqlQuery>;
15
15
  dryRun(query: Query | Query[], options?: LoadMethodOptions): Observable<DryRunResponse>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cubejs-client/ngx",
3
- "version": "0.29.0",
3
+ "version": "0.29.26",
4
4
  "author": "Cube Dev, Inc.",
5
5
  "engines": {},
6
6
  "repository": {
@@ -55,5 +55,5 @@
55
55
  "typings": "dist/cubejs-client-ngx.d.ts",
56
56
  "metadata": "dist/cubejs-client-ngx.metadata.json",
57
57
  "sideEffects": false,
58
- "gitHead": "15502010fedcb085860d4f35267a57a6d60aa9ab"
58
+ "gitHead": "210d10f05a665f94f741ccfa2e124933c71718eb"
59
59
  }