All files / Scripts/row ReceivedRow.ts

100% Statements 30/30
100% Branches 10/10
100% Functions 3/3
100% Lines 28/28

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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 595x 5x   5x   74x 74x 74x 74x 74x 74x 74x 74x 74x 74x 74x 74x 74x                                   134x 2x     132x 132x   131x 127x       15x 15x 195x 195x 85x       15x      
import { mhaStrings } from "../mhaStrings";
import { ReceivedField } from "./ReceivedField";
 
export class ReceivedRow {
    constructor(receivedHeader: string | null) {
        this.sourceHeader = new ReceivedField("", receivedHeader);
        this.hop = new ReceivedField(mhaStrings.mhaReceivedHop);
        this.from = new ReceivedField(mhaStrings.mhaReceivedFrom);
        this.by = new ReceivedField(mhaStrings.mhaReceivedBy);
        this.with = new ReceivedField(mhaStrings.mhaReceivedWith);
        this.id = new ReceivedField(mhaStrings.mhaReceivedId);
        this.for = new ReceivedField(mhaStrings.mhaReceivedFor);
        this.via = new ReceivedField(mhaStrings.mhaReceivedVia);
        this.date = new ReceivedField(mhaStrings.mhaReceivedDate);
        this.delay = new ReceivedField(mhaStrings.mhaReceivedDelay);
        this.percent = new ReceivedField(mhaStrings.mhaReceivedPercent, 0);
        this.delaySort = new ReceivedField("", -1);
        this.dateNum = new ReceivedField("");
    }
    [index: string]: ReceivedField | ((fieldName: string, fieldValue: string) => void) | (() => string);
    sourceHeader: ReceivedField;
    hop: ReceivedField;
    from: ReceivedField;
    by: ReceivedField;
    with: ReceivedField;
    id: ReceivedField;
    for: ReceivedField;
    via: ReceivedField;
    date: ReceivedField;
    delay: ReceivedField;
    percent: ReceivedField;
    delaySort: ReceivedField;
    dateNum: ReceivedField;
 
    setField(fieldName: string, fieldValue: string) {
        if (!fieldName || !fieldValue) {
            return;
        }
 
        const field = this[fieldName.toLowerCase()] as unknown as ReceivedField;
        if (!field) return;
 
        if (field.value) { field.value += "; " + fieldValue; }
        else { field.value = fieldValue; }
    }
 
    toString(): string {
        const str: string[] = [];
        for (const key in this) {
            const field = this[key] as ReceivedField;
            if (field && field.label && field.toString()) {
                str.push(field.label + ": " + field.toString());
            }
        }
 
        return str.join("\n");
    }
}