| 'use strict'; | 
| var $ = require('../internals/export'); | 
| var globalThis = require('../internals/global-this'); | 
| var apply = require('../internals/function-apply'); | 
| var slice = require('../internals/array-slice'); | 
| var newPromiseCapabilityModule = require('../internals/new-promise-capability'); | 
| var aCallable = require('../internals/a-callable'); | 
| var perform = require('../internals/perform'); | 
|   | 
| var Promise = globalThis.Promise; | 
|   | 
| var ACCEPT_ARGUMENTS = false; | 
| // Avoiding the use of polyfills of the previous iteration of this proposal | 
| // that does not accept arguments of the callback | 
| var FORCED = !Promise || !Promise['try'] || perform(function () { | 
|   Promise['try'](function (argument) { | 
|     ACCEPT_ARGUMENTS = argument === 8; | 
|   }, 8); | 
| }).error || !ACCEPT_ARGUMENTS; | 
|   | 
| // `Promise.try` method | 
| // https://tc39.es/ecma262/#sec-promise.try | 
| $({ target: 'Promise', stat: true, forced: FORCED }, { | 
|   'try': function (callbackfn /* , ...args */) { | 
|     var args = arguments.length > 1 ? slice(arguments, 1) : []; | 
|     var promiseCapability = newPromiseCapabilityModule.f(this); | 
|     var result = perform(function () { | 
|       return apply(aCallable(callbackfn), undefined, args); | 
|     }); | 
|     (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); | 
|     return promiseCapability.promise; | 
|   } | 
| }); |