Skip to content
Permalink
Newer
Older
100644 22 lines (19 sloc) 656 Bytes
1
/* $lab:coverage:off$ */
2
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991
3
/* $lab:coverage:on$ */
4
March 23, 2016 12:09
5
module.exports = isPositiveInteger
6
module.exports.isSafePositiveInteger = isSafePositiveInteger
March 23, 2016 12:09
7
8
function isPositiveInteger (x) {
March 24, 2016 21:30
10
return Object.prototype.toString.call(x) === '[object Number]' &&
March 24, 2016 12:55
11
// Is it an integer?
March 24, 2016 21:30
12
x % 1 === 0 &&
March 24, 2016 21:30
14
x > 0
15
}
16
17
// strict positive integer check:
18
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER
19
function isSafePositiveInteger (x) {
March 24, 2016 21:30
20
return isPositiveInteger(x) &&
March 24, 2016 12:55
21
x <= MAX_SAFE_INTEGER
March 23, 2016 09:05
22
}