UNPKG

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!

42 lines (41 loc) 1.4 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Snap = void 0; const snapToString_1 = require("./snapToString"); __exportStar(require("./types"), exports); class Snap { constructor(options) { this._snapToStringMapper = options.snapToStringMapper || snapToString_1.snapToStringDefaultMapperWithSpacing; this._logger = options.logger || console.log.bind(console); this.snapMap = new Map(); } set(key, val) { this.snapMap.set(key, val); return this; } toString({ dateTime }) { return this._snapToStringMapper({ snap: this.snapMap, dateTime }); } log({ dateTime }) { this._logger(this._snapToStringMapper({ snap: this.snapMap, dateTime })); return this; } } exports.Snap = Snap;