first commit
This commit is contained in:
69
app_vue/node_modules/@leichtgewicht/ip-codec/Readme.md
generated
vendored
Normal file
69
app_vue/node_modules/@leichtgewicht/ip-codec/Readme.md
generated
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
# @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)
|
Reference in New Issue
Block a user