UNPKG

@simplyappdevs/cidr-calculator

Version:

Classless Inter-Domain Routing (CIDR) Notation Calculator

61 lines 1.9 kB
/** * Node imports */ export declare type IPTUPPLE = [number, number, number, number]; export declare type IPFORMATS = string | number | IPTUPPLE | OCTECTS; /** * Octects definition */ export interface OCTECTS { readonly first: number; readonly second: number; readonly third: number; readonly fourth: number; add: (num: number) => OCTECTS; substract: (num: number) => OCTECTS; toArray: () => IPTUPPLE; toString: () => string; toBinary: () => string; } export declare const OCTECTSMIN: OCTECTS; export declare const OCTECTSMAX: OCTECTS; /** * CIDR information */ export interface CIDRInformation { readonly networkPrefix: string; readonly cidrBlock: number; readonly minIP: string; readonly maxIP: string; readonly subnetMask: string; readonly wilcardMask: string; readonly broadcastIP: string; readonly totalIPs: number; } /** * CIDR definition */ export interface CIDR { readonly inputIP: string; readonly inputCIDR: number; readonly ipOctects: OCTECTS; readonly cidrInformation: CIDRInformation; readonly maxSubnetCount: number; calculateCIDR: (cidr: number) => CIDRInformation; splitCIDR: (subnetCount: number) => CIDRInformation[]; toString: () => string; } /** * CIDR module */ export declare const CIDRModule: { parseCIDR: (ip?: IPFORMATS | undefined, cidr?: string | number | undefined) => CIDR; parseOctects: (ip: IPFORMATS) => OCTECTS; cidrFromSubnetMask: (mask: string) => number; octectsFromIPString: (ip: string) => OCTECTS; octectsToNumber: (octs: OCTECTS) => number; numberToBinary: (num: number, sep?: string | undefined) => string; addToIP: (ip: IPFORMATS, num: number) => OCTECTS; substractFromIP: (ip: IPFORMATS, num: number) => OCTECTS; }; //# sourceMappingURL=app-cidr.d.ts.map