@cubejs-client/core 0.29.53 → 0.30.4

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);
@@ -11928,16 +11996,20 @@
11928
11996
  CubejsApi: CubejsApi,
11929
11997
  HttpTransport: HttpTransport,
11930
11998
  ResultSet: ResultSet,
11999
+ DEFAULT_GRANULARITY: DEFAULT_GRANULARITY,
12000
+ GRANULARITIES: GRANULARITIES,
12001
+ removeEmptyQueryFields: removeEmptyQueryFields,
12002
+ validateQuery: validateQuery,
11931
12003
  areQueriesEqual: areQueriesEqual,
12004
+ defaultOrder: defaultOrder,
11932
12005
  defaultHeuristics: defaultHeuristics,
11933
- movePivotItem: movePivotItem,
11934
12006
  isQueryPresent: isQueryPresent,
12007
+ movePivotItem: movePivotItem,
11935
12008
  moveItemInArray: moveItemInArray,
11936
- defaultOrder: defaultOrder,
11937
12009
  flattenFilters: flattenFilters,
11938
12010
  getQueryMembers: getQueryMembers,
11939
12011
  getOrderMembersFromOrder: getOrderMembersFromOrder,
11940
- GRANULARITIES: GRANULARITIES
12012
+ aliasSeries: aliasSeries
11941
12013
  });
11942
12014
 
11943
12015
  Object.keys(clientCoreExports).forEach(function (key) {