1 | import dateutil from '../dateutil';
|
2 | import { pymod, isPresent, includes } from '../helpers';
|
3 | export 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 |
|
35 |
|
36 | if (!includes(poslist, res))
|
37 | poslist.push(res);
|
38 | }
|
39 | dateutil.sort(poslist);
|
40 | return poslist;
|
41 | }
|
42 |
|
\ | No newline at end of file |