UNPKG

1.35 kBJavaScriptView Raw
1import dateutil from '../dateutil';
2import { pymod, isPresent, includes } from '../helpers';
3export function buildPoslist(bysetpos, timeset, start, end, ii, dayset) {
4 var poslist = [];
5 for (var j = 0; j < bysetpos.length; j++) {
6 var daypos = void 0;
7 var timepos = void 0;
8 var pos = bysetpos[j];
9 if (pos < 0) {
10 daypos = Math.floor(pos / timeset.length);
11 timepos = pymod(pos, timeset.length);
12 }
13 else {
14 daypos = Math.floor((pos - 1) / timeset.length);
15 timepos = pymod(pos - 1, timeset.length);
16 }
17 var tmp = [];
18 for (var k = start; k < end; k++) {
19 var val = dayset[k];
20 if (!isPresent(val))
21 continue;
22 tmp.push(val);
23 }
24 var i = void 0;
25 if (daypos < 0) {
26 i = tmp.slice(daypos)[0];
27 }
28 else {
29 i = tmp[daypos];
30 }
31 var time = timeset[timepos];
32 var date = dateutil.fromOrdinal(ii.yearordinal + i);
33 var res = dateutil.combine(date, time);
34 // XXX: can this ever be in the array?
35 // - compare the actual date instead?
36 if (!includes(poslist, res))
37 poslist.push(res);
38 }
39 dateutil.sort(poslist);
40 return poslist;
41}
42//# sourceMappingURL=poslist.js.map
\No newline at end of file