pmcf
Version:
Poor mans configuration management
68 lines (53 loc) • 1.32 kB
JavaScript
import { SUBNET_LOCALHOST_IPV4, SUBNET_LOCALHOST_IPV6 } from "pmcf";
import { SkeletonNetworkInterface } from "./skeleton.mjs";
import { NetworkInterfaceTypeDefinition } from "./network-interface.mjs";
import { addType } from "../types.mjs";
const LoopbackNetworkInterfaceTypeDefinition = {
name: "loopback",
specializationOf: NetworkInterfaceTypeDefinition,
owners: NetworkInterfaceTypeDefinition.owners,
extends: NetworkInterfaceTypeDefinition,
priority: 0.1,
attributes: {}
};
const _localAddresses = new Map([
["127.0.0.1", SUBNET_LOCALHOST_IPV4],
["::1", SUBNET_LOCALHOST_IPV6]
]);
const _localDomains = new Set(["localhost"]);
export class LoopbackNetworkInterface extends SkeletonNetworkInterface {
static {
addType(this);
}
static get typeDefinition() {
return LoopbackNetworkInterfaceTypeDefinition;
}
static isCommonName(name)
{
return name.match(/lo\d+$/);
}
get kind() {
return LoopbackNetworkInterfaceTypeDefinition.name;
}
set scope(v) {}
get scope() {
return "host";
}
get localDomains() {
return _localDomains;
}
get domainNames() {
return _localDomains;
}
get hostName() {
return "localhost";
}
get ipAddresses() {
return _localAddresses;
}
set mtu(v) {}
get mtu()
{
return 16436;
}
}