diff options
Diffstat (limited to 'src/node_modules/es-abstract/2019/InLeapYear.js')
-rw-r--r-- | src/node_modules/es-abstract/2019/InLeapYear.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/node_modules/es-abstract/2019/InLeapYear.js b/src/node_modules/es-abstract/2019/InLeapYear.js new file mode 100644 index 0000000..38ba8fd --- /dev/null +++ b/src/node_modules/es-abstract/2019/InLeapYear.js @@ -0,0 +1,21 @@ +'use strict'; + +var GetIntrinsic = require('../GetIntrinsic'); + +var $EvalError = GetIntrinsic('%EvalError%'); + +var DaysInYear = require('./DaysInYear'); +var YearFromTime = require('./YearFromTime'); + +// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3 + +module.exports = function InLeapYear(t) { + var days = DaysInYear(YearFromTime(t)); + if (days === 365) { + return 0; + } + if (days === 366) { + return 1; + } + throw new $EvalError('Assertion failed: there are not 365 or 366 days in a year, got: ' + days); +}; |