File: /home/imensosw/.npm/registry.npmjs.org/ipaddr.js/.cache.json
{"_id":"ipaddr.js","_rev":"61-7f351b097736ffbbceda2e1f42c2bccf","name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","dist-tags":{"latest":"1.8.1"},"versions":{"0.1.0":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"0.1.0","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{"coffee-script":">= 1.1.1"},"devDependencies":{"nodeunit":"0.5.3","uglify-js":"latest"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"_npmJsonOpts":{"file":"/home/whitequark/.npm/ipaddr.js/0.1.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"ipaddr.js@0.1.0","_engineSupported":true,"_npmVersion":"1.0.22","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"d67fc6dcc153b15a8ed475a44158f854728b037e","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.0.tgz"},"scripts":{}},"0.1.1":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"0.1.1","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{"coffee-script":">= 1.1.1"},"devDependencies":{"nodeunit":"0.5.3","uglify-js":"latest"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"_npmJsonOpts":{"file":"/home/whitequark/.npm/ipaddr.js/0.1.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"ipaddr.js@0.1.1","_engineSupported":true,"_npmVersion":"1.0.22","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"28c6a7c116a021c555544f906ab1ad540b1d635a","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.1.tgz"},"scripts":{}},"0.1.2":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"0.1.2","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@0.1.2","dist":{"shasum":"6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz"},"_from":".","_npmVersion":"1.3.10","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}]},"0.1.3":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"0.1.3","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@0.1.3","dist":{"shasum":"27a9ca37f148d2102b0ef191ccbf2c51a8f025c6","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.3.tgz"},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}]},"0.1.4":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"0.1.4","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"gitHead":"9119cbbda8189888e326e003560694f77692c624","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@0.1.4","_shasum":"67b1956263daa9725b507700603b401013d2158c","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"67b1956263daa9725b507700603b401013d2158c","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.4.tgz"}},"0.1.5":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"0.1.5","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"gitHead":"5914ebd176f5333977f68ce372cc247f13de2a35","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@0.1.5","_shasum":"33d2693c95fbd4715165328dbfe25fb4fb5bbed8","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"33d2693c95fbd4715165328dbfe25fb4fb5bbed8","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.5.tgz"}},"0.1.6":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"0.1.6","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"license":"MIT","gitHead":"87595aade23e18114b05efa09e1d46ea2ef20c12","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@0.1.6","_shasum":"8f0530b217993873025fd4b72bdfd69bc56a9a12","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"8f0530b217993873025fd4b72bdfd69bc56a9a12","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.6.tgz"}},"0.1.7":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"0.1.7","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"license":"MIT","gitHead":"5c3e47429c1497d47caeb81e76c99d82da87d4cf","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@0.1.7","_shasum":"c08aaab60273d6c041e58f0dd2dafad3d43ea40f","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"c08aaab60273d6c041e58f0dd2dafad3d43ea40f","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.7.tgz"}},"0.1.8":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"0.1.8","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"license":"MIT","gitHead":"3099dba20984caa73a83864ee582548413a425d8","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@0.1.8","_shasum":"27442eda77b626c44724b4aa8a1867e8410579ee","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"27442eda77b626c44724b4aa8a1867e8410579ee","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.8.tgz"}},"0.1.9":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"0.1.9","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"license":"MIT","gitHead":"d51df7aa41ef1875215ae4ffbd324c486f8c2799","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@0.1.9","_shasum":"a9c78ccc12dc9010f296ab9aef2f61f432d69efa","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"a9c78ccc12dc9010f296ab9aef2f61f432d69efa","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.9.tgz"}},"1.0.0":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.0.0","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"license":"MIT","gitHead":"f8ee5ce11cd4f1f940903671808505dfe02ce90a","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@1.0.0","_shasum":"dc6723c4f83913106a6702113a2034696ec03469","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"dc6723c4f83913106a6702113a2034696ec03469","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.0.tgz"}},"1.0.1":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.0.1","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"license":"MIT","gitHead":"0a5a26d9317a58d67047e7f32b5b1bbe7f2f7fbf","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@1.0.1","_shasum":"5f38801dc73e0400fc7076386f6ed5215fbd8f95","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"5f38801dc73e0400fc7076386f6ed5215fbd8f95","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz"}},"1.0.3":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.0.3","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"license":"MIT","gitHead":"bf26b1f5d00cf8526a54f79db994eea3e8526e10","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@1.0.3","_shasum":"2a9df7be73ea92aadb0d7f377497decd8e6d01bb","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"2a9df7be73ea92aadb0d7f377497decd8e6d01bb","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.3.tgz"}},"1.0.4":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.0.4","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"9885a29dfaab9519e3ec46f99c0bc0b81660a0d9","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@1.0.4","_shasum":"ef715deab1e923fc1fe8fe9ce7a561d9110e52e2","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"ef715deab1e923fc1fe8fe9ce7a561d9110e52e2","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.4.tgz"}},"1.0.5":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.0.5","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"46438c8bfa187505b7007a277f09a4a9e73d5686","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@1.0.5","_shasum":"5fa78cf301b825c78abc3042d812723049ea23c7","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"5fa78cf301b825c78abc3042d812723049ea23c7","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz"}},"1.1.0":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.1.0","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"9afdebb46eaeac3bee4e98c6a5cd731b210cdee8","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@1.1.0","_shasum":"5fd380584eb3e2d55904dbe3047a2627d4199a14","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"5fd380584eb3e2d55904dbe3047a2627d4199a14","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.1.0.tgz"}},"1.1.1":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.1.1","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"dbc7d98bc0d8fff68a894be0c60721566807e2fc","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@1.1.1","_shasum":"c791d95f52b29c1247d5df80ada39b8a73647230","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"c791d95f52b29c1247d5df80ada39b8a73647230","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.1.1.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ipaddr.js-1.1.1.tgz_1464074293475_0.6683731523808092"}},"1.2.0":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.2.0","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"87bcb487f1a6739101231e71b111da2823540398","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@1.2.0","_shasum":"8aba49c9192799585bdd643e0ccb50e8ae777ba4","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"8aba49c9192799585bdd643e0ccb50e8ae777ba4","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.2.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ipaddr.js-1.2.0.tgz_1467971539814_0.6815996605437249"}},"1.3.0":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.3.0","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"9c557556e495a2c60a3c656e4f9f8b3a1e14dedc","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.3.0","_shasum":"1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.3.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ipaddr.js-1.3.0.tgz_1489544932893_0.961968986550346"}},"1.4.0":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.4.0","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.12.6","uglify-js":"~3.0.19","nodeunit":">=0.8.2 <0.8.7"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"e0f2a074f47c51941cbfd26cf38a327f847e6286","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.4.0","_shasum":"296aca878a821816e5b85d0a285a99bcff4582f0","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"296aca878a821816e5b85d0a285a99bcff4582f0","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipaddr.js-1.4.0.tgz_1498164481108_0.6096577865537256"}},"1.5.0":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.5.0","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.12.6","uglify-js":"~3.0.19","nodeunit":">=0.8.2 <0.8.7"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"a54ecebfee155b54a8f9c1296ea5b6110cdc0d9b","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.5.0","_shasum":"48a04be500e66e6922a9e2aa3f54926eaeb96473","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"48a04be500e66e6922a9e2aa3f54926eaeb96473","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipaddr.js-1.5.0.tgz_1503324740920_0.6814808119088411"}},"1.5.1":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.5.1","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.12.6","uglify-js":"~3.0.19","nodeunit":">=0.8.2 <0.8.7"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"d677623f75bd4c23361ed661d6f8977f572ec18b","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.5.1","_shasum":"ddafccea41e6f23f7f3ffe65e22d0d8cff6835b3","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"ddafccea41e6f23f7f3ffe65e22d0d8cff6835b3","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.1.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipaddr.js-1.5.1.tgz_1503434118374_0.09781592315994203"}},"1.5.2":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.5.2","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.12.6","uglify-js":"~3.0.19","nodeunit":">=0.8.2 <0.8.7"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"8f6e21058792cf6e38c6f461219fb25f0caecf27","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.5.2","_shasum":"d4b505bde9946987ccf0fc58d9010ff9607e3fa0","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"d4b505bde9946987ccf0fc58d9010ff9607e3fa0","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipaddr.js-1.5.2.tgz_1503546462209_0.10381372715346515"}},"1.5.3":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.5.3","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.12.6","uglify-js":"~3.0.19","nodeunit":">=0.8.2 <0.8.7"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr.js","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"4be129b1b6e423fbfd236336003582d8a3cfac7d","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.5.3","_shasum":"ec68539dd70ff0990c3195ab7ec43124a83df589","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"ec68539dd70ff0990c3195ab7ec43124a83df589","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.3.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipaddr.js-1.5.3.tgz_1507823089269_0.021649141097441316"}},"1.5.4":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.5.4","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.12.6","uglify-js":"~3.0.19","nodeunit":">=0.8.2 <0.8.7"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr.js","engines":{"node":">= 0.10"},"license":"MIT","gitHead":"d384881bd33cefda9c56eda74bc122350a31bd6a","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.5.4","_shasum":"962263d9d26132956fc5c630b638a30d3cdffc14","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"962263d9d26132956fc5c630b638a30d3cdffc14","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.4.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipaddr.js-1.5.4.tgz_1508225226077_0.20283467858098447"}},"1.6.0":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.6.0","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.12.6","uglify-js":"~3.0.19","nodeunit":">=0.8.2 <0.8.7"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr.js","engines":{"node":">= 0.10"},"license":"MIT","types":"./lib/ipaddr.js.d.ts","gitHead":"c81198c2540a1df41571623c0bcbdb9d9b73a925","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.6.0","_shasum":"e3fa357b773da619f26e95f049d055c72796f86b","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"e3fa357b773da619f26e95f049d055c72796f86b","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipaddr.js-1.6.0.tgz_1517895655914_0.4097069769632071"}},"1.7.0":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.7.0","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.12.6","uglify-js":"~3.0.19","nodeunit":">=0.8.2 <0.8.7"},"scripts":{"test":"cake build test"},"files":["lib/","ipaddr.min.js"],"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr.js","engines":{"node":">= 0.10"},"license":"MIT","types":"./lib/ipaddr.js.d.ts","gitHead":"c645e0b0ac8646e2bc3f086399bb5c675d504dd8","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.7.0","_shasum":"2206ed334afc32e01fed3ee838b6b2521068b9d2","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"2206ed334afc32e01fed3ee838b6b2521068b9d2","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.7.0.tgz","fileCount":5,"unpackedSize":38772},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipaddr.js_1.7.0_1523355133770_0.22257876250113773"}},"1.8.0":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.8.0","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.12.6","uglify-js":"~3.0.19","nodeunit":">=0.8.2 <0.8.7"},"scripts":{"test":"cake build test"},"files":["lib/","ipaddr.min.js"],"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr.js","engines":{"node":">= 0.10"},"license":"MIT","types":"./lib/ipaddr.js.d.ts","gitHead":"d7f0a9bfea2888ea8b309b97d0eed1709e8c6ead","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.8.0","_shasum":"eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz","fileCount":5,"unpackedSize":39303},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipaddr.js_1.8.0_1531193295710_0.6229373074337963"}},"1.8.1":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.8.1","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.12.6","uglify-js":"~3.0.19","nodeunit":">=0.8.2 <0.8.7"},"scripts":{"test":"cake build test"},"files":["lib/","ipaddr.min.js"],"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"main":"./lib/ipaddr.js","engines":{"node":">= 0.10"},"license":"MIT","types":"./lib/ipaddr.js.d.ts","gitHead":"0f676ef505ae314f62925c1de3640e6d45b2e8c4","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_id":"ipaddr.js@1.8.1","_shasum":"fa4b79fa47fd3def5e3b159825161c0a519c9427","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"fa4b79fa47fd3def5e3b159825161c0a519c9427","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.1.tgz","fileCount":5,"unpackedSize":39327},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipaddr.js_1.8.1_1533051081044_0.9626124293508547"}}},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"time":{"modified":"2018-07-31T15:31:21.139Z","created":"2011-07-28T15:57:38.697Z","0.1.0":"2011-07-28T15:57:40.643Z","0.1.1":"2011-07-30T16:00:04.710Z","0.1.2":"2013-12-06T22:00:21.923Z","0.1.3":"2014-07-09T08:26:58.804Z","0.1.4":"2014-11-18T22:00:30.596Z","0.1.5":"2014-11-19T21:57:24.625Z","0.1.6":"2014-11-26T16:34:44.619Z","0.1.7":"2015-01-29T03:39:54.325Z","0.1.8":"2015-01-29T23:40:08.892Z","0.1.9":"2015-03-11T10:41:42.690Z","1.0.0":"2015-04-07T21:16:34.839Z","1.0.1":"2015-04-08T17:00:18.304Z","1.0.3":"2015-08-27T06:31:09.446Z","1.0.4":"2015-11-07T05:46:23.340Z","1.0.5":"2015-12-09T14:36:42.259Z","1.1.0":"2016-01-29T22:33:58.126Z","1.1.1":"2016-05-24T07:18:13.893Z","1.2.0":"2016-07-08T09:52:20.241Z","1.3.0":"2017-03-15T02:28:53.138Z","1.4.0":"2017-06-22T20:48:02.394Z","1.5.0":"2017-08-21T14:12:21.041Z","1.5.1":"2017-08-22T20:35:18.455Z","1.5.2":"2017-08-24T03:47:42.297Z","1.5.3":"2017-10-12T15:44:50.448Z","1.5.4":"2017-10-17T07:27:07.211Z","1.6.0":"2018-02-06T05:40:56.969Z","1.7.0":"2018-04-10T10:12:13.872Z","1.8.0":"2018-07-10T03:28:15.831Z","1.8.1":"2018-07-31T15:31:21.138Z"},"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js.git"},"readme":"# ipaddr.js — an IPv6 and IPv4 address manipulation library [](https://travis-ci.org/whitequark/ipaddr.js)\n\nipaddr.js is a small (1.9K minified and gzipped) library for manipulating\nIP addresses in JavaScript environments. It runs on both CommonJS runtimes\n(e.g. [nodejs]) and in a web browser.\n\nipaddr.js allows you to verify and parse string representation of an IP\naddress, match it against a CIDR range or range list, determine if it falls\ninto some reserved ranges (examples include loopback and private ranges),\nand convert between IPv4 and IPv4-mapped IPv6 addresses.\n\n[nodejs]: http://nodejs.org\n\n## Installation\n\n`npm install ipaddr.js`\n\nor\n\n`bower install ipaddr.js`\n\n## API\n\nipaddr.js defines one object in the global scope: `ipaddr`. In CommonJS,\nit is exported from the module:\n\n```js\nvar ipaddr = require('ipaddr.js');\n```\n\nThe API consists of several global methods and two classes: ipaddr.IPv6 and ipaddr.IPv4.\n\n### Global methods\n\nThere are three global methods defined: `ipaddr.isValid`, `ipaddr.parse` and\n`ipaddr.process`. All of them receive a string as a single parameter.\n\nThe `ipaddr.isValid` method returns `true` if the address is a valid IPv4 or\nIPv6 address, and `false` otherwise. It does not throw any exceptions.\n\nThe `ipaddr.parse` method returns an object representing the IP address,\nor throws an `Error` if the passed string is not a valid representation of an\nIP address.\n\nThe `ipaddr.process` method works just like the `ipaddr.parse` one, but it\nautomatically converts IPv4-mapped IPv6 addresses to their IPv4 counterparts\nbefore returning. It is useful when you have a Node.js instance listening\non an IPv6 socket, and the `net.ivp6.bindv6only` sysctl parameter (or its\nequivalent on non-Linux OS) is set to 0. In this case, you can accept IPv4\nconnections on your IPv6-only socket, but the remote address will be mangled.\nUse `ipaddr.process` method to automatically demangle it.\n\n### Object representation\n\nParsing methods return an object which descends from `ipaddr.IPv6` or\n`ipaddr.IPv4`. These objects share some properties, but most of them differ.\n\n#### Shared properties\n\nOne can determine the type of address by calling `addr.kind()`. It will return\neither `\"ipv6\"` or `\"ipv4\"`.\n\nAn address can be converted back to its string representation with `addr.toString()`.\nNote that this method:\n * does not return the original string used to create the object (in fact, there is\n no way of getting that string)\n * returns a compact representation (when it is applicable)\n\nA `match(range, bits)` method can be used to check if the address falls into a\ncertain CIDR range.\nNote that an address can be (obviously) matched only against an address of the same type.\n\nFor example:\n\n```js\nvar addr = ipaddr.parse(\"2001:db8:1234::1\");\nvar range = ipaddr.parse(\"2001:db8::\");\n\naddr.match(range, 32); // => true\n```\n\nAlternatively, `match` can also be called as `match([range, bits])`. In this way,\nit can be used together with the `parseCIDR(string)` method, which parses an IP\naddress together with a CIDR range.\n\nFor example:\n\n```js\nvar addr = ipaddr.parse(\"2001:db8:1234::1\");\n\naddr.match(ipaddr.parseCIDR(\"2001:db8::/32\")); // => true\n```\n\nA `range()` method returns one of predefined names for several special ranges defined\nby IP protocols. The exact names (and their respective CIDR ranges) can be looked up\nin the source: [IPv6 ranges] and [IPv4 ranges]. Some common ones include `\"unicast\"`\n(the default one) and `\"reserved\"`.\n\nYou can match against your own range list by using\n`ipaddr.subnetMatch(address, rangeList, defaultName)` method. It can work with a mix of IPv6 or IPv4 addresses, and accepts a name-to-subnet map as the range list. For example:\n\n```js\nvar rangeList = {\n documentationOnly: [ ipaddr.parse('2001:db8::'), 32 ],\n tunnelProviders: [\n [ ipaddr.parse('2001:470::'), 32 ], // he.net\n [ ipaddr.parse('2001:5c0::'), 32 ] // freenet6\n ]\n};\nipaddr.subnetMatch(ipaddr.parse('2001:470:8:66::1'), rangeList, 'unknown'); // => \"tunnelProviders\"\n```\n\nThe addresses can be converted to their byte representation with `toByteArray()`.\n(Actually, JavaScript mostly does not know about byte buffers. They are emulated with\narrays of numbers, each in range of 0..255.)\n\n```js\nvar bytes = ipaddr.parse('2a00:1450:8007::68').toByteArray(); // ipv6.google.com\nbytes // => [42, 0x00, 0x14, 0x50, 0x80, 0x07, 0x00, <zeroes...>, 0x00, 0x68 ]\n```\n\nThe `ipaddr.IPv4` and `ipaddr.IPv6` objects have some methods defined, too. All of them\nhave the same interface for both protocols, and are similar to global methods.\n\n`ipaddr.IPvX.isValid(string)` can be used to check if the string is a valid address\nfor particular protocol, and `ipaddr.IPvX.parse(string)` is the error-throwing parser.\n\n`ipaddr.IPvX.isValid(string)` uses the same format for parsing as the POSIX `inet_ntoa` function, which accepts unusual formats like `0xc0.168.1.1` or `0x10000000`. The function `ipaddr.IPv4.isValidFourPartDecimal(string)` validates the IPv4 address and also ensures that it is written in four-part decimal format.\n\n[IPv6 ranges]: https://github.com/whitequark/ipaddr.js/blob/master/src/ipaddr.coffee#L186\n[IPv4 ranges]: https://github.com/whitequark/ipaddr.js/blob/master/src/ipaddr.coffee#L71\n\n#### IPv6 properties\n\nSometimes you will want to convert IPv6 not to a compact string representation (with\nthe `::` substitution); the `toNormalizedString()` method will return an address where\nall zeroes are explicit.\n\nFor example:\n\n```js\nvar addr = ipaddr.parse(\"2001:0db8::0001\");\naddr.toString(); // => \"2001:db8::1\"\naddr.toNormalizedString(); // => \"2001:db8:0:0:0:0:0:1\"\n```\n\nThe `isIPv4MappedAddress()` method will return `true` if this address is an IPv4-mapped\none, and `toIPv4Address()` will return an IPv4 object address.\n\nTo access the underlying binary representation of the address, use `addr.parts`.\n\n```js\nvar addr = ipaddr.parse(\"2001:db8:10::1234:DEAD\");\naddr.parts // => [0x2001, 0xdb8, 0x10, 0, 0, 0, 0x1234, 0xdead]\n```\n\nA IPv6 zone index can be accessed via `addr.zoneId`:\n\n```js\nvar addr = ipaddr.parse(\"2001:db8::%eth0\");\naddr.zoneId // => 'eth0'\n```\n\n#### IPv4 properties\n\n`toIPv4MappedAddress()` will return a corresponding IPv4-mapped IPv6 address.\n\nTo access the underlying representation of the address, use `addr.octets`.\n\n```js\nvar addr = ipaddr.parse(\"192.168.1.1\");\naddr.octets // => [192, 168, 1, 1]\n```\n\n`prefixLengthFromSubnetMask()` will return a CIDR prefix length for a valid IPv4 netmask or\nfalse if the netmask is not valid.\n\n```js\nipaddr.IPv4.parse('255.255.255.240').prefixLengthFromSubnetMask() == 28\nipaddr.IPv4.parse('255.192.164.0').prefixLengthFromSubnetMask() == null\n```\n\n`subnetMaskFromPrefixLength()` will return an IPv4 netmask for a valid CIDR prefix length.\n\n```js\nipaddr.IPv4.subnetMaskFromPrefixLength(24) == \"255.255.255.0\"\nipaddr.IPv4.subnetMaskFromPrefixLength(29) == \"255.255.255.248\"\n```\n\n`broadcastAddressFromCIDR()` will return the broadcast address for a given IPv4 interface and netmask in CIDR notation.\n```js\nipaddr.IPv4.broadcastAddressFromCIDR(\"172.0.0.1/24\") == \"172.0.0.255\"\n```\n`networkAddressFromCIDR()` will return the network address for a given IPv4 interface and netmask in CIDR notation.\n```js\nipaddr.IPv4.networkAddressFromCIDR(\"172.0.0.1/24\") == \"172.0.0.0\"\n```\n\n#### Conversion\n\nIPv4 and IPv6 can be converted bidirectionally to and from network byte order (MSB) byte arrays.\n\nThe `fromByteArray()` method will take an array and create an appropriate IPv4 or IPv6 object\nif the input satisfies the requirements. For IPv4 it has to be an array of four 8-bit values,\nwhile for IPv6 it has to be an array of sixteen 8-bit values.\n\nFor example:\n```js\nvar addr = ipaddr.fromByteArray([0x7f, 0, 0, 1]);\naddr.toString(); // => \"127.0.0.1\"\n```\n\nor\n\n```js\nvar addr = ipaddr.fromByteArray([0x20, 1, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1])\naddr.toString(); // => \"2001:db8::1\"\n```\n\nBoth objects also offer a `toByteArray()` method, which returns an array in network byte order (MSB).\n\nFor example:\n```js\nvar addr = ipaddr.parse(\"127.0.0.1\");\naddr.toByteArray(); // => [0x7f, 0, 0, 1]\n```\n\nor\n\n```js\nvar addr = ipaddr.parse(\"2001:db8::1\");\naddr.toByteArray(); // => [0x20, 1, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]\n```\n","keywords":["ip","ipv4","ipv6"],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"readmeFilename":"README.md","license":"MIT","users":{"msmiley":true,"qlqllu":true,"subchen":true,"bacra":true,"mojaray2k":true,"dmdnkv":true,"skellertor":true,"michaelermer":true,"omar84":true,"monjer":true,"keenwon":true,"nazy":true,"asaupup":true,"nuwaio":true,"heineiuo":true,"morogasper":true,"luckyluke":true,"cedx":true},"homepage":"https://github.com/whitequark/ipaddr.js#readme","_attachments":{},"_etag":"W/\"69a4b0609c43dfa4fb98fa0c5313261b\"","_lastModified":"Tue, 31 Jul 2018 15:31:22 GMT"}