TimeClip.js 439 B

1234567891011121314151617181920
  1. 'use strict';
  2. var GetIntrinsic = require('get-intrinsic');
  3. var $Date = GetIntrinsic('%Date%');
  4. var $isFinite = require('math-intrinsics/isFinite');
  5. var abs = require('math-intrinsics/abs');
  6. var ToNumber = require('./ToNumber');
  7. // https://262.ecma-international.org/5.1/#sec-15.9.1.14
  8. module.exports = function TimeClip(time) {
  9. if (!$isFinite(time) || abs(time) > 8.64e15) {
  10. return NaN;
  11. }
  12. return +new $Date(ToNumber(time));
  13. };