compact-encoding-net

1.2.0 • Public • Published

compact-encoding-net

compact-encoding codecs for net types.

Installation

npm install compact-encoding-net

Codecs

port

Codec for 16 bit port numbers.

const { port } = require('compact-encoding-net')

Encoding

const buffer = cenc.encode(port, 8080)

Decoding

cenc.decode(port, buffer)
// 8080

ipv4

Codec for IPv4 addresses.

⚠️ The codec is only defined for valid IPv4 addresses.

const { ipv4 } = require('compact-encoding-net')

Encoding

const buffer = cenc.encode(ipv4, '127.0.0.1')

Decoding

cenc.decode(ipv4, buffer)
// '127.0.0.1'

ipv4Address

Codec for IPv4 addresses plus a port.

const { ipv4Address } = require('compact-encoding-net')

Encoding

const buffer = cenc.encode(ipv4, { host: '127.0.0.1', port: 8080 })

Decoding

cenc.decode(ipv4Address, buffer)
// { host: '127.0.0.1', port: 8080 }

ipv6

Codec for IPv6 addresses.

⚠️ The codec is only defined for valid IPv6 addresses.

const { ipv6 } = require('compact-encoding-net')

Encoding

const buffer = cenc.encode(ipv6, '::1')

Decoding

cenc.decode(ipv6, buffer)
// '0:0:0:0:0:0:0:1'

ipv6Address

Codec for IPv6 addresses plus a port.

const { ipv6Address } = require('compact-encoding-net')

Encoding

const buffer = cenc.encode(ipv6Address, { host: '::1', port: 8080 })

Decoding

cenc.decode(ipv6Address, buffer)
// { host: '0:0:0:0:0:0:0:1', port: 8080 }

ip

Codec for dual IPv4/6 addresses.

⚠️ The codec is only defined for valid IPv4 and IPv6 addresses.

const { ip } = require('compact-encoding-net')

Encoding

const buffer = cenc.encode(ip, '::1')

Decoding

cenc.decode(ip, buffer)
// '0:0:0:0:0:0:0:1'

ipAddress

Codec for dual IPv4/6 addresses plus a port.

const { ipAddress } = require('compact-encoding-net')

Encoding

const buffer = cenc.encode(ipAddress, { host: '::1', port: 8080 })

Decoding

cenc.decode(ipv6Address, buffer)
// { host: '0:0:0:0:0:0:0:1', family: 6, port: 8080 }

License

ISC

Readme

Keywords

none

Package Sidebar

Install

npm i compact-encoding-net

Weekly Downloads

1,783

Version

1.2.0

License

ISC

Unpacked Size

12.5 kB

Total Files

8

Last publish

Collaborators

  • mafintosh
  • kasperisager