import { noop, resolve as _resolve } from '../-internal'; /** `Promise.resolve` returns a promise that will become resolved with the passed `value`. It is shorthand for the following: ```javascript let promise = new Promise(function(resolve, reject){ resolve(1); }); promise.then(function(value){ // value === 1 }); ``` Instead of writing the above, your code now simply becomes the following: ```javascript let promise = Promise.resolve(1); promise.then(function(value){ // value === 1 }); ``` @method resolve @static @param {Any} value value that the returned promise will be resolved with Useful for tooling. @return {Promise} a promise that will become fulfilled with the given `value` */ export default function resolve(object) { /*jshint validthis:true */ let Constructor = this; if (object && typeof object === 'object' && object.constructor === Constructor) { return object; } let promise = new Constructor(noop); _resolve(promise, object); return promise; }