remove cached files
This commit is contained in:
@@ -1,28 +0,0 @@
|
||||
class ArrayUtil {
|
||||
|
||||
static diff(a1, a2){
|
||||
return a1.filter((a1n)=>{ return a2.indexOf(a1n) < 0; });
|
||||
}
|
||||
|
||||
static selectMap(a, fnSelect, fnMap){
|
||||
var map = [];
|
||||
for (var elem of a){
|
||||
if (fnSelect(elem)) map.push(fnMap(elem));
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
static all(a, fnCondition){
|
||||
var all = true;
|
||||
for (var elem of a){
|
||||
if (!fnCondition(elem)){
|
||||
all = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return all;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default ArrayUtil;
|
||||
@@ -1,68 +0,0 @@
|
||||
class DateRange {
|
||||
|
||||
static addRange(new_range, ranges){
|
||||
var gaps_filled = [], new_ranges = [],
|
||||
start = new_range[0], end = new_range[1];
|
||||
if (start === undefined && end === undefined && ranges.length === 0){
|
||||
gaps_filled = [undefined, undefined];
|
||||
new_ranges = [[undefined, undefined]];
|
||||
} else {
|
||||
var covered = false,
|
||||
last_start = start,
|
||||
last_end = start;
|
||||
|
||||
ranges.forEach((range, i)=>{
|
||||
if (covered){ new_ranges.push(range); return true; }
|
||||
if (DateRange.lte(start, range[0])){
|
||||
if (end && !DateRange.eq(end, range[0]) && DateRange.lte(end, range[0])){
|
||||
new_ranges.push([last_start, end]);
|
||||
new_ranges.push(range);
|
||||
gaps_filled.push([last_end, end]);
|
||||
covered = true;
|
||||
} else if (end && !DateRange.gte(end, range[1])) {
|
||||
new_ranges.push([last_start, range[1]]);
|
||||
if (range[0] && !DateRange.eq(last_end, range[0])){ gaps_filled.push([last_end, range[0]]); }
|
||||
covered = true
|
||||
} else {
|
||||
if (range[0] && !DateRange.eq(last_end, range[0])) gaps_filled.push([last_end, range[0]]);
|
||||
last_end = range[1]
|
||||
}
|
||||
} else if (start && DateRange.gte(range[1], start)){
|
||||
if (!DateRange.eq(end, range[1]) && DateRange.gte(end, range[1])){
|
||||
last_start = range[0];
|
||||
last_end = range[1];
|
||||
} else {
|
||||
new_ranges.push(range);
|
||||
covered = true;
|
||||
}
|
||||
} else { new_ranges.push(range); }
|
||||
});
|
||||
if (!covered) {
|
||||
new_ranges.push([last_start, end]);
|
||||
if (!DateRange.eq(last_end, end)) gaps_filled.push([last_end, end]);
|
||||
}
|
||||
}
|
||||
|
||||
return { gaps_filled: gaps_filled, new_ranges: new_ranges }
|
||||
}
|
||||
|
||||
static gte(date1, date2){
|
||||
return (date1 === undefined || (date2 !== undefined && date1 >= date2));
|
||||
}
|
||||
|
||||
static lte(date1, date2){
|
||||
return (date1 === undefined || (date2 !== undefined && date1 <= date2));
|
||||
}
|
||||
|
||||
static eq(date1, date2){
|
||||
if (date1 && date1.constructor === Date) date1 = date1.getTime();
|
||||
if (date2 && date2.constructor === Date) date2 = date2.getTime();
|
||||
return (date1 !== undefined && date2 !== undefined && date1 === date2) || date1 === undefined && date2 === undefined
|
||||
}
|
||||
|
||||
static add(date, s){
|
||||
return new Date(date.getTime() + s);
|
||||
}
|
||||
|
||||
}
|
||||
export default DateRange;
|
||||
@@ -1,38 +0,0 @@
|
||||
export default class {
|
||||
|
||||
static normal(average){
|
||||
return average + this.n6() * average;
|
||||
}
|
||||
|
||||
static n6(){
|
||||
return ((Math.random() + Math.random() + Math.random() + Math.random() + Math.random() + Math.random()) - 3) / 3;
|
||||
}
|
||||
|
||||
// min_max1 and min_max2 arrays of length two representing mins and maxes of their ranges;
|
||||
// returns array of array length two, representing mins and maxes not within min_max2.
|
||||
static minusRange(min_max1, min_max2){
|
||||
var minus = [];
|
||||
|
||||
// return undefined if min_max1 not provided
|
||||
if (!min_max1 || (!min_max1[0] && !min_max2[1])) return undefined;
|
||||
|
||||
if (min_max1[0] >= min_max2[0]){
|
||||
if (min_max1[1] > min_max2[1]) minus.push([min_max2[1], min_max1[1]]);
|
||||
} else if (min_max1[1] <= min_max2[1]){
|
||||
if (min_max1[0] < min_max2[0]) minus.push([min_max1[0], min_max2[0]]);
|
||||
} else if (min_max1[0] < min_max2[0] && min_max1[1] > min_max2[1]){
|
||||
minus.push([min_max1[0], min_max2[0]]);
|
||||
minus.push([min_max2[1], min_max1[1]]);
|
||||
} else {
|
||||
minus.push([min_max1[0], min_max1[1]]);
|
||||
}
|
||||
return minus;
|
||||
}
|
||||
|
||||
static inRange(n, min_max){
|
||||
var min = min_max[0],
|
||||
max = min_max[1];
|
||||
return ((n >= min) && (n <= max));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user