ngx-gem-spaas
Version:
This library contains services, components, images and styles to provide a unified look and way-of-working throughout GEM SPaaS.
21 lines • 3.58 kB
JavaScript
import { DateTime } from 'luxon';
export class ContractMatrixModel {
constructor(hLabels, callBack) {
this.hs = [];
this.ss = [];
this.qs = [];
for (const hLabel of hLabels) {
this.hs.push(callBack(hLabel));
for (let s = 0; s < 2; s++) {
this.ss.push(callBack(DateTime.fromISO(hLabel).toUTC().plus({ minutes: s * 30 }).toISO()));
}
for (let q = 0; q < 4; q++) {
this.qs.push(callBack(DateTime.fromISO(hLabel).toUTC().plus({ minutes: q * 15 }).toISO()));
}
}
}
getContracts(granularity) {
return granularity === 15 ? this.qs : granularity === 30 ? this.ss : this.hs;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2VtLXNwYWFzL2RhdGUvc3JjL19tb2RlbHMvY29udHJhY3QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE9BQU8sQ0FBQztBQUkvQixNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQVksT0FBaUIsRUFBRSxRQUFrQztRQUMvRCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQy9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMzRixDQUFDO1lBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNGLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxXQUE0QjtRQUN2QyxPQUFPLFdBQVcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDL0UsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xyXG5cclxuZXhwb3J0IHR5cGUgR3JhbnVsYXJpdHlUeXBlID0gMTUgfCAzMCB8IDYwO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRyYWN0TWF0cml4TW9kZWw8VD4ge1xyXG4gIGhzOiBUW107XHJcbiAgc3M6IFRbXTtcclxuICBxczogVFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihoTGFiZWxzOiBzdHJpbmdbXSwgY2FsbEJhY2s6ICh0czogc3RyaW5nIHwgbnVsbCkgPT4gVCkge1xyXG4gICAgdGhpcy5ocyA9IFtdO1xyXG4gICAgdGhpcy5zcyA9IFtdO1xyXG4gICAgdGhpcy5xcyA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBoTGFiZWwgb2YgaExhYmVscykge1xyXG4gICAgICB0aGlzLmhzLnB1c2goY2FsbEJhY2soaExhYmVsKSk7XHJcbiAgICAgIGZvciAobGV0IHMgPSAwOyBzIDwgMjsgcysrKSB7XHJcbiAgICAgICAgdGhpcy5zcy5wdXNoKGNhbGxCYWNrKERhdGVUaW1lLmZyb21JU08oaExhYmVsKS50b1VUQygpLnBsdXMoe21pbnV0ZXM6IHMgKiAzMH0pLnRvSVNPKCkpKTtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGxldCBxID0gMDsgcSA8IDQ7IHErKykge1xyXG4gICAgICAgIHRoaXMucXMucHVzaChjYWxsQmFjayhEYXRlVGltZS5mcm9tSVNPKGhMYWJlbCkudG9VVEMoKS5wbHVzKHttaW51dGVzOiBxICogMTV9KS50b0lTTygpKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbnRyYWN0cyhncmFudWxhcml0eTogR3JhbnVsYXJpdHlUeXBlKTogVFtdIHtcclxuICAgIHJldHVybiBncmFudWxhcml0eSA9PT0gMTUgPyB0aGlzLnFzIDogZ3JhbnVsYXJpdHkgPT09IDMwID8gdGhpcy5zcyA6IHRoaXMuaHM7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=