tech: migrating elasticsearch to typescript

This commit is contained in:
Torkel Ödegaard
2017-09-28 12:52:39 +02:00
parent 487c475a1e
commit 7aa753a25f
19 changed files with 1148 additions and 1170 deletions

View File

@@ -0,0 +1,43 @@
///<reference path="../../../headers/common.d.ts" />
import moment from 'moment';
const intervalMap = {
"Hourly": { startOf: 'hour', amount: 'hours'},
"Daily": { startOf: 'day', amount: 'days'},
"Weekly": { startOf: 'isoWeek', amount: 'weeks'},
"Monthly": { startOf: 'month', amount: 'months'},
"Yearly": { startOf: 'year', amount: 'years'},
};
export class IndexPattern {
constructor(private pattern, private interval: string | null) { }
getIndexForToday() {
if (this.interval) {
return moment.utc().format(this.pattern);
} else {
return this.pattern;
}
};
getIndexList(from, to) {
if (!this.interval) {
return this.pattern;
}
var intervalInfo = intervalMap[this.interval];
var start = moment(from).utc().startOf(intervalInfo.startOf);
var end = moment(to).utc().startOf(intervalInfo.startOf).valueOf();
var indexList = [];
while (start <= end) {
indexList.push(start.format(this.pattern));
start.add(1, intervalInfo.amount);
}
return indexList;
}
}