All files / lib/serialize/address serializeAddress.ts

72.73% Statements 8/11
25% Branches 1/4
100% Functions 1/1
72.73% Lines 8/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24  1x 1x 1x 1x 1x           1x 78x   78x                  
import { Address } from '../../domain/Address';
import { AddressType } from '../../domain/AddressType';
import { serializeIPv4 } from './serializeIPv4';
import { serializeIPv6 } from './serializeIPv6';
import { serializeTor2 } from './serializeTor2';
import { serializeTor3 } from './serializeTor3';
 
/**
 * Serializes an address into a Buffer that can be transmitted
 * over the wire
 */
export function serializeAddress(address: Address): Buffer {
  switch (address.type) {
    case AddressType.IPv4:
      return serializeIPv4(address);
    case AddressType.IPv6:
      return serializeIPv6(address);
    case AddressType.TOR2:
      return serializeTor2(address);
    case AddressType.TOR3:
      return serializeTor3(address);
  }
}