{"_id":"axon","_rev":"112-109ebb0c36199a2a774b7eb29683637d","name":"axon","description":"High-level messaging & socket patterns implemented in pure js","dist-tags":{"latest":"2.0.3"},"versions":{"0.0.3":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.0.3","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*"},"devDependencies":{"should":"*","mocha":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.0.3","dist":{"shasum":"83d0a77e7dc16293ade6d15e1ed38f01eef8f988","tarball":"https://registry.npmjs.org/axon/-/axon-0.0.3.tgz","integrity":"sha512-vzGN0q4QFS9eDbHXYM7sN0dIDMsAGgSCj4wd3ELO3b6jSlKrgUO++rw4uG8q6hywF6qRMnXESfA8xTajUtKgdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFCTobXxWabY5EDJaB5zrRU7Qp8Onng5Ta4XORhrQlCmAiEA94owzwP2WHbmLZXVgg/FVfE/E0vJA0MnL4likVSFMsY="}]},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.1.0":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.1.0","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1"},"devDependencies":{"should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.1.0","dist":{"shasum":"7a2bbaba9f375429450448c10b990e2a64b141f3","tarball":"https://registry.npmjs.org/axon/-/axon-0.1.0.tgz","integrity":"sha512-u4gCN9a15hU30W5jdSAKMYGYCijrR1a9GIvVxuE0HE4R6VPwhXtqYXmyoh6q8fCxhahHLJ1gpT+6SYujz6OKMA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAaWf/vOowok1w706n74OGIIUXOFxeXhIyLMf7TBVxdoAiAuAGgSiSOfYn0G225cODTST8HuyoOccpDIx74wyaMcmw=="}]},"_npmVersion":"1.1.61","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.2.0":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.2.0","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1"},"devDependencies":{"should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.2.0","dist":{"shasum":"d536ee24fe2413724bc84f8e8e817463e8dff7eb","tarball":"https://registry.npmjs.org/axon/-/axon-0.2.0.tgz","integrity":"sha512-DsvHgJapNGlPiQ3vO90PyvjVhZI0KB6rXxJXG8QlTusKeWSz2PMabqCS9T4ZlkJRCxdBSt1dEqCbnIaAGkWMyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQBX4krnQM9Xleq4ScXkCGHBpNfMCxa4HE1ZKX1uBYcAIgJDmCg+c+l836kTFq6FhNJjdQ1LhFNUrSYWtMhk6ioSY="}]},"_npmVersion":"1.1.61","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.3.0":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.3.0","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1"},"devDependencies":{"should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.3.0","dist":{"shasum":"4dd041bb6958479528622a2ad49683c31b76b1c3","tarball":"https://registry.npmjs.org/axon/-/axon-0.3.0.tgz","integrity":"sha512-QGqivuKzQFyHJlaLxnpVBXuTrYMLI3zpH99FlamVQ94T2nbBVClHrOt/F1htR6rWH09NHA19IpLVUq0bugm4XQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBcvDE3xDlGZnChW+Sffnf/38HcItx7WDBXwecra59wdAiBRma0LIIYoBP8vOIOhZyMN0e2NJsjoTDeFNevi+Tfjyw=="}]},"_npmVersion":"1.1.61","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.3.1":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.3.1","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1"},"devDependencies":{"should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.3.1","dist":{"shasum":"cee75e6f6f4752e19ffd3ebdfdca5db958b26049","tarball":"https://registry.npmjs.org/axon/-/axon-0.3.1.tgz","integrity":"sha512-ljWo80UZJzEBsQ4aS6ximJYspflSnv4b0Ww+TIHVSHMMpAk+kXH+i8DWuSbIOj3iBwX5ZOqlXOQHnY6XJLws9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB3YGIwTcn3MSTT0ougjT63a/eghfedG/G9tLqFMXQZeAiBdhFrixmRIkxCPRnkZF1OfV/yYMkOU8iNE/bxZ/bqWTw=="}]},"_npmVersion":"1.1.61","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.3.2":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.3.2","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1"},"devDependencies":{"should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.3.2","dist":{"shasum":"971e67f5866fd3ae62a2d8a76a412b2401d8e57c","tarball":"https://registry.npmjs.org/axon/-/axon-0.3.2.tgz","integrity":"sha512-em5y+gUxfnrKzYg/z9pnybOUW8oMpBRA4KDxIiVDqXaUVihCGEoSClXsF7rsW2nz+p2WAbcSyUUOL9VDTUbvxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjbcSB9fZ8ghJLeQGzYxzBsiGKJ3VHvcyvBXgX2CxlTAIhAJgqpnwNkCWLDWntlW556gAKz7sLNVWktFj0PJm7COuo"}]},"_npmVersion":"1.1.61","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.4.0":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.4.0","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.4.0","dist":{"shasum":"d8bc8832d0e19ccb1cd95f6f9d8c51c978cb423a","tarball":"https://registry.npmjs.org/axon/-/axon-0.4.0.tgz","integrity":"sha512-MhE1mnXWtHHgWX7wtIR8dGF1CbhO4rjP3EJb99eFQUC5cgHgdCxoEp3FVMEyge6MAXBu6Hzgl5i6EED95vWjzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+6d3JBaTd7mu48chG65GE3EhQGGEqhLZi33+Nkus+yQIgAmkU9uQi1r5MXrFHmciicYJosk0clE8BYEhALQlcF9g="}]},"_npmVersion":"1.1.61","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.4.1":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.4.1","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.4.1","dist":{"shasum":"0544aa686f2250814f6c13d6c7f9385509dea52e","tarball":"https://registry.npmjs.org/axon/-/axon-0.4.1.tgz","integrity":"sha512-Oxskg2Xlbafok/PbD6Cwm9JD3hqHoOrBHSqYAPv3iOWSzC8IPiSKuRxuOoyoqo2aIu9n3CDgHF/wPiF4rHch/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNHJLG/j62W0bojkCTogdXk8XK7f8BxzkTjlyv97iMDAIhALByErPAvxHyMf6BUOaKjSMVvlmqmo0/VjNgSHT15/dW"}]},"_npmVersion":"1.1.61","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.4.2":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.4.2","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.4.2","dist":{"shasum":"00c572ccb837cfb7c52afda357c78dac8c26cfcc","tarball":"https://registry.npmjs.org/axon/-/axon-0.4.2.tgz","integrity":"sha512-L37hKELjAyjWwWt5kktVi1ck5IugF9cX4fZOxrGtQd7QNldjEqDrADAS5coQTSJuZWyO22rcTWh4+9p+s9XCNQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPAZ/D2KUxDzvApPiaQ1xxe3v4iZNjL99fFP85bht4KAIgWvtGfzeVQ4OLbXTKzfzxAYW0msUpZ6Z4Z9JWQBQPpv4="}]},"_npmVersion":"1.1.63","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.4.3":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.4.3","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.4.3","dist":{"shasum":"eba99848d17d3bf21f501964efe5c314655bf386","tarball":"https://registry.npmjs.org/axon/-/axon-0.4.3.tgz","integrity":"sha512-kP7hrBlxARoTztD3D/7YeQoP5knBsJWNgBrygUtFI4RInV9hhVIuwYGesmKmQPqGxXiIzGXnZnYmv9TYP0BxBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXnDmW3XOp7/vGyh22uAl8w7R1XBqda3hl/v08PcfD3gIhAMROLbdTwLqsuOBNXn2kY3j2BxZYTinVsacLZB84QG05"}]},"_npmVersion":"1.1.64","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.4.4":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.4.4","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.4.4","dist":{"shasum":"cdeee69b36df3e1e25f0508c3df3cecde87d1ced","tarball":"https://registry.npmjs.org/axon/-/axon-0.4.4.tgz","integrity":"sha512-QuvPxGdT+YFb554hZcTcqszvDCbZxAt/wYpq7+JG9akwGVk+MKEFwFcNc3Ete8WrucM8DmWhYEQfdKEMPgUduQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFpcn5IRsh1Oq7nKfuIWMekHTWSHdxM0uexaXQ7fOtBMAiEAsMRCHPXJgX4Xnnimj95c0tSlcqL2nKmoCltu/ZXHjLI="}]},"_npmVersion":"1.1.64","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.4.5":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.4.5","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.4.5","dist":{"shasum":"2b969e1f903417fe31565c704c7efbf7332daf83","tarball":"https://registry.npmjs.org/axon/-/axon-0.4.5.tgz","integrity":"sha512-7LU7Iobskc6WWRWzrqyaENzc7ivyv8wpTjsiH1tei1nycckRVGCg15eIORVdzJPOJAxzFJbfJbT+bhBZA4BJVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAT4rtGVDZXH8C71drjqiNF6u5V2WlgnD4blYKvoZwc9AiA2G7Bh/JCW1p3YyVnF4zYHTtQTnp5ECHTnfTn8DTnAAw=="}]},"_npmVersion":"1.1.64","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.4.6":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.4.6","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*","humanize-number":"0.0.1"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.4.6","dist":{"shasum":"67cd9df471cf12f2ac616dafda4d13eeb2e45d75","tarball":"https://registry.npmjs.org/axon/-/axon-0.4.6.tgz","integrity":"sha512-swRDgX3nX6nrHaEqrXQGw2kmNJW3MSRupKmO+rMfV+t9lAAfZbJaj9D/k6d7no7bVqTgN+OvsZcN/u9UpAWqOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkZuZMHTchGNKYXPyvHCD2grSop4i7POJS5uwW17ssagIgWmeHKlyA5vIzRo1w3W7MvJTi9ZUXGGLVxkNYAkFv8bw="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.5.0":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.5.0","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*","humanize-number":"0.0.1"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.5.0","dist":{"shasum":"278a23f7f17969ebd7396e5dc857cfcc950c4621","tarball":"https://registry.npmjs.org/axon/-/axon-0.5.0.tgz","integrity":"sha512-t+neuzQeu9Y3/nIOjxT3zhG+8ZumdFSIkn1mcwQhiw+HTnqZDid7vgOoNs+gK7V7hmGUCSEEcZWCY94CFbvYoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6PwTc7QOLejAUuzSLeYhu8KHsLN4UXUUu5Y91q0OBtQIgfJs/kBIwpUa0Fjst5DS4RWymuERCTKR2MQb0RFl5fFs="}]},"_npmVersion":"1.1.66","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.5.1":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.5.1","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*","humanize-number":"0.0.1"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.5.1","dist":{"shasum":"d5b55880c187e3cf314a7a2e4109e42f08c1a46a","tarball":"https://registry.npmjs.org/axon/-/axon-0.5.1.tgz","integrity":"sha512-Y0k8NLnga6BZ4l8ZVkvsUjxYPHeA3MFgiW99M/Ofrtfw3oyAaarqTFi5am9NSy3APpcc4GoyfctNg+aZp7r/wQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmDK6/ZPKRrTQLGvMfRYpEbns0ZvhKu9EfaYsAEFYq0gIhAP/cVm2up90T8/OuD9L6tgQjXVlW5KtWg9qlZ+Xgy63/"}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.5.2":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.5.2","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*","humanize-number":"0.0.1"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.5.2","dist":{"shasum":"6255a28861e293d4f40575e589edafb1acf13e8f","tarball":"https://registry.npmjs.org/axon/-/axon-0.5.2.tgz","integrity":"sha512-KAnTsWZKqfp+7qyPBxhQrJ3a4zcZWirZOeMl2/hZvqAPyD6JQQvQ6hdmvN5z/8V6lUpey25blLCZPZK/JTEhmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCERJOJhqxXmhbWY5KuK7jZgTS9OE78izjxzqSczL8ZUAIgbObwDHxxhPcfQVNgCgHMBzmnwvXTQO+aY8fWLy8JTlg="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.6.0":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.6.0","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*","humanize-number":"0.0.1"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.6.0","dist":{"shasum":"f6fe0d6941a3bd4e7d9f9ce84d22021de974051b","tarball":"https://registry.npmjs.org/axon/-/axon-0.6.0.tgz","integrity":"sha512-mdJcYBDHe8BUiwzV2vozU36SRHkIDTYRaVH2CDZ1kJUMQAAvSnEYa4+wSPfZltksVaYtQY++HPMG9HZ4JfWL5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAhFXU8WUMN8XeID5gp53R7LfCzxjAHyFT55aLJvTiRWAiBktdxOatG0dRbsG+Eh0qKT9tK2NmmX5Lui9WTbObKohw=="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"0.6.1":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"0.6.1","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*","humanize-number":"0.0.1"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"_id":"axon@0.6.1","dist":{"shasum":"4b6691e309a25a01f926fca16e302d9dfd2c31ec","tarball":"https://registry.npmjs.org/axon/-/axon-0.6.1.tgz","integrity":"sha512-JYqbTANf4ruvmABWMO0iHkHwGLKSauitYk/F1xHptrRJDci0QmCu3B9EMdNNobkUHZTrC7ggOMviO1Mq7hKPRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxG8wTdXGHg5aEvkwsvllJaWl5LzmaGXQINW7Lu5bKawIgXj7pdMYAvfscoTRK2nOaveZ48fHqEstZhlqf276akZk="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"1.0.0":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"1.0.0","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*","humanize-number":"0.0.1"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"repository":{"type":"git","url":"https://github.com/visionmedia/axon.git"},"bugs":{"url":"https://github.com/visionmedia/axon/issues"},"_id":"axon@1.0.0","dist":{"shasum":"b3237b78ba7492e8e7899e6d5918c5f6ea8bcfb5","tarball":"https://registry.npmjs.org/axon/-/axon-1.0.0.tgz","integrity":"sha512-Tj6WfpPioI6mYze82d86uT/fD3NUHRaTPtf4NYOj0Ld6ewl4sjVNRmzqEjGS182AytSGbgnKa60XeWNLigd5KQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC994MRgSzndXcCf/5kvaJkT38Sv5qWLNLm8Qy1HQyy3AIhANlBGe3MnZEp18DOjEULXr1LcuNrz00UXV+9Y+AWzFmJ"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{}},"2.0.0":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"2.0.0","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1","amp-message":"~0.1.1","amp":"~0.3.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*","humanize-number":"0.0.1"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"repository":{"type":"git","url":"https://github.com/visionmedia/axon.git"},"license":"MIT","bugs":{"url":"https://github.com/visionmedia/axon/issues"},"homepage":"https://github.com/visionmedia/axon","_id":"axon@2.0.0","dist":{"shasum":"bff18f2aa28adcb01da3875c8455af8d30b73192","tarball":"https://registry.npmjs.org/axon/-/axon-2.0.0.tgz","integrity":"sha512-L0D0yCbn4+6Bg6WiC7pKCM7iq5j1YH3+7hSO85u6gYSskwaZN8XjsApdrFZzYeOefL8jfkQTJl01npWoKX4hsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAujRvlmahJyhh6YONmJ3WOFzKIeJlchgL+FVW+bx1vCAiEAkGSWJWeU1RJUnYbMoZEI92pekW59JubK3CCGsZABLmM="}]},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"gjohnson","email":"gjj391@gmail.com"}],"directories":{}},"2.0.1":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"2.0.1","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1","amp-message":"~0.1.1","amp":"~0.3.1"},"devDependencies":{"better-assert":"*","should":"*","mocha":"*","commander":"*","humanize-number":"0.0.1"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"repository":{"type":"git","url":"https://github.com/visionmedia/axon.git"},"scripts":{"test":"make test"},"license":"MIT","gitHead":"f4d76ed28fdf380e62d4da874c8339ab7f6d6bfc","bugs":{"url":"https://github.com/visionmedia/axon/issues"},"homepage":"https://github.com/visionmedia/axon","_id":"axon@2.0.1","_shasum":"b32b39e0ec7733b7d9cbfbf3765a02cb6c25b272","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"gjohnson","email":"gjj391@gmail.com"}],"dist":{"shasum":"b32b39e0ec7733b7d9cbfbf3765a02cb6c25b272","tarball":"https://registry.npmjs.org/axon/-/axon-2.0.1.tgz","integrity":"sha512-OXLbzfdnUyfulIL56LRopBJ642IciK3aiuognCrFNin0En7uwhPPecBxIptGI3uUltJUWhDeNJwL8u/OpqzY7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLvwrydEsyzi0uXwdM5lJQhxX3ZIeHzqNeGzfyjJqhuQIhALlukquPwIgozr3dTagWJLjL1YcdslRenQdwkYaKiqGR"}]},"directories":{}},"2.0.2":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"2.0.2","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1","amp-message":"~0.1.1","amp":"~0.3.1"},"devDependencies":{"better-assert":"~1.0.1","commander":"~2.4.0","humanize-number":"0.0.1","mocha":"~1.21.5","should":"~4.1.0"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"engines":{"node":"0.10.x || 0.11.x"},"repository":{"type":"git","url":"https://github.com/visionmedia/axon.git"},"scripts":{"test":"make test"},"license":"MIT","gitHead":"2eb06b064a12461928b479ab9d1a039cbd736589","bugs":{"url":"https://github.com/visionmedia/axon/issues"},"homepage":"https://github.com/visionmedia/axon","_id":"axon@2.0.2","_shasum":"9942b15b296900dcde0e9b3304b7a785e4a7b456","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.10.38","_npmUser":{"name":"jcrugzz","email":"jcrugzz@gmail.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"gjohnson","email":"gjj391@gmail.com"},{"name":"jcrugzz","email":"jcrugzz@gmail.com"}],"dist":{"shasum":"9942b15b296900dcde0e9b3304b7a785e4a7b456","tarball":"https://registry.npmjs.org/axon/-/axon-2.0.2.tgz","integrity":"sha512-3HPvpXcrQx7Ga1u+iyrtVXPWLhl/eMlVMddOuyQ9bSBFZ6RLF+j85nf9ja2jh7+xwPnl5XCToXO3DrNKDHDeHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE9WRjbGpjQPHmr2vCxeh1/0eOaRD5gu3RfO3RiniuJaAiEAm8mQSgL3dYu+rnXUqRPmgIcxXn2m+HbpqpaTqykQ5gQ="}]},"directories":{}},"2.0.3":{"name":"axon","description":"High-level messaging & socket patterns implemented in pure js","version":"2.0.3","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","configurable":"0.0.1","escape-regexp":"0.0.1","amp-message":"~0.1.1","amp":"~0.3.1"},"devDependencies":{"better-assert":"~1.0.1","commander":"~2.4.0","humanize-number":"0.0.1","mocha":"~1.21.5","should":"~4.1.0"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"engines":{"node":">= 0.11.8"},"repository":{"type":"git","url":"git+https://github.com/visionmedia/axon.git"},"scripts":{"test":"make test"},"license":"MIT","gitHead":"df2f5bb1637e39f1391dfd8f355db94f9b768e87","bugs":{"url":"https://github.com/visionmedia/axon/issues"},"homepage":"https://github.com/visionmedia/axon#readme","_id":"axon@2.0.3","_shasum":"90bc9a31e30acfdaeff795ada7aba22c51079692","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"jcrugzz","email":"jcrugzz@gmail.com"},"dist":{"shasum":"90bc9a31e30acfdaeff795ada7aba22c51079692","tarball":"https://registry.npmjs.org/axon/-/axon-2.0.3.tgz","integrity":"sha512-zGM15ltKLOMk+/tS6v4ttbCmhNm5uV09FalXc0/cKUcP9nmx5Npg0QO1/xvijvMA+sUzZpQ/0++w1/8Hci5qzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEPrSLJNKc6XQpxbj9ThOpZHskfwI7bIGr1pA/wXWRxEAiBcUPOdONxBPf52aaYaS9H/cBLFYjdKI1bo447wz/pYOg=="}]},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"gjohnson","email":"gjj391@gmail.com"},{"name":"jcrugzz","email":"jcrugzz@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/axon-2.0.3.tgz_1481823900151_0.7786658245604485"},"directories":{}}},"readme":"# Axon\n\n  Axon is a message-oriented socket library for node.js heavily inspired by zeromq. For a light-weight\n  UDP alternative you may be interested in [punt](https://github.com/tj/punt).\n\n[![Build Status](https://travis-ci.org/tj/axon.png)](https://travis-ci.org/tj/axon)\n\n## Installation\n\n    $ npm install axon\n\n## Features\n\n  - message oriented\n  - automated reconnection\n  - light-weight wire protocol\n  - mixed-type arguments (strings, objects, buffers, etc)\n  - unix domain socket support\n  - fast (~800 mb/s ~500,000 messages/s)\n\n## Events\n\n  - `close` when server or connection is closed\n  - `error` (err) when an un-handled socket error occurs\n  - `ignored error` (err) when an axon-handled socket error occurs, but is ignored\n  - `socket error` (err) emitted regardless of handling, for logging purposes\n  - `reconnect attempt` when a reconnection attempt is made\n  - `connect` when connected to the peer, or a peer connection is accepted\n  - `disconnect` when an accepted peer disconnects\n  - `bind` when the server is bound\n  - `drop` (msg) when a message is dropped due to the HWM\n  - `flush` (msgs) queued when messages are flushed on connection\n\n## Patterns\n\n  - push / pull\n  - pub / sub\n  - req / rep\n  - pub-emitter / sub-emitter\n\n## Mixed argument types\n\n  Backed by [node-amp-message](https://github.com/tj/node-amp-message)\n  you may pass strings, objects, and buffers as arguments.\n\n```js\npush.send('image', { w: 100, h: 200 }, imageBuffer);\npull.on('message', function(type, size, img){});\n```\n\n## Push / Pull\n\n`PushSocket`s distribute messages round-robin:\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('push');\n\nsock.bind(3000);\nconsole.log('push server started');\n\nsetInterval(function(){\n  sock.send('hello');\n}, 150);\n```\n\nReceiver of `PushSocket` messages:\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('pull');\n\nsock.connect(3000);\n\nsock.on('message', function(msg){\n  console.log(msg.toString());\n});\n```\n\n\nBoth `PushSocket`s and `PullSocket`s may `.bind()` or `.connect()`. In the\nfollowing configuration the push socket is bound and pull \"workers\" connect\nto it to receive work:\n\n![push bind](http://f.cl.ly/items/473u3m1a0k1i0J0I3s04/ss-push.png)\n\nThis configuration shows the inverse, where workers connect to a \"sink\"\nto push results:\n\n![pull bind](http://f.cl.ly/items/3Y0j2v153Q0l1r373i0H/ss-pull.png)\n\n## Pub / Sub\n\n`PubSocket`s send messages to all subscribers without queueing. This is an\nimportant difference when compared to a `PushSocket`, where the delivery of\nmessages will be queued during disconnects and sent again upon the next connection.\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('pub');\n\nsock.bind(3000);\nconsole.log('pub server started');\n\nsetInterval(function(){\n  sock.send('hello');\n}, 500);\n```\n\n`SubSocket` simply receives any messages from a `PubSocket`:\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('sub');\n\nsock.connect(3000);\n\nsock.on('message', function(msg){\n  console.log(msg.toString());\n});\n```\n\n `SubSocket`s may optionally `.subscribe()` to one or more \"topics\" (the first multipart value),\n using string patterns or regular expressions:\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('sub');\n\nsock.connect(3000);\nsock.subscribe('user:login');\nsock.subscribe('upload:*:progress');\n\nsock.on('message', function(topic, msg){\n\n});\n```\n\n## Req / Rep\n\n`ReqSocket` is similar to a `PushSocket` in that it round-robins messages\nto connected `RepSocket`s, however it differs in that this communication is\nbi-directional, every `req.send()` _must_ provide a callback which is invoked\nwhen the `RepSocket` replies.\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('req');\n\nsock.bind(3000);\n\nsock.send(img, function(res){\n\n});\n```\n\n`RepSocket`s receive a `reply` callback that is used to respond to the request,\nyou may have several of these nodes.\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('rep');\n\nsock.connect(3000);\n\nsock.on('message', function(img, reply){\n  // resize the image\n  reply(img);\n});\n```\n\n Like other sockets you may provide multiple arguments or an array of arguments,\n followed by the callbacks. For example here we provide a task name of \"resize\"\n to facilitate multiple tasks over a single socket:\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('req');\n\nsock.bind(3000);\n\nsock.send('resize', img, function(res){\n\n});\n```\n\n Respond to the \"resize\" task:\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('rep');\n\nsock.connect(3000);\n\nsock.on('message', function(task, img, reply){\n  switch (task) {\n    case 'resize':\n      // resize the image\n      reply(img);\n      break;\n  }\n});\n```\n\n## PubEmitter / SubEmitter\n\n  `PubEmitter` and `SubEmitter` are higher-level `Pub` / `Sub` sockets, using the \"json\" codec to behave much like node's `EventEmitter`. When a `SubEmitter`'s `.on()` method is invoked, the event name is `.subscribe()`d for you. Each wildcard (`*`) or regexp capture group is passed to the callback along with regular message arguments.\n\napp.js:\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('pub-emitter');\n\nsock.connect(3000);\n\nsetInterval(function(){\n  sock.emit('login', { name: 'tobi' });\n}, 500);\n```\n\nlogger.js:\n\n```js\nvar axon = require('axon');\nvar sock = axon.socket('sub-emitter');\n\nsock.bind(3000);\n\nsock.on('user:login', function(user){\n  console.log('%s signed in', user.name);\n});\n\nsock.on('user:*', function(action, user){\n  console.log('%s %s', user.name, action);\n});\n\nsock.on('*', function(event){\n  console.log(arguments);\n});\n```\n\n## Socket Options\n\nEvery socket has associated options that can be configured via `get/set`.\n\n  - `identity` - the \"name\" of the socket that uniqued identifies it.\n  - `retry timeout` - connection retry timeout in milliseconds [100]\n  - `retry max timeout` - the cap for retry timeout length in milliseconds [5000]\n  - `hwm` - the high water mark threshold for queues [Infinity]\n\n## Binding / Connecting\n\nIn addition to passing a portno, binding to INADDR_ANY by default, you\nmay also specify the hostname via `.bind(port, host)`, another alternative\nis to specify the url much like zmq via `tcp://<hostname>:<portno>`, thus\nthe following are equivalent:\n\n```\nsock.bind(3000)\nsock.bind(3000, '0.0.0.0')\nsock.bind('tcp://0.0.0.0:3000')\n\nsock.connect(3000)\nsock.connect(3000, '0.0.0.0')\nsock.connect('tcp://0.0.0.0:3000')\n```\n\n  You may also use unix domain sockets:\n\n```\nsock.bind('unix:///some/path')\nsock.connect('unix:///some/path')\n```\n\n## Protocol\n\n  Axon 2.x uses the extremely simple [AMP](https://github.com/tj/node-amp) protocol to send messages on the wire. Codecs are no longer required as they were in Axon 1.x.\n\n## Performance\n\nPreliminary benchmarks on my Macbook Pro based on 10 messages\nper tick as a realistic production application would likely have\neven less than this. \"better\" numbers may be acheived with batching\nand a larger messages/tick count however this is not realistic.\n\n  64 byte messages:\n\n```\n\n      min: 47,169 ops/s\n     mean: 465,127 ops/s\n   median: 500,000 ops/s\n    total: 2,325,636 ops in 5s\n  through: 28.39 mb/s\n\n```\n\n  1k messages:\n\n```\n\n      min: 48,076 ops/s\n     mean: 120,253 ops/s\n   median: 121,951 ops/s\n    total: 601,386 ops in 5.001s\n  through: 117.43 mb/s\n\n```\n\n  8k messages:\n\n```\n\n      min: 36,496 ops/s\n     mean: 53,194 ops/s\n   median: 50,505 ops/s\n    total: 266,506 ops in 5.01s\n  through: 405.84 mb/s\n\n````\n\n  32k messages:\n\n```\n\n      min: 12,077 ops/s\n     mean: 14,792 ops/s\n   median: 16,233 ops/s\n    total: 74,186 ops in 5.015s\n  through: 462.28 mb/s\n\n```\n\n## What's it good for?\n\n  Axon are not meant to combat zeromq nor provide feature parity,\n  but provide a nice solution when you don't need the insane\n  nanosecond latency or language interoperability that zeromq provides\n  as axon do not rely on any third-party compiled libraries.\n\n## Running tests\n\n```\n$ npm install\n$ make test\n```\n\n## Authors\n\n  - [tj](http://github.com/tj)\n  - [gjohnson](https://github.com/gjohnson)\n\n## Links\n\n  - [Screencast](https://vimeo.com/45818408)\n  - [Axon RPC](https://github.com/tj/axon-rpc)\n\n## License\n\n  MIT\n","maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"gjohnson","email":"gjj391@gmail.com"},{"name":"jcrugzz","email":"jcrugzz@gmail.com"}],"time":{"modified":"2022-06-13T03:57:21.187Z","created":"2012-08-03T15:08:10.236Z","0.0.3":"2012-08-03T15:08:11.600Z","0.1.0":"2012-09-24T15:51:54.284Z","0.2.0":"2012-09-27T16:37:01.297Z","0.3.0":"2012-10-05T22:30:02.587Z","0.3.1":"2012-10-08T20:16:12.125Z","0.3.2":"2012-10-08T20:23:21.707Z","0.4.0":"2012-10-16T18:44:13.153Z","0.4.1":"2012-10-16T21:53:38.831Z","0.4.2":"2012-10-19T03:22:21.695Z","0.4.3":"2012-10-28T00:45:00.203Z","0.4.4":"2012-10-29T22:48:53.618Z","0.4.5":"2012-10-30T16:37:39.053Z","0.4.6":"2012-11-16T00:14:36.188Z","0.4.7":"2012-11-28T21:52:39.464Z","0.5.0":"2013-01-01T21:45:21.284Z","0.5.1":"2013-03-01T16:36:20.148Z","0.5.2":"2013-04-09T20:35:19.881Z","0.6.0":"2013-04-13T18:03:49.751Z","0.6.1":"2013-04-13T18:35:53.088Z","1.0.0":"2013-08-30T21:59:17.529Z","2.0.0":"2014-02-25T16:48:17.836Z","2.0.1":"2014-09-09T15:25:39.987Z","2.0.2":"2015-06-22T18:06:14.469Z","2.0.3":"2016-12-15T17:45:00.837Z"},"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"users":{"minddiaper":true,"chilts":true,"jorgemsrs":true,"piascikj":true,"schroeterm":true,"datoulei":true,"tunderdomb":true,"brandonpapworth":true,"longlivechief":true,"qqqppp9998":true,"nickeltobias":true,"tobiasnickel":true,"bojand":true,"amit3vr":true,"dkblay":true,"leodutra":true,"shiningray":true,"quafoo":true,"jasonwang1888":true,"xiaoyiyu":true,"antitim":true},"repository":{"type":"git","url":"git+https://github.com/visionmedia/axon.git"},"keywords":["zmq","zeromq","pubsub","socket","emitter","ipc","rpc"],"bugs":{"url":"https://github.com/visionmedia/axon/issues"},"readmeFilename":"Readme.md","homepage":"https://github.com/visionmedia/axon#readme","license":"MIT"}