lib: make primordials Promise static methods safe
Promise static methods that iterate over the provided argument (%Promise.all%
, %Promise.any%
, ...) look up the then
property over each promise to support promise subclassing. This PR is introducing SafePromiseAll
, SafePromiseAny
, etc. that take a array, safely iterate over it, and wrap each promise in a SafePromise
whose prototype is accessible from userland.