all files / src/Actions/ Action.js

93.75% Statements 30/32
83.33% Branches 15/18
85.71% Functions 6/7
93.75% Lines 30/32
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 59 60 61 62 63      235×     94× 94× 85× 85×   85× 85× 85×     94×     97× 44×   97× 97× 91×   97× 97× 20×   97× 97×     57× 57×                         15×         63×    
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class Action {
    constructor(optimization) {
        this.optimization = optimization;
    }
    positionString(sourcePosition = this.sourcePosition, includeFilename = true) {
        let posStr = "";
        if (sourcePosition && sourcePosition.line > 0) {
            Eif (includeFilename && sourcePosition.filename) {
                posStr += sourcePosition.filename + ":";
            }
            posStr += sourcePosition.line;
            Eif (sourcePosition.column) {
                posStr += ":" + sourcePosition.column;
            }
        }
        return posStr;
    }
    annotateLogMessage(message, sourcePosition, indent = 0) {
        if (sourcePosition === undefined) {
            sourcePosition = this.sourcePosition;
        }
        let annotated = "";
        if (sourcePosition) {
            annotated += this.positionString(sourcePosition) + " ";
        }
        let indentation = "";
        for (let i = 0; i < indent; i++) {
            indentation += "  ";
        }
        annotated += `[${this.optimization}] ${indentation}${message}`;
        return annotated;
    }
    nodeSourcePosition(node) {
        Eif (node.source && node.source.start) {
            return {
                filename: node.source.input.file,
                line: node.source.start.line,
                column: node.source.start.column,
            };
        }
        else {
            return undefined;
        }
    }
}
exports.Action = Action;
class MultiAction extends Action {
    logString() {
        return this.logStrings().join("\n");
    }
}
exports.MultiAction = MultiAction;
function isMultiAction(action) {
    return action instanceof MultiAction;
}
exports.isMultiAction = isMultiAction;
function stripNL(str) {
    return str.replace(/[\r\n\s]+/gm, " ");
}
exports.stripNL = stripNL;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0FjdGlvbnMvQWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBV0E7SUFNRSxZQUFZLFlBQWlDO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxjQUFjLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsZUFBZSxHQUFHLElBQUk7UUFDekUsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksY0FBYyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQzdDLElBQUksZUFBZSxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzlDLE1BQU0sSUFBSSxjQUFjLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQzthQUN6QztZQUNELE1BQU0sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQzlCLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRTtnQkFDekIsTUFBTSxJQUFJLEdBQUcsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO2FBQ3ZDO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBZSxFQUFFLGNBQXNDLEVBQUUsTUFBTSxHQUFHLENBQUM7UUFDcEYsSUFBSSxjQUFjLEtBQUssU0FBUyxFQUFFO1lBQ2hDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksY0FBYyxFQUFFO1lBQ2xCLFNBQVMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUN4RDtRQUNELElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9CLFdBQVcsSUFBSSxJQUFJLENBQUM7U0FDckI7UUFDRCxTQUFTLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUMvRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBa0I7UUFDbkMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ3BDLE9BQU87Z0JBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJO2dCQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTTthQUNqQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztDQUNGO0FBbkRELHdCQW1EQztBQUVELGlCQUFrQyxTQUFRLE1BQU07SUFDOUMsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBRUY7QUFMRCxrQ0FLQztBQUVELHVCQUE4QixNQUFjO0lBQzFDLE9BQU8sTUFBTSxZQUFZLFdBQVcsQ0FBQztBQUN2QyxDQUFDO0FBRkQsc0NBRUM7QUFFRCxpQkFBd0IsR0FBVztJQUNqQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFGRCwwQkFFQyJ9