云盘
志元云盘
备份云盘
Home
/
志元云盘
/
webdav
/
sync
/
c
/
vue-modbus
/
modbus-project
/
node_modules
/
@leichtgewicht
/
ip-codec
File
OriginalPic
Thumbnails
CopyAllDownloadUrl
EditTime
Size
types
2024-07-23 00:14:39
809 B
index.cjs
2024-07-14 16:19:01
6.99 KB
index.mjs
2024-07-14 16:19:01
5.86 KB
LICENSE
2024-07-14 16:19:01
1.05 KB
package.json
2024-07-14 16:19:01
1.15 KB
Readme.md
2024-07-14 16:19:01
1.4 KB
# @leichtgewicht/ip-codec Small package to encode or decode IP addresses from buffers to strings. Supports IPV4 and IPV6. ## Usage The basics are straigthforward ```js import { encode, decode, sizeOf, familyOf } from '@leichtgewicht/ip-codec' const uint8Array = encode("127.0.0.1") const str = decode(uint8Array) try { switch sizeOf(str) { case 4: // IPv4 case 16: // IPv6 } switch familyOf(str) { case: 1: // IPv4 case: 2: // IPv6 } } catch (err) { // Invalid IP } ``` By default the library will work with Uint8Array's but you can bring your own buffer: ```js const buf = Buffer.alloc(4) encode('127.0.0.1', buf) ``` It is also possible to de-encode at a location inside a given buffer ```js const buf = Buffer.alloc(10) encode('127.0.0.1', buf, 4) ``` Allocation of a buffer may be difficult if you don't know what type the buffer: you can pass in a generator to allocate it for you: ```js encode('127.0.0.1', Buffer.alloc) ``` You can also de/encode ipv4 or ipv6 specifically: ```js import { v4, v6 } from '@leichtgewicht/ip-codec' v4.decode(v4.encode('127.0.0.1')) v6.decode(v6.encode('::')) ``` ## History The code in this package was originally extracted from [node-ip](https://github.com/indutny/node-ip) and since improved. Notable changes are the removal of the `Buffer` dependency and better support for detection of formats and allocation of buffers. ## License [MIT](./LICENSE)
2025-08-30 04:03:59 Saturday 216.73.216.107 Runningtime:0.012s Mem:1.48 MB