'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; 
 | 
}; 
 |