ip-utilties 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/ip.mjs +11 -0
- package/types/ip.d.mts +6 -0
package/package.json
CHANGED
package/src/ip.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const ipv4 = {
|
|
2
|
+
name: "IPv4",
|
|
2
3
|
factory: Uint8Array,
|
|
3
4
|
normalize(address) {
|
|
4
5
|
return address;
|
|
@@ -12,6 +13,7 @@ const ipv4 = {
|
|
|
12
13
|
};
|
|
13
14
|
|
|
14
15
|
const ipv6 = {
|
|
16
|
+
name: "IPv6",
|
|
15
17
|
factory: Uint16Array,
|
|
16
18
|
normalize(address) {
|
|
17
19
|
const parts = address.split(":");
|
|
@@ -140,6 +142,15 @@ export function isIPv6(address) {
|
|
|
140
142
|
return _is(ipv6, address);
|
|
141
143
|
}
|
|
142
144
|
|
|
145
|
+
/**
|
|
146
|
+
* IP address family for a given address.
|
|
147
|
+
* @param {string|Uint8Array|Uint16Array} address
|
|
148
|
+
* @return {string|undefined}
|
|
149
|
+
*/
|
|
150
|
+
export function familyIP(address) {
|
|
151
|
+
return _family(address)?.name
|
|
152
|
+
}
|
|
153
|
+
|
|
143
154
|
function _family(address) {
|
|
144
155
|
return [ipv4, ipv6].find(d => _is(d, address));
|
|
145
156
|
}
|
package/types/ip.d.mts
CHANGED
|
@@ -6,6 +6,12 @@ export function decodeIPv4(address: any, length: any): string;
|
|
|
6
6
|
export function decodeIP(address: any, length: any): string;
|
|
7
7
|
export function isIPv4(address: any): boolean;
|
|
8
8
|
export function isIPv6(address: any): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* IP address family for a given address.
|
|
11
|
+
* @param {string|Uint8Array|Uint16Array} address
|
|
12
|
+
* @return {string|undefined}
|
|
13
|
+
*/
|
|
14
|
+
export function familyIP(address: string | Uint8Array | Uint16Array): string | undefined;
|
|
9
15
|
export function asBigInt(address: any): any;
|
|
10
16
|
export function prefixIP(address: any, length: any): string;
|
|
11
17
|
export function rangeIP(address: any, prefix: any, lowerAdd?: number, upperReduce?: number): any[];
|