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                             518x 518x                     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() {
        return `${this.host}:${this.port}`;
    }
 
    public toJSON(): AddressJson {
        return {
            network: NetworkType.TCP,
            address: this.toString(),
        };
    }
}