{"_id":"assure","_rev":"25-0fa586c72043f01fbfcd1c0c3278bb74","name":"assure","description":"Promises/A+ micro library","dist-tags":{"latest":"1.0.4"},"versions":{"0.0.1":{"name":"assure","description":"Promises/A+ micro library","version":"0.0.1","homepage":"https://github.com/avoidwork/assure","author":{"name":"Jason Mulligan","email":"jason.mulligan@avoidwork.com"},"repository":{"type":"git","url":"git://github.com/avoidwork/assure.git"},"bugs":{"url":"https://github.com/avoidwork/assure/issues"},"licenses":[{"type":"BSD-3","url":"https://raw.github.com/avoidwork/assure/master/LICENSE"}],"main":"lib/assure","engines":{"node":">=0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.1","grunt-cli":"~0.1.6","grunt-exec":"~0.4","grunt-contrib-concat":"~0.1.3","grunt-contrib-jshint":"~0.1","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.2"},"keywords":["promises","promise","deferred","deferreds","async","aynchronous","async"],"readme":"[![build status](https://secure.travis-ci.org/avoidwork/assure.png)](http://travis-ci.org/avoidwork/assure)\n# assure\n\nPromises/A+ micro library to help with asynchronous work flow.\n\n## What is Supported?\n\n* AMD loaders (require.js, cujo.js, etc.)\n* node.js (npm install assure)\n* script tag\n\n## How do I use this?\n\nPromises (deferreds/futures/etc.) are a way to create a tangible connection between `now` and an eventual outcome. Promises are a good pattern for asynchronous I/O, such as API interaction, AJAX operations, etc., by providing optional `success` & `failure` handling.\n\nPromise reconciliation is asynchronous, allowing you to chain multiple Promises together in a hierarchy, for resolution. If a `Promise` returns a new `Promise` from a handler, you've effectively branched during reconciliation, like a T, which puts the \"parent\" of the new `Promise` into a pending state, which can only be reconciled from the branch.\n\nA `then()` will return a ***new*** Promise which is in a hierarchal relationship. When a \"parent\" is reconciled, it's \"children\" inherit the outcome. Promise chains can be resolved from either end.\n\n## API\n\n### reject\n#### Method\nBreaks a Promise\n\n\t@param  {Mixed} arg Promise outcome\n\t@return {Object}    Promise\n\n***Example***\n\n```javascript\nvar p = assure();\n\np.then(null, function (e) {\n\tconsole.error(e);\n});\n\np.reject(\"rejected\");\n```\n\n### resolve\n#### Method\nPromise is resolved\n\n\t@param  {Mixed} arg Promise outcome\n\t@return {Object}    Promise\n\n***Example***\n\n```javascript\nvar p = assure();\n\np.then(function (arg) {\n\tconsole.log(arg);\n});\n\np.resolve(\"resolved\");\n```\n\n### resolved\n#### Method\nReturns a boolean indicating state of the Promise\n\n\t@return {Boolean} `true` if resolved\n\n***Example***\n\n```javascript\nvar p = assure();\n\np.then(function (arg) {\n\tconsole.log(p.resolved());\n});\n\np.resolve(\"resolved\");\n```\n\n### then\n#### Method\nRegisters handler(s) for a Promise\n\n\t@param  {Function} success Executed when/if promise is resolved\n\t@param  {Function} failure [Optional] Executed when/if promise is broken\n\t@return {Object}           New Promise instance\n\n***Example***\n\n```javascript\nvar p = assure();\n\np.then(function (arg) {\n\tconsole.log(\"Promise succeeded!\");\n}, function (e) {\n\tconsole.error(\"Promise failed!\");\n});\n\np.resolve(\"resolved\");\n```\n\n## License\n\nassure is licensed under BSD-3 https://raw.github.com/avoidwork/assure/master/LICENSE\n\n### Copyright\n\nCopyright (c) 2013, Jason Mulligan <jason.mulligan@avoidwork.com>","readmeFilename":"README.md","_id":"assure@0.0.1","dist":{"shasum":"7fb3ed03114b226ffe2c78cbffbd5d39a774db8e","tarball":"https://registry.npmjs.org/assure/-/assure-0.0.1.tgz","integrity":"sha512-AShUX6ZbsfK8CpX+nDquWHmWM0H1mQVEFRSZrKoIriVpoz7/yWbKtTcqBh86BuPWnL/8eWJ7EtC35QmTMDW5hw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC9UJLts0sICU1ky9wQPim9D6biralBot0W0JU9kDOk8AiEAwt0hS3EQdJoiuOX3h7NEegMmwqDhhdJtDhQK4scncM0="}]},"_from":"assure","_npmVersion":"1.2.32","_npmUser":{"name":"avoidwork","email":"jason@attack.io"},"maintainers":[{"name":"avoidwork","email":"jason@attack.io"}],"directories":{}},"0.0.2":{"name":"assure","description":"Promises/A+ micro library","version":"0.0.2","homepage":"https://github.com/avoidwork/assure","author":{"name":"Jason Mulligan","email":"jason.mulligan@avoidwork.com"},"repository":{"type":"git","url":"git://github.com/avoidwork/assure.git"},"bugs":{"url":"https://github.com/avoidwork/assure/issues"},"licenses":[{"type":"BSD-3","url":"https://raw.github.com/avoidwork/assure/master/LICENSE"}],"main":"lib/assure","engines":{"node":">=0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.1","grunt-cli":"~0.1.6","grunt-exec":"~0.4","grunt-contrib-concat":"~0.1.3","grunt-contrib-jshint":"~0.1","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.2"},"keywords":["promises","promise","deferred","deferreds","async","aynchronous"],"readme":"[![build status](https://secure.travis-ci.org/avoidwork/assure.png)](http://travis-ci.org/avoidwork/assure)\n# assure\n\nPromises/A+ micro library to help with asynchronous work flow. The deferred methods match jQuery's when possible for convenience and familiarity, but under the hood it is a Promises/A+ spec!\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.done(function (arg) {\n\tconsole.log(\"Outcome: \" + arg);\n});\n\ndeferred.always(function (arg) {\n\t...\n});\n```\n\n\n## What is Supported?\n\n* AMD loaders (require.js, cujo.js, etc.)\n* node.js (npm install assure)\n* script tag\n\n## How do I use this?\n\nPromises (deferreds/futures/etc.) are a way to create a tangible connection between `now` and an eventual outcome. Promises are a good pattern for asynchronous I/O, such as API interaction, AJAX operations, etc., by providing optional `success` & `failure` handling.\n\nPromise reconciliation is asynchronous, allowing you to chain multiple Promises together in a hierarchy, for resolution. If a `Promise` returns a new `Promise` from a handler, you've effectively branched during reconciliation, like a T, which puts the \"parent\" of the new `Promise` into a pending state, which can only be reconciled from the branch.\n\nA `then()` will return a ***new*** Promise which is in a hierarchal relationship. When a \"parent\" is reconciled, it's \"children\" inherit the outcome. Promise chains can be resolved from either end.\n\n## API\n\n### always\n#### Method\n\nRegisters a function to execute after Promise is reconciled\n\n\t@param  {Function} arg Function to execute\n\t@return {Object}       Deferred\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.always(function() {\n\tconsole.log(\"This is always going to run\");\n});\n```\n\n### done\n#### Method\n\nRegisters a function to execute after Promise is resolved\n\n\t@param  {Function} arg Function to execute\n\t@return {Object}       Deferred\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.done(function() {\n\tconsole.log(\"This is going to run if Promise is resolved\");\n});\n```\n\n### fail\n#### Method\n\nRegisters a function to execute after Promise is rejected\n\n\t@param  {Function} arg Function to execute\n\t@return {Object}       Deferred\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.fail(function() {\n\tconsole.log(\"This is going to run if Promise is rejected\");\n});\n```\n\n### isRejected\n#### Method\n\nDetermines if Deferred is rejected\n\n\t@return {Boolean} `true` if rejected\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.isRejected(); // false, it's brand new!\n```\n\n### isResolved\n#### Method\n\nDetermines if Deferred is resolved\n\n\t@return {Boolean} `true` if resolved\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.isResolved(); // false, it's brand new!\n```\n\n### reject\n#### Method\nBreaks a Promise\n\n\t@param  {Mixed} arg Promise outcome\n\t@return {Object}    Promise\n\n***Example***\n\n```javascript\nvar deferred = assure();\n\ndeferred.then(null, function (e) {\n\tconsole.error(e);\n});\n\ndeferred.reject(\"rejected\");\n```\n\n### resolve\n#### Method\nPromise is resolved\n\n\t@param  {Mixed} arg Promise outcome\n\t@return {Object}    Promise\n\n***Example***\n\n```javascript\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(arg);\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### state\n#### Method\n\nGets the state of the Promise\n\n\t@return {String} Describes the state\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.state(); // `pending`\n```\n\n### then\n#### Method\nRegisters handler(s) for a Promise\n\n\t@param  {Function} success Executed when/if promise is resolved\n\t@param  {Function} failure [Optional] Executed when/if promise is broken\n\t@return {Object}           New Promise instance\n\n***Example***\n\n```javascript\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(\"Promise succeeded!\");\n}, function (e) {\n\tconsole.error(\"Promise failed!\");\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n## License\n\nassure is licensed under BSD-3 https://raw.github.com/avoidwork/assure/master/LICENSE\n\n### Copyright\n\nCopyright (c) 2013, Jason Mulligan <jason.mulligan@avoidwork.com>","readmeFilename":"README.md","_id":"assure@0.0.2","dist":{"shasum":"206e0f554fdc41fe699902384d303bb5376d2a8a","tarball":"https://registry.npmjs.org/assure/-/assure-0.0.2.tgz","integrity":"sha512-iunji/0YS9cDP4iHqRx86gXlAZFyps2A6mtyywA0u2lQZDyVwM1KyQWmvXdqo2FcencFNrgYEkwXfYyBZqvHMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGx7QkcwP87iOfxiXUYu9cZmAc05FswDBFPtbHfQKN0YAiEAhUII9AvNez+txmLoV5urnLRKq0l/7lRehEXQ57nsVWc="}]},"_from":"assure","_npmVersion":"1.2.32","_npmUser":{"name":"avoidwork","email":"jason@attack.io"},"maintainers":[{"name":"avoidwork","email":"jason@attack.io"}],"directories":{}},"0.0.3":{"name":"assure","description":"Promises/A+ micro library","version":"0.0.3","homepage":"http://avoidwork.github.io/assure/","author":{"name":"Jason Mulligan","email":"jason.mulligan@avoidwork.com"},"repository":{"type":"git","url":"git://github.com/avoidwork/assure.git"},"bugs":{"url":"https://github.com/avoidwork/assure/issues"},"licenses":[{"type":"BSD-3","url":"https://raw.github.com/avoidwork/assure/master/LICENSE"}],"main":"lib/assure","engines":{"node":">=0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.1","grunt-cli":"~0.1.6","grunt-exec":"~0.4","grunt-contrib-concat":"~0.1.3","grunt-contrib-jshint":"~0.1","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.2"},"keywords":["promises","promise","deferred","deferreds","async","aynchronous"],"readme":"[![build status](https://secure.travis-ci.org/avoidwork/assure.png)](http://travis-ci.org/avoidwork/assure)\n# assure\n\nPromises/A+ micro library to help with asynchronous work flow. The deferred methods match jQuery's when possible for convenience and familiarity, but under the hood it is a Promises/A+ spec!\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.done(function (arg) {\n\tconsole.log(\"Outcome: \" + arg);\n});\n\ndeferred.always(function (arg) {\n\t...\n});\n```\n\n\n## What is Supported?\n\n* AMD loaders (require.js, cujo.js, etc.)\n* node.js (npm install assure)\n* script tag\n\n## How do I use this?\n\nPromises (deferreds/futures/etc.) are a way to create a tangible connection between `now` and an eventual outcome. Promises are a good pattern for asynchronous I/O, such as API interaction, AJAX operations, etc., by providing optional `success` & `failure` handling.\n\nPromise reconciliation is asynchronous, allowing you to chain multiple Promises together in a hierarchy, for resolution. If a `Promise` returns a new `Promise` from a handler, you've effectively branched during reconciliation, like a T, which puts the \"parent\" of the new `Promise` into a pending state, which can only be reconciled from the branch.\n\nA `then()` will return a ***new*** Promise which is in a hierarchal relationship. When a \"parent\" is reconciled, it's \"children\" inherit the outcome. Promise chains can be resolved from either end.\n\n## API\n\n### always\n#### Method\n\nRegisters a function to execute after Promise is reconciled\n\n\t@param  {Function} arg Function to execute\n\t@return {Object}       Deferred\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.always(function() {\n\tconsole.log(\"This is always going to run\");\n});\n```\n\n### done\n#### Method\n\nRegisters a function to execute after Promise is resolved\n\n\t@param  {Function} arg Function to execute\n\t@return {Object}       Deferred\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.done(function() {\n\tconsole.log(\"This is going to run if Promise is resolved\");\n});\n```\n\n### fail\n#### Method\n\nRegisters a function to execute after Promise is rejected\n\n\t@param  {Function} arg Function to execute\n\t@return {Object}       Deferred\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.fail(function() {\n\tconsole.log(\"This is going to run if Promise is rejected\");\n});\n```\n\n### isRejected\n#### Method\n\nDetermines if Deferred is rejected\n\n\t@return {Boolean} `true` if rejected\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.isRejected(); // false, it's brand new!\n```\n\n### isResolved\n#### Method\n\nDetermines if Deferred is resolved\n\n\t@return {Boolean} `true` if resolved\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.isResolved(); // false, it's brand new!\n```\n\n### reject\n#### Method\nBreaks a Promise\n\n\t@param  {Mixed} arg Promise outcome\n\t@return {Object}    Promise\n\n***Example***\n\n```javascript\nvar deferred = assure();\n\ndeferred.then(null, function (e) {\n\tconsole.error(e);\n});\n\ndeferred.reject(\"rejected\");\n```\n\n### resolve\n#### Method\nPromise is resolved\n\n\t@param  {Mixed} arg Promise outcome\n\t@return {Object}    Promise\n\n***Example***\n\n```javascript\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(arg);\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### state\n#### Method\n\nGets the state of the Promise\n\n\t@return {String} Describes the state\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.state(); // `pending`\n```\n\n### then\n#### Method\nRegisters handler(s) for a Promise\n\n\t@param  {Function} success Executed when/if promise is resolved\n\t@param  {Function} failure [Optional] Executed when/if promise is broken\n\t@return {Object}           New Promise instance\n\n***Example***\n\n```javascript\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(\"Promise succeeded!\");\n}, function (e) {\n\tconsole.error(\"Promise failed!\");\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n## License\n\nassure is licensed under BSD-3 https://raw.github.com/avoidwork/assure/master/LICENSE\n\n### Copyright\n\nCopyright (c) 2013, Jason Mulligan <jason.mulligan@avoidwork.com>","readmeFilename":"README.md","_id":"assure@0.0.3","dist":{"shasum":"5a41b5f6e84dbde55d0df181bc2cde87f92fba2a","tarball":"https://registry.npmjs.org/assure/-/assure-0.0.3.tgz","integrity":"sha512-Q3hMrAX78OvBV18jtiyxUCABZDmrqd034CNXHLXNSAEPWrHx3KYALPdIq1VUGhxofnbTjid8gQ0VXTSKSC/gQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHj9uVcsa3kvTpk5LOa61pAR4JrxTied5e+NEi2ExeFQIhAKEDKk0HikPg5h+5FuKwn4ob8cOFGLuv4SfkWy8zTsLr"}]},"_from":"assure","_npmVersion":"1.2.32","_npmUser":{"name":"avoidwork","email":"jason@attack.io"},"maintainers":[{"name":"avoidwork","email":"jason@attack.io"}],"directories":{}},"0.0.4":{"name":"assure","description":"Promises/A+ micro library","version":"0.0.4","homepage":"http://avoidwork.github.io/assure/","author":{"name":"Jason Mulligan","email":"jason.mulligan@avoidwork.com"},"repository":{"type":"git","url":"git://github.com/avoidwork/assure.git"},"bugs":{"url":"https://github.com/avoidwork/assure/issues"},"licenses":[{"type":"BSD-3","url":"https://raw.github.com/avoidwork/assure/master/LICENSE"}],"main":"lib/assure","engines":{"node":">=0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.1","grunt-cli":"~0.1.6","grunt-exec":"~0.4","grunt-contrib-concat":"~0.1.3","grunt-contrib-jshint":"~0.1","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.2"},"keywords":["promises","promise","deferred","deferreds","async","aynchronous"],"readme":"[![build status](https://secure.travis-ci.org/avoidwork/assure.png)](http://travis-ci.org/avoidwork/assure)\n# assure\n\nPromises/A+ micro library to help with asynchronous work flow. The deferred methods match jQuery's when possible for convenience and familiarity, but under the hood it is a Promises/A+ spec!\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.done(function (arg) {\n\tconsole.log(\"Outcome: \" + arg);\n});\n\ndeferred.always(function (arg) {\n\t...\n});\n```\n\n\n## What is Supported?\n\n* AMD loaders (require.js, cujo.js, etc.)\n* node.js (npm install assure)\n* script tag\n\n## How do I use this?\n\nPromises (deferreds/futures/etc.) are a way to create a tangible connection between `now` and an eventual outcome. Promises are a good pattern for asynchronous I/O, such as API interaction, AJAX operations, etc., by providing optional `success` & `failure` handling.\n\nPromise reconciliation is asynchronous, allowing you to chain multiple Promises together in a hierarchy, for resolution. If a `Promise` returns a new `Promise` from a handler, you've effectively branched during reconciliation, like a T, which puts the \"parent\" of the new `Promise` into a pending state, which can only be reconciled from the branch.\n\nA `then()` will return a ***new*** Promise which is in a hierarchal relationship. When a \"parent\" is reconciled, it's \"children\" inherit the outcome. Promise chains can be resolved from either end.\n\n## API\n\n### always\n#### Method\n\nRegisters a function to execute after Promise is reconciled\n\n\t@param  {Function} arg Function to execute\n\t@return {Object}       Deferred\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.always(function() {\n\tconsole.log(\"This is always going to run\");\n});\n```\n\n### done\n#### Method\n\nRegisters a function to execute after Promise is resolved\n\n\t@param  {Function} arg Function to execute\n\t@return {Object}       Deferred\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.done(function() {\n\tconsole.log(\"This is going to run if Promise is resolved\");\n});\n```\n\n### fail\n#### Method\n\nRegisters a function to execute after Promise is rejected\n\n\t@param  {Function} arg Function to execute\n\t@return {Object}       Deferred\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.fail(function() {\n\tconsole.log(\"This is going to run if Promise is rejected\");\n});\n```\n\n### isRejected\n#### Method\n\nDetermines if Deferred is rejected\n\n\t@return {Boolean} `true` if rejected\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.isRejected(); // false, it's brand new!\n```\n\n### isResolved\n#### Method\n\nDetermines if Deferred is resolved\n\n\t@return {Boolean} `true` if resolved\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.isResolved(); // false, it's brand new!\n```\n\n### reject\n#### Method\nBreaks a Promise\n\n\t@param  {Mixed} arg Promise outcome\n\t@return {Object}    Promise\n\n***Example***\n\n```javascript\nvar deferred = assure();\n\ndeferred.then(null, function (e) {\n\tconsole.error(e);\n});\n\ndeferred.reject(\"rejected\");\n```\n\n### resolve\n#### Method\nPromise is resolved\n\n\t@param  {Mixed} arg Promise outcome\n\t@return {Object}    Promise\n\n***Example***\n\n```javascript\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(arg);\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### state\n#### Method\n\nGets the state of the Promise\n\n\t@return {String} Describes the state\n\n**Example**\n\n```javascript\nvar deferred = assure();\n\ndeferred.state(); // `pending`\n```\n\n### then\n#### Method\nRegisters handler(s) for a Promise\n\n\t@param  {Function} success Executed when/if promise is resolved\n\t@param  {Function} failure [Optional] Executed when/if promise is broken\n\t@return {Object}           New Promise instance\n\n***Example***\n\n```javascript\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(\"Promise succeeded!\");\n}, function (e) {\n\tconsole.error(\"Promise failed!\");\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n## License\n\nassure is licensed under BSD-3 https://raw.github.com/avoidwork/assure/master/LICENSE\n\n### Copyright\n\nCopyright (c) 2013, Jason Mulligan <jason.mulligan@avoidwork.com>","readmeFilename":"README.md","_id":"assure@0.0.4","dist":{"shasum":"580fd8b526ece3a513a5bb2199379ef6d2e315ad","tarball":"https://registry.npmjs.org/assure/-/assure-0.0.4.tgz","integrity":"sha512-1LZuXutfcJcRSBt2g18WkD4jwXDaZQUIUZsAgATy/yhHQ4jBsbCFZu5fMEsZ+i0i15vzHkpmAV3/FJPsMrLBfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG4wJG73IRM8QPquNaYp5iCwHfAR02WdoNMBD1bq/48/AiEA6K+5Hwt1L+o3rly6bNWI27vLplamIzYYadqiJW3m87U="}]},"_from":"assure","_npmVersion":"1.2.32","_npmUser":{"name":"avoidwork","email":"jason@attack.io"},"maintainers":[{"name":"avoidwork","email":"jason@attack.io"}],"directories":{}},"1.0.0":{"name":"assure","description":"Promises/A+ micro library","version":"1.0.0","homepage":"http://avoidwork.github.io/assure/","author":{"name":"Jason Mulligan","email":"jason.mulligan@avoidwork.com"},"repository":{"type":"git","url":"git://github.com/avoidwork/assure.git"},"bugs":{"url":"https://github.com/avoidwork/assure/issues"},"licenses":[{"type":"BSD-3","url":"https://raw.github.com/avoidwork/assure/master/LICENSE"}],"main":"lib/assure","engines":{"node":">=0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.1","grunt-cli":"~0.1.6","grunt-exec":"~0.4","grunt-contrib-concat":"~0.1.3","grunt-contrib-jshint":"~0.1","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.2"},"keywords":["promises","promise","deferred","deferreds","async","aynchronous"],"readme":"# assure\n\nPromises/A+ micro library to help with asynchronous work flow. The deferred methods match jQuery's when possible for convenience and familiarity, but under the hood it is a Promises/A+ spec!\n\n[![build status](https://secure.travis-ci.org/avoidwork/assure.png)](http://travis-ci.org/avoidwork/assure)\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function (arg) {\n\tconsole.log(\"Outcome: \" + arg);\n});\n\ndeferred.always(function (arg) {\n\t...\n});\n```\n\n## What is Supported?\n\n* AMD loaders (require.js, cujo.js, etc.)\n* node.js (npm install assure)\n* script tag\n\n## How do I use this?\n\nPromises (deferreds/futures/etc.) are a way to create a tangible connection between `now` and an eventual outcome. Promises are a good pattern for asynchronous I/O, such as API interaction, AJAX operations, etc., by providing optional `success` & `failure` handling.\n\nA `then()` will return a ***new*** Promise which is in a hierarchal relationship. When a \"parent\" is reconciled, it's \"children\" inherit the outcome.\n\n## API\n\n### always\n#### Method\n\nRegisters a function to execute after Promise is reconciled\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.always(function() {\n\tconsole.log(\"This is always going to run\");\n});\n```\n\n### done\n#### Method\n\nRegisters a function to execute after Promise is resolved\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function() {\n\tconsole.log(\"This is going to run if Promise is resolved\");\n});\n```\n\n### fail\n#### Method\n\nRegisters a function to execute after Promise is rejected\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.fail(function() {\n\tconsole.log(\"This is going to run if Promise is rejected\");\n});\n```\n\n### isRejected\n#### Method\n\nDetermines if Deferred is rejected\n\n\treturn {Boolean} `true` if rejected\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isRejected(); // false, it's brand new!\n```\n\n### isResolved\n#### Method\n\nDetermines if Deferred is resolved\n\n\treturn {Boolean} `true` if resolved\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isResolved(); // false, it's brand new!\n```\n\n### reject\n#### Method\nBreaks a Promise\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(null, function (e) {\n\tconsole.error(e);\n});\n\ndeferred.reject(\"rejected\");\n```\n\n### resolve\n#### Method\nPromise is resolved\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(arg);\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### state\n#### Method\n\nGets the state of the Promise\n\n\treturn {String} Describes the state\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.state(); // `pending`\n```\n\n### then\n#### Method\nRegisters handler(s) for a Promise\n\n\tparam  {Function} success Executed when/if promise is resolved\n\tparam  {Function} failure [Optional] Executed when/if promise is broken\n\treturn {Object}           New Promise instance\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(\"Promise succeeded!\");\n}, function (e) {\n\tconsole.error(\"Promise failed!\");\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### when\n#### Method\nAccepts Deferreds or Promises as arguments or an Array\n\n\treturn {Object} Deferred\n\n***Example***\n\n```\nvar d1 = assure(),\n    d2 = assure(),\n    d3 = assure();\n\n...\n\nwhen(d1,d2,d3).then(function (values) {\n\t...\n});\n```\n\n## License\nCopyright (c) 2013 Jason Mulligan  \nLicensed under the BSD-3 license.","readmeFilename":"README.md","_id":"assure@1.0.0","dist":{"shasum":"937e991dabc49794057c0eb035d686fe44642f1c","tarball":"https://registry.npmjs.org/assure/-/assure-1.0.0.tgz","integrity":"sha512-DdRvVcioyKnGQBN4RGH9wh6TiLqGP90XC2my2pN0pO5VVWjD7G6HxuuxbfIivEpVqBzn5heQMoNG3QA5cp9MUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD98vEwpd2xDrcxEorxLWsHI5hCAIal/6nm1LCDRl0ZtgIhAK01OvFLp+hWY4hJIlNrPl0URIqDq5+B6NTIGYvmBiwo"}]},"_from":"assure","_npmVersion":"1.3.8","_npmUser":{"name":"avoidwork","email":"jason@attack.io"},"maintainers":[{"name":"avoidwork","email":"jason@attack.io"}],"directories":{}},"1.0.1":{"name":"assure","description":"Promises/A+ micro library","version":"1.0.1","homepage":"http://avoidwork.github.io/assure/","author":{"name":"Jason Mulligan","email":"jason.mulligan@avoidwork.com"},"repository":{"type":"git","url":"git://github.com/avoidwork/assure.git"},"bugs":{"url":"https://github.com/avoidwork/assure/issues"},"licenses":[{"type":"BSD-3","url":"https://raw.github.com/avoidwork/assure/master/LICENSE"}],"main":"lib/assure","engines":{"node":">=0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.1","grunt-cli":"~0.1.6","grunt-exec":"~0.4","grunt-contrib-concat":"~0.1.3","grunt-contrib-jshint":"~0.1","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.2"},"keywords":["promises","promise","deferred","deferreds","async","aynchronous"],"readme":"# assure\n\nPromises/A+ micro library to help with asynchronous work flow. The deferred methods match jQuery's when possible for convenience and familiarity, but under the hood it is a Promises/A+ spec!\n\n[![build status](https://secure.travis-ci.org/avoidwork/assure.png)](http://travis-ci.org/avoidwork/assure)\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function (arg) {\n\tconsole.log(\"Outcome: \" + arg);\n});\n\ndeferred.always(function (arg) {\n\t...\n});\n```\n\n## What is Supported?\n\n* AMD loaders (require.js, cujo.js, etc.)\n* node.js (npm install assure)\n* script tag\n\n## How do I use this?\n\nPromises (deferreds/futures/etc.) are a way to create a tangible connection between `now` and an eventual outcome. Promises are a good pattern for asynchronous I/O, such as API interaction, AJAX operations, etc., by providing optional `success` & `failure` handling.\n\nA `then()` will return a ***new*** Promise which is in a hierarchal relationship. When a \"parent\" is reconciled, it's \"children\" inherit the outcome.\n\n## API\n\n### always\n#### Method\n\nRegisters a function to execute after Promise is reconciled\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.always(function() {\n\tconsole.log(\"This is always going to run\");\n});\n```\n\n### done\n#### Method\n\nRegisters a function to execute after Promise is resolved\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function() {\n\tconsole.log(\"This is going to run if Promise is resolved\");\n});\n```\n\n### fail\n#### Method\n\nRegisters a function to execute after Promise is rejected\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.fail(function() {\n\tconsole.log(\"This is going to run if Promise is rejected\");\n});\n```\n\n### isRejected\n#### Method\n\nDetermines if Deferred is rejected\n\n\treturn {Boolean} `true` if rejected\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isRejected(); // false, it's brand new!\n```\n\n### isResolved\n#### Method\n\nDetermines if Deferred is resolved\n\n\treturn {Boolean} `true` if resolved\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isResolved(); // false, it's brand new!\n```\n\n### reject\n#### Method\nBreaks a Promise\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(null, function (e) {\n\tconsole.error(e);\n});\n\ndeferred.reject(\"rejected\");\n```\n\n### resolve\n#### Method\nPromise is resolved\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(arg);\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### state\n#### Method\n\nGets the state of the Promise\n\n\treturn {String} Describes the state\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.state(); // `pending`\n```\n\n### then\n#### Method\nRegisters handler(s) for a Promise\n\n\tparam  {Function} success Executed when/if promise is resolved\n\tparam  {Function} failure [Optional] Executed when/if promise is broken\n\treturn {Object}           New Promise instance\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(\"Promise succeeded!\");\n}, function (e) {\n\tconsole.error(\"Promise failed!\");\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### when\n#### Method\nAccepts Deferreds or Promises as arguments or an Array\n\n\treturn {Object} Deferred\n\n***Example***\n\n```\nvar d1 = assure(),\n    d2 = assure(),\n    d3 = assure();\n\n...\n\nwhen(d1,d2,d3).then(function (values) {\n\t...\n});\n```\n\n## License\nCopyright (c) 2013 Jason Mulligan  \nLicensed under the BSD-3 license.","readmeFilename":"README.md","_id":"assure@1.0.1","dist":{"shasum":"6f1738af3e9b4cd513296117b390913f27b79c8b","tarball":"https://registry.npmjs.org/assure/-/assure-1.0.1.tgz","integrity":"sha512-NMZy5GRHOK8NbRwCE/765yFG/rDqoK8zX9El8AKM8ctH4oVGC8JvIotcLxdWPZCAycd3NrJeRIjyX4WNAVtTig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID/7VNZp2/tVD9+GYvxXzFJjY2MPBB4+bVFemyknH+vbAiBZilo1F3cEzoHqEav41brULFsNaOkFabjYp3Dnj2QOUA=="}]},"_from":"assure","_npmVersion":"1.3.8","_npmUser":{"name":"avoidwork","email":"jason@attack.io"},"maintainers":[{"name":"avoidwork","email":"jason@attack.io"}],"directories":{}},"1.0.2":{"name":"assure","description":"Promises/A+ micro library","version":"1.0.2","homepage":"http://avoidwork.github.io/assure/","author":{"name":"Jason Mulligan","email":"jason.mulligan@avoidwork.com"},"repository":{"type":"git","url":"git://github.com/avoidwork/assure.git"},"bugs":{"url":"https://github.com/avoidwork/assure/issues"},"licenses":[{"type":"BSD-3","url":"https://raw.github.com/avoidwork/assure/master/LICENSE"}],"main":"lib/assure","engines":{"node":">=0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.1","grunt-cli":"~0.1.6","grunt-exec":"~0.4","grunt-contrib-concat":"~0.1.3","grunt-contrib-jshint":"~0.1","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.2"},"keywords":["promises","promise","deferred","deferreds","async","aynchronous"],"readme":"# assure\n\nPromises/A+ micro library to help with asynchronous work flow. The deferred methods match jQuery's when possible for convenience and familiarity, but under the hood it is a Promises/A+ spec!\n\n[![build status](https://secure.travis-ci.org/avoidwork/assure.png)](http://travis-ci.org/avoidwork/assure)\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function (arg) {\n\tconsole.log(\"Outcome: \" + arg);\n});\n\ndeferred.always(function (arg) {\n\t...\n});\n```\n\n## What is Supported?\n\n* AMD loaders (require.js, cujo.js, etc.)\n* node.js (npm install assure)\n* script tag\n\n## How do I use this?\n\nPromises (deferreds/futures/etc.) are a way to create a tangible connection between `now` and an eventual outcome. Promises are a good pattern for asynchronous I/O, such as API interaction, AJAX operations, etc., by providing optional `success` & `failure` handling.\n\nA `then()` will return a ***new*** Promise which is in a hierarchal relationship. When a \"parent\" is reconciled, it's \"children\" inherit the outcome.\n\n## API\n\n### always\n#### Method\n\nRegisters a function to execute after Promise is reconciled\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.always(function() {\n\tconsole.log(\"This is always going to run\");\n});\n```\n\n### done\n#### Method\n\nRegisters a function to execute after Promise is resolved\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function() {\n\tconsole.log(\"This is going to run if Promise is resolved\");\n});\n```\n\n### fail\n#### Method\n\nRegisters a function to execute after Promise is rejected\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.fail(function() {\n\tconsole.log(\"This is going to run if Promise is rejected\");\n});\n```\n\n### isRejected\n#### Method\n\nDetermines if Deferred is rejected\n\n\treturn {Boolean} `true` if rejected\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isRejected(); // false, it's brand new!\n```\n\n### isResolved\n#### Method\n\nDetermines if Deferred is resolved\n\n\treturn {Boolean} `true` if resolved\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isResolved(); // false, it's brand new!\n```\n\n### reject\n#### Method\nBreaks a Promise\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(null, function (e) {\n\tconsole.error(e);\n});\n\ndeferred.reject(\"rejected\");\n```\n\n### resolve\n#### Method\nPromise is resolved\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(arg);\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### state\n#### Method\n\nGets the state of the Promise\n\n\treturn {String} Describes the state\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.state(); // `pending`\n```\n\n### then\n#### Method\nRegisters handler(s) for a Promise\n\n\tparam  {Function} success Executed when/if promise is resolved\n\tparam  {Function} failure [Optional] Executed when/if promise is broken\n\treturn {Object}           New Promise instance\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(\"Promise succeeded!\");\n}, function (e) {\n\tconsole.error(\"Promise failed!\");\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### when\n#### Method\nAccepts Deferreds or Promises as arguments or an Array\n\n\treturn {Object} Deferred\n\n***Example***\n\n```\nvar d1 = assure(),\n    d2 = assure(),\n    d3 = assure();\n\n...\n\nwhen(d1,d2,d3).then(function (values) {\n\t...\n});\n```\n\n## License\nCopyright (c) 2013 Jason Mulligan  \nLicensed under the BSD-3 license.","readmeFilename":"README.md","_id":"assure@1.0.2","dist":{"shasum":"d3bfafb6970109ed6341dfa5e5f35b8b4df8cdd0","tarball":"https://registry.npmjs.org/assure/-/assure-1.0.2.tgz","integrity":"sha512-7qxAyWqiQ4PSJFm2gfK9K1fpDESUWOS/vAar7JcMYuDROebR4LY6IaKtmylNFKgcBqS5InuHUlkvGagnB+6rXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEZfNZZxxMkcGIk09CdbfH3/VnbXpfvNQ/XRcI9bMdRBAiBJ6mAT9KD+QFEZMZJgIatRIZ9wXxnJd+xoH32lR5q4pw=="}]},"_from":"assure","_npmVersion":"1.3.21","_npmUser":{"name":"avoidwork","email":"jason@attack.io"},"maintainers":[{"name":"avoidwork","email":"jason@attack.io"}],"directories":{}},"1.0.3":{"name":"assure","description":"Promises/A+ micro library","version":"1.0.3","homepage":"http://avoidwork.github.io/assure/","author":{"name":"Jason Mulligan","email":"jason.mulligan@avoidwork.com"},"repository":{"type":"git","url":"git://github.com/avoidwork/assure.git"},"bugs":{"url":"https://github.com/avoidwork/assure/issues"},"licenses":[{"type":"BSD-3","url":"https://raw.github.com/avoidwork/assure/master/LICENSE"}],"main":"lib/assure","engines":{"node":">=0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.1","grunt-cli":"~0.1.6","grunt-exec":"~0.4","grunt-contrib-concat":"~0.1.3","grunt-contrib-jshint":"~0.1","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.2","promises-aplus-tests":"~2.0.3"},"keywords":["promises","promise","deferred","deferreds","async","aynchronous"],"readme":"# assure\n\nPromises/A+ micro library to help with asynchronous work flow. The deferred methods match jQuery's when possible for convenience and familiarity, but under the hood it is a Promises/A+ spec!\n\n[![build status](https://secure.travis-ci.org/avoidwork/assure.png)](http://travis-ci.org/avoidwork/assure)\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function (arg) {\n\tconsole.log(\"Outcome: \" + arg);\n});\n\ndeferred.always(function (arg) {\n\t...\n});\n```\n\n## What is Supported?\n\n* AMD loaders (require.js, cujo.js, etc.)\n* node.js (npm install assure)\n* script tag\n\n## How do I use this?\n\nPromises (deferreds/futures/etc.) are a way to create a tangible connection between `now` and an eventual outcome. Promises are a good pattern for asynchronous I/O, such as API interaction, AJAX operations, etc., by providing optional `success` & `failure` handling.\n\nA `then()` will return a ***new*** Promise which is in a hierarchal relationship. When a \"parent\" is reconciled, it's \"children\" inherit the outcome.\n\n## API\n\n### always\n#### Method\n\nRegisters a function to execute after Promise is reconciled\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.always(function() {\n\tconsole.log(\"This is always going to run\");\n});\n```\n\n### done\n#### Method\n\nRegisters a function to execute after Promise is resolved\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function() {\n\tconsole.log(\"This is going to run if Promise is resolved\");\n});\n```\n\n### fail\n#### Method\n\nRegisters a function to execute after Promise is rejected\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.fail(function() {\n\tconsole.log(\"This is going to run if Promise is rejected\");\n});\n```\n\n### isRejected\n#### Method\n\nDetermines if Deferred is rejected\n\n\treturn {Boolean} `true` if rejected\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isRejected(); // false, it's brand new!\n```\n\n### isResolved\n#### Method\n\nDetermines if Deferred is resolved\n\n\treturn {Boolean} `true` if resolved\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isResolved(); // false, it's brand new!\n```\n\n### reject\n#### Method\nBreaks a Promise\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(null, function (e) {\n\tconsole.error(e);\n});\n\ndeferred.reject(\"rejected\");\n```\n\n### resolve\n#### Method\nPromise is resolved\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(arg);\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### state\n#### Method\n\nGets the state of the Promise\n\n\treturn {String} Describes the state\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.state(); // `pending`\n```\n\n### then\n#### Method\nRegisters handler(s) for a Promise\n\n\tparam  {Function} success Executed when/if promise is resolved\n\tparam  {Function} failure [Optional] Executed when/if promise is broken\n\treturn {Object}           New Promise instance\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(\"Promise succeeded!\");\n}, function (e) {\n\tconsole.error(\"Promise failed!\");\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### when\n#### Method\nAccepts Deferreds or Promises as arguments or an Array\n\n\treturn {Object} Deferred\n\n***Example***\n\n```\nvar d1 = assure(),\n    d2 = assure(),\n    d3 = assure();\n\n...\n\nwhen(d1,d2,d3).then(function (values) {\n\t...\n});\n```\n\n## License\nCopyright (c) 2013 Jason Mulligan  \nLicensed under the BSD-3 license.","readmeFilename":"README.md","_id":"assure@1.0.3","dist":{"shasum":"d40a0d86dd86259faffd6720b1618aa1408c8023","tarball":"https://registry.npmjs.org/assure/-/assure-1.0.3.tgz","integrity":"sha512-nrKcv3zm2NfMIpNRK9WGsZ+zVEx0QlBLxfbhWIdgDuUL4DmAw8JIKs0SXKPrq3oWj/FVyUAObjyjqpQQy54FKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFjz7avvekuMbgJQOfGw3ujGZUhmpquEfpzXdoPeZKJ0AiEA6eIm1bVfTiJ8idf1dY/oo3r5QczmHRV8GLfGF+vORPY="}]},"_from":"assure","_npmVersion":"1.3.21","_npmUser":{"name":"avoidwork","email":"jason@attack.io"},"maintainers":[{"name":"avoidwork","email":"jason@attack.io"}],"directories":{}},"1.0.4":{"name":"assure","description":"Promises/A+ micro library","version":"1.0.4","homepage":"http://avoidwork.github.io/assure/","author":{"name":"Jason Mulligan","email":"jason.mulligan@avoidwork.com"},"repository":{"type":"git","url":"git://github.com/avoidwork/assure.git"},"bugs":{"url":"https://github.com/avoidwork/assure/issues"},"licenses":[{"type":"BSD-3","url":"https://raw.github.com/avoidwork/assure/master/LICENSE"}],"main":"lib/assure","engines":{"node":">=0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.1","grunt-cli":"~0.1.6","grunt-exec":"~0.4","grunt-contrib-concat":"~0.1.3","grunt-contrib-jshint":"~0.1","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.2","promises-aplus-tests":"~2.0.3"},"keywords":["promises","promise","deferred","deferreds","async","aynchronous"],"readme":"# assure\n\nPromises/A+ micro library to help with asynchronous work flow. The deferred methods match jQuery's when possible for convenience and familiarity, but under the hood it is a Promises/A+ spec!\n\n[![build status](https://secure.travis-ci.org/avoidwork/assure.png)](http://travis-ci.org/avoidwork/assure)\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function (arg) {\n\tconsole.log(\"Outcome: \" + arg);\n});\n\ndeferred.always(function (arg) {\n\t...\n});\n```\n\n## What is Supported?\n\n* AMD loaders (require.js, cujo.js, etc.)\n* node.js (npm install assure)\n* script tag\n\n## How do I use this?\n\nPromises (deferreds/futures/etc.) are a way to create a tangible connection between `now` and an eventual outcome. Promises are a good pattern for asynchronous I/O, such as API interaction, AJAX operations, etc., by providing optional `success` & `failure` handling.\n\nA `then()` will return a ***new*** Promise which is in a hierarchal relationship. When a \"parent\" is reconciled, it's \"children\" inherit the outcome.\n\n## API\n\n### always\n#### Method\n\nRegisters a function to execute after Promise is reconciled\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.always(function() {\n\tconsole.log(\"This is always going to run\");\n});\n```\n\n### done\n#### Method\n\nRegisters a function to execute after Promise is resolved\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function() {\n\tconsole.log(\"This is going to run if Promise is resolved\");\n});\n```\n\n### fail\n#### Method\n\nRegisters a function to execute after Promise is rejected\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.fail(function() {\n\tconsole.log(\"This is going to run if Promise is rejected\");\n});\n```\n\n### isRejected\n#### Method\n\nDetermines if Deferred is rejected\n\n\treturn {Boolean} `true` if rejected\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isRejected(); // false, it's brand new!\n```\n\n### isResolved\n#### Method\n\nDetermines if Deferred is resolved\n\n\treturn {Boolean} `true` if resolved\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isResolved(); // false, it's brand new!\n```\n\n### reject\n#### Method\nBreaks a Promise\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(null, function (e) {\n\tconsole.error(e);\n});\n\ndeferred.reject(\"rejected\");\n```\n\n### resolve\n#### Method\nPromise is resolved\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(arg);\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### state\n#### Method\n\nGets the state of the Promise\n\n\treturn {String} Describes the state\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.state(); // `pending`\n```\n\n### then\n#### Method\nRegisters handler(s) for a Promise\n\n\tparam  {Function} success Executed when/if promise is resolved\n\tparam  {Function} failure [Optional] Executed when/if promise is broken\n\treturn {Object}           New Promise instance\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(\"Promise succeeded!\");\n}, function (e) {\n\tconsole.error(\"Promise failed!\");\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### when\n#### Method\nAccepts Deferreds or Promises as arguments or an Array\n\n\treturn {Object} Deferred\n\n***Example***\n\n```\nvar d1 = assure(),\n    d2 = assure(),\n    d3 = assure();\n\n...\n\nwhen(d1,d2,d3).then(function (values) {\n\t...\n});\n```\n\n## License\nCopyright (c) 2013 Jason Mulligan  \nLicensed under the BSD-3 license.","readmeFilename":"README.md","_id":"assure@1.0.4","dist":{"shasum":"3ef28d1478d5ff0f7bf82817a2fd8da2f8f8845a","tarball":"https://registry.npmjs.org/assure/-/assure-1.0.4.tgz","integrity":"sha512-QdcSs5sk46tcQDRrW4ql45RHe6KUcpbT4Y1GKCwrqrQsLOi2b7XUpeaXZsXJheAiLKsLE4vfPLHNk7YydCI3fA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7QO1iMBB8JtgKkK4q4AXTNXht5E3gqRTmgMXM/mIyVQIgMokKXKgo16t339EiceK+OEH8fvca6QaRgVFPPgyn5A4="}]},"_from":"assure","_npmVersion":"1.3.21","_npmUser":{"name":"avoidwork","email":"jason@attack.io"},"maintainers":[{"name":"avoidwork","email":"jason@attack.io"}]}},"readme":"# assure\n\nPromises/A+ micro library to help with asynchronous work flow. The deferred methods match jQuery's when possible for convenience and familiarity, but under the hood it is a Promises/A+ spec!\n\n[![build status](https://secure.travis-ci.org/avoidwork/assure.png)](http://travis-ci.org/avoidwork/assure)\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function (arg) {\n\tconsole.log(\"Outcome: \" + arg);\n});\n\ndeferred.always(function (arg) {\n\t...\n});\n```\n\n## What is Supported?\n\n* AMD loaders (require.js, cujo.js, etc.)\n* node.js (npm install assure)\n* script tag\n\n## How do I use this?\n\nPromises (deferreds/futures/etc.) are a way to create a tangible connection between `now` and an eventual outcome. Promises are a good pattern for asynchronous I/O, such as API interaction, AJAX operations, etc., by providing optional `success` & `failure` handling.\n\nA `then()` will return a ***new*** Promise which is in a hierarchal relationship. When a \"parent\" is reconciled, it's \"children\" inherit the outcome.\n\n## API\n\n### always\n#### Method\n\nRegisters a function to execute after Promise is reconciled\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.always(function() {\n\tconsole.log(\"This is always going to run\");\n});\n```\n\n### done\n#### Method\n\nRegisters a function to execute after Promise is resolved\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.done(function() {\n\tconsole.log(\"This is going to run if Promise is resolved\");\n});\n```\n\n### fail\n#### Method\n\nRegisters a function to execute after Promise is rejected\n\n\tparam  {Function} arg Function to execute\n\treturn {Object}       Deferred\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.fail(function() {\n\tconsole.log(\"This is going to run if Promise is rejected\");\n});\n```\n\n### isRejected\n#### Method\n\nDetermines if Deferred is rejected\n\n\treturn {Boolean} `true` if rejected\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isRejected(); // false, it's brand new!\n```\n\n### isResolved\n#### Method\n\nDetermines if Deferred is resolved\n\n\treturn {Boolean} `true` if resolved\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.isResolved(); // false, it's brand new!\n```\n\n### reject\n#### Method\nBreaks a Promise\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(null, function (e) {\n\tconsole.error(e);\n});\n\ndeferred.reject(\"rejected\");\n```\n\n### resolve\n#### Method\nPromise is resolved\n\n\tparam  {Mixed} arg Promise outcome\n\treturn {Object}    Promise\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(arg);\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### state\n#### Method\n\nGets the state of the Promise\n\n\treturn {String} Describes the state\n\n**Example**\n\n```\nvar deferred = assure();\n\ndeferred.state(); // `pending`\n```\n\n### then\n#### Method\nRegisters handler(s) for a Promise\n\n\tparam  {Function} success Executed when/if promise is resolved\n\tparam  {Function} failure [Optional] Executed when/if promise is broken\n\treturn {Object}           New Promise instance\n\n***Example***\n\n```\nvar deferred = assure();\n\ndeferred.then(function (arg) {\n\tconsole.log(\"Promise succeeded!\");\n}, function (e) {\n\tconsole.error(\"Promise failed!\");\n});\n\ndeferred.resolve(\"resolved\");\n```\n\n### when\n#### Method\nAccepts Deferreds or Promises as arguments or an Array\n\n\treturn {Object} Deferred\n\n***Example***\n\n```\nvar d1 = assure(),\n    d2 = assure(),\n    d3 = assure();\n\n...\n\nwhen(d1,d2,d3).then(function (values) {\n\t...\n});\n```\n\n## License\nCopyright (c) 2013 Jason Mulligan  \nLicensed under the BSD-3 license.","maintainers":[{"name":"avoidwork","email":"jason@attack.io"}],"time":{"modified":"2022-06-13T03:34:55.499Z","created":"2013-07-01T14:19:25.243Z","0.0.1":"2013-07-01T14:19:26.525Z","0.0.2":"2013-07-01T15:28:22.701Z","0.0.3":"2013-07-01T23:50:06.168Z","0.0.4":"2013-07-02T00:23:31.899Z","1.0.0":"2013-08-26T01:11:25.595Z","1.0.1":"2013-08-26T10:50:27.242Z","1.0.2":"2013-12-27T12:45:40.292Z","1.0.3":"2013-12-27T14:36:07.029Z","1.0.4":"2013-12-30T15:30:14.449Z"},"author":{"name":"Jason Mulligan","email":"jason.mulligan@avoidwork.com"},"repository":{"type":"git","url":"git://github.com/avoidwork/assure.git"}}