This repository has been archived on 2026-03-06. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw-extensions/wecom/node_modules/@homebridge/ciao/lib/util/v4mapped.js
T

25 lines
1.0 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isIPv4Mapped = isIPv4Mapped;
exports.getIPFromV4Mapped = getIPFromV4Mapped;
/**
* Test for the presence of an IPv4-mapped address embedded in an IPv6 address.
*
* @param address - IPv6 address
* @returns true if it is an IPv4-mapped address, false otherwise.
*/
function isIPv4Mapped(address) {
var _a;
if (!/^::ffff:(\d{1,3}\.){3}\d{1,3}$/i.test(address)) {
return false;
}
// Split the address apart into it's components and test for validity.
const parts = (_a = address.split(/::ffff:/i)[1]) === null || _a === void 0 ? void 0 : _a.split(".").map(Number);
return (parts === null || parts === void 0 ? void 0 : parts.length) === 4 && parts.every(part => part >= 0 && part <= 255);
}
function getIPFromV4Mapped(address) {
var _a;
// Split the address apart into it's components and test for validity.
return (_a = address.split(/^::ffff:/i)[1]) !== null && _a !== void 0 ? _a : null;
}
//# sourceMappingURL=v4mapped.js.map