fdsfd
This commit is contained in:
parent
628618df89
commit
e031240dff
3749 changed files with 1120848 additions and 1 deletions
54
node_modules/normalize-range/index.js
generated
vendored
Normal file
54
node_modules/normalize-range/index.js
generated
vendored
Normal file
|
@ -0,0 +1,54 @@
|
|||
'use strict';
|
||||
module.exports = {
|
||||
wrap: wrapRange,
|
||||
limit: limitRange,
|
||||
validate: validateRange,
|
||||
test: testRange,
|
||||
curry: curry,
|
||||
name: name
|
||||
};
|
||||
|
||||
function wrapRange(min, max, value) {
|
||||
var maxLessMin = max - min;
|
||||
return ((value - min) % maxLessMin + maxLessMin) % maxLessMin + min;
|
||||
}
|
||||
|
||||
function limitRange(min, max, value) {
|
||||
return Math.max(min, Math.min(max, value));
|
||||
}
|
||||
|
||||
function validateRange(min, max, value, minExclusive, maxExclusive) {
|
||||
if (!testRange(min, max, value, minExclusive, maxExclusive)) {
|
||||
throw new Error(value + ' is outside of range [' + min + ',' + max + ')');
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
function testRange(min, max, value, minExclusive, maxExclusive) {
|
||||
return !(
|
||||
value < min ||
|
||||
value > max ||
|
||||
(maxExclusive && (value === max)) ||
|
||||
(minExclusive && (value === min))
|
||||
);
|
||||
}
|
||||
|
||||
function name(min, max, minExcl, maxExcl) {
|
||||
return (minExcl ? '(' : '[') + min + ',' + max + (maxExcl ? ')' : ']');
|
||||
}
|
||||
|
||||
function curry(min, max, minExclusive, maxExclusive) {
|
||||
var boundNameFn = name.bind(null, min, max, minExclusive, maxExclusive);
|
||||
return {
|
||||
wrap: wrapRange.bind(null, min, max),
|
||||
limit: limitRange.bind(null, min, max),
|
||||
validate: function(value) {
|
||||
return validateRange(min, max, value, minExclusive, maxExclusive);
|
||||
},
|
||||
test: function(value) {
|
||||
return testRange(min, max, value, minExclusive, maxExclusive);
|
||||
},
|
||||
toString: boundNameFn,
|
||||
name: boundNameFn
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue