function getAddressClass(addr: string): Address4|Address6 { const address4 = new Address4(addr); if (address4.isValid()) { return address4; } const address6 = new Address6(addr); if (address6.isValid()) { return address6; } throw new Error(`Address ${addr} is neither v4 or v6`); }
constructor(addr: string) { var addr4 = new Address4(addr); if (!addr4.isValid()) { var addr6 = new Address6(addr); if (!addr6.isValid()) { throw new Error('Invalid ip address'); } else { this.addr6 = addr6; } } else { this.addr4 = addr4; } }