'use strict'; 
 | 
// TODO: Remove from `core-js@4` 
 | 
var uncurryThis = require('../internals/function-uncurry-this'); 
 | 
var defineBuiltIn = require('../internals/define-built-in'); 
 | 
  
 | 
var DatePrototype = Date.prototype; 
 | 
var INVALID_DATE = 'Invalid Date'; 
 | 
var TO_STRING = 'toString'; 
 | 
var nativeDateToString = uncurryThis(DatePrototype[TO_STRING]); 
 | 
var thisTimeValue = uncurryThis(DatePrototype.getTime); 
 | 
  
 | 
// `Date.prototype.toString` method 
 | 
// https://tc39.es/ecma262/#sec-date.prototype.tostring 
 | 
if (String(new Date(NaN)) !== INVALID_DATE) { 
 | 
  defineBuiltIn(DatePrototype, TO_STRING, function toString() { 
 | 
    var value = thisTimeValue(this); 
 | 
    // eslint-disable-next-line no-self-compare -- NaN check 
 | 
    return value === value ? nativeDateToString(this) : INVALID_DATE; 
 | 
  }); 
 | 
} 
 |