Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
chadjoseph committed May 9, 2015
0 parents commit 5d9cb82
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
@@ -0,0 +1,3 @@
.idea/
node_modules/

2 changes: 2 additions & 0 deletions README.md
@@ -0,0 +1,2 @@
Aum particle.

56 changes: 56 additions & 0 deletions index.js
@@ -0,0 +1,56 @@
import each from 'aum-each';

function Defer(successCallback, failureCallback) {
var next = [], promiseValue;

this.promise = {};

this.promise.then = function (successCallback, failureCallback) {
var deferred = new Defer(successCallback, failureCallback);

next.push(deferred);

return deferred.promise;
};

this.reject = function (value) {
promiseValue = value;

try {
if (failureCallback) {
promiseValue = failureCallback(promiseValue);
}
}
catch (e) {
promiseValue = e;

throw e;
}

each(next, function (deferred) {
deferred.reject(promiseValue);
});
};

this.resolve = function (value) {
promiseValue = value;

try {
if (successCallback) {
promiseValue = successCallback(promiseValue);
}
}
catch (e) {
promiseValue = e;

throw e;
}

each(next, function (deferred) {
deferred.resolve(promiseValue);
});
};
}

export default Defer;

20 changes: 20 additions & 0 deletions package.json
@@ -0,0 +1,20 @@
{
"name": "aum-defer",
"version": "0.0.4",
"description": "Aum particle.",
"keywords": [
"aum",
"mvc",
"particle"
],
"author": {
"name": "Chad Joseph Brown",
"url": "http://www.chadjoseph.com"
},
"main": "index.js",
"repository": {
"type": "git",
"url": "git://github.com/chadjoseph/aum-defer.git"
}
}

0 comments on commit 5d9cb82

Please sign in to comment.