source: frontend/node_modules/ipaddr.js/lib/ipaddr.js.d.ts

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 3.2 KB
Line 
1declare module "ipaddr.js" {
2 type IPvXRangeDefaults = 'unicast' | 'unspecified' | 'multicast' | 'linkLocal' | 'loopback' | 'reserved' | 'benchmarking' | 'amt';
3 type IPv4Range = IPvXRangeDefaults | 'broadcast' | 'carrierGradeNat' | 'private' | 'as112';
4 type IPv6Range = IPvXRangeDefaults | 'uniqueLocal' | 'ipv4Mapped' | 'rfc6145' | 'rfc6052' | '6to4' | 'teredo' | 'as112v6' | 'orchid2' | 'droneRemoteIdProtocolEntityTags';
5
6 interface RangeList<T> {
7 [name: string]: [T, number] | [T, number][];
8 }
9
10 // Common methods/properties for IPv4 and IPv6 classes.
11 class IP {
12 prefixLengthFromSubnetMask(): number | null;
13 toByteArray(): number[];
14 toNormalizedString(): string;
15 toString(): string;
16 }
17
18 namespace Address {
19 export function fromByteArray(bytes: number[]): IPv4 | IPv6;
20 export function isValid(addr: string): boolean;
21 export function isValidCIDR(addr: string): boolean;
22 export function parse(addr: string): IPv4 | IPv6;
23 export function parseCIDR(mask: string): [IPv4 | IPv6, number];
24 export function process(addr: string): IPv4 | IPv6;
25 export function subnetMatch(addr: IPv4 | IPv6, rangeList: RangeList<IPv4 | IPv6>, defaultName?: string): string;
26
27 export class IPv4 extends IP {
28 static broadcastAddressFromCIDR(addr: string): IPv4;
29 static isIPv4(addr: string): boolean;
30 static isValid(addr: string): boolean;
31 static isValidCIDR(addr: string): boolean;
32 static isValidFourPartDecimal(addr: string): boolean;
33 static isValidCIDRFourPartDecimal(addr: string): boolean;
34 static networkAddressFromCIDR(addr: string): IPv4;
35 static parse(addr: string): IPv4;
36 static parseCIDR(addr: string): [IPv4, number];
37 static subnetMaskFromPrefixLength(prefix: number): IPv4;
38 constructor(octets: number[]);
39 octets: number[]
40
41 kind(): 'ipv4';
42 match(what: IPv4 | IPv6 | [IPv4 | IPv6, number], bits?: number): boolean;
43 range(): IPv4Range;
44 subnetMatch(rangeList: RangeList<IPv4>, defaultName?: string): string;
45 toIPv4MappedAddress(): IPv6;
46 }
47
48 export class IPv6 extends IP {
49 static broadcastAddressFromCIDR(addr: string): IPv6;
50 static isIPv6(addr: string): boolean;
51 static isValid(addr: string): boolean;
52 static isValidCIDR(addr: string): boolean;
53 static networkAddressFromCIDR(addr: string): IPv6;
54 static parse(addr: string): IPv6;
55 static parseCIDR(addr: string): [IPv6, number];
56 static subnetMaskFromPrefixLength(prefix: number): IPv6;
57 constructor(parts: number[]);
58 parts: number[]
59 zoneId?: string
60
61 isIPv4MappedAddress(): boolean;
62 kind(): 'ipv6';
63 match(what: IPv4 | IPv6 | [IPv4 | IPv6, number], bits?: number): boolean;
64 range(): IPv6Range;
65 subnetMatch(rangeList: RangeList<IPv6>, defaultName?: string): string;
66 toIPv4Address(): IPv4;
67 toRFC5952String(): string;
68 }
69 }
70
71 export = Address;
72}
Note: See TracBrowser for help on using the repository browser.