ze-react-component-library
Version:
ZeroETP React Component Library
48 lines (37 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getMinGran = getMinGran;
var _moment = _interopRequireDefault(require("moment"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// 此代码从SemanticDB处拷贝过来的。
/**
* getMinGran
* 获得最细的粒度
* @param {Object} date
* @return {String}
*/
function getMinGran(date) {
if (date === 'YTD') {
return 'year';
}
if (date === 'QTD') {
return 'quarter';
}
if (date === 'MTD') {
return 'month';
}
if (!date.$gte) throw new Error('[getMinGran]date必须要有$gte参数');
if (!date.$lte) throw new Error('[getMinGran]date必须要有$lte参数');
var grans = ['minute', 'hour', 'day', 'isoWeek', 'month', 'quarter', 'year'];
for (var _i = 0, _a = grans.reverse(); _i < _a.length; _i++) {
var tw = _a[_i];
var gte = (0, _moment.default)(date.$gte);
var lte = (0, _moment.default)(date.$lte);
if (gte.isSame((0, _moment.default)(gte).startOf(tw), 'second') && lte.isSame((0, _moment.default)(lte).endOf(tw), 'second')) {
return tw;
}
}
throw new Error('[getMinGran]错误的date' + JSON.stringify(date));
}