internet-number
TypeScript icon, indicating that this package has built-in type declarations

4.0.1 • Public • Published

internet-number

Utilities for fethcing and parsing latest statistics files from RIR

Install

npm install --save internet-number
# or
yarn add internet-number

Usage

const filename = await downloadLatestStatisticsFile(
  Domian.AFRINIC
, Registry.AFRINIC
, '/tmp/latest'
)

for await (const value of parseStatisticsFile(filename)) {
  if (isVersion(value)) ...
  if (isSummary(value)) ...
  if (isRecord(value)) ...
}

API

interface IVersion {
  version: string
  registry: string
  serial: string
  records: string
  startdate: string
  enddate: string
  UTCoffset: string
}

interface ISummary {
  registry: string
  type: string
  count: string
  summary: string
}

interface IRecord {
  registry: string
  cc: string
  type: string
  start: string
  value: string
  date: string
  status: string
  extensions: string[]
}

downloadLatestStatisticsFile

function downloadLatestStatisticsFile(
  domain: Domain
, registry: Registry
, filename: string
): Promise<string>

fetchLatestChecksum

function fetchLatestChecksum(domain: Domain, registry: Registry): Promise<string>

fetchLatestStatisticsFile

function fetchLatestStatisticsFile(
  domain: Domain
, registry: Registry
): Promise<NodeJS.ReadableStream>

parseStatisticsFile

function parseStatisticsFile(
  filename: string
): AsyncIterable<IVersion | ISummary | IRecord>

parseFormat

function parseFormat(lines: Iterable<string>): Iterable<IVersion | ISummary | IRecord>

parseFormatAsync

function parseFormatAsync(
  lines: AsyncIterable<string>
): AsyncIterable<IVersion | ISummary | IRecord>

isVersion

function isVersion(val: IVersion | ISummary | IRecord): boolean

isSummary

function isSummary(val: IVersion | ISummary | IRecord): boolean

isRecord

function isRecord(val: IVersion | ISummary | IRecord): boolean

Readme

Keywords

none

Package Sidebar

Install

npm i internet-number

Weekly Downloads

8

Version

4.0.1

License

MIT

Unpacked Size

31.6 kB

Total Files

27

Last publish

Collaborators

  • black_glory