{"_id":"micro-signals","_rev":"35-7f962202e4c2ca2ac1f407a63db3899d","name":"micro-signals","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","dist-tags":{"latest":"2.4.0","next":"2.0.0-2"},"versions":{"0.1.0":{"name":"micro-signals","version":"0.1.0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/micro-signals.js","typings":"lib/micro-signals.d.ts","devDependencies":{"rimraf":"^2.5.4","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^1.8.10","typings":"^1.3.2"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/**/*.ts\"","install":"typings install","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","eventer","messaging","pubsub"],"author":{"name":"Leland Miller"},"license":"MIT","bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"2b8b4d25a3faf33f77907f7486c326677ca99940","_id":"micro-signals@0.1.0","_shasum":"702fbd1ca043c7bbd4c8c17f5c583a4bb226af26","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.3.0","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"702fbd1ca043c7bbd4c8c17f5c583a4bb226af26","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.1.0.tgz","integrity":"sha512-LRseEZRdXKdE2/4y/A0kvJRTSJmmeDIPuq+7tBKtIDA32otDz57wgKNXtNtVaemrEBdtLfOI5ZBeorC/C4Ovzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3PcK/O/CWOZZPDMD9zmTFsLF5plifGWBTJ83HDg0uJwIhAK2BJr7iWEPsY8UyrN4J3YDZI26bSxfymJtLaBDAMKGL"}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/micro-signals-0.1.0.tgz_1469650125485_0.07756343926303089"},"directories":{}},"0.1.1":{"name":"micro-signals","version":"0.1.1","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/micro-signals.js","typings":"lib/micro-signals.d.ts","devDependencies":{"rimraf":"^2.5.4","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^1.8.10","typings":"^1.3.2"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/**/*.ts\"","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","eventer","messaging","pubsub"],"author":{"name":"Leland Miller"},"license":"MIT","bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"b02e7233fcfb2f002f48e0d20a283fb0fbd3e9ad","_id":"micro-signals@0.1.1","_shasum":"1906cf08729f6e3bccf80b03674f8038c1cee4b4","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.3.0","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"1906cf08729f6e3bccf80b03674f8038c1cee4b4","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.1.1.tgz","integrity":"sha512-f2N9fH4P/Xj1YHlZRqwJ/HLF36kbsIux/s5LQY4/Ijq+c0NzRu3hUvQGpsl3aerEh3YzsiPj0xHYQooG70ZyFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDWNQ5BkdVe7MHJCxT/BSbdRw1Ik4DJbNU5qyg91b2lFAiBl7db6NuGLGqX0CwOoCQ7zOIcvL9putRbgudWJiBNabw=="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/micro-signals-0.1.1.tgz_1469650892072_0.3831636996474117"},"directories":{}},"0.1.2":{"name":"micro-signals","version":"0.1.2","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/micro-signals.js","typings":"lib/micro-signals.d.ts","devDependencies":{"rimraf":"^2.5.4","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^1.8.10","typings":"^1.3.2"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/**/*.ts\"","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","eventer","messaging","pubsub"],"author":{"name":"Leland Miller"},"license":"MIT","bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"da4f36385fcb294d8c2d786d6cef03ab9281ef5d","_id":"micro-signals@0.1.2","_shasum":"263a81b19b9574dd3abb0d3ed998fdae333758aa","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.3.0","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"263a81b19b9574dd3abb0d3ed998fdae333758aa","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.1.2.tgz","integrity":"sha512-jfBlmgixrasvGFMaCU5bBvp7yjOgzVU/r3iqmJ5/o0hFVwDznjbn5F8s3dqvIZBze7smlvLiupcr2l9LfzrxmA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGehcwo+pmY8qQ/ju5N3VbxCKM9Um/QvbmmSVtQ/9MwBAiEAmTqafoxfran/BSOKYItvE8MhLT5NELhGKF1/EgrVA5Q="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/micro-signals-0.1.2.tgz_1469677008576_0.2090702468995005"},"directories":{}},"0.2.0-0":{"name":"micro-signals","version":"0.2.0-0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","devDependencies":{"@types/tape":"^4.2.28","rimraf":"^2.5.4","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^2.0.7"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/**/*.ts\"","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","eventer","messaging","pubsub"],"author":{"name":"Leland Miller"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"c6d16d3aecbec2d9e185495e156190ce0e827dc6","_id":"micro-signals@0.2.0-0","_shasum":"c3712e3e9d6a45376fe4ccc4ff273dee851c48fe","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"c3712e3e9d6a45376fe4ccc4ff273dee851c48fe","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.2.0-0.tgz","integrity":"sha512-lgwZffIKfp6ZZPLtqK4jOmAU9sGZxCC+trwC3nT1D2HrD9uYe0hEdMIXBxLm79kvGWmrp4wOfQLwgNuAl0ZEbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE81qGuN+p74Lo1U72obFqJjaYY2w2rsQ+EfFeopd5bwIhAImZgIdCXh3UP8al4URpnjbBv+Qu3YcAE7/PuR6/vtnk"}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/micro-signals-0.2.0-0.tgz_1478908746682_0.3514476288110018"},"directories":{}},"0.2.0-1":{"name":"micro-signals","version":"0.2.0-1","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/micro-signals.js","devDependencies":{"@types/tape":"^4.2.28","rimraf":"^2.5.4","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^2.0.7"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/**/*.ts\"","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","eventer","messaging","pubsub"],"author":{"name":"Leland Miller"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"823c900ad2ba133bd598fba71355f828f6106ff2","_id":"micro-signals@0.2.0-1","_shasum":"c4ca45f7f1b3535387a69ecbba5397d463273998","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"c4ca45f7f1b3535387a69ecbba5397d463273998","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.2.0-1.tgz","integrity":"sha512-DZoI3Lf0MA7y51D9BLdAPDI1FYI3n6IAjfiyjDIqRT9kXxtlxR8of9LwhhktQDr3ahViKvJpM8y1Oeo98yShGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+FL7jhTXiZag2pQoWOyemhuca1lBZpeaDyUv5zP2kkAIhAKM1ealpWnA3uhTjXkOCUms4buyYeBCg1QJvIOKGvX2E"}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/micro-signals-0.2.0-1.tgz_1478909436484_0.7593382447957993"},"directories":{}},"0.2.0-2":{"name":"micro-signals","version":"0.2.0-2","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/micro-signals.js","types":"lib/micro-signals.d.ts","devDependencies":{"@types/tape":"^4.2.28","rimraf":"^2.5.4","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^2.0.7"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/**/*.ts\"","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","eventer","messaging","pubsub"],"author":{"name":"Leland Miller"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"61630d30a0e49fdda3fbd2884ddea4f23198922e","_id":"micro-signals@0.2.0-2","_shasum":"ff4764d9ddc95b99b6bf71339055a678ff3e66b6","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"ff4764d9ddc95b99b6bf71339055a678ff3e66b6","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.2.0-2.tgz","integrity":"sha512-U+fo2ODh9ujiPCWphgoVULsQsx92G7yDCLBjO4+lP/Pz6kLelfDPqLV92yHZpBjUPv++NIXXwwDAlUemhYIUyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGXnJC1cHRtoNg8GLP/yQQIgaPZfgbF9KAOYDMaps3/nAiBViyrTIsyD1fqPxRDUmcSksUGRrhvth8aViowlsiNBPg=="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/micro-signals-0.2.0-2.tgz_1478910677449_0.08305283356457949"},"directories":{}},"0.2.0-3":{"name":"micro-signals","version":"0.2.0-3","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/micro-signals.js","types":"lib/micro-signals.d.ts","devDependencies":{"@types/tape":"^4.2.28","rimraf":"^2.5.4","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^2.0.7"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/**/*.ts\"","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","eventer","messaging","pubsub"],"author":{"name":"Leland Miller"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"1cb02bd8c4bdc3d62f90e29544299d3afb65b54d","_id":"micro-signals@0.2.0-3","_shasum":"a212b5c4414d672f96b82304c0140127617aff11","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"a212b5c4414d672f96b82304c0140127617aff11","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.2.0-3.tgz","integrity":"sha512-ZZPX2OIjgH7f/J+k1tjWsQHgAvD0P6nKR/5bwiDMWxhiX1i7TfPIRhpskV/rabi2UmM3diPazRucWmRBXRTUgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2GUTs4BTUvfXfG1ewe/k0XS/c6MtpXFQtJbgFFC5eEAiEA3IPUQAvbSLOYqF1GJ2ZiPrxEMAaw/eIwKPVaNviayX8="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/micro-signals-0.2.0-3.tgz_1480452649629_0.5626871443819255"},"directories":{}},"0.2.0":{"name":"micro-signals","version":"0.2.0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/tape":"^4.2.28","rimraf":"^2.5.4","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^2.0.7"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/**/*.ts\"","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","eventer","messaging","pubsub"],"author":{"name":"Leland Miller"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"cc1ece1db0760838379e0dbc98cc25ec90baa71f","_id":"micro-signals@0.2.0","_shasum":"71476f3760cec8d5f744ccf2c3f1aa3e012c7d00","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"71476f3760cec8d5f744ccf2c3f1aa3e012c7d00","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.2.0.tgz","integrity":"sha512-b2t/y0svdH00xB5z+GwHAgwREQeB91EdvIMwY6Okpl1Mgu1m3T8u3eQzDLKXFESlWOtcQu70HWX9mMlX662cvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBilUiAlMrDOYkrrziTclHmRNvcoHrCklVjTPBzUiAu/AiBhzuiOxpbfytp2nknHOZxX5QjSJSJVa4lJfPiRnw9eSw=="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/micro-signals-0.2.0.tgz_1480656665548_0.06482084491290152"},"directories":{}},"0.2.1":{"name":"micro-signals","version":"0.2.1","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.28","erasmus":"^0.1.0","faucet":"0.0.1","rimraf":"^2.6.1","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^2.2.2"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/*.ts\" | faucet","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"09dc7a29bca45cb85900d9c098fee517270670df","_id":"micro-signals@0.2.1","_shasum":"9db57eb0f55baac36dcbf7d15695c642c1f13698","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.0","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"9db57eb0f55baac36dcbf7d15695c642c1f13698","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.2.1.tgz","integrity":"sha512-O4SdrJuISe/dJ7Avqc7Kk79A1feaFLPbkkwiOwdadJsMkGV4AMR5YIF6BZLFdtF8LkO432073/HHlryMe0QhGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEUHZbMoE9GgpKlan+2zC3v9hJDAnL8ccUjylNmjGXdgAiEA0/oM1aLim0YdzBtW6ih4GQDruCl0uifgQHjAhk4zsQI="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/micro-signals-0.2.1.tgz_1492438202526_0.33663018443621695"},"directories":{}},"0.2.2":{"name":"micro-signals","version":"0.2.2","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.28","erasmus":"^0.1.0","faucet":"0.0.1","rimraf":"^2.6.1","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^2.2.2"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/*.ts\" | faucet","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"f3099cd3526a83a671f2dbfe6b97a38c97d88024","_id":"micro-signals@0.2.2","_shasum":"daa20bb601828f85622ce93d13c6e490ee63e7d0","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.0.0","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"daa20bb601828f85622ce93d13c6e490ee63e7d0","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.2.2.tgz","integrity":"sha512-2KV9s1817PRyFIuC51P564FtuXW7dV7BoIRbE4/+YO+10vnF8XyaqGuyQQo8kID1lA8IpRSY1er2gMZc1qX0Vg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfvMsgZXaiMgJFdbPJDgxjEm61EkOXvtrnQkRYuNN9MQIhAPhJ2YbfHIs7I5m+WXIYYaiAB3Xv4m2Prh4AvmvnUQOU"}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-0.2.2.tgz_1496861081710_0.2955597860272974"},"directories":{}},"0.2.3":{"name":"micro-signals","version":"0.2.3","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.28","erasmus":"^0.1.0","faucet":"0.0.1","rimraf":"^2.6.1","tape":"^4.6.0","ts-node":"^1.2.1","tslint":"^3.13.0","typescript":"^2.2.2"},"scripts":{"test":"tslint \"src/**/*.ts\" && tape -r ts-node/register \"test/*.ts\" | faucet","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"94e70adbb8ec731d43bc1561b1ce8688c04d6b09","_id":"micro-signals@0.2.3","_shasum":"b7460334bd3f0e2f672327d9cf19f34417aa21a2","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.2","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"b7460334bd3f0e2f672327d9cf19f34417aa21a2","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.2.3.tgz","integrity":"sha512-Lco2ZFWcj/3utu9QWu8N9TbnFOknplZImCdt1OmcXuAyrkPArq6XX+S1vGUSWhUgTZEOnJUfsyvnqbl+eI3IFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWiv5XF+TOkTgk9ivaH1ujO5qTCF8/k2qgCNeUQK737QIgfw6rDtPlvBSHDCowuOLcYPFmOxDGdL8avFJ9CCb9q+4="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-0.2.3.tgz_1497632734737_0.01869715331122279"},"directories":{}},"0.2.4":{"name":"micro-signals","version":"0.2.4","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.2","rimraf":"^2.6.1","tape":"^4.6.3","ts-node":"^3.1.0","tslint":"^3.13.3","typescript":"^2.2.2"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"3e16f12394f2cc604d773806f4bae6b2187c941d","_id":"micro-signals@0.2.4","_shasum":"b2f8a2e33c9f8085cab185402292bd6317bd7ae7","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.2","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"b2f8a2e33c9f8085cab185402292bd6317bd7ae7","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.2.4.tgz","integrity":"sha512-3PkJGZREfUkUVpU/jnBRhTjN+I/x97p5TuCn2HqCoOYZBY/JVJvcBCyCWCkiPDS38qOAADuyGrd0dLalUAI1zA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC2SFh9kFlLa+yaeOVob/c74Xh22K2PP3nmb0+jxGu4LAiBJtJWl9WFwx2GmuXkT2/rw/xkGzCiyW0tYJf/uMBETAg=="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-0.2.4.tgz_1498673018613_0.4307423292193562"},"directories":{}},"0.2.5":{"name":"micro-signals","version":"0.2.5","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.2","rimraf":"^2.6.1","tape":"^4.6.3","ts-node":"^3.1.0","tslint":"^3.13.3","typescript":"^2.2.2"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"bc5c4b83982b93b5aa799c84a2ec100136671498","_id":"micro-signals@0.2.5","_shasum":"678ccdbc9ec906cdae0f958cb7dd91acb0ed8cee","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.3","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"678ccdbc9ec906cdae0f958cb7dd91acb0ed8cee","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.2.5.tgz","integrity":"sha512-EDuQX8wv96Hn+J0SrlHA6Lgie3qvnbP47kEmbtd+L5QHM3BHjDC/z3wRwkIcJ0VwbcMAul5z/XRAriVtncbNDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC80Tdcci23KUBnjz4eQLEPAuB7e/Cf9MXbAIzKRSOGpAiBiTPuD9WIXqG1EGq4W+jFEj7gXMSDjmqwbgnvsMVE/jA=="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-0.2.5.tgz_1499801214613_0.005517404293641448"},"directories":{}},"0.3.0":{"name":"micro-signals","version":"0.3.0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.2","rimraf":"^2.6.1","tape":"^4.6.3","ts-node":"^3.1.0","tslint":"^3.13.3","typescript":"2.2.2"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"50d51d6910206ccae01f8bd6f58296d457340e37","_id":"micro-signals@0.3.0","_shasum":"97560cff75ff270c6d2375b510ab939497bc0b6a","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.3","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"97560cff75ff270c6d2375b510ab939497bc0b6a","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.3.0.tgz","integrity":"sha512-KQFic4SazX/z3phBvJP1z0of5c1CFifvcON+wbEVqG50vi/2Lg50XeNa65Lfg1VhMOBl/5pTwLmRMWFE3HZRzA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaItwA5w1OKCs8BkU9gLFHgyvLsyy26O3Q7cEL1htklAIgG42A9bC0eSPjOZ/8+x4bDF9LRdkzcWl+rO3mjaMDMLE="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-0.3.0.tgz_1499895121244_0.2005999400280416"},"directories":{}},"0.3.1":{"name":"micro-signals","version":"0.3.1","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"005b3c2c5dbbbac55d8216a7b2618be268ad4de4","_id":"micro-signals@0.3.1","_shasum":"13f15e3c47a76f5cc8e563549ffc897f333bc7ec","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.3","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"13f15e3c47a76f5cc8e563549ffc897f333bc7ec","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.3.1.tgz","integrity":"sha512-k9SOaqVkFf76N7qcOqLoGyFHApU9iGawwW4S0nUqqaXuy2hiPQL8o2RyrnlM/6t4tvcoRhQutjTbhGrTXwsj4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFcUqGgf19FmhVbt1ySyraOyBfpkYlnXmb05106vMcsNAiA7SOaIAVYZFZ++4RubjyHuPo5GBvAn6aW/Ej7yZVBqNA=="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-0.3.1.tgz_1499980625378_0.4037082016002387"},"directories":{}},"0.3.2":{"name":"micro-signals","version":"0.3.2","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"596e6dd15d529ebce45c40cb4b435318ff2a3bc6","_id":"micro-signals@0.3.2","_shasum":"a7145125db230106fe9ac44aeaae344f113caf7e","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.3","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"a7145125db230106fe9ac44aeaae344f113caf7e","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.3.2.tgz","integrity":"sha512-4eFCCrSh0xL68Mclvg/OjSTQZ5VYMw4J4aEFeysU0OsrvwwBVThIdfXVW7LmWD4B8YozHVTwWh3+TVZ4qxQ7Tw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBuJhj/1n/HkyMC/7sg534p1cybscIN9o75DZGcDwioKAiEA8+wWRey/t7mOsPH2YXM/STasidy/Y0Z284BkG5aEymg="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-0.3.2.tgz_1500057141203_0.6617223781067878"},"directories":{}},"0.3.3":{"name":"micro-signals","version":"0.3.3","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"b6eb01493a3888601b14c27e29e072ffaa26e600","_id":"micro-signals@0.3.3","_shasum":"9a6944398d65d1bbce26a6ac54d6a81a2ae683f9","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.3","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"9a6944398d65d1bbce26a6ac54d6a81a2ae683f9","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-0.3.3.tgz","integrity":"sha512-+/njBIfExqgJXhYO1Av7WyoJTgv9wIPe7gI4WbQ5Vej2h1vXxQM5uFCF2vLd2xPBZB4Sx9VaOqj2hvePJajV4w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYiFGwuXZJaAg4L6DJ85UqircqUlmsPwBRP5vV0snNkwIgJUuNHtH+6/zHfNpPDUwrCHzxcCtQ/WuxBbAmQ7FwR04="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-0.3.3.tgz_1500057354011_0.5998707318212837"},"directories":{}},"1.0.0-0":{"name":"micro-signals","version":"1.0.0-0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"ba6ed03cc276555a88f01d25264bfe2be804fc5e","_id":"micro-signals@1.0.0-0","_shasum":"5c4871e19048ac2ceb594f2722a13f3698d6862d","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.3","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"5c4871e19048ac2ceb594f2722a13f3698d6862d","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-1.0.0-0.tgz","integrity":"sha512-+Tw3kyr1Cj5UMwrbK6+ni1B0KZziB2crZPu/diQ69cO4r+0NKPkly6pV4btJQ+NTllqL6mjXQb+hFKQouCrIbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCedeFBy1zdU3ib5NAjAiGonewvRXh+Y9NEN0tx0QPFxQIgEzxJerT+qBS07UywyfDZUdt09AWC+2rtFWVBgsFBo5E="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-1.0.0-0.tgz_1500275046526_0.7749893702566624"},"directories":{}},"1.0.0-1":{"name":"micro-signals","version":"1.0.0-1","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"97acc03b4d29f71529b6b3ddfad6fb8c73daff04","_id":"micro-signals@1.0.0-1","_shasum":"90099eeea3e4cab1c8fdcba6cdb3796a4e6e2e8d","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.3","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"90099eeea3e4cab1c8fdcba6cdb3796a4e6e2e8d","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-1.0.0-1.tgz","integrity":"sha512-tlMEdz/T1IKRsZ/JRjhXiEx3Ug3BF8wtKodv3mtPodxaEjaOuzEinyYELMa73WijsWwVuYcJo2N/7nj/gss0pA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOuN786rfCcLBdRYuCskg4RTnffCjspsS9VXp/RKnYIwIhALGCWWoWGaV/v/y55TXVoMvZGZX204u0a+zX7RwlsUEq"}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-1.0.0-1.tgz_1500322112731_0.5653317885007709"},"directories":{}},"1.0.0":{"name":"micro-signals","version":"1.0.0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"c568263cbd44170db884d3fa5e3ee53ea35af8b5","_id":"micro-signals@1.0.0","_shasum":"97acae7dbde1651e7ab9f11dd243b6f8cdf342f4","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.3","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"shasum":"97acae7dbde1651e7ab9f11dd243b6f8cdf342f4","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-1.0.0.tgz","integrity":"sha512-LaK4eCm2IOAhJi384aqIlBYBXqzS51vx1Vimlvfk1PjCceljOpu7USMqup4vTvXST46bflcj7scLvXJKuLhffw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEQwpfHRUB59GXVhr0bBc8L4HApLrOqM+jaLlhpx73NaAiEA80OUY66NHYscBrxgDYMcSh6pgQ+wUOyavkt8tAlIQZ4="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-1.0.0.tgz_1500322671707_0.8590004928410053"},"directories":{}},"1.1.0":{"name":"micro-signals","version":"1.1.0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"264d2d54d304fa14a6cf11044b3698c205fd4bbb","_id":"micro-signals@1.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"integrity":"sha512-NLCBHQ91VtE4XfV4s5H71cJTC6p/WpSpwZtGwSDHYi/PZqj0HlLPWSifwvC2DsX/7C556tRfWfTtf0UQWhwsOg==","shasum":"b478329890fddbc87d2ab0139efbd6fc5be9b3be","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-1.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBR0Ot/RWNVIQSj34iJOyAOB3bG2hy7Y3AUnrDAVbK5QIhAJYqZTqPlFZxiBqfR7ZLn5fhYe5tkPYY8blo2AjULbDO"}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-1.1.0.tgz_1502300540465_0.31651040678843856"},"directories":{}},"1.1.1":{"name":"micro-signals","version":"1.1.1","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"npm run lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","preversion":"npm install && npm test && npm run build","postversion":"git push --follow-tags && npm publish"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","eventer","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","gitHead":"1081e7f10049a4f3a96de6350be09f49cb8917d5","_id":"micro-signals@1.1.1","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"dist":{"integrity":"sha512-mpNsnDgQVREQBVGgogX89N+VyIhf46F7QfekenENxzMIYF4p0XSFEkhGSIUmbPnqkA1yuWErH19NP/k6Rxpnog==","shasum":"b2175f5a23be8e41d0dc3c654b5f7f2e73eb0339","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-1.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRslzBaSB1WUim39xp5fnvAvdxCawopLfYIAXDUJw27wIhAJHCOxFczgP6g8/g584TywwGFdLfkjrMVvOzDSkGB0P8"}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-1.1.1.tgz_1502338447427_0.6321426669601351"},"directories":{}},"2.0.0-0":{"name":"micro-signals","version":"2.0.0-0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"yarn lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","prepublishOnly":"yarn && yarn test && yarn build"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","typed","eventer","events","event","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016 Leland Miller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"micro-signals@2.0.0-0","dist":{"shasum":"75c7875bf67b7b04c27293ad1350b79c01b9cbc4","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-2.0.0-0.tgz","integrity":"sha512-NsbRd4nWhzrU5Gp/ZCwjB34hH+59rbuM6u4nvqB5jFoObOlR+Kw500q2lIAGcpV//SdNdqYJPkD97vLTKdLCrw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICmAfppeYiSkxXrQliMmRFPhwnI03adTWdcTFgX1y0M/AiBec66LGtli9qQmMjor1jmv1Yl3VzpDJwrxhJiQxTRwFg=="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-2.0.0-0.tgz_1517529765208_0.8655569686088711"},"directories":{}},"2.0.0-1":{"name":"micro-signals","version":"2.0.0-1","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"yarn lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","prepublishOnly":"yarn && yarn test && yarn build","postpublish":"git push --follow-tags"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","typed","eventer","events","event","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016 Leland Miller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"micro-signals@2.0.0-1","dist":{"shasum":"797f6524dffc003effc466e69385ba4c6f7a9a6d","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-2.0.0-1.tgz","integrity":"sha512-vsoEiwGVeaPbZ42Ahb/Bwh5dDh+WqIbhRCOQjxr0warTcl8gMHcIH841oXUqV3yQAQBIy7w6aDfB7GuKapbinQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAxKGiJjptJJVw9SeLqYuPDWWfxsVc9YoNsgUngKUitiAiABqXDO75o6MsM7Bn4zDSVtaWcUwMbsLewVRLAy2xlm9Q=="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-2.0.0-1.tgz_1517529976875_0.7746212249621749"},"directories":{}},"2.0.0-2":{"name":"micro-signals","version":"2.0.0-2","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"yarn lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","prepublishOnly":"yarn && yarn test && yarn build","postpublish":"git push --follow-tags"},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","typed","eventer","events","event","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016 Leland Miller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"micro-signals@2.0.0-2","dist":{"shasum":"8d539d5104447971f34cb2ac3c8401283f687dee","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-2.0.0-2.tgz","integrity":"sha512-HOFxMOiijrgWmlGnpLiTUhNJhSwt8RGa9PmkliL45Ah89ZmEl2enkLrx4QB/LZ5rfis9cjy4LD0B2E6KcPuiUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrhGFprvzdAfp1Q9HIuNdKoVwwudvfIiVyhfxyV3EnwAIgb6j63/TNQR2MoBbj7IHkWGC1d2K7XzbdJWG8J6KBUXM="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals-2.0.0-2.tgz_1517530976082_0.46905699488706887"},"directories":{}},"2.0.0":{"name":"micro-signals","version":"2.0.0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"^3.2.0","tslint":"^5.5.0","typescript":"2.4.1"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"yarn lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","prepublishOnly":"yarn && yarn test && yarn build","postpublish":"echo \"Do not forget to push the version commit and tag! `git push --follow-tags`\""},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","typed","eventer","events","event","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016 Leland Miller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"micro-signals@2.0.0","dist":{"shasum":"ea368768e30f50f1df2dca265ebe6ea8c3c96a66","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-2.0.0.tgz","fileCount":37,"unpackedSize":170530,"integrity":"sha512-jwUWrNP4cBd4y3ilab98aKB+A/F3KMGphWkAguVnKUvuVUp0N94S7IU7qetQC4CvaWDUyLHNRWw6vSbJqsSEBw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAuPwIaOMDGWRFIc13EHi9Jh43y8PDzaRgL4w/zrqTdiAiEA0ZhZ5oKZawtTGMPNgIa4wo5VFVPALb5OD3raEk/ri6M="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals_2.0.0_1518460525845_0.08926079190000347"},"_hasShrinkwrap":false},"2.1.0":{"name":"micro-signals","version":"2.1.0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"7.0.1","tslint":"5.11.0","typescript":"3.0.3"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"yarn lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","prepublishOnly":"yarn && yarn test && yarn build","postpublish":"echo \"Do not forget to push the version commit and tag! `git push --follow-tags`\""},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","typed","eventer","events","event","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016 Leland Miller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"micro-signals@2.1.0","dist":{"shasum":"d7fdbee8c3214a1f062156d42bc7d0b32047b794","integrity":"sha512-qkQMziH15Ze3an1Z2I3+Dg2ZrI8W9GadskqQ0ycRpd8RQ3mp/XqWnaFZ0bCBzREPbqg75qzb8eTsBedQyHkELw==","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-2.1.0.tgz","fileCount":35,"unpackedSize":180309,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmvuGCRA9TVsSAnZWagAAh3AQAI3C1QDAcrencE6ZMo+s\nbzxt8GCJ8nw4LaMqsPqmM8cgDU6OlH4n5rqTaBmdWhVKvln91i5qfCCpILV0\ngKh+2nI4YH8ZeBsDiRp7f8aYrjDQt7pJuHH2jnLjtdPPcE9YVlID4EinG+YU\nEA90+Uz7RQ2/ygvo1DRrcfye3XQ++C2wc/i6G/jotqAzXQxg5ROnk+pUVip1\n0Sdf2UlmkHUwIXQUWlA9S1NtWT/sNbJJFdEUgmPksU3cAqppPlVdFngBS1XF\nvcJPaRC66Xr4C71J4ldHmgHRDXg5MqYSi84XMHnVESBezf4YjEMkE1qJvra4\nZRymZwVOVXy/GdTZfm5CtYAXE7wfbJzIBOefsD8v35qfHUnf90h5ESbNLsFZ\nZrKnykRwdTb5+1y0ayemZlMw0zsTNqqD+6KqjVmieGpnrrYk71Ovf0l4voJq\nx7FX9tAi+CrqF6YHw+405uOb4H4Cv07a6VXtfumYz5HdrxCFr5MflI7BBuWV\n+Ei+vs0xzp9KN9R9j/ubhsjT7FkcUVLAdlT7HTPgZJ/LykQ7xqHNUTD9pRjy\n9t78KxERlQYj1WdKD0oaBHSVK0vLnjlbvSxKbNdxSDquvgteUq14qOFECDcY\nUEDSSt7D9zejKoEATvi8ldNzwDHiMNqLw61RlQ7QoF8/CUSdj+oQiCBKgLSh\nTuEG\r\n=x+Vj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDe4+7ZEu3N4aNdz0MMON2kpJaUZBw9W9FlHdpOZ8VaMwIhAKiWVrsf92uLqNo2/yberS1UCeWGyByD9tlR2h5LfJ+f"}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals_2.1.0_1553660805900_0.570280780400791"},"_hasShrinkwrap":false},"2.3.0":{"name":"micro-signals","version":"2.3.0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"7.0.1","tslint":"5.11.0","typescript":"3.0.3"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"yarn lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","prepublishOnly":"yarn && yarn test && yarn build","postpublish":"echo \"Do not forget to push the version commit and tag! `git push --follow-tags`\""},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","typed","eventer","events","event","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016 Leland Miller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"micro-signals@2.3.0","dist":{"shasum":"57348c85667f57c698cafb11dfe176c6ab89731d","integrity":"sha512-7KQf6+S8CRB0UoO6RNOAigXM4pIdquDwQIyFSWVqVglrdAWGEZzuO4RwdQNlT0QJR3RNU2nx6mrYWw4N+dJ1qQ==","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-2.3.0.tgz","fileCount":35,"unpackedSize":185897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd/ybaCRA9TVsSAnZWagAADP8QAIwoyxRFen1UwfecxmKQ\nDyUmb0DFJC9Stu+27pru7oPa2C04v1ZZuKeMhC35y8+PItp1MaNRwLzxAJH4\n9xgUJnM3qsiGt6CdDH4UeAFzDouHzVbnoUSkEIbsXoi4eOlYOhgWRIZDSfIF\nUyKJNjQaJ3oSfLCY3L+f7HISF1+3JRhA6dIolb8UllTUEV6gQbWgsLlSjF7G\nhE/lAzYoSAtov4KzYttj6lqMWAY77imrNq3Ww31Th0Dn7rkxs2v08wpqFFWt\nV4cKmtKJhtF4FO2afShMBWCcEHJdDvKuuR+/4qG+pJktH5w+bXYFkrcphUIt\nx2GzomUayAn7mlDdUszCkPrhHkaDybPdDajljKLDQ5bKwFBRdeIz2rg/JlZV\nhHs+1+Vvef63t28atcXLQLRgPyhdmLD/T0gNprZpgQKV+IgW/KkMNQbQbwP7\nRcpw1CLXvAEydhAYlqK+qbu7HyGq7w1ol+HE9lcW7NQ1hDsgvks5CknyrVtW\nyEC2kaE2dloiYBMqrLSBphi2auFycMU9NMF3Rpi6A3MHjGGMqrwrEcTcD3Fo\ncp9MI/brAiv1923AJSkR72bTO4RfbE5Pdfte+yJczJN2fkM1k2jIsiL+ADcj\nd1nJRlc5gWjFl9utox0hoEc3+wwssqlWWLedW6gzP/6fWUgojQQnJE9hhk+D\nuOMS\r\n=yMYr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOon6I0t5dCSDuj8RuBmCy/S0q0WppPJfYBierRHisVAIgbVFjyRJOaRNei5IuAz4HzZXM/lAnNb0L+VBM9NVdk/c="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals_2.3.0_1577002713508_0.7349754553715526"},"_hasShrinkwrap":false},"2.4.0":{"name":"micro-signals","version":"2.4.0","description":"A tiny typed messaging system inspired by js-signals that uses ES2015 sets","main":"lib/index.js","types":"lib/index.d.ts","devDependencies":{"@types/rimraf":"0.0.28","@types/tape":"^4.2.30","erasmus":"^0.1.0","faucet":"0.0.1","nyc":"^11.0.3","rimraf":"^2.6.1","tape":"^4.7.0","ts-node":"7.0.1","tslint":"5.11.0","typescript":"3.0.3"},"scripts":{"lint":"tslint --project ./tsconfig.json","test":"yarn lint && nyc tape 'test/*.ts' | faucet && nyc report","build":"rimraf lib && tsc -p tsconfig.build.json","prepublishOnly":"yarn && yarn test && yarn build","postpublish":"echo \"Do not forget to push the version commit and tag! `git push --follow-tags`\""},"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"keywords":["signals","signal","TypeScript","ts","typed","eventer","events","event","messaging","pubsub"],"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"license":"MIT","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}],"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016 Leland Miller\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"micro-signals@2.4.0","dist":{"shasum":"007af19ea18051e360f9fa17023284779d839593","integrity":"sha512-OpGuAaqeJQEV4Q45M8K1RWi4/Fs8QRl9xB9Q5MBGcMlXu5rJu4exdZ0dNXrHKDUpXcIvGW/Lndr7qrtlNB5MGg==","tarball":"https://registry.npmjs.org/micro-signals/-/micro-signals-2.4.0.tgz","fileCount":35,"unpackedSize":190472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4VN4CRA9TVsSAnZWagAAuTgP/2/PdfFNxktpbjlFHc9l\n+5Ra/RhRnaSPpHBqKJnXhp7GhHxfvXJVsoAuLTE6ZWTTx0rb+gkE76OfNRNL\n4+c8705HVX9hp4qVnPDs9m8AW7bcR59nG+ES0wm/H02+RQjIzEs4NfDThFv5\nCmi8M9kDeTQaCpWmk5Nrb+7XWjzg3V+wQ+Ociao0fhj8foHFKsPbFnxkKukK\nEK/tYBQvKSNOxQ51IOk/ocJ97WBVlQuHrblm4C12LYlvxneRSMcbcsATe8S2\nWBYEwchgSU1jNPYGnav1Aa+XadkzvjoechX1y+5HIlS+rUn5rCUwe/7EcxC1\nPPAsR8i3ysAdryNDlfh7Agx3hn88lneyPSjhcyxOxSXJWFsTRKNy+Bcod+Df\n6MghcQaZqUz0w/urrHonx9WWJ41pgVpvDwNaoMTN0ERlWpRZfDCLpVdycQnT\nWXghcI1pmFMshDLWw7TqBMhP0RcZH1Tld8RpUBuKRz0QpGAD0RDWZXDUK5W/\nkyuFlH2KCCPHAR8oUgrgiVHpN71S4i7WeE9t4V4tascmYDo+xnLT9jYsLWiT\ncbp+b7VL8zbk+gv3xGWzFMRINeMG4ZCkH65IzrmTQn1T4jBbwAtxNfzQ1+rn\n/doikj92Eb/5F24H6PnFF6V0YT5aCzIMQXSpza5BY8wQxym4KH9km3W4hsYb\ndiBq\r\n=bfTh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICY+EF/zCtSjuWUOzk1UUXm1R92HMAG/zSf1WJ+YsNgfAiAyu6G97H8GuszrVOz+ty1M1RE4bwi/bHBWuKqG72fEuA=="}]},"maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"_npmUser":{"name":"lelandmiller","email":"lelandmiller@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/micro-signals_2.4.0_1591825272208_0.7331135156641739"},"_hasShrinkwrap":false}},"readme":"![micro-signals](https://rawgit.com/lelandmiller/micro-signals/master/micro-signals.svg)\n\nA tiny typed messaging system inspired by js-signals that uses ES2015 sets\n\n[![Build Status](https://travis-ci.org/lelandmiller/micro-signals.svg?branch=master)](https://travis-ci.org/lelandmiller/micro-signals)\n[![codecov](https://codecov.io/gh/lelandmiller/micro-signals/branch/master/graph/badge.svg)](https://codecov.io/gh/lelandmiller/micro-signals)\n[![The Aj](https://img.shields.io/badge/The_Aj-verified-brightgreen.svg)](https://www.linkedin.com/in/ajay-kodali-1281553/)\n\n## Path to Version 2\n\nVersion 2 of micro-signals will introduce some breaking interface changes. Most notably will be a\nshift from using bindings to a remove method on the signal itself. While bindings were a very nice\ninterface, these changes will allow us to achieve late listener support (memorized signals) in a\nsynchronous signal with a reduced chance for user error.\n\nPreviously, adding late listener support had been put off due to the inability to access the return\nvalue of a listener during the initial cached dispatch of the signal (which would need to happen\nwhile adding the signal). In addition, attempting to use the binding could throw an error during\nthe initial call if the user did not check for the availability of a binding. We considered\nseveral ways around these issues:\n\n1.  Make micro-signals asynchronous\n\n    If a dispatch always calls the listener asynchronously then the binding is always available\n    during the initial call of the listener function, whether a cached value or not. However, some\n    projects may require the use of micro-signals in an environment where asynchronous behavior\n    is not desirable or easy to implement. A synchronous signal still supports asynchronous\n    dispatching (an asynchronous action can be triggered from the listener), but an asynchronous\n    signal does not allow for synchronous action dispatching.\n\n2.  Pass a binding to the listener\n\n    This would ensure that the listener always had a valid reference to the binding. However, the\n    user still needs a way to detach a listener that has not been called yet which, if we\n    continued to use the binding interface, would mean there is still a binding returned from the\n    add function. This could be an easy spot for user error, as forgetting to use the binding\n    passed into a listener would cause the same errors mentioned above.\n\n3.  Do not use bindings\n\n    If we use add and remove methods on signals, we can be sure we are always able to remove during\n    a listener add operation.\n\nSeveral variations of the above were considered, but at the end of it all, option 3 seemed to be the\ncleanest way to provide a synchronous signal with late listener support that avoided the most\nopportunities for user error.\n\nIn order to add some of the convenience of bindings back to the API, there are plans to add the\nability to tag a listener and then remove listeners based on either listener or tags.\n\n## About\n\nmicro-signals is an attempt to provide a simple and flexible signal library for TypeScript and\nJavaScript consumption. It borrows ideas from libraries such as\n[RxJS](https://github.com/Reactive-Extensions/RxJS) and\n[js-signals](https://millermedeiros.github.io/js-signals/).\n\nThe library has no relation to [mini-signals](https://github.com/Hypercubed/mini-signals) and the\nname micro-signals is not meant to imply that this library is smaller than mini-signals in any way.\nThe package was named and published before it was noticed that there already was a mini-signals\nlibrary. Also, it may not seem very \"micro\" at this point. The original implementation was\n[much smaller](https://github.com/lelandmiller/micro-signals/blob/v0.1.0/src/micro-signals.ts) and\nat the time the name made more sense. However, the hope is that this library can provide a very\nuseful signal interface and remain as \"micro\" as possible.\n\n## Usage\n\nInstall using `npm install micro-signals`.\n\n## Signal\n\nSignals allow adding and removing listeners, similar to js-signals, but with methods that can\ncreate new transformed signals (such as map and filter). These methods are similar to the matching\nmethods on a JavaScript array. Each provides a new Signal (it does not modify the current signal)\nand is chainable. All of the Signals described below (MappedSignal, FilteredSignal, etc.) have a\nmatching method on the base Signal.\n\n### Basic Usage of a Signal\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal = new Signal<string>();\n\nconst received: string[] = [];\n\nconst listener = (payload: string) => {\n    received.push(payload);\n};\nsignal.add(listener);\n\nsignal.dispatch('a');\n\nsignal.remove(listener);\n\nsignal.dispatch('b');\n\nassert.deepEqual(received, ['a']);\n```\n\n### Using Tags\n\nListeners can also be added and removed with tags. Tags can be provided with the listener to the add\nfunction. If remove is then called with the listener or tag, the listener will be correctly removed.\nAn example might be tagging a listener with an instance of the class from within a class, we can\nthen remove the listener with only the reference to this. This functionality is provided to\npartially mitigate the loss of bindings and the difficulty that keeping track of listeners can pose\nin some cases. However, this interface does not provide the full convenience of bindings. If there\nare any ideas on improvements in this area, suggestions are welcome.\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nclass TestConsumer {\n    receivedPayloads: number[] = [];\n    constructor(private _signal: Signal<number>) {\n        this._signal.add(x => this.receivedPayloads.push(x), this);\n    }\n    detach() {\n        this._signal.remove(this);\n    }\n}\n\nconst signal = new Signal<number>();\nconst testConsumer = new TestConsumer(signal);\n\nsignal.dispatch(1);\n\ntestConsumer.detach();\n\nsignal.dispatch(2);\n\nassert.deepEqual(testConsumer.receivedPayloads, [1]);\n```\n\n### Using the Extended Signal Interface\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal = new Signal<string>();\n\nconst received: string[] = [];\n\nsignal\n    .filter(payload => payload === 'world')\n    .map(payload => `hello ${payload}!`)\n    .add(payload => received.push(payload));\n\nsignal\n    .filter(payload => payload === 'moon')\n    .map(payload => `goodnight ${payload}!`)\n    .add(payload => received.push(payload));\n\nsignal.dispatch('world');\nsignal.dispatch('sun');\nsignal.dispatch('moon');\n\nassert.deepEqual(received, ['hello world!', 'goodnight moon!']);\n```\n\n### Static Methods\n\n#### Signal.merge\n\nSignal.merge takes an arbitrary number of signals as constructor arguments and forward payloads from\nall of the provided signals to the returned signal. This allow multiplexing of Signals. This matches\nthe behavior of the Signal.merge instance method.\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal1 = new Signal<string>();\nconst signal2 = new Signal<string>();\n\nconst mergedSignal = Signal.merge(signal1, signal2);\n\nconst received: string[] = [];\n\nmergedSignal.add(payload => {\n    received.push(payload);\n});\n\nsignal1.dispatch('Hello');\nsignal2.dispatch('world');\nsignal1.dispatch('!');\n\nassert.deepEqual(received, ['Hello', 'world', '!']);\n```\n\n#### Signal.promisify\n\nTurn signals into promises. The first argument is a resolution signal. When the resolution signal is\ndispatched the promise will be resolved with the dispatched value. The second argument is an\noptional rejection signal. When the rejection signal is dispatched the promise will be rejected with\nthe dispatched value. This matches the behavior of the Signal.promisify instance method.\n\n```ts\nimport {Signal} from 'micro-signals';\n\nconst successSignal = new Signal<void>();\nconst failureSignal = new Signal<void>();\n\nconst promise = Signal.promisify(successSignal, failureSignal);\n\npromise.then(() => console.log('success')).catch(() => console.error('failure'));\n```\n\n### Instance Methods\n\n#### Signal.cache\n\nSignal.cache is used to provide late listener support to signals. It takes a cache instance that\nis responsible for determining what values are dispatched to late listeners, and returns a signal\nthat will provide all cached values to new listeners.\n\nThese caches implement a simple interface consisting of an add function to process values\nthat have been dispatched by the base signal and a forEach function to iterate over values that\nshould be provided to late listeners.\n\nTwo basic cache types are provided to cover the most common use cases for cached signals.\nValueCache replays the most recent value (similar to memorize in js-signals) and CollectionCache\nreplays all dispatched values.\n\n```ts\nimport {Signal, ValueCache, CollectionCache} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal = new Signal<string>();\nconst valueCached = signal.cache(new ValueCache());\nconst collectionCached = signal.cache(new CollectionCache());\n\nconst valueCachedReceived: string[] = [];\nconst collectionCachedReceived: string[] = [];\n\n['a', 'b', 'c'].forEach(payload => signal.dispatch(payload));\n\nvalueCached.add(payload => valueCachedReceived.push(payload));\ncollectionCached.add(payload => collectionCachedReceived.push(payload));\n\n['d', 'e'].forEach(payload => signal.dispatch(payload));\n\nassert.deepEqual(valueCachedReceived, ['c', 'd', 'e']);\nassert.deepEqual(collectionCachedReceived, ['a', 'b', 'c', 'd', 'e']);\n```\n\nPlease note, there is currently not a way to unbind the cached signal from its base signal. This has\nthe potential to leak attached listeners. In practice this may not be an issue for most use cases.\nMany use cases may have the base signal and the cached signal on the same object. For example:\n\n```ts\nimport {Signal, ValueCache} from 'micro-signals';\nimport * as assert from 'assert';\n\nclass ToggleState {\n    private _stateChanged = new Signal<boolean>();\n    public stateChanged = this._stateChanged.cache(new ValueCache());\n\n    public setState(state: boolean) {\n        this._stateChanged.dispatch(state);\n    }\n}\n\nconst toggleState = new ToggleState();\n\ntoggleState.setState(true);\nlet state = undefined;\ntoggleState.stateChanged.add(toggleState => state = toggleState);\n\nassert.strictEqual(state, true);\n```\n\nIn this case both signals will become unreachable at the same time, and therefore the base signal\nwill never prevent any cleanup of the cached signal and its context. In many other cases this\nleaking may be negligible as well. However, if this functionality is desired, please file an issue\nor pull request against the repository.\n\n#### Signal.readOnly\n\nreadOnly provides a wrapper around a signal with no dispatch method. This is primarily used to\npublicly expose a signal while indicating that consumers of the signal should not dispatch the\nsignal.\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal = new Signal<string>();\nconst readOnlySignal = signal.readOnly();\n\nconst received: string[] = [];\n\nreadOnlySignal.add(payload => {\n    received.push(payload);\n});\n\nassert.equal((readOnlySignal as any).dispatch, undefined);\n\nsignal.dispatch('a');\n\nassert.deepEqual(received, ['a']);\n```\n\n#### Signal.filter\n\nSignal.filter provides the ability to filter values coming through a Signal, similar to filtering an\narray in JavaScript.\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal = new Signal<number>();\nconst filteredSignal = signal.filter(x => x >= 0);\n\nconst received: number[] = [];\n\nfilteredSignal.add(payload => {\n    received.push(payload);\n});\n\n[-4, 0, 6, -2, 8, 0].forEach(x => signal.dispatch(x));\n\nassert.deepEqual(received, [0, 6, 8, 0]);\n```\n\nSignal.filter also returns a signal of the correct type when filtering using a type predicate.\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal = new Signal<string | null>();\nconst filteredSignal = signal.filter((x: string | null): x is string => typeof x === 'string');\n\nconst received: number[] = [];\n\nfilteredSignal.add(payload => {\n    // note that the payload type is `string` instead of `string | null`\n    received.push(payload.length);\n});\n\n['1', null, '12', null, '123'].forEach(x => signal.dispatch(x));\n\nassert.deepEqual(received, [1, 2, 3]);\n```\n\n#### Signal.map\n\nSignal.map provides the ability to transform payloads coming through a Signal, similar to mapping an\narray in JavaScript.\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal = new Signal<string>();\nconst mappedSignal = signal.map(x => `${x}!`);\n\nconst received: string[] = [];\n\nmappedSignal.add(payload => {\n    received.push(payload);\n});\n\n['cat', 'dog', 'frog', 'sloth'].forEach(x => signal.dispatch(x));\n\nassert.deepEqual(received, ['cat!', 'dog!', 'frog!', 'sloth!']);\n```\n\n#### Signal.peek\n\nPeek allows you to access a payload without consuming it. \n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal = new Signal<string>();\nconst received: string[] = [];\n\nsignal\n    .map(x => `${x}!`)\n    .peek(payload => console.log(payload))\n    .add(payload => {\n        received.push(payload);\n    });\n\n['cat', 'dog', 'frog', 'sloth'].forEach(x => signal.dispatch(x));\n\nassert.deepEqual(received, ['cat!', 'dog!', 'frog!', 'sloth!']);\n```\n\n\n#### Signal.reduce\n\nSignal.reduce provides the ability to aggregate payloads coming through a Signal, similar to reducing an array in JavaScript.\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal = new Signal<number>();\nconst sumSignal = signal.reduce((total, current) => total + current, 0);\n\nconst received: number[] = [];\n\nsumSignal.add(payload => {\n    received.push(payload);\n});\n\n[5, 10, 20, 100].forEach(x => signal.dispatch(x));\n\nassert.deepEqual(received, [5, 15, 35, 135]);\n```\n\n#### Signal.merge\n\nSignal.merge takes an arbitrary number of signals as constructor arguments and forward payloads from\nall of the provided signals and the base signal. This allow multiplexing of Signals. Effectively it\nmerges the provided signals with the base signal.\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\nconst signal1 = new Signal<string>();\nconst signal2 = new Signal<string>();\n\nconst mergedSignal = signal1.merge(signal2);\n\nconst received: string[] = [];\n\nmergedSignal.add(payload => {\n    received.push(payload);\n});\n\nsignal1.dispatch('Hello');\nsignal2.dispatch('world');\nsignal1.dispatch('!');\n\nassert.deepEqual(received, ['Hello', 'world', '!']);\n```\n\n#### Signal.promisify\n\nTurn signals into promises. The base signal is a resolution signal. When the resolution signal is\ndispatched the promise will be resolved with the dispatched value. The second argument is an\noptional rejection signal. When the rejection signal is dispatched the promise will be rejected with\nthe dispatched value.\n\n```ts\nimport {Signal} from 'micro-signals';\n\nconst successSignal = new Signal<void>();\nconst failureSignal = new Signal<void>();\n\nconst promise = successSignal.promisify(failureSignal);\n\npromise.then(() => console.log('success')).catch(() => console.error('failure'));\n```\n\n### ExtendedSignal\n\nAn ExtendedSignal class is provided for the creation of a custom signal or wrapping a basic signal\n(containing only an add method) with the remainder of the methods found on a micro-signals Signal\n(such as map, filter, and so on). In many cases this gives us an easy way to ensure an intermediate\nSignal does not block garbage collection, and in some cases may present a simpler way to obtain a\ndesired interface. For example, this makes it possible to extend the ExtendedSignal class to get the\nSignal interface without having to expose the add method anywhere.\n\nCompare the following code examples:\n\n```ts\nimport {ExtendedSignal} from 'micro-signals';\nimport EventEmitter = require('events');\nimport * as assert from 'assert';\n\nconst emitter = new EventEmitter();\n\nconst signal = new ExtendedSignal<number>({\n    add(listener) {\n        emitter.on('event', listener);\n    },\n    remove(listener) {\n        emitter.removeListener('event', listener);\n    },\n});\n\nconst received: number[] = [];\n\nsignal.map(x => x + 1).add(payload => received.push(payload));\n\nemitter.emit('event', 1);\nemitter.emit('event', 2);\n\nassert.deepEqual(received, [2, 3]);\n```\n\n```ts\nimport {Signal} from 'micro-signals';\nimport EventEmitter = require('events');\nimport * as assert from 'assert';\n\nconst emitter = new EventEmitter();\n\nconst signal = new Signal<number>();\n\nemitter.on('event', payload => signal.dispatch(payload));\n\nconst received: number[] = [];\n\nsignal.map(x => x + 1).add(payload => received.push(payload));\n\nemitter.emit('event', 1);\nemitter.emit('event', 2);\n\nassert.deepEqual(received, [2, 3]);\n```\n\nThough the second is more terse, there is always a listener connected to the underlying emitter\nobject. In some cases this may prevent proper garbage collection. In the top example, the Signal\nonly acts as a transformation layer, transforming listeners to provide the interface of a Signal\nwithout storing any state itself. This is how the internal signal transformations work in order to\nremove unnecessary intermediate signals. Feel free to use or ignore the ExtendedSignal at your\ndiscretion.\n\n### Default Listeners\n\nDefault listeners allow the signal owner to define some default\naction that should be taken when a signal is dispatched but no\nlisteners have been added. Typically this would be used to throw\nor log an error if no listeners are present for an important signal.\n\nDefault listeners can be set with either the static \nsetDefaultListener method or the instance setDefaultListener method.\n\nThe static default listener will be called on any signal that has\nno listeners present (even if no instance default listener is set).\n\nThe instance default listener will only be called when the \nspecific signal instance is dispatched with no listeners present.\n\n\n\n```ts\nimport {Signal} from 'micro-signals';\nimport * as assert from 'assert';\n\n// static default listener\nconst staticPayloads: string[] = [];\nconst signal = new Signal<string>();\n\nSignal.setDefaultListener(payload => staticPayloads.push(payload));\n\nsignal.dispatch('hello static listener');\n\nassert.equal(staticPayloads.length, 1);\nassert.equal(staticPayloads[0], 'hello static listener');\n\n// instance default listener\nconst instancePayloads: string[] = [];\nsignal.setDefaultListener(payload => instancePayloads.push(payload));\n\nsignal.dispatch('hello instance listener');\n\n// static default listener is not used once instance default listener has been set.\nassert.equal(staticPayloads.length, 1);\nassert.equal(instancePayloads.length, 1);\nassert.equal(instancePayloads[0], 'hello instance listener');\n```\n\n\n### Interfaces\n\nSeveral interfaces are exported as well for convenience:\n\n-   Listener is an interface that defines a function that can be passed to Signal methods taking a\n    listener (such as add or addOnce).\n-   ReadableSignal is an interface for a Signal without dispatch.\n-   WritableSignal only defines the dispatch method.\n\n```ts\nimport {Signal, Listener, ReadableSignal, WritableSignal} from 'micro-signals';\n\nconst listener: Listener<string> = payload => console.log(payload);\n\nconst signal = new Signal<string>();\n\n// A ReadableSignal cannot be dispatched\nconst readable: ReadableSignal<string> = signal;\n\nreadable.add(listener);\n\n// A WritableSignal can be dispatched\nconst writable: WritableSignal<string> = signal;\n\nwritable.dispatch('hello!');\n```\n","maintainers":[{"name":"lelandmiller","email":"lelandmiller@gmail.com"}],"time":{"modified":"2022-06-19T18:43:50.286Z","created":"2016-07-27T20:08:45.709Z","0.1.0":"2016-07-27T20:08:45.709Z","0.1.1":"2016-07-27T20:21:32.295Z","0.1.2":"2016-07-28T03:36:52.365Z","0.2.0-0":"2016-11-11T23:59:08.750Z","0.2.0-1":"2016-11-12T00:10:38.306Z","0.2.0-2":"2016-11-12T00:31:19.109Z","0.2.0-3":"2016-11-29T20:50:51.417Z","0.2.0":"2016-12-02T05:31:05.781Z","0.2.1":"2017-04-17T14:10:04.581Z","0.2.2":"2017-06-07T18:44:41.933Z","0.2.3":"2017-06-16T17:05:34.833Z","0.2.4":"2017-06-28T18:03:38.786Z","0.2.5":"2017-07-11T19:26:54.745Z","0.3.0":"2017-07-12T21:32:01.422Z","0.3.1":"2017-07-13T21:17:05.554Z","0.3.2":"2017-07-14T18:32:21.587Z","0.3.3":"2017-07-14T18:35:54.202Z","1.0.0-0":"2017-07-17T07:04:06.647Z","1.0.0-1":"2017-07-17T20:08:32.970Z","1.0.0":"2017-07-17T20:17:51.907Z","1.1.0":"2017-08-09T17:42:20.557Z","1.1.1":"2017-08-10T04:14:08.046Z","2.0.0-0":"2018-02-02T00:02:45.971Z","2.0.0-1":"2018-02-02T00:06:17.049Z","2.0.0-2":"2018-02-02T00:22:56.160Z","2.0.0":"2018-02-12T18:35:25.931Z","2.1.0":"2019-03-27T04:26:46.053Z","2.3.0":"2019-12-22T08:18:33.696Z","2.4.0":"2020-06-10T21:41:12.460Z"},"homepage":"https://github.com/lelandmiller/micro-signals#readme","keywords":["signals","signal","TypeScript","ts","typed","eventer","events","event","messaging","pubsub"],"repository":{"type":"git","url":"git+https://github.com/lelandmiller/micro-signals.git"},"author":{"name":"Leland Miller","email":"lelandmiller@gmail.com"},"bugs":{"url":"https://github.com/lelandmiller/micro-signals/issues"},"license":"MIT","readmeFilename":"README.md","contributors":[{"name":"Justin Maher","email":"justin.m.maher@gmail.com"}]}