All files / lib/domain Address.ts

85.71% Statements 6/7
100% Branches 0/0
75% Functions 3/4
85.71% Lines 6/7

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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42    1x   1x                             171x 171x                     4x       4x            
import { AddressJson } from './AddressJson';
import { AddressType } from './AddressType';
import { NetworkType } from './NetworkType';
 
export abstract class Address {
  /**
   * String notation representation of the host
   */
  public host: string;
 
  /**
   * Port number
   */
  public port: number;
 
  /**
   * Base class representing a network address
   */
  constructor(host: string, port: number) {
    this.host = host;
    this.port = port;
  }
 
  /**
   * Type of connection
   */
  public get type(): AddressType {
    throw new Error('Not implemented');
  }
 
  public toString(): string {
    return `${this.host}:${this.port}`;
  }
 
  public toJSON(): AddressJson {
    return {
      network: NetworkType.TCP,
      address: this.toString(),
    };
  }
}