35 lines
853 B
JavaScript
35 lines
853 B
JavaScript
/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
|
/** @author Brian Cavalier */
|
|
/** @author John Hann */
|
|
|
|
(function(define) { 'use strict';
|
|
define(function() {
|
|
|
|
return {
|
|
pending: toPendingState,
|
|
fulfilled: toFulfilledState,
|
|
rejected: toRejectedState,
|
|
inspect: inspect
|
|
};
|
|
|
|
function toPendingState() {
|
|
return { state: 'pending' };
|
|
}
|
|
|
|
function toRejectedState(e) {
|
|
return { state: 'rejected', reason: e };
|
|
}
|
|
|
|
function toFulfilledState(x) {
|
|
return { state: 'fulfilled', value: x };
|
|
}
|
|
|
|
function inspect(handler) {
|
|
var state = handler.state();
|
|
return state === 0 ? toPendingState()
|
|
: state > 0 ? toFulfilledState(handler.value)
|
|
: toRejectedState(handler.value);
|
|
}
|
|
|
|
});
|
|
}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));
|