| 'use strict'; | 
| var anObject = require('../internals/an-object'); | 
| var isObject = require('../internals/is-object'); | 
| var newPromiseCapability = require('../internals/new-promise-capability'); | 
|   | 
| module.exports = function (C, x) { | 
|   anObject(C); | 
|   if (isObject(x) && x.constructor === C) return x; | 
|   var promiseCapability = newPromiseCapability.f(C); | 
|   var resolve = promiseCapability.resolve; | 
|   resolve(x); | 
|   return promiseCapability.promise; | 
| }; |