snaplogger
Version:
A snap per time logger! And notifier! Or snap hooker! Make snap to be taken at interval! And take action on! Can be used for snap logging! Or notifying! Or Snap action!
48 lines (47 loc) • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.valueToStringDefault = exports.snapToStringDefaultOneEntry = exports.snapToStringDefaultMapBody = exports.snapToStringDefaultHeader = exports.snapToStringDefaultMapper = exports.snapToStringDefaultMapperWithSpacing = void 0;
function snapToStringDefaultMapperWithSpacing(data) {
return `\n${snapToStringDefaultMapper(data)}\n`;
}
exports.snapToStringDefaultMapperWithSpacing = snapToStringDefaultMapperWithSpacing;
function snapToStringDefaultMapper(data) {
return `${snapToStringDefaultHeader(data)}\n${snapToStringDefaultMapBody(data)}`;
}
exports.snapToStringDefaultMapper = snapToStringDefaultMapper;
function snapToStringDefaultHeader({ dateTime }) {
let str = 'Snap ';
if (dateTime) {
str += `[at ${new Date(dateTime).toUTCString()}] `;
}
str += ':';
return str;
}
exports.snapToStringDefaultHeader = snapToStringDefaultHeader;
function snapToStringDefaultMapBody({ snap }) {
let str = '';
for (const [key, value] of snap.entries()) {
str += `${snapToStringDefaultOneEntry({ key, value })}\n`;
}
return str;
}
exports.snapToStringDefaultMapBody = snapToStringDefaultMapBody;
function snapToStringDefaultOneEntry({ key, value }) {
let str = `${key}:`;
if (value instanceof Object) {
str += '\n=====\n';
str += JSON.stringify(value, null, 4);
}
else {
str += ` ${String(value)}`;
}
return str;
}
exports.snapToStringDefaultOneEntry = snapToStringDefaultOneEntry;
function valueToStringDefault(val) {
if (val instanceof Object) {
return JSON.stringify(val, null, 4);
}
return String(val);
}
exports.valueToStringDefault = valueToStringDefault;