All files / libs/games/src/console renderer.ts

100% Statements 16/16
100% Branches 3/3
100% Functions 1/1
100% Lines 16/16

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 3250x       50x   5x   5x 5x   5x 5x   5x 5x 5x   5x 2x 1x   1x     2x     3x      
import { currentTime } from "@jga/dates";
 
import { ConsoleRendererInterface } from "./interface";
 
export class HTMLConsoleRenderer implements ConsoleRendererInterface {
    public write(message: string): boolean {
        const element = document.getElementsByClassName("console")[0];
 
        const whenNode = document.createElement("span");
        whenNode.textContent = currentTime();
 
        const msgNode = document.createElement("span");
        msgNode.textContent = ` - ${message}`;
 
        const log = document.createElement("p");
        log.appendChild(whenNode);
        log.appendChild(msgNode);
 
        if (null != element) {
            if (element.firstChild) {
                element.insertBefore(log, element.firstChild);
            } else {
                element.appendChild(log);
            }
 
            return true;
        }
 
        return false;
    }
}