@cubejs-client/core 0.30.0 → 0.30.46

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.
@@ -7909,6 +7909,39 @@
7909
7909
  return f(b) < f(a) ? b : a;
7910
7910
  });
7911
7911
 
7912
+ /**
7913
+ * Converts an object into an array of key, value arrays. Only the object's
7914
+ * own properties are used.
7915
+ * Note that the order of the output array is not guaranteed to be consistent
7916
+ * across different JS platforms.
7917
+ *
7918
+ * @func
7919
+ * @memberOf R
7920
+ * @since v0.4.0
7921
+ * @category Object
7922
+ * @sig {String: *} -> [[String,*]]
7923
+ * @param {Object} obj The object to extract from
7924
+ * @return {Array} An array of key, value arrays from the object's own properties.
7925
+ * @see R.fromPairs
7926
+ * @example
7927
+ *
7928
+ * R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]]
7929
+ */
7930
+
7931
+ var toPairs =
7932
+ /*#__PURE__*/
7933
+ _curry1(function toPairs(obj) {
7934
+ var pairs = [];
7935
+
7936
+ for (var prop in obj) {
7937
+ if (_has(prop, obj)) {
7938
+ pairs[pairs.length] = [prop, obj[prop]];
7939
+ }
7940
+ }
7941
+
7942
+ return pairs;
7943
+ });
7944
+
7912
7945
  /**
7913
7946
  * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from
7914
7947
  * any [Chain](https://github.com/fantasyland/fantasy-land#chain).
@@ -8048,6 +8081,41 @@
8048
8081
  name: 'year',
8049
8082
  title: 'Year'
8050
8083
  }];
8084
+ function removeEmptyQueryFields(_query) {
8085
+ var query = _query || {};
8086
+ return fromPairs(toPairs(query).map(function (_ref) {
8087
+ var _ref2 = _slicedToArray(_ref, 2),
8088
+ key = _ref2[0],
8089
+ value = _ref2[1];
8090
+
8091
+ if (['measures', 'dimensions', 'segments', 'timeDimensions', 'filters'].includes(key)) {
8092
+ if (Array.isArray(value) && value.length === 0) {
8093
+ return null;
8094
+ }
8095
+ }
8096
+
8097
+ if (key === 'order' && value) {
8098
+ if (Array.isArray(value) && !value.length) {
8099
+ return null;
8100
+ } else if (!Object.keys(value).length) {
8101
+ return null;
8102
+ }
8103
+ }
8104
+
8105
+ return [key, value];
8106
+ }).filter(Boolean));
8107
+ }
8108
+ function validateQuery(_query) {
8109
+ var query = _query || {};
8110
+ return removeEmptyQueryFields(_objectSpread$3(_objectSpread$3({}, query), {}, {
8111
+ filters: (query.filters || []).filter(function (f) {
8112
+ return f.operator;
8113
+ }),
8114
+ timeDimensions: (query.timeDimensions || []).filter(function (td) {
8115
+ return !(!td.dateRange && !td.granularity);
8116
+ })
8117
+ }));
8118
+ }
8051
8119
  function areQueriesEqual() {
8052
8120
  var query1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8053
8121
  var query2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -8102,9 +8170,9 @@
8102
8170
  }
8103
8171
 
8104
8172
  if ((oldQuery.measures || []).length === 0 && (newQuery.measures || []).length > 0 || (oldQuery.measures || []).length === 1 && (newQuery.measures || []).length === 1 && oldQuery.measures[0] !== newQuery.measures[0]) {
8105
- var _ref4 = newQuery.timeDimensions || [],
8106
- _ref5 = _slicedToArray(_ref4, 1),
8107
- td = _ref5[0];
8173
+ var _ref6 = newQuery.timeDimensions || [],
8174
+ _ref7 = _slicedToArray(_ref6, 1),
8175
+ td = _ref7[0];
8108
8176
 
8109
8177
  var defaultTimeDimension = meta.defaultTimeDimensionNameFor(newQuery.measures[0]);
8110
8178
  newQuery = _objectSpread$3(_objectSpread$3({}, newQuery), {}, {
@@ -8275,10 +8343,10 @@
8275
8343
  var indexedOrderMembers = indexBy(prop('id'), orderMembers);
8276
8344
  var entries = Array.isArray(order) ? order : Object.entries(order || {});
8277
8345
  var nextOrderMembers = [];
8278
- entries.forEach(function (_ref6) {
8279
- var _ref7 = _slicedToArray(_ref6, 2),
8280
- memberId = _ref7[0],
8281
- currentOrder = _ref7[1];
8346
+ entries.forEach(function (_ref8) {
8347
+ var _ref9 = _slicedToArray(_ref8, 2),
8348
+ memberId = _ref9[0],
8349
+ currentOrder = _ref9[1];
8282
8350
 
8283
8351
  if (currentOrder !== 'none' && indexedOrderMembers[memberId]) {
8284
8352
  ids.add(memberId);
@@ -10572,7 +10640,7 @@
10572
10640
 
10573
10641
  return exports;
10574
10642
 
10575
- })({}));
10643
+ }))({});
10576
10644
  })(__self__);
10577
10645
  __self__.fetch.ponyfill = true;
10578
10646
  // Remove "polyfill" property added by whatwg-fetch
@@ -11928,16 +11996,21 @@
11928
11996
  CubejsApi: CubejsApi,
11929
11997
  HttpTransport: HttpTransport,
11930
11998
  ResultSet: ResultSet,
11999
+ RequestError: RequestError,
12000
+ DEFAULT_GRANULARITY: DEFAULT_GRANULARITY,
12001
+ GRANULARITIES: GRANULARITIES,
12002
+ removeEmptyQueryFields: removeEmptyQueryFields,
12003
+ validateQuery: validateQuery,
11931
12004
  areQueriesEqual: areQueriesEqual,
12005
+ defaultOrder: defaultOrder,
11932
12006
  defaultHeuristics: defaultHeuristics,
11933
- movePivotItem: movePivotItem,
11934
12007
  isQueryPresent: isQueryPresent,
12008
+ movePivotItem: movePivotItem,
11935
12009
  moveItemInArray: moveItemInArray,
11936
- defaultOrder: defaultOrder,
11937
12010
  flattenFilters: flattenFilters,
11938
12011
  getQueryMembers: getQueryMembers,
11939
12012
  getOrderMembersFromOrder: getOrderMembersFromOrder,
11940
- GRANULARITIES: GRANULARITIES
12013
+ aliasSeries: aliasSeries
11941
12014
  });
11942
12015
 
11943
12016
  Object.keys(clientCoreExports).forEach(function (key) {