diff --git a/packages/core-js/internals/clear-error-stack.js b/packages/core-js/internals/clear-error-stack.js index e01175046ee0..f327c5e2aa18 100644 --- a/packages/core-js/internals/clear-error-stack.js +++ b/packages/core-js/internals/clear-error-stack.js @@ -1,7 +1,9 @@ -var replace = ''.replace; -var split = ''.split; -var slice = [].slice; -var join = [].join; +var uncurryThis = require('../internals/function-uncurry-this'); + +var replace = uncurryThis(''.replace); +var split = uncurryThis(''.split); +var slice = uncurryThis([].slice); +var join = uncurryThis([].join); var TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd'); var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; @@ -11,8 +13,8 @@ var IS_FIREFOX_OR_SAFARI_STACK = /@[^\n]*\n/.test(TEST) && !/zxcasd/.test(TEST); module.exports = function (stack, dropEntries) { if (typeof stack != 'string') return stack; if (IS_V8_OR_CHAKRA_STACK) { - while (dropEntries--) stack = replace.call(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); } else if (IS_FIREFOX_OR_SAFARI_STACK) { - return join.call(slice.call(split.call(stack, '\n'), dropEntries), '\n'); + return join(slice(split(stack, '\n'), dropEntries), '\n'); } return stack; };