|
2550 | 2550 | /*globals Promise: false */ |
2551 | 2551 | overrideNative(globals, 'Promise', PromiseShim); |
2552 | 2552 | } |
| 2553 | + if (Promise.all.length !== 1) { |
| 2554 | + var origAll = Promise.all; |
| 2555 | + overrideNative(Promise, 'all', function all(iterable) { |
| 2556 | + return ES.Call(origAll, this, arguments); |
| 2557 | + }); |
| 2558 | + } |
| 2559 | + if (Promise.race.length !== 1) { |
| 2560 | + var origRace = Promise.race; |
| 2561 | + overrideNative(Promise, 'race', function race(iterable) { |
| 2562 | + return ES.Call(origRace, this, arguments); |
| 2563 | + }); |
| 2564 | + } |
| 2565 | + if (Promise.resolve.length !== 1) { |
| 2566 | + var origResolve = Promise.resolve; |
| 2567 | + overrideNative(Promise, 'resolve', function resolve(x) { |
| 2568 | + return ES.Call(origResolve, this, arguments); |
| 2569 | + }); |
| 2570 | + } |
| 2571 | + if (Promise.reject.length !== 1) { |
| 2572 | + var origReject = Promise.reject; |
| 2573 | + overrideNative(Promise, 'reject', function reject(r) { |
| 2574 | + return ES.Call(origReject, this, arguments); |
| 2575 | + }); |
| 2576 | + } |
2553 | 2577 | ensureEnumerable(Promise, 'all'); |
2554 | 2578 | ensureEnumerable(Promise, 'race'); |
2555 | 2579 | ensureEnumerable(Promise, 'resolve'); |
|
0 commit comments