| import { Address4 } from './ipv4'; |
| import { Address6 } from './ipv6'; |
| |
| export interface ReverseFormOptions { |
| omitSuffix?: boolean; |
| } |
| |
| export function isInSubnet(this: Address4 | Address6, address: Address4 | Address6) { |
| if (this.subnetMask < address.subnetMask) { |
| return false; |
| } |
| |
| if (this.mask(address.subnetMask) === address.mask()) { |
| return true; |
| } |
| |
| return false; |
| } |
| |
| export function isCorrect(defaultBits: number) { |
| return function (this: Address4 | Address6) { |
| if (this.addressMinusSuffix !== this.correctForm()) { |
| return false; |
| } |
| |
| if (this.subnetMask === defaultBits && !this.parsedSubnet) { |
| return true; |
| } |
| |
| return this.parsedSubnet === String(this.subnetMask); |
| }; |
| } |