es5-shim.map 37.0 KB
{"version":3,"sources":["es5-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","$Array","Array","ArrayPrototype","prototype","$Object","Object","ObjectPrototype","$Function","Function","FunctionPrototype","$String","String","StringPrototype","$Number","Number","NumberPrototype","array_slice","slice","array_splice","splice","array_push","push","array_unshift","unshift","array_concat","concat","array_join","join","call","apply","max","Math","min","to_string","toString","hasToStringTag","Symbol","toStringTag","isCallable","fnToStr","constructorRegex","isES6ClassFn","value","fnStr","singleStripped","replace","multiStripped","spaceStripped","test","e","tryFunctionObject","fnClass","genClass","strClass","isRegex","regexExec","RegExp","exec","tryRegexExec","regexClass","isString","strValue","valueOf","tryStringObject","stringClass","supportsDescriptors","defineProperty","obj","enumerable","_","x","defineProperties","has","object","name","method","forceAssign","configurable","writable","map","hasOwnProperty","isPrimitive","input","type","isActualNaN","isNaN","ES","ToInteger","num","n","floor","abs","ToPrimitive","val","toStr","TypeError","ToObject","o","ToUint32","Empty","bind","that","target","args","arguments","bound","binder","result","boundLength","length","boundArgs","i","owns","arraySlice","arraySliceApply","strSlice","strSplit","split","strIndexOf","indexOf","pushCall","isEnum","propertyIsEnumerable","arraySort","sort","isArray","hasUnshiftReturnValueBug","boxedString","splitString","properlyBoxesContext","properlyBoxed","properlyBoxesNonStrict","properlyBoxesStrict","threwException","__","context","forEach","callbackfn","self","T","filter","every","some","reduceCoercesToObject","reduce","___","list","reduceRightCoercesToObject","reduceRight","hasFirefox2IndexOfBug","searchElement","hasFirefox2LastIndexOfBug","lastIndexOf","spliceNoopReturnsEmptyArray","a","start","deleteCount","spliceWorksWithEmptyObject","spliceWorksWithLargeSparseArrays","arr","spliceWorksWithSmallSparseArrays","O","A","len","relativeStart","actualStart","actualDeleteCount","k","from","items","itemCount","to","maxK","minK","originalJoin","hasStringJoinBug","separator","sep","hasJoinUndefinedBug","undefined","pushShim","item","pushIsNotGeneric","pushUndefinedIsWeird","end","sortIgnoresNonFunctions","sortThrowsOnRegex","sortIgnoresUndefined","compareFn","hasDontEnumBug","hasProtoEnumBug","hasStringEnumBug","equalsConstructorPrototype","ctor","constructor","blacklistedKeys","$window","$console","$parent","$self","$frame","$frames","$frameElement","$webkitIndexedDB","$webkitStorageInfo","$external","hasAutomationEqualityBug","window","equalsConstructorPrototypeIfNotBuggy","dontEnums","dontEnumsLength","isStandardArguments","isArguments","isLegacyArguments","callee","keys","isFn","isArgs","isObject","isStr","theKeys","skipProto","skipConstructor","j","dontEnum","keysWorksWithArguments","keysHasArgumentsLengthBug","argKeys","originalKeys","hasNegativeMonthYearBug","Date","getUTCMonth","aNegativeTestDate","aPositiveTestDate","hasToUTCStringFormatBug","toUTCString","hasToDateStringFormatBug","hasToStringFormatBug","timeZoneOffset","getTimezoneOffset","toDateString","originalGetFullYear","getFullYear","originalGetMonth","getMonth","originalGetDate","getDate","originalGetUTCFullYear","getUTCFullYear","originalGetUTCMonth","originalGetUTCDate","getUTCDate","originalGetUTCDay","getUTCDay","originalGetUTCHours","getUTCHours","originalGetUTCMinutes","getUTCMinutes","originalGetUTCSeconds","getUTCSeconds","originalGetUTCMilliseconds","getUTCMilliseconds","dayName","monthName","daysInMonth","month","year","date","days","day","hour","minute","second","getDay","getHours","getMinutes","getSeconds","timezoneOffset","hoursOffset","minutesOffset","negativeDate","negativeYearString","hasNegativeDateBug","toISOString","hasSafari51DateBug","getTime","isFinite","RangeError","dateToJSONIsSupported","toJSON","NaN","key","tv","toISO","supportsExtendedYears","parse","acceptsInvalidDates","doesNotParseY2KNewYear","maxSafeUnsigned32Bit","pow","hasSafariSignedIntBug","NativeDate","DateShim","Y","M","D","h","m","s","ms","seconds","millis","msToShift","sToShift","isoDateExpression","months","dayFromMonth","t","toUTC","now","UTC","parseShim","string","match","millisecond","isLocalTime","Boolean","signOffset","hourOffset","minuteOffset","hasMinutesOrSecondsOrMilliseconds","hasToFixedBugs","toFixed","toFixedHelpers","base","size","data","multiply","c","c2","divide","numToString","acc","log","x2","toFixedShim","fractionDigits","f","z","hasToPrecisionUndefinedBug","toPrecision","originalToPrecision","precision","compliantExecNpcg","maxSafe32BitInt","limit","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separator2","lastIndex","lastLength","separatorCopy","source","splitLimit","index","str_replace","replaceReportsGroupsCorrectly","groups","group","searchValue","replaceValue","hasCapturingGroups","wrappedReplaceValue","originalLastIndex","string_substr","substr","hasNegativeSubstrBug","normalizedStart","ws","zeroWidth","wsRegexChars","trimBeginRegexp","trimEndRegexp","hasTrimWhitespaceBug","trim","hasLastIndexBug","searchString","S","searchStr","numPos","pos","Infinity","searchLen","originalLastIndexOf","parseInt","origParseInt","hexRegex","str","radix","defaultedRadix","parseFloat","origParseFloat","inputString","errorToStringShim","msg","message","Error","ensureNonEnumerable","prop","desc","getOwnPropertyDescriptor","regexToString","global"],"mappings":"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"}