{"_id":"synchronous-promise","_rev":"3455342","name":"synchronous-promise","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","dist-tags":{"latest":"2.0.17"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"time":{"modified":"2024-08-27T19:32:38.000Z","created":"2016-07-28T07:28:11.094Z","2.0.17":"2023-01-20T08:28:12.902Z","2.0.16":"2022-08-29T07:50:59.785Z","2.0.15":"2020-10-08T12:55:09.027Z","2.0.14":"2020-10-05T06:24:30.860Z","2.0.13":"2020-05-23T08:04:21.408Z","2.0.12":"2020-05-12T20:08:10.586Z","2.0.11":"2020-05-08T07:49:33.931Z","2.0.10":"2019-09-06T13:18:28.040Z","2.0.9":"2019-05-24T18:48:44.446Z","2.0.8":"2019-05-20T16:09:58.335Z","2.0.7":"2019-03-29T17:25:37.430Z","2.0.6":"2018-09-25T07:57:51.504Z","2.0.5":"2018-05-16T14:58:10.995Z","2.0.4":"2017-12-27T05:04:12.285Z","2.0.3":"2017-11-13T08:01:31.874Z","2.0.2":"2017-11-11T10:24:53.228Z","2.0.1":"2017-11-09T08:08:45.326Z","2.0.0":"2017-11-08T17:20:09.530Z","1.0.18":"2017-10-12T16:11:31.958Z","1.0.17":"2017-09-24T16:19:27.725Z","1.0.16":"2017-09-21T19:18:20.997Z","1.0.15":"2017-09-07T08:36:41.563Z","1.0.14":"2017-09-06T14:40:15.897Z","1.0.13":"2017-09-05T16:33:23.584Z","1.0.12":"2017-04-21T06:17:02.505Z","1.0.11":"2017-04-20T18:46:26.946Z","1.0.10":"2017-02-28T18:04:33.500Z","1.0.9":"2017-02-28T17:50:43.663Z","1.0.8":"2017-02-28T17:46:01.535Z","1.0.7":"2016-12-23T05:21:48.328Z","1.0.6":"2016-09-21T13:58:08.435Z","1.0.5":"2016-07-30T06:39:05.349Z","1.0.4":"2016-07-28T14:20:32.075Z","1.0.3":"2016-07-28T10:01:00.429Z","1.0.2":"2016-07-28T09:32:46.049Z","1.0.1":"2016-07-28T09:00:58.875Z","1.0.0":"2016-07-28T07:28:11.094Z"},"users":{"allain":true},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"versions":{"2.0.17":{"name":"synchronous-promise","version":"2.0.17","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prerelease":"run-s -s test dist","release":"npm publish","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^14.0.5","browserify":"^16.5.1","chai":"^4.2.0","jshint":"^2.11.1","mkdirp":"^1.0.4","mocha":"^7.1.2","mocha-yar":"^1.0.14","nodemon":"^2.0.4","npm-run-all":"^4.1.5","run-sequence":"^2.2.1","ts-node":"^8.10.1","typescript":"^3.9.3"},"types":"./index.d.ts","gitHead":"e83a95a6769cd7f67188837328fa83c87dd5870e","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.17","_nodeVersion":"16.18.1","_npmVersion":"9.3.0","dist":{"shasum":"38901319632f946c982152586f2caf8ddc25c032","size":9334,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.17.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.17.tgz"},"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.17_1674203292745_0.6766259186549164"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-20T08:28:12.902Z","publish_time":1674203292902,"_cnpm_publish_time":1674203292902},"2.0.16":{"name":"synchronous-promise","version":"2.0.16","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prerelease":"run-s -s test dist","release":"npm publish","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^14.0.5","browserify":"^16.5.1","chai":"^4.2.0","jshint":"^2.11.1","mkdirp":"^1.0.4","mocha":"^7.1.2","mocha-yar":"^1.0.14","nodemon":"^2.0.4","npm-run-all":"^4.1.5","run-sequence":"^2.2.1","ts-node":"^8.10.1","typescript":"^3.9.3"},"types":"./index.d.ts","gitHead":"d52bc877e036c267c42191823ff12eea1db49eaf","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.16","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"shasum":"669b75e86b4295fdcc1bb0498de9ac1af6fd51a9","size":9334,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.16.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.16.tgz"},"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.16_1661759459543_0.7145632890736175"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-29T08:01:05.115Z","publish_time":1661759459785,"_cnpm_publish_time":1661759459785},"2.0.15":{"name":"synchronous-promise","version":"2.0.15","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^14.0.5","browserify":"^16.5.1","chai":"^4.2.0","jshint":"^2.11.1","mkdirp":"^1.0.4","mocha":"^7.1.2","mocha-yar":"^1.0.14","nodemon":"^2.0.4","npm-run-all":"^4.1.5","run-sequence":"^2.2.1","ts-node":"^8.10.1","typescript":"^3.9.3"},"gitHead":"80e551a66ea7a37ac5dd37f431b6d1ccdac1de0c","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.15","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"shasum":"07ca1822b9de0001f5ff73595f3d08c4f720eb8e","size":20086,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.15.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.15.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.15_1602161708922_0.6521014525930926"},"_hasShrinkwrap":false,"publish_time":1602161709027,"_cnpm_publish_time":1602161709027},"2.0.14":{"name":"synchronous-promise","version":"2.0.14","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^14.0.5","browserify":"^16.5.1","chai":"^4.2.0","jshint":"^2.11.1","mkdirp":"^1.0.4","mocha":"^7.1.2","mocha-yar":"^1.0.14","nodemon":"^2.0.4","npm-run-all":"^4.1.5","run-sequence":"^2.2.1","ts-node":"^8.10.1","typescript":"^3.9.3"},"gitHead":"b203a3c48c599d693d558582666ee8eed6b21fc2","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.14","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"shasum":"86b3b3284ad8567b69dc0b2d51c6fd446ddc2d91","size":19677,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.14.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.14_1601879070678_0.19096776095406187"},"_hasShrinkwrap":false,"publish_time":1601879070860,"_cnpm_publish_time":1601879070860},"2.0.13":{"name":"synchronous-promise","version":"2.0.13","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.1.5","@types/mocha":"^2.2.44","@types/node":"^8.10.30","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.6","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.13","nodemon":"^1.18.4","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.9.2"},"gitHead":"376b63b7d12c130a4a3e7f64de71e5be488f8910","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.13","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"shasum":"9d8c165ddee69c5a6542862b405bc50095926702","size":18568,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.13.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.13_1590221061308_0.6013870772616308"},"_hasShrinkwrap":false,"publish_time":1590221061408,"_cnpm_publish_time":1590221061408},"2.0.12":{"name":"synchronous-promise","version":"2.0.12","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.1.5","@types/mocha":"^2.2.44","@types/node":"^8.10.30","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.6","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.13","nodemon":"^1.18.4","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.9.2"},"gitHead":"65db7a0afe24f45aa255ba2259a6ee626007a941","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.12","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"shasum":"219934f23c19c9aa716276cf2e1f8d4e5b04d07f","size":18170,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.12.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.12_1589314090461_0.5631471016399852"},"_hasShrinkwrap":false,"publish_time":1589314090586,"_cnpm_publish_time":1589314090586},"2.0.11":{"name":"synchronous-promise","version":"2.0.11","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.1.5","@types/mocha":"^2.2.44","@types/node":"^8.10.30","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.6","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.13","nodemon":"^1.18.4","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.9.2"},"gitHead":"df4866c6861f96c0235c3f86b9beb2696db961fc","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.11","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"shasum":"e92022b0754e916f556d3ace1626d24a24214b7e","size":18124,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.11.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.11_1588924173789_0.16432333663875354"},"_hasShrinkwrap":false,"publish_time":1588924173931,"_cnpm_publish_time":1588924173931},"2.0.10":{"name":"synchronous-promise","version":"2.0.10","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.1.5","@types/mocha":"^2.2.44","@types/node":"^8.10.30","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.6","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.13","nodemon":"^1.18.4","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.9.2"},"gitHead":"df4866c6861f96c0235c3f86b9beb2696db961fc","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.10","_nodeVersion":"12.9.0","_npmVersion":"6.10.2","dist":{"shasum":"e64c6fd3afd25f423963353043f4a68ebd397fd8","size":17832,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.10.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.10_1567775907704_0.4457486435787472"},"_hasShrinkwrap":false,"publish_time":1567775908040,"_cnpm_publish_time":1567775908040},"2.0.9":{"name":"synchronous-promise","version":"2.0.9","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.1.5","@types/mocha":"^2.2.44","@types/node":"^8.10.30","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.6","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.13","node-ts":"^2.1.2","nodemon":"^1.18.4","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.9.2"},"gitHead":"bc7bc0f0f78ea293011d4308ec4f18a53d660292","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.9","_nodeVersion":"10.15.0","_npmVersion":"6.9.0","dist":{"shasum":"b83db98e9e7ae826bf9c8261fd8ac859126c780a","size":16594,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.9.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.9_1558723724320_0.3913858891918687"},"_hasShrinkwrap":false,"publish_time":1558723724446,"_cnpm_publish_time":1558723724446},"2.0.8":{"name":"synchronous-promise","version":"2.0.8","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.1.5","@types/mocha":"^2.2.44","@types/node":"^8.10.30","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.6","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.13","node-ts":"^2.1.2","nodemon":"^1.18.4","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.9.2"},"gitHead":"10304dc389f235661b653a58aa065a0e9e8116da","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.8","_nodeVersion":"10.15.0","_npmVersion":"6.9.0","dist":{"shasum":"01fd026fffdbf2d3d39ec06ee1a7c971578136f7","size":16574,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.8.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.8_1558368598136_0.0015674200999897803"},"_hasShrinkwrap":false,"publish_time":1558368598335,"_cnpm_publish_time":1558368598335},"2.0.7":{"name":"synchronous-promise","version":"2.0.7","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.1.5","@types/mocha":"^2.2.44","@types/node":"^8.10.30","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.6","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.13","node-ts":"^2.1.2","nodemon":"^1.18.4","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.9.2"},"gitHead":"7eda5e7ebd7efdd458920c738560a09d1cd748c6","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.7","_nodeVersion":"10.15.0","_npmVersion":"6.7.0","dist":{"shasum":"3574b3d2fae86b145356a4b89103e1577f646fe3","size":16086,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.7.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.7_1553880337309_0.8923412096162315"},"_hasShrinkwrap":false,"publish_time":1553880337430,"_cnpm_publish_time":1553880337430},"2.0.6":{"name":"synchronous-promise","version":"2.0.6","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.1.5","@types/mocha":"^2.2.44","@types/node":"^8.10.30","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.6","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.13","node-ts":"^2.1.2","nodemon":"^1.18.4","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.9.2"},"gitHead":"2db7a52ac8d5f96b034766e0c761d778a3e4c1bb","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.6","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"de76e0ea2b3558c1e673942e47e714a930fa64aa","size":16217,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.6.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.6_1537862271348_0.21888558525915403"},"_hasShrinkwrap":false,"publish_time":1537862271504,"_cnpm_publish_time":1537862271504},"2.0.5":{"name":"synchronous-promise","version":"2.0.5","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.44","@types/node":"^8.0.50","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.5","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.12","node-ts":"^2.1.2","nodemon":"^1.12.1","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.6.1"},"gitHead":"7d120828361271dc8edbd5f513228cc82f1defe6","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.5","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"4e0fc8dd3f0062720dcc4cefbd9eae62b40637d8","size":16248,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.5.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise_2.0.5_1526482690912_0.07253912401780149"},"_hasShrinkwrap":false,"publish_time":1526482690995,"_cnpm_publish_time":1526482690995},"2.0.4":{"name":"synchronous-promise","version":"2.0.4","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.44","@types/node":"^8.0.50","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.5","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.12","node-ts":"^2.1.2","nodemon":"^1.12.1","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.6.1"},"gitHead":"67cdb96775ddd60a258422dd43035da5d7981912","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.4","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"09a370f8ebcb505684834ab5075fe5fa91d1190a","size":16442,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.4.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-2.0.4.tgz_1514351052170_0.6785223442129791"},"directories":{},"publish_time":1514351052285,"_hasShrinkwrap":false,"_cnpm_publish_time":1514351052285},"2.0.3":{"name":"synchronous-promise","version":"2.0.3","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.44","@types/node":"^8.0.50","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.5","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.12","node-ts":"^2.1.2","nodemon":"^1.12.1","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.6.1"},"gitHead":"dca35eeed9524960144856bba3546513b6c8f059","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.3","_npmVersion":"5.5.1","_nodeVersion":"6.11.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"5b944806cd97eb2d594a70f6fa7b801e48261857","size":16521,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.3.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-2.0.3.tgz_1510560091793_0.10917355911806226"},"directories":{},"publish_time":1510560091874,"_cnpm_publish_time":1510560091874,"_hasShrinkwrap":false},"2.0.2":{"name":"synchronous-promise","version":"2.0.2","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha index.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test-js":"mocha index.spec.js","test":"run-s test-js test-ts","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect","debug-ts":"mocha -r ts-node/register *.spec.ts --debug-brk --inspect","preautotest-ts-once":"node -e \"console.log('TS Tests started: ', new Date());\"","autotest-ts":"nodemon -q -e ts -x \"run-s -s test-ts\"","test-ts":"mocha -r ts-node/register *.spec.ts --reporter mocha-yar","tsc":"tsc","test-emitted":"mocha index-ts.spec.js","debug-emitted":"mocha index-ts.spec.js --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.44","@types/node":"^8.0.50","browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.5","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.12","node-ts":"^2.1.2","nodemon":"^1.12.1","npm-run-all":"^4.1.2","run-sequence":"^2.2.0","ts-node":"^3.3.0","typescript":"^2.6.1"},"gitHead":"2fd1058160d3c0400d8afeb53f33929c1ae70c88","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"a0b2ea967d07bf535767c077181e2bd95e74d384","size":16638,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.2.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-2.0.2.tgz_1510395893147_0.8664979212917387"},"directories":{},"publish_time":1510395893228,"_hasShrinkwrap":false,"_cnpm_publish_time":1510395893228},"2.0.1":{"name":"synchronous-promise","version":"2.0.1","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.5","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.12","nodemon":"^1.12.1","npm-run-all":"^4.1.2","run-sequence":"^2.2.0"},"gitHead":"7063dc46c2011986a242c47c9977628e8cca8930","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.1","_npmVersion":"5.5.1","_nodeVersion":"6.11.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"b97133837a5674002e45b87870703634c3c56bb2","size":12863,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.1.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-2.0.1.tgz_1510214925183_0.6307957288809121"},"directories":{},"publish_time":1510214925326,"_cnpm_publish_time":1510214925326,"_hasShrinkwrap":false},"2.0.0":{"name":"synchronous-promise","version":"2.0.0","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","prelint":"node -e \"console.log('Linting started: ', new Date());\"","lint":"jshint index.js","postlint":"node -e \"console.log('Linting completed: ', new Date());\"","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist","debug":"mocha -w *.spec.js --reporter mocha-yar --debug-brk --inspect"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.5.0","chai":"^4.1.2","jshint":"^2.9.5","mkdirp":"^0.5.1","mocha":"^4.0.1","mocha-yar":"^1.0.12","nodemon":"^1.12.1","npm-run-all":"^4.1.2","run-sequence":"^2.2.0"},"gitHead":"197d00ab8ba699ff0d44dbed18a15fd8881910b9","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@2.0.0","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"735e27df54295383fd2aaad53ceb07f930f24896","size":12802,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-2.0.0.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-2.0.0.tgz_1510161609408_0.9846657540183514"},"directories":{},"publish_time":1510161609530,"_cnpm_publish_time":1510161609530,"_hasShrinkwrap":false},"1.0.18":{"name":"synchronous-promise","version":"1.0.18","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"697e306e74b53674e6da8376a113b905923e7db3","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.18","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"936e8763e6554088cdcf78dc64f7473b972fcefc","size":10596,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.18.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.18.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-1.0.18.tgz_1507824691868_0.5214112931862473"},"directories":{},"publish_time":1507824691958,"_cnpm_publish_time":1507824691958,"_hasShrinkwrap":false},"1.0.17":{"name":"synchronous-promise","version":"1.0.17","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"ac16b8c38bef28dee7bc3c823ca2543128c31cea","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.17","_npmVersion":"5.4.2","_nodeVersion":"7.7.3","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"bc21e095fb76ddf6c7c6e014ded28d24985dadc4","size":11266,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.17.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.17.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-1.0.17.tgz_1506269967530_0.0710074920207262"},"directories":{},"publish_time":1506269967725,"_hasShrinkwrap":false,"_cnpm_publish_time":1506269967725},"1.0.16":{"name":"synchronous-promise","version":"1.0.16","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"e4943ceb5a6646942c1a10ddb623762363d1c2db","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.16","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"cdcae2a58b3fbb615d6a2e9f7c643a74c18bede8","size":10260,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.16.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.16.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-1.0.16.tgz_1506021500811_0.3154185926541686"},"directories":{},"publish_time":1506021500997,"_cnpm_publish_time":1506021500997,"_hasShrinkwrap":false},"1.0.15":{"name":"synchronous-promise","version":"1.0.15","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"109dc495423899e3b8be6f6c2ab2d19664a54638","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.15","_npmVersion":"5.4.0","_nodeVersion":"6.11.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"d47bc7e12890941514530680a48d05d040075131","size":10981,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.15.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.15.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-1.0.15.tgz_1504773401464_0.47058655694127083"},"directories":{},"publish_time":1504773401563,"_cnpm_publish_time":1504773401563,"_hasShrinkwrap":false},"1.0.14":{"name":"synchronous-promise","version":"1.0.14","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"b1145165e16b51df01ffac93969f0634b73914b6","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.14","_npmVersion":"5.4.0","_nodeVersion":"6.11.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"74936e695cf230fb71b337afd2423cb1b56e8b75","size":10971,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.14.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-1.0.14.tgz_1504708815779_0.8830617710482329"},"directories":{},"publish_time":1504708815897,"_cnpm_publish_time":1504708815897,"_hasShrinkwrap":false},"1.0.13":{"name":"synchronous-promise","version":"1.0.13","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"be29e1aa7d4fa29cecc4970bb4ce571443a30dbf","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.13","_npmVersion":"5.3.0","_nodeVersion":"7.7.3","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"0182256924687362d1908f6d1f0479c3eaa8417f","size":10262,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.13.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/synchronous-promise-1.0.13.tgz_1504629203428_0.284350247355178"},"directories":{},"publish_time":1504629203584,"_hasShrinkwrap":false,"_cnpm_publish_time":1504629203584},"1.0.12":{"name":"synchronous-promise","version":"1.0.12","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"b2931c5f3a8f9ab00af4cac1ab3c068cc70efedb","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.12","_shasum":"3421c0ed860a34fe9e46df92831b1270c41e5240","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"3421c0ed860a34fe9e46df92831b1270c41e5240","size":9882,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.12.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.12.tgz_1492755420749_0.646853520302102"},"directories":{},"publish_time":1492755422505,"_hasShrinkwrap":false,"_cnpm_publish_time":1492755422505},"1.0.11":{"name":"synchronous-promise","version":"1.0.11","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"43098b78b5a4766a324c1b407696ae03087a2cbc","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.11","_shasum":"5ad73b7c7a5cbff44a3ba2fdbaab0c0633d3f667","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"5ad73b7c7a5cbff44a3ba2fdbaab0c0633d3f667","size":9690,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.11.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.11.tgz_1492713985138_0.4009655297268182"},"directories":{},"publish_time":1492713986946,"_cnpm_publish_time":1492713986946,"_hasShrinkwrap":false},"1.0.10":{"name":"synchronous-promise","version":"1.0.10","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify browser.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"d5c4624625328f4d2400741dba36e0667ec46bea","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.10","_shasum":"2b8707c43fe909ad93bd217c5ff096ba33bdb247","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"2b8707c43fe909ad93bd217c5ff096ba33bdb247","size":8708,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.10.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.10.tgz_1488305071681_0.484957784647122"},"directories":{},"publish_time":1488305073500,"_cnpm_publish_time":1488305073500,"_hasShrinkwrap":false},"1.0.9":{"name":"synchronous-promise","version":"1.0.9","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify index.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"d5c4624625328f4d2400741dba36e0667ec46bea","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.9","_shasum":"5405c58a3f72a251cb306f1348cd77a50299b3d5","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"5405c58a3f72a251cb306f1348cd77a50299b3d5","size":8511,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.9.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.9.tgz_1488304241651_0.4153206814080477"},"directories":{},"publish_time":1488304243663,"_cnpm_publish_time":1488304243663,"_hasShrinkwrap":false},"1.0.8":{"name":"synchronous-promise","version":"1.0.8","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","predist":"mkdirp dist","dist":"browserify index.js -o dist/synchronous-promise.js","prepublish":"run-s -s test dist"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","jslint":"^0.10.1","mkdirp":"^0.5.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"d5c4624625328f4d2400741dba36e0667ec46bea","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.8","_shasum":"9662aa74aad75e08823d016e3b6a70518e719309","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"9662aa74aad75e08823d016e3b6a70518e719309","size":8164,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.8.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.8.tgz_1488303959630_0.5569389453157783"},"directories":{},"publish_time":1488303961535,"_cnpm_publish_time":1488303961535,"_hasShrinkwrap":false},"1.0.7":{"name":"synchronous-promise","version":"1.0.7","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","prepublish":"run-s -s test"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"chai":"^3.5.0","jslint":"^0.10.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"03806da64db6538e4da11f641816f523c3f2b602","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.7","_shasum":"b69acf8c687f621743ebf00c7a8e7e88911f14e6","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.5.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"b69acf8c687f621743ebf00c7a8e7e88911f14e6","size":8045,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.7.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.7.tgz_1482470508091_0.9700522760394961"},"directories":{},"publish_time":1482470508328,"_cnpm_publish_time":1482470508328,"_hasShrinkwrap":false},"1.0.6":{"name":"synchronous-promise","version":"1.0.6","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"preautotest-once":"node -e \"console.log('Tests started: ', new Date());\"","autotest-once":"mocha *.spec.js --reporter mocha-yar","autotest":"nodemon -q -x \"run-s -s autotest-once\"","autolint":"nodemon -q -x \"run-s -s run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","prepublish":"run-s -s test"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"chai":"^3.5.0","jslint":"^0.10.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.2","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"7fdb40897805e8dcc9751b002be0d7c21e9c5a23","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.6","_shasum":"4f864f6877e82aff7a621d678779297decbca041","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"4f864f6877e82aff7a621d678779297decbca041","size":8009,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.6.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.6.tgz_1474466285973_0.9260178876575083"},"directories":{},"publish_time":1474466288435,"_cnpm_publish_time":1474466288435,"_hasShrinkwrap":false},"1.0.5":{"name":"synchronous-promise","version":"1.0.5","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"autotest":"mocha --watch index.spec.js --reporter mocha-yar","autolint":"nodemon -x \"npm run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","prepublish":"run-s test"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"chai":"^3.5.0","jslint":"^0.10.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.0","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"dea763c388b9e41aa453499e44cffb50984256f3","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.5","_shasum":"486024a7805cdf71a9b2018a394afa21881de121","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"486024a7805cdf71a9b2018a394afa21881de121","size":7700,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.5.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.5.tgz_1469860743362_0.772721127839759"},"directories":{},"publish_time":1469860745349,"_cnpm_publish_time":1469860745349,"_hasShrinkwrap":false},"1.0.4":{"name":"synchronous-promise","version":"1.0.4","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"autotest":"mocha --watch index.spec.js --reporter mocha-yar","autolint":"nodemon -x \"npm run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","prepublish":"run-s test"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"chai":"^3.5.0","jslint":"^0.10.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.0","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"76ef177375adeb40574769cedcdd7fb085c93166","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.4","_shasum":"f465429dd2ddceaba132153988ba5bbc1c72e95c","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"f465429dd2ddceaba132153988ba5bbc1c72e95c","size":7722,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.4.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.4.tgz_1469715629437_0.9501047676894814"},"directories":{},"publish_time":1469715632075,"_cnpm_publish_time":1469715632075,"_hasShrinkwrap":false},"1.0.3":{"name":"synchronous-promise","version":"1.0.3","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"autotest":"mocha --watch index.spec.js --reporter mocha-yar","autolint":"nodemon -x \"npm run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js","prepublish":"run-s test"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"chai":"^3.5.0","jslint":"^0.10.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.0","npm-run-all":"^2.3.0","run-sequence":"^1.2.2"},"gitHead":"5f3314f0a552a3ace42f05e03e1fb5b0318bb2ce","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.3","_shasum":"946dee1b51f762b36c158f49b735cf47fb1725e1","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"946dee1b51f762b36c158f49b735cf47fb1725e1","size":7111,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.3.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.3.tgz_1469700057571_0.7766117367427796"},"directories":{},"publish_time":1469700060429,"_cnpm_publish_time":1469700060429,"_hasShrinkwrap":false},"1.0.2":{"name":"synchronous-promise","version":"1.0.2","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"autotest":"mocha --watch index.spec.js --reporter mocha-yar","autolint":"nodemon -x \"npm run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"chai":"^3.5.0","jslint":"^0.10.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.0","run-sequence":"^1.2.2"},"gitHead":"aa22fdfa3c187a3d6f6af5247f22cec5055f3b07","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.2","_shasum":"10ef939e938a991f2755b85fc2f09a2ebbc54627","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"10ef939e938a991f2755b85fc2f09a2ebbc54627","size":6719,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.2.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.2.tgz_1469698364190_0.3639196609146893"},"directories":{},"publish_time":1469698366049,"_cnpm_publish_time":1469698366049,"_hasShrinkwrap":false},"1.0.1":{"name":"synchronous-promise","version":"1.0.1","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"autotest":"mocha --watch index.spec.js --reporter mocha-yar","autolint":"nodemon -x \"npm run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"chai":"^3.5.0","jslint":"^0.10.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.0","run-sequence":"^1.2.2"},"gitHead":"5ef87f69478eddc862f4aac739f2b44e52891b4b","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.1","_shasum":"7b7e003bfae4c5ef862f75fceb83314e01c41044","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"7b7e003bfae4c5ef862f75fceb83314e01c41044","size":4810,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.1.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.1.tgz_1469696456833_0.23291035438887775"},"directories":{},"publish_time":1469696458875,"_cnpm_publish_time":1469696458875,"_hasShrinkwrap":false},"1.0.0":{"name":"synchronous-promise","version":"1.0.0","description":"Synchronous Promise-like prototype to use in testing where you would have used an ES6 Promise","main":"index.js","repository":{"type":"git","url":"git+https://github.com/fluffynuts/synchronous-promise.git"},"scripts":{"autotest":"mocha --watch index.spec.js --reporter mocha-yar","autolint":"nodemon -x \"npm run lint\"","lint":"jslint index.js","pretest":"run-s lint","test":"mocha index.spec.js"},"author":{"name":"Davyd McColl","email":"davydm@gmail.com","url":"https://github.com/fluffynuts"},"license":"BSD-3-Clause","devDependencies":{"chai":"^3.5.0","jslint":"^0.10.1","mocha":"^2.5.3","mocha-yar":"^1.0.10","nodemon":"^1.10.0","run-sequence":"^1.2.2"},"gitHead":"3b5d85b8158d1996451990e5cb85d55375254200","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","_id":"synchronous-promise@1.0.0","_shasum":"bd0f79d4a85ccc32daea6d8a693674b156a5fe8b","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"fluffynuts","email":"davydm@gmail.com"},"dist":{"shasum":"bd0f79d4a85ccc32daea6d8a693674b156a5fe8b","size":4616,"noattachment":false,"key":"/synchronous-promise/-/synchronous-promise-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/synchronous-promise/download/synchronous-promise-1.0.0.tgz"},"maintainers":[{"name":"fluffynuts","email":"davydm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/synchronous-promise-1.0.0.tgz_1469690889294_0.40222731325775385"},"directories":{},"publish_time":1469690891094,"_cnpm_publish_time":1469690891094,"_hasShrinkwrap":false}},"readme":"# synchronous-promise\r\nTL;DR: A prototypical animal which looks like an A+ Promise but doesn't defer\r\nimmediately, so can run synchronously, for testing. Technically, this makes it\r\n*not* A+ compliant, since part of the A+ spec is that resolution be asynchronous.\r\n\r\nThis means that I unfortunately can't run the official tests at [https://github.com/promises-aplus/promises-tests](https://github.com/promises-aplus/promises-tests). As such, I rely on issue reports from users and welcome contributions.\r\n\r\n![Build and Test](https://github.com/fluffynuts/synchronous-promise/workflows/Tests/badge.svg)\r\n\r\n![npm](https://img.shields.io/npm/v/synchronous-promise)\r\n\r\nIf `synchronous-promise` has made something easier for you and you'd like to say thanks,\r\n[check out my sponsors page](https://github.com/sponsors/fluffynuts).\r\n\r\n### Why?\r\nThe standard ES6 Promise (and any others which *are* A+ compliant) push the promise logic to the background\r\nimmediately, departing from the mechanisms employed in years past by promise\r\nimplementations in libraries such as jQuery and Q.\r\n\r\nThis is a good thing -- for production code. But it can make testing more\r\nconvoluted than it really needs to be.\r\n\r\nOften, in a test, we're stubbing out a function which would return a promise\r\n(eg http call, show a modal dialog requiring user interaction) with a promise\r\nthat resolves immediately, eg (using, mocha/sinon/chai):\r\n\r\n```javascript\r\ndescribe('the thing', () => {\r\n  it('will do some stuff', () => {\r\n    // Arrange\r\n    const asyncLibraryFake = {\r\n      someMethod: sinon.stub().returns(Promise.resolve('happy value!'))\r\n    },\r\n    sut = createSystemUnderTestWith(asyncLibraryFake);\r\n    // Act\r\n    sut.doSomethingInteresting();\r\n    // Assert\r\n    //  [*]\r\n  })\r\n});\r\n```\r\n\r\n[*] Ideally, we'd just have assertions here, but the code above has backgrounded,\r\nso we're not going to get our expected results unless we employ async testing\r\nstrategies ourselves.\r\n\r\nOne strategy would be to return the promise from\r\n  asyncLibraryFake.someMethod\r\nfrom the\r\n  doSomethingInteresting\r\nfunction and perform our asserts in there:\r\n\r\n```javascript\r\ndescribe('the thing', () => {\r\n  it('will do some stuff', done => {\r\n    // Arrange\r\n    const asyncLibraryFake = {\r\n      someMethod: sinon.stub().returns(Promise.resolve('happy value!'))\r\n    },\r\n    sut = createSystemUnderTestWith(asyncLibraryFake);\r\n    // Act\r\n    sut.doSomethingInteresting().then(() => {\r\n      // Assert\r\n      done()\r\n    });\r\n  })\r\n});\r\n```\r\n***And there's nothing wrong with this strategy.***\r\n\r\nI need to put that out there before anyone takes offense or thinks that I'm suggesting\r\nthat they're \"doing it wrong\".\r\nIf you're doing this (or something very similar), great; `async/await`, if available,\r\ncan make this code quite clean and linear too.\r\n\r\nHowever, when we're working on more complex interactions, eg when we're not\r\ntesting the final result of a promise chain, but rather testing a side-effect\r\nat some step during that promise chain, this can become more effort to test\r\n(and, imo, make your testing more unclear).\r\n\r\nMany moons ago, using, for example, Q, we could create a deferred object with\r\n`Q.defer()` and then resolve or reject ith with `deferred.resolve()` and\r\n`deferred.reject()`. Since there was no initial backgrounding, we could set\r\nup a test with an unresolved promise, make some pre-assertions, then resolve\r\nand make assertions about \"after resolution\" state, without making our tests\r\nasync at all. It made testing a little easier (imo) and the idea has been\r\npropagated into frameworks like `angular-mocks`\r\n\r\n### Usage\r\n\r\nSynchronousPromise looks (from the outside) a lot like an ES6 promise. We construct\r\nthe same:\r\n\r\n```javascript\r\nvar promise = new SynchronousPromise((resolve, reject) => {\r\n  if (Math.random() < 0.1) {\r\n    reject('unlucky!');\r\n  } else {\r\n    resolve('lucky!');\r\n  }\r\n});\r\n```\r\n\r\nThey can, of course, be chained:\r\n\r\n```javascript\r\nvar initial = new SynchronousPromise((resolve, reject) => {\r\n  resolve('happy!');\r\n});\r\ninitial.then(message => {\r\n  console.log(message);\r\n})\r\n```\r\n\r\nAnd have error handling, either from the basic A+ spec:\r\n\r\n```javascript\r\ninitial.then(message => {\r\n  console.log(message);\r\n}, error => {\r\n  console.error(error);\r\n});\r\n```\r\n\r\nOr using the more familiar `catch()`:\r\n\r\n```javascript\r\ninitial.then(message => {\r\n  console.log(message);\r\n}).catch(error => {\r\n  console.error(error);\r\n})\r\n```\r\n\r\n`.catch()` starts a new promise chain, so you can pick up with new logic\r\nif you want to. `.then()` can deal with returning raw values or promises\r\n(as per A+)\r\n\r\n`SynchronousPromise` also supports `.finally()` as of version 2.0.8.\r\n\r\n### Statics\r\n`.all()`, `.resolve()` and `.reject()` are available on the `SynchronousPromise`\r\nobject itself:\r\n\r\n```javascript\r\nSynchronousPromise.all([p1, p2]).then(results => {\r\n  // results is an array of results from all promises\r\n}).catch(err => {\r\n  // err is any single error thrown by a promise in the array\r\n});\r\n\r\nSynchronousPromise.resolve('foo');  // creates an already-resolved promise\r\n\r\nSynchronousPromise.reject('bar'); // creats an already-rejected promise\r\n```\r\n\r\n(`race()` isn't because I haven't determined a good strategy for that yet,\r\nconsidering the synchronous design goal -- but it's\r\nunlikely you'll need `race()` from a test).\r\n\r\n### Extras\r\n`SynchronousPromise` also provides two extra functions to make testing a little\r\neasier:\r\n\r\n#### Static methods\r\nThe `unresolved()` method returns a new, unresolved `SynchronousPromise` with\r\nthe constructor-function-provided `resolve` and `reject` functions attached as properties.\r\nUse this when you have no intention of resolving or rejecting the promise or when you\r\nwant to resolve or reject at some later date.\r\n\r\n```javascript\r\nvar\r\n  resolvedValue,\r\n  rejectedValue,\r\n  promise = SynchronousPromise.unresolved().then(function(data) {\r\n    resolvedValue = data;\r\n  }).catch(function(data) {\r\n    rejectedValue = data;\r\n  });\r\n  // at this point, resolved and rejected are both undefined\r\n\r\n  // ... some time later ...\r\n  if (Math.random() > 0.5) {\r\n    promise.resolve(\"yay\");\r\n    // now resolvedValue is \"yay\" and rejectedValue is still undefined\r\n  } else {\r\n    promise.reject(\"boo\");\r\n    // now rejectedValue is \"boo\" and resolvedValue is still undefined\r\n  }\r\n```\r\n\r\n#### Instance methods\r\n\r\n`pause()` pauses the promise chain at the point at which it is called:\r\n\r\n```javascript\r\nSynchronousPromise.resolve('abc').then(data => {\r\n  // this will be run\r\n  return '123';\r\n}).pause().then(data2 => {\r\n  // we don't get here without resuming\r\n});\r\n```\r\n\r\nand `resume()` resumes operations:\r\n\r\n```javascript\r\nvar\r\n  promise = SynchronousPromise.resolve('123').pause(),\r\n  captured = null;\r\npromise.then(data => {\r\n  captured = data;\r\n});\r\n\r\nexpect(captured).to.be.null;   // because we paused...\r\npromise.resume();\r\nexpect(captured).to.equal('123'); // because we resumed...\r\n```\r\n\r\nYou can use `pause()` and `resume()` to test the state of your system under\r\ntest at defined points in a series of promise chains\r\n\r\n### ES5\r\nSynchronousPromise is purposefully written with prototypical, ES5 syntax so you\r\ncan use it from ES5 if you like. Use the `synchronous-promise.js` file from the\r\n`dist` folder if you'd like to include it in a browser environment (eg karma).\r\n\r\n## Typescript\r\nThe `synchronous-promise` package includes an `index.d.ts`. To install, run:\r\n```\r\ntypings install npm:synchronous-promise --save\r\n```\r\n*On any modern TypeScript (v2+), you shouldn't need to do this.*\r\n\r\nAlso note that TypeScript does async/await cleverly, treating all promises\r\nequally, such that `await` will work just fine against a SynchronousPromise -- it just won't be backgrounded.\r\n\r\n**HOWEVER:** there is a _very specific_ way that SynchronousPromise\r\ncan interfere with TypeScript: if\r\n- SynchronousPromise is installed globally (ie, overriding the\r\n  native `Promise` implementation) and\r\n- You create a SynchronousPromise which is resolved asynchronously,\r\n  eg:\r\n\r\n```js\r\nglobal.Promise = SynchronousPromise;\r\nawait new SynchronousPromise((resolve, reject) => {\r\n  setTimeout(() => resolve(), 0);\r\n}); // this will hang\r\n```\r\n\r\nThis is due to how TypeScript generates the `__awaiter` function\r\nwhich is `yielded` to provide `async`/`await` functionality, in\r\nparticular that the emitted code assumes that the global `Promise`\r\nwill _always be asynchronous_, which is normally a reasonable assumption.\r\n\r\nInstalling SynchronousPromise globally may be a useful testing tactic,\r\nwhich I've used in the past, but I've seen this exact issue crop up\r\nin production code. `SynchronousPromise` therefor also provides two methods:\r\n\r\n- `installGlobally`\r\n- `uninstallGlobally`\r\n\r\nwhich can be used if your testing would be suited to having `Promise` globally\r\noverridden by `SynchronousPromise`. This needs to get the locally-available `__awaiter` and the result (enclosed with a reference to the real `Promise`)\r\nmust override that `__awaiter`, eg:\r\n\r\n```ts\r\ndeclare var __awaiter: Function;\r\nbeforeEach(() => {\r\n  __awaiter = SynchronousPromise.installGlobally(__awaiter);\r\n});\r\nafterEach(() => {\r\n  SynchronousPromise.uninstallGlobally();\r\n});\r\n```\r\n\r\nIt's not elegant that client code needs to know about the transpiled\r\ncode, but this works.\r\n\r\nI have an issue open on GitHub\r\n[https://github.com/Microsoft/TypeScript/issues/19909](https://github.com/Microsoft/TypeScript/issues/19909)\r\nbut discussion so far has not been particularly convincing that\r\nTypeScript emission will be altered to (imo) a more robust\r\nimplementation which wraps the emitted `__awaiter` in a closure.\r\n\r\n\r\n### Production code\r\nThe main aim of SynchronousPromise is to facilitate easier testing. That being\r\nsaid, it appears to conform to expected `Promise` behaviour, barring the\r\nalways-backgrounded behaviour. One might be tempted to just use it everywhere.\r\n\r\n**However**: I'd highly recommend using *any* of the more venerable promise implementations\r\ninstead of SynchronousPromise in your production code -- preferably the vanilla\r\nES6 Promise, where possible (or the shim, where you're in ES5). Or Q.\r\nOr jQuery.Deferred(), Bluebird or any of the implementations at [https://promisesaplus.com/implementations](https://promisesaplus.com/implementations).\r\n\r\nBasically, this seems to work quite well for testing and\r\nI've tried to implement every behaviour I'd expect from a promise -- but I'm\r\npretty sure that a native `Promise` will be better for production code any day.\r\n","_attachments":{},"homepage":"https://github.com/fluffynuts/synchronous-promise#readme","bugs":{"url":"https://github.com/fluffynuts/synchronous-promise/issues"},"license":"BSD-3-Clause"}