@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.
@@ -122,6 +122,41 @@ var GRANULARITIES = [{
122
122
  name: 'year',
123
123
  title: 'Year'
124
124
  }];
125
+ function removeEmptyQueryFields(_query) {
126
+ var query = _query || {};
127
+ return ramda.fromPairs(ramda.toPairs(query).map(function (_ref) {
128
+ var _ref2 = _slicedToArray__default['default'](_ref, 2),
129
+ key = _ref2[0],
130
+ value = _ref2[1];
131
+
132
+ if (['measures', 'dimensions', 'segments', 'timeDimensions', 'filters'].includes(key)) {
133
+ if (Array.isArray(value) && value.length === 0) {
134
+ return null;
135
+ }
136
+ }
137
+
138
+ if (key === 'order' && value) {
139
+ if (Array.isArray(value) && !value.length) {
140
+ return null;
141
+ } else if (!Object.keys(value).length) {
142
+ return null;
143
+ }
144
+ }
145
+
146
+ return [key, value];
147
+ }).filter(Boolean));
148
+ }
149
+ function validateQuery(_query) {
150
+ var query = _query || {};
151
+ return removeEmptyQueryFields(_objectSpread$3(_objectSpread$3({}, query), {}, {
152
+ filters: (query.filters || []).filter(function (f) {
153
+ return f.operator;
154
+ }),
155
+ timeDimensions: (query.timeDimensions || []).filter(function (td) {
156
+ return !(!td.dateRange && !td.granularity);
157
+ })
158
+ }));
159
+ }
125
160
  function areQueriesEqual() {
126
161
  var query1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
127
162
  var query2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -176,9 +211,9 @@ function defaultHeuristics(newState) {
176
211
  }
177
212
 
178
213
  if ((oldQuery.measures || []).length === 0 && (newQuery.measures || []).length > 0 || (oldQuery.measures || []).length === 1 && (newQuery.measures || []).length === 1 && oldQuery.measures[0] !== newQuery.measures[0]) {
179
- var _ref4 = newQuery.timeDimensions || [],
180
- _ref5 = _slicedToArray__default['default'](_ref4, 1),
181
- td = _ref5[0];
214
+ var _ref6 = newQuery.timeDimensions || [],
215
+ _ref7 = _slicedToArray__default['default'](_ref6, 1),
216
+ td = _ref7[0];
182
217
 
183
218
  var defaultTimeDimension = meta.defaultTimeDimensionNameFor(newQuery.measures[0]);
184
219
  newQuery = _objectSpread$3(_objectSpread$3({}, newQuery), {}, {
@@ -349,10 +384,10 @@ function getOrderMembersFromOrder(orderMembers, order) {
349
384
  var indexedOrderMembers = ramda.indexBy(ramda.prop('id'), orderMembers);
350
385
  var entries = Array.isArray(order) ? order : Object.entries(order || {});
351
386
  var nextOrderMembers = [];
352
- entries.forEach(function (_ref6) {
353
- var _ref7 = _slicedToArray__default['default'](_ref6, 2),
354
- memberId = _ref7[0],
355
- currentOrder = _ref7[1];
387
+ entries.forEach(function (_ref8) {
388
+ var _ref9 = _slicedToArray__default['default'](_ref8, 2),
389
+ memberId = _ref9[0],
390
+ currentOrder = _ref9[1];
356
391
 
357
392
  if (currentOrder !== 'none' && indexedOrderMembers[memberId]) {
358
393
  ids.add(memberId);
@@ -2355,9 +2390,12 @@ var index = (function (apiToken, options) {
2355
2390
  });
2356
2391
 
2357
2392
  exports.CubejsApi = CubejsApi;
2393
+ exports.DEFAULT_GRANULARITY = DEFAULT_GRANULARITY;
2358
2394
  exports.GRANULARITIES = GRANULARITIES;
2359
2395
  exports.HttpTransport = HttpTransport;
2396
+ exports.RequestError = RequestError;
2360
2397
  exports.ResultSet = ResultSet;
2398
+ exports.aliasSeries = aliasSeries;
2361
2399
  exports.areQueriesEqual = areQueriesEqual;
2362
2400
  exports.default = index;
2363
2401
  exports.defaultHeuristics = defaultHeuristics;
@@ -2368,4 +2406,6 @@ exports.getQueryMembers = getQueryMembers;
2368
2406
  exports.isQueryPresent = isQueryPresent;
2369
2407
  exports.moveItemInArray = moveItemInArray;
2370
2408
  exports.movePivotItem = movePivotItem;
2409
+ exports.removeEmptyQueryFields = removeEmptyQueryFields;
2410
+ exports.validateQuery = validateQuery;
2371
2411
  //# sourceMappingURL=cubejs-client-core.js.map