0.1.5 • Published 7 months ago
@kirick/ip v0.1.5
@kirick/ip
A TypeScript library for handling IPv4 and IPv6 addresses with convenient conversion methods and subnet operations.
Features
- 🔄 Unified handling of both IPv4 and IPv6 addresses
- 📥 Support for multiple input formats:
- String representations
- ArrayBuffer
- Node.js Buffer
- 📤 Support for multiple output formats:
- String representations (standard notation)
- Byte arrays
- ArrayBuffer
- Node.js Buffer
- ✨ IPv4/IPv6 detection
- ⚖️ Address equality comparison
- 🌐 Subnet membership checking
Installation
bun add @kirick/ip
# or
pnpm install @kirick/ip
# or
npm install @kirick/ipUsage
Basic Usage
import { IP } from '@kirick/ip';
// Create IP from string
const ip1 = new IP('127.0.0.1');
const ip2 = new IP('fe80:dead:be:ef::1');
// Check IP version
console.log(ip1.is4()); // true
console.log(ip2.is4()); // false
// Convert to string
console.log(ip1.toString()); // "127.0.0.1"
console.log(ip2.toString()); // "fe80:dead:be:ef::1"Different Input Formats
// From string
const ip1 = new IP('127.0.0.1');
// From ArrayBuffer
const arrayBuffer = new Uint8Array([127, 0, 0, 1]).buffer;
const ip2 = new IP(arrayBuffer);
// From Node.js Buffer
const buffer = Buffer.from([127, 0, 0, 1]);
const ip3 = new IP(buffer);Different Output Formats
const ip = new IP('127.0.0.1');
// To string
console.log(ip.toString()); // "127.0.0.1"
// To byte array
console.log(ip.toByteArray()); // [127, 0, 0, 1]
// To ArrayBuffer
const arrayBuffer = ip.toArrayBuffer();
// To Node.js Buffer
const buffer = ip.toBuffer();Comparing IP Addresses
const ip1 = new IP('127.0.0.1');
const ip2 = new IP('::ffff:127.0.0.1'); // IPv4-mapped IPv6 address
console.log(ip1.equals(ip2)); // trueSubnet Operations
const subnet = new IP('127.0.0.0/8');
const ip = new IP('127.0.0.1');
console.log(subnet.includes(ip)); // trueAPI Reference
class IP
Constructor
constructor(value: string | ArrayBuffer | Buffer)
Methods
is4(): boolean- Checks if the address is IPv4equals(ip: IP): boolean- Checks if two IP addresses are equalincludes(ip: IP): boolean- Checks if an IP address is in a subnettoString(): string- Converts to string representationtoByteArray(): number[]- Converts to byte arraytoArrayBuffer(): ArrayBuffer- Converts to ArrayBuffertoBuffer(): Buffer- Converts to Node.js Buffer
License
MIT
0.1.2
10 months ago
0.1.4
7 months ago
0.1.3
10 months ago
0.1.5
7 months ago
0.1.1
1 year ago
0.1.1-beta.6
1 year ago
0.1.1-beta.5
1 year ago
0.1.1-beta.4
1 year ago
0.1.1-beta.3
1 year ago
0.1.1-beta.2
2 years ago
0.1.1-beta.1
2 years ago
0.1.0-beta.3
2 years ago
0.1.0-beta.2
2 years ago
0.1.0-beta.1
2 years ago