Sha256: 82b048c95cb4fcc5e1cf6fc694a0a006496c8a59725094d85c1119b862ef680b

Contents?: true

Size: 1.23 KB

Versions: 25

Compression:

Stored size: 1.23 KB

Contents

'use strict';
var fails = require('../internals/fails');
var padStart = require('../internals/string-pad').start;

var abs = Math.abs;
var DatePrototype = Date.prototype;
var getTime = DatePrototype.getTime;
var nativeDateToISOString = DatePrototype.toISOString;

// `Date.prototype.toISOString` method implementation
// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring
// PhantomJS / old WebKit fails here:
module.exports = (fails(function () {
  return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
}) || !fails(function () {
  nativeDateToISOString.call(new Date(NaN));
})) ? function toISOString() {
  if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
  var date = this;
  var year = date.getUTCFullYear();
  var milliseconds = date.getUTCMilliseconds();
  var sign = year < 0 ? '-' : year > 9999 ? '+' : '';
  return sign + padStart(abs(year), sign ? 6 : 4, 0) +
    '-' + padStart(date.getUTCMonth() + 1, 2, 0) +
    '-' + padStart(date.getUTCDate(), 2, 0) +
    'T' + padStart(date.getUTCHours(), 2, 0) +
    ':' + padStart(date.getUTCMinutes(), 2, 0) +
    ':' + padStart(date.getUTCSeconds(), 2, 0) +
    '.' + padStart(milliseconds, 3, 0) +
    'Z';
} : nativeDateToISOString;

Version data entries

25 entries across 25 versions & 7 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/core-js/internals/date-to-iso-string.js
disco_app-0.18.0 test/dummy/node_modules/core-js/internals/date-to-iso-string.js
disco_app-0.18.2 test/dummy/node_modules/core-js/internals/date-to-iso-string.js
tang-0.2.1 spec/tang_app/node_modules/core-js/internals/date-to-iso-string.js
tang-0.2.0 spec/tang_app/node_modules/core-js/internals/date-to-iso-string.js
tang-0.1.0 spec/tang_app/node_modules/core-js/internals/date-to-iso-string.js
tang-0.0.9 spec/tang_app/node_modules/core-js/internals/date-to-iso-string.js
enju_library-0.3.8 spec/dummy/node_modules/core-js/internals/date-to-iso-string.js
condenser-0.3 lib/condenser/processors/node_modules/core-js-pure/internals/date-to-iso-string.js
condenser-0.2 lib/condenser/processors/node_modules/core-js-pure/internals/date-to-iso-string.js
condenser-0.1 lib/condenser/processors/node_modules/core-js-pure/internals/date-to-iso-string.js
condenser-0.0.12 lib/condenser/processors/node_modules/core-js-pure/internals/date-to-iso-string.js
condenser-0.0.11 lib/condenser/processors/node_modules/core-js-pure/internals/date-to-iso-string.js
condenser-0.0.10 lib/condenser/processors/node_modules/core-js-pure/internals/date-to-iso-string.js
condenser-0.0.9 lib/condenser/processors/node_modules/core-js-pure/internals/date-to-iso-string.js
condenser-0.0.8 lib/condenser/processors/node_modules/core-js-pure/internals/date-to-iso-string.js
jester-data-8.0.0 node_modules/core-js/internals/date-to-iso-string.js
ezii-os-5.2.1 node_modules/core-js/internals/date-to-iso-string.js
ezii-os-2.0.1 node_modules/core-js/internals/date-to-iso-string.js
ezii-os-1.1.0 node_modules/core-js/internals/date-to-iso-string.js