ze-react-component-library
Version:
ZeroETP React Component Library
38 lines (31 loc) • 943 B
JavaScript
// 此代码从SemanticDB处拷贝过来的。
import moment from 'moment';
/**
* getMinGran
* 获得最细的粒度
* @param {Object} date
* @return {String}
*/
export 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 = moment(date.$gte);
var lte = moment(date.$lte);
if (gte.isSame(moment(gte).startOf(tw), 'second') && lte.isSame(moment(lte).endOf(tw), 'second')) {
return tw;
}
}
throw new Error('[getMinGran]错误的date' + JSON.stringify(date));
}