{"_id":"@amuject/ip","_rev":"1-0cbe2353f9e1c781f91b6c5db4c993ee","name":"@amuject/ip","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@amuject/ip","version":"1.0.0","keywords":["ip","ipv4","ipv6","subnetmask","subnet","calc"],"author":{"url":"https://wanyne.com","name":"Wany","email":"sung@wanyne.com"},"_id":"@amuject/ip@1.0.0","maintainers":[{"name":"wnynya","email":"sung@wanyne.com"}],"homepage":"https://github.com/Amuject/node-IP#readme","bugs":{"url":"https://github.com/Amuject/node-IP/issues"},"dist":{"shasum":"e9d2ac8b0b9e7a58680bdbbf43e4cc16a3df413b","tarball":"https://registry.npmjs.org/@amuject/ip/-/ip-1.0.0.tgz","fileCount":16,"integrity":"sha512-/oq1rL5UCUEFVMEUkF2LtOX+qGSMOrrtyLGED1abxiXfhTHBgm9ruO6EQtkQroq1mORYrknm+nn1ER4asg+2Dw==","signatures":[{"sig":"MEYCIQDI9v5hE6ia+w/vKSDjb04GkVo9XaS92bOk/vTzNbBW1wIhAOAZP6s7OxLPzE/o6TxD3ciBPEPu83cmOGfdb18MrfF/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32156},"main":"./dist-cjs/index.js","type":"module","types":"./dist-cjs/index.d.ts","module":"./dist-esm/index.js","exports":{".":{"import":"./dist-esm/index.js","require":"./dist-cjs/index.js"}},"gitHead":"d653ad20e50aad34ac1727ab281d0248fd7ff503","scripts":{"bnt":"npm run build && npm run test","test":"npm run test:clean && npm run test:esm && npm run test:cjs","build":"npm run build:clean && npm run build:esm && npm run build:cjs && npm run build:package","test:cjs":"cd test; npm run test:cjs","test:esm":"cd test; npm run test:esm","build:cjs":"npx babel dist-esm --out-dir dist-cjs","build:esm":"tsc --p tsconfig.json","test:clean":"bash scripts/test:clean.sh","build:clean":"bash scripts/build:clean.sh","build:package":"bash scripts/build:package.sh"},"_npmUser":{"name":"wnynya","email":"sung@wanyne.com"},"repository":{"url":"git+https://github.com/Amuject/node-IP.git","type":"git"},"_npmVersion":"10.8.1","description":"IP calculation, bogon IP checking tool.","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@babel/cli":"^7.24.8","typescript":"^5.5.4","@babel/core":"^7.25.2","@types/node":"^22.5.0","@babel/preset-env":"^7.25.4","babel-plugin-add-module-exports":"^1.0.4","babel-plugin-transform-import-meta":"^2.2.1","@babel/plugin-transform-modules-commonjs":"^7.24.8"},"_npmOperationalInternal":{"tmp":"tmp/ip_1.0.0_1724579767525_0.8468973095899133","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@amuject/ip","version":"1.0.1","description":"IP calculation, bogon IP checking tool.","author":{"name":"Wany","email":"sung@wanyne.com","url":"https://wanyne.com"},"type":"module","exports":{".":{"import":"./dist-esm/index.js","require":"./dist-cjs/index.js"}},"module":"./dist-esm/index.js","main":"./dist-cjs/index.js","keywords":["ip","ipv4","ipv6","subnetmask","subnet","calc"],"homepage":"https://github.com/Amuject/node-IP#readme","repository":{"type":"git","url":"git+https://github.com/Amuject/node-IP.git"},"scripts":{"build":"npm run build:clean && npm run build:esm && npm run build:cjs && npm run build:package","build:clean":"bash scripts/build:clean.sh","build:esm":"tsc --p tsconfig.json","build:cjs":"npx babel dist-esm --out-dir dist-cjs","build:package":"bash scripts/build:package.sh","test":"npm run test:clean && npm run test:esm && npm run test:cjs","test:clean":"bash scripts/test:clean.sh","test:esm":"cd test; npm run test:esm","test:cjs":"cd test; npm run test:cjs","bnt":"npm run build && npm run test"},"devDependencies":{"@babel/cli":"^7.24.8","@babel/core":"^7.25.2","@babel/plugin-transform-modules-commonjs":"^7.24.8","@babel/preset-env":"^7.25.4","@types/node":"^22.5.0","babel-plugin-add-module-exports":"^1.0.4","babel-plugin-transform-import-meta":"^2.2.1","ts-node":"^10.9.2","typescript":"^5.5.4"},"_id":"@amuject/ip@1.0.1","gitHead":"d653ad20e50aad34ac1727ab281d0248fd7ff503","types":"./dist-cjs/index.d.ts","bugs":{"url":"https://github.com/Amuject/node-IP/issues"},"_nodeVersion":"20.16.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-qy0QX37mAnPJOFPIdX6SdvhS9kKieXJpOiw3t+AxXWTcaMDjq/aDxcIZzCi+ku1mrrKQaBC3jYiPlMEbniecew==","shasum":"4d5e4660a336b61b8fac892572d6d65358b9f3f6","tarball":"https://registry.npmjs.org/@amuject/ip/-/ip-1.0.1.tgz","fileCount":16,"unpackedSize":32157,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWmZYhWjFLSj6cshmeVzN3qjo0qArlqGeLJSHSzMj19AIhANr+zcvOHgiqUbyLWtMIS7q6e9PJol/Jc1JaSzjY+thc"}]},"_npmUser":{"name":"wnynya","email":"sung@wanyne.com"},"directories":{},"maintainers":[{"name":"wnynya","email":"sung@wanyne.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ip_1.0.1_1724579949868_0.9750299538205869"},"_hasShrinkwrap":false}},"time":{"created":"2024-08-25T09:56:07.432Z","modified":"2024-08-25T09:59:10.186Z","1.0.0":"2024-08-25T09:56:07.677Z","1.0.1":"2024-08-25T09:59:10.024Z"},"bugs":{"url":"https://github.com/Amuject/node-IP/issues"},"author":{"name":"Wany","email":"sung@wanyne.com","url":"https://wanyne.com"},"homepage":"https://github.com/Amuject/node-IP#readme","keywords":["ip","ipv4","ipv6","subnetmask","subnet","calc"],"repository":{"type":"git","url":"git+https://github.com/Amuject/node-IP.git"},"description":"IP calculation, bogon IP checking tool.","maintainers":[{"name":"wnynya","email":"sung@wanyne.com"}],"readme":"# @amuject/ip\n\n**IP module for calculation (demical, subnet) / check bogon.**\n\n## Table of Content\n\n- [Installation](#installation)\n- [Use IP](#use-ip)\n- [Simple Example](#simple-example)\n- [API](#api)\n  - Class: [`IP`](#class-ip)\n    - [`new IP(value)`](#new-ipvalue)\n    - [`ip.toString()`](#iptostring)\n    - [`ip.toDemical()`](#iptodemical)\n    - [`ip.is4()`](#ipis4)\n    - [`ip.is6()`](#ipis6)\n    - [`ip.to6()`](#ipto6)\n    - [`ip.hasSubnet()`](#iphassubnet)\n    - [`ip.getSubnet()`](#ipgetsubnet)\n    - [`ip.getSubnetIPs()`](#ipgetsubnetips)\n    - [`ip.in(from[, to])`](#ipinfrom-to)\n    - [`ip.isBogon()`](#ipisbogon)\n    - [`ip.getBogon()`](#ipgetbogon)\n\n## Installation\n\n```\nnpm i @wnynya/ip\n```\n\n## Use IP\n\nESM\n\n```js\nimport IP from '@wnynya/ip';\nconst ip = new IP('127.0.0.1');\n```\n\nCJS\n\n```js\nconst IP = require('@wnynya/ip');\nconst ip = new IP('127.0.0.1');\n```\n\nTypescript\n\n```js\nimport IP from '@wnynya/ip';\nconst ip: IP = new IP('127.0.0.1');\n```\n\n## Simple Example\n\n```js\n// Convert IPv4 string to demical & check IP is bogon.\nimport IP from '@wnynya/ip'; // ESM\n\nconst ip = new IP('127.0.0.1');\n\nconsole.log(ip.toDemical()); // true\nconsole.log(ip.isBogon()); // true\n\nconsole.log(ip.in(new IP('127.0.0.1', '127.0.0.255'))); // true\nconsole.log(ip.in(new IP('127.0.1.0/24'))); // false\n```\n\n# API\n\n## Class: `IP`\n\n### `new IP(value)`\n\n- `value` `<string|number|bigint>` IP value.\n\n### `ip.toString()`\n\n- Returns: `<string>`\n\nReturns full string of IP.\n\n### `ip.toDemical()`\n\n- Returns: `<bigint>`\n\nReturns demical value of IP.\n\n### `ip.is4()`\n\n- Returns: `<boolean>`\n\nCheck IP is IPv4.\n\n### `ip.is6()`\n\n- Returns: `<boolean>`\n\nCheck IP is IPv6.\n\n### `ip.to6()`\n\n- Returns: `<IP>`\n\nConvert IPv4 `IP` to IPv6 `IP`\n\n### `ip.hasSubnet()`\n\n- Returns: `<boolean>`\n\nCheck IP has subnet mask (suffix).\n\n### `ip.getSubnet()`\n\n- Returns: `<Object>`\n\nReturns subnet range.\n\n### `ip.getSubnetIPs()`\n\n- Returns: `<IP[]>`\n\nReturns array of subnet range IPs.\n\n### `ip.in(from[, to])`\n\n- `from` `<IP>` IP value.\n- `to` `<IP>` IP value.\n\n- Returns: `<boolean>`\n\nCheck IP is in range.\nIf `from` IP has subnet range, Check IP is in subnet range.\n\n### `ip.isBogon()`\n\n- Returns: `<boolean>`\n\nCheck IP is bogon.\n\n### `ip.getBogon()`\n\n- Returns: `<string>`\n\nIf IP is bogon, returns reason of bogon.\n","readmeFilename":"README.md"}