All files / projects-dev/libs/games/src/console renderer.ts

100% Statements 32/32
100% Branches 4/4
100% Functions 1/1
100% Lines 32/32

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 331x 1x 1x 1x 1x 1x 1x 20x 20x 20x 20x 20x 20x 20x 20x 20x 20x 20x 20x 20x 2x 1x 1x 1x 1x 2x 2x 2x 18x 18x 20x 1x  
import { currentTime } from "@jga/dates";
 
import { ConsoleRendererInterface } from "./interface";
 
export class HTMLConsoleRenderer implements ConsoleRendererInterface {
    // eslint-disable-next-line class-methods-use-this
    public write(message: string): boolean {
        const element = document.querySelectorAll(".console")[0];
 
        const whenNode = document.createElement("span");
        whenNode.textContent = currentTime();
 
        const messageNode = document.createElement("span");
        messageNode.textContent = ` - ${message}`;
 
        const log = document.createElement("p");
        log.append(whenNode);
        log.append(messageNode);
 
        if (element != undefined) {
            if (element.firstChild) {
                element.insertBefore(log, element.firstChild);
            } else {
                element.append(log);
            }
 
            return true;
        }
 
        return false;
    }
}