aboutsummaryrefslogtreecommitdiff
/**
 * The entire purpose of this function is for use to debug values inline
 * without changing the flow of the code too much.
 *
 * This **MUST** be a non-arrow function to allow access to the `arguments`
 * object.
 *
 * This function expects at least one argument.
 *
 * If more than one argument is provided, then:
 * a) the last argument is considered the value, and will be returned
 * b) all other arguments will be converted to string and output
 *
 * If only one argument is provided, it is considered the value, and will be
 * returned.
 *
 * Zero arguments is an error condition.
 **/
function __pk__(val) {
    /* Handle zero arguments */
    if (arguments.length < 1) {
        throw new Error("Invalid arguments: Expected at least one argument.");
    }

    msg = "/********** DEBUG **********/";
    if (arguments.length > 1) {
        msg = Array.from(
            arguments
        ).slice(
            0,
            arguments.length - 1
        ).map((val) => {
            return String(val);
        }).join("; ")
    }

    value = arguments[arguments.length - 1];
    console.debug("/********** " + msg + " **********/", value);
    return value;
}