UNPKG

rpi-io

Version:

Nodejs module to control Raspberry Pi GPIO

59 lines (55 loc) 1.96 kB
// ------------------------------------------------------------------- // RPi GPIO CONTROL - DEV TOOLS // ------------------------------------------------------------------- let debug = { log: false, trap: true } // ------------------------------------------------------------------- // FUNCTIONS /** ------------------------------------------------------------------ * @function now * @description Return timestamp as formatted string * @return {String} */ export const now = () => { const date = new Date() return date.toLocaleTimeString() + "." + date.getMilliseconds().toLocaleString('en', { minimumIntegerDigits: 3, minimumFractionDigits: 0, useGrouping: false }) } /** ------------------------------------------------------------------ * @function log * @description Global customized timestamped console.log * Requires global variable 'debug' */ export const log = function () { if (debug.log) console.log.apply(console, Array.prototype.concat.apply([now(), "🔎 "], arguments)) } /** ------------------------------------------------------------------ * @function trap * @description Colored log for error messages ⚠️ nodejs only ~ CSS color #F50 */ export const trap = function () { if (debug.trap) console.log.apply(console, Array.prototype.concat.apply([now(), "⚠️", "\x1b[38;2;255;80;0m", ...arguments, "\x1b[0m"])) } /** ------------------------------------------------------------------ * @function cfgLog * @description Set log configuration * @param {Number} level 0: no log, 1: trap only, 2: trap and log */ export const cfgLog = level => { debug = { log: false, trap: false } level > 1 ? debug.log = true : false level > 0 ? debug.trap = true : false } // ------------------------------------------------------------------- // EoF // -------------------------------------------------------------------