@simplyappdevs/cidr-calculator
Version:
Classless Inter-Domain Routing (CIDR) Notation Calculator
61 lines • 1.9 kB
TypeScript
/**
* 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