internet-number
v4.0.1
Published
Utilities for fethcing and parsing latest statistics files from RIR
Downloads
41
Readme
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