Comparing version 0.0.6 to 0.0.7
13
clues.js
@@ -17,3 +17,3 @@ /** | ||
clues.version = "0.0.6"; | ||
clues.version = "0.0.7"; | ||
@@ -69,3 +69,3 @@ function clues(logic,facts) { | ||
fulfill : p.fulfill, | ||
reject: function(d) { return p.reject({ref:ref,err:d});}, | ||
reject: function(e) { return p.reject(e);}, | ||
callback : function(err,d) { | ||
@@ -102,3 +102,10 @@ if (err) p.reject(err); | ||
return p.promise; | ||
return p.promise | ||
.then(null,function(e) { | ||
// Convert error object to text | ||
if (e.message) e = e.message; | ||
// Add a reference, if it doesn't exist | ||
if (!e.ref) e= {ref:ref,err:e}; | ||
throw e; | ||
}); | ||
}; | ||
@@ -105,0 +112,0 @@ |
@@ -5,2 +5,2 @@ /** | ||
*/ | ||
(function(e){function t(e,r){return this instanceof t?(this.logic=e||("undefined"==typeof window?{}:window),this.facts=r||{},void 0):new t(e,r)}function r(e){var t=i.exec(""+e.prototype.constructor);return t[1].replace(/\s/g,"").split(",")}var n;"undefined"!=typeof module?(n=require("q"),module.exports=t):(n=e.Q,e.clues=t),t.version="0.0.6";var i=/function.*?\((.*?)\).*/;t.prototype.solve=function(e,t){var n,i=this,f=i.adapter,o=f.pending();if(t=t||{},"function"!=typeof e){if(n=e,t[n])return f.fulfilled(t[n]);if(void 0!==i.facts[n])return f.fulfilled(i.facts[n]);if(void 0===i.logic[n])return f.rejected({ref:n,err:"not defined"});if("function"!=typeof i.logic[n])return f.fulfilled(i.logic[n]);i.facts[n]=o.promise,o.promise.then(function(e){i.facts[n]=e}),e=i.logic[n]}var l={ref:n,self:i,local:t,facts:i.facts,promise:o.promise,fulfill:o.fulfill,reject:function(e){return o.reject({ref:n,err:e})},callback:function(e,t){e?o.reject(e):o.fulfill(t)}};l.resolve=l.success=l.fulfill,l.error=l.reject;var c=r(e).filter(function(e){return e.length}).map(function(e){return"all"==e?i.all():l[e]||i.solve(e,t)});return this.join(c).then(function(){try{var t=i.wrap.call(l,e,c);void 0!==t&&(t.then?t.then(o.fulfill,o.reject):o.fulfill(t))}catch(r){o.reject(r)}},function(e){o.reject(e)}),o.promise},t.prototype.wrap=function(e,t){return e.apply(this,t)},t.prototype.all=function(e){var t,r=this;return t=Object.keys(r.logic).map(function(t){return r.solve(t,e)}),r.join.call(this,t).then(function(){return r.facts})},t.prototype.as=function(e){var t=this,r=t.adapter.pending();return t.facts[e]=r.promise,function(n,i){n?r.reject(n):r.fulfill(i),t.facts[e]=i}},"undefined"!==n&&(t.prototype.adapter={fulfilled:n.resolve,rejected:n.reject,pending:function(){var e=n.defer();return{promise:e.promise,fulfill:e.resolve,reject:e.reject}}}),t.prototype.join=function(e){var t=e.length,r=this.adapter.pending();return t||r.fulfill([]),e.forEach(function(n,i){return n.then?(n.then(function(n){return e[i]=n,!(t-=1)&&r.fulfill(e)},function(e){r.reject(e)}),void 0):!(t-=1)&&r.fulfill(e)}),r.promise}})(this); | ||
(function(e){function t(e,r){return this instanceof t?(this.logic=e||("undefined"==typeof window?{}:window),this.facts=r||{},void 0):new t(e,r)}function r(e){var t=i.exec(""+e.prototype.constructor);return t[1].replace(/\s/g,"").split(",")}var n;"undefined"!=typeof module?(n=require("q"),module.exports=t):(n=e.Q,e.clues=t),t.version="0.0.7";var i=/function.*?\((.*?)\).*/;t.prototype.solve=function(e,t){var n,i=this,f=i.adapter,o=f.pending();if(t=t||{},"function"!=typeof e){if(n=e,t[n])return f.fulfilled(t[n]);if(void 0!==i.facts[n])return f.fulfilled(i.facts[n]);if(void 0===i.logic[n])return f.rejected({ref:n,err:"not defined"});if("function"!=typeof i.logic[n])return f.fulfilled(i.logic[n]);i.facts[n]=o.promise,o.promise.then(function(e){i.facts[n]=e}),e=i.logic[n]}var l={ref:n,self:i,local:t,facts:i.facts,promise:o.promise,fulfill:o.fulfill,reject:function(e){return o.reject(e)},callback:function(e,t){e?o.reject(e):o.fulfill(t)}};l.resolve=l.success=l.fulfill,l.error=l.reject;var c=r(e).filter(function(e){return e.length}).map(function(e){return"all"==e?i.all():l[e]||i.solve(e,t)});return this.join(c).then(function(){try{var t=i.wrap.call(l,e,c);void 0!==t&&(t.then?t.then(o.fulfill,o.reject):o.fulfill(t))}catch(r){o.reject(r)}},function(e){o.reject(e)}),o.promise.then(null,function(e){throw e.message&&(e=e.message),e.ref||(e={ref:n,err:e}),e})},t.prototype.wrap=function(e,t){return e.apply(this,t)},t.prototype.all=function(e){var t,r=this;return t=Object.keys(r.logic).map(function(t){return r.solve(t,e)}),r.join.call(this,t).then(function(){return r.facts})},t.prototype.as=function(e){var t=this,r=t.adapter.pending();return t.facts[e]=r.promise,function(n,i){n?r.reject(n):r.fulfill(i),t.facts[e]=i}},"undefined"!==n&&(t.prototype.adapter={fulfilled:n.resolve,rejected:n.reject,pending:function(){var e=n.defer();return{promise:e.promise,fulfill:e.resolve,reject:e.reject}}}),t.prototype.join=function(e){var t=e.length,r=this.adapter.pending();return t||r.fulfill([]),e.forEach(function(n,i){return n.then?(n.then(function(n){return e[i]=n,!(t-=1)&&r.fulfill(e)},function(e){r.reject(e)}),void 0):!(t-=1)&&r.fulfill(e)}),r.promise}})(this); |
{ | ||
"name": "clues", | ||
"version": "0.0.6", | ||
"version": "0.0.7", | ||
"description": "Lightweight dependency solver for aync functions, based on promises.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
31336
497