nl_tokens: ES#sec - newpromisecapability NewPromiseCapability ( C )
pl_tokens: function NewPromiseCapability ( C ) { if ( C === GlobalPromise ) { // Optimized case, avoid extra closure. var promise = PromiseInit ( new GlobalPromise ( promiseRawSymbol ) ) ; var callbacks = CreateResolvingFunctions ( promise ) ; return { promise : promise , resolve : callbacks . resolve , reject : callbacks . reject } ; } var <mask> = { promise : UNDEFINED , resolve : UNDEFINED , reject : UNDEFINED } ; result . promise = new C ( ( resolve , reject ) => { if ( ! IS_UNDEFINED ( result . resolve ) || ! IS_UNDEFINED ( result . reject ) ) throw MakeTypeError ( kPromiseExecutorAlreadyInvoked ) ; result . resolve = resolve ; result . reject = reject ; } ) ; if ( ! IS_CALLABLE ( result . resolve ) || ! IS_CALLABLE ( result . reject ) ) throw MakeTypeError ( kPromiseNonCallable ) ; return result ; }