@cubejs-client/core
Advanced tools
Comparing version 0.2.8 to 0.3.1
@@ -23,2 +23,4 @@ 'use strict'; | ||
var momentRange = require('moment-range'); | ||
require('core-js/modules/es6.regexp.split'); | ||
require('core-js/modules/es6.function.name'); | ||
var _regeneratorRuntime = _interopDefault(require('@babel/runtime/regenerator')); | ||
@@ -389,2 +391,57 @@ require('regenerator-runtime/runtime'); | ||
var memberMap = function memberMap(memberArray) { | ||
return ramda.fromPairs(memberArray.map(function (m) { | ||
return [m.name, m]; | ||
})); | ||
}; | ||
var Meta = | ||
/*#__PURE__*/ | ||
function () { | ||
function Meta(metaResponse) { | ||
_classCallCheck(this, Meta); | ||
this.meta = metaResponse; | ||
var cubes = this.meta.cubes; | ||
this.cubes = cubes; | ||
this.cubesMap = ramda.fromPairs(cubes.map(function (c) { | ||
return [c.name, { | ||
measures: memberMap(c.measures), | ||
dimensions: memberMap(c.dimensions), | ||
segments: memberMap(c.segments) | ||
}]; | ||
})); | ||
} | ||
_createClass(Meta, [{ | ||
key: "membersForQuery", | ||
value: function membersForQuery(query, memberType) { | ||
return ramda.unnest(this.cubes.map(function (c) { | ||
return c[memberType]; | ||
})); | ||
} | ||
}, { | ||
key: "resolveMember", | ||
value: function resolveMember(memberName, memberType) { | ||
var _memberName$split = memberName.split('.'), | ||
_memberName$split2 = _slicedToArray(_memberName$split, 1), | ||
cube = _memberName$split2[0]; | ||
if (!this.cubesMap[cube]) { | ||
throw new Error("Cube not found ".concat(cube, " for path '").concat(memberName, "'")); | ||
} | ||
var member = this.cubesMap[cube][memberType][memberName]; | ||
if (!member) { | ||
throw new Error("Path not found '".concat(memberName, "'")); | ||
} | ||
return member; | ||
} | ||
}]); | ||
return Meta; | ||
}(); | ||
var ProgressResult = | ||
@@ -575,2 +632,13 @@ /*#__PURE__*/ | ||
} | ||
}, { | ||
key: "meta", | ||
value: function meta(options, callback) { | ||
var _this3 = this; | ||
return this.loadMethod(function () { | ||
return _this3.request("/meta"); | ||
}, function (body) { | ||
return new Meta(body); | ||
}, options, callback); | ||
} | ||
}]); | ||
@@ -577,0 +645,0 @@ |
{ | ||
"name": "@cubejs-client/core", | ||
"version": "0.2.8", | ||
"version": "0.3.1", | ||
"description": "cube.js client", | ||
@@ -29,3 +29,3 @@ "main": "dist/cubejs-client-core.js", | ||
}, | ||
"gitHead": "f46b13e1bf02b96cfb961c3e02fb77b0ed682be1" | ||
"gitHead": "fd69ad6e3fcdeab323932b56211cb5733727cf3a" | ||
} |
import { fetch } from 'whatwg-fetch'; | ||
import ResultSet from './ResultSet'; | ||
import SqlQuery from './SqlQuery'; | ||
import Meta from './Meta'; | ||
import ProgressResult from './ProgressResult'; | ||
@@ -97,2 +98,11 @@ | ||
} | ||
meta(options, callback) { | ||
return this.loadMethod( | ||
() => this.request(`/meta`), | ||
(body) => new Meta(body), | ||
options, | ||
callback | ||
); | ||
} | ||
} | ||
@@ -99,0 +109,0 @@ |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
473314
11
13523