lib/class.js
function ( x ) {

		if ( Util.is.Error( x ) ) {
			return this.reject( x );
		}

		// Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
		try {

			if ( x === this ) {
				throw new TypeError('A promise cannot be resolved with itself.');
			}

			if ( Util.is.Promise( x ) || ( x !== null && Util.is.Object( x ) && Util.is.Function( x.then ) ) ) {
				Promise.doResolve( x.then.bind( x ), this.resolve, this.reject );
				return this;
			}

			if ( Util.is.Function( x ) ) {
				Promise.doResolve( x, this.resolve, this.reject );
				return this;
			}

			this.fulfill( x );

		} catch ( error ) {

			return this.reject( error );

		}

		return this;
	}
function ( x ) {

		if ( Util.is.Error( x ) ) {
			return this.reject( x );
		}

		// Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
		try {

			if ( x === this ) {
				throw new TypeError('A promise cannot be resolved with itself.');
			}

			if ( Util.is.Promise( x ) || ( x !== null && Util.is.Object( x ) && Util.is.Function( x.then ) ) ) {
				Promise.doResolve( x.then.bind( x ), this.resolve, this.reject );
				return this;
			}

			if ( Util.is.Function( x ) ) {
				Promise.doResolve( x, this.resolve, this.reject );
				return this;
			}

			this.fulfill( x );

		} catch ( error ) {

			return this.reject( error );

		}

		return this;
	}
function ( x ) { if ( Util . is . Error ( x ) ) { return this . reject ( x ) ; } // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure try { if ( x === this ) { throw new TypeError ( 'A promise cannot be resolved with itself.' ) ; } if ( Util . is . Promise ( x ) || ( x !== null && Util . is . Object ( x ) && Util . is . Function ( x . then ) ) ) { Promise . doResolve ( x . then . bind ( x ) , this . resolve , this . reject ) ; return this ; } if ( Util . is . Function ( x ) ) { Promise . doResolve ( x , this . resolve , this . reject ) ; return this ; } this . fulfill ( x ) ; } catch ( error ) { return this . reject ( error ) ; } return this ; }
INNER API METHODS
INNER API METHODS