netkitty
Version:
Network tools kit
29 lines (28 loc) • 808 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IPv4ToBuffer = IPv4ToBuffer;
exports.IPv6ToBuffer = IPv6ToBuffer;
const ip_address_1 = require("ip-address");
const NumberToBuffer_1 = require("./NumberToBuffer");
/**
* Convert IPv4 string to Buffer
* @param ipv4
* @constructor
*/
function IPv4ToBuffer(ipv4) {
const numArr = ipv4.split('.').map((value) => parseInt(value)).map((value) => value ? value : 0);
return (0, NumberToBuffer_1.UInt32ToBuffer)(parseInt(Buffer.from(numArr).toString('hex'), 16));
}
/**
* Convert IPv6 string to Buffer
* @param ipv6
* @constructor
*/
function IPv6ToBuffer(ipv6) {
try {
return Buffer.from(new ip_address_1.Address6(ipv6).toByteArray());
}
catch (e) {
return Buffer.alloc(16, 0);
}
}