UNPKG

@tableau/taco-toolkit

Version:
80 lines 5.44 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.HttpWriter = exports.DEFAULT_BATCH_INTERVAL = void 0; var ajax_1 = require("../../app-transport/ajax"); var writer_1 = require("./writer"); exports.DEFAULT_BATCH_INTERVAL = 3000; var HttpWriter = /** @class */ (function (_super) { __extends(HttpWriter, _super); function HttpWriter(config) { var _this = this; var _a, _b, _c; _this = _super.call(this, config) || this; _this.logEntryQueue = []; _this.batch = (_a = config.batch) !== null && _a !== void 0 ? _a : false; _this.endpoint = config.endpoint; _this.headers = (_b = config.headers) !== null && _b !== void 0 ? _b : {}; _this.batchInterval = (_c = config.batchInterval) !== null && _c !== void 0 ? _c : exports.DEFAULT_BATCH_INTERVAL; return _this; } HttpWriter.prototype.log = function (message, level) { if (!this.isLoggable(level)) { return; } var logEntry = { message: message, level: level, timestamp: Date.now(), }; if (this.batch) { this.doBatch(logEntry); } else { this.emitLogs([logEntry]); } }; HttpWriter.prototype.flush = function () { if (this.batchTimeoutId) { clearTimeout(this.batchTimeoutId); this.batchTimeoutId = undefined; } var entriesToFlush = this.logEntryQueue.slice(); this.logEntryQueue = []; this.emitLogs(entriesToFlush); }; HttpWriter.prototype.doBatch = function (logEntry) { var _this = this; this.logEntryQueue.push(logEntry); if (this.logEntryQueue.length === 1) { // starting timer when the first log is enqueued this.batchTimeoutId = setTimeout(function () { _this.flush(); }, this.batchInterval); } }; HttpWriter.prototype.emitLogs = function (logs) { (0, ajax_1.post)(this.endpoint, logs, { headers: this.headers, }).catch(function (error) { console.error('Failed to send logs to server', error); }); }; return HttpWriter; }(writer_1.BatchableWriter)); exports.HttpWriter = HttpWriter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbG9nZ2VyL3dyaXRlci9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUErQztBQUkvQyxtQ0FBd0Q7QUFhM0MsUUFBQSxzQkFBc0IsR0FBRyxJQUFJLENBQUE7QUFFMUM7SUFBZ0MsOEJBQWU7SUFTN0Msb0JBQVksTUFBd0I7UUFBcEMsaUJBTUM7O2dCQUxDLGtCQUFNLE1BQU0sQ0FBQztRQUxQLG1CQUFhLEdBQWUsRUFBRSxDQUFBO1FBTXBDLEtBQUksQ0FBQyxLQUFLLEdBQUcsTUFBQSxNQUFNLENBQUMsS0FBSyxtQ0FBSSxLQUFLLENBQUE7UUFDbEMsS0FBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFBO1FBQy9CLEtBQUksQ0FBQyxPQUFPLEdBQUcsTUFBQSxNQUFNLENBQUMsT0FBTyxtQ0FBSSxFQUFFLENBQUE7UUFDbkMsS0FBSSxDQUFDLGFBQWEsR0FBRyxNQUFBLE1BQU0sQ0FBQyxhQUFhLG1DQUFJLDhCQUFzQixDQUFBOztJQUNyRSxDQUFDO0lBRUQsd0JBQUcsR0FBSCxVQUFJLE9BQWUsRUFBRSxLQUFlO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU07U0FDUDtRQUVELElBQU0sUUFBUSxHQUFhO1lBQ3pCLE9BQU8sU0FBQTtZQUNQLEtBQUssT0FBQTtZQUNMLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1NBQ3RCLENBQUE7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1NBQ3ZCO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtTQUMxQjtJQUNILENBQUM7SUFFRCwwQkFBSyxHQUFMO1FBQ0UsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUE7U0FDaEM7UUFFRCxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUVPLDRCQUFPLEdBQWYsVUFBZ0IsUUFBa0I7UUFBbEMsaUJBUUM7UUFQQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNqQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuQyxnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUM7Z0JBQy9CLEtBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUNkLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7U0FDdkI7SUFDSCxDQUFDO0lBRU8sNkJBQVEsR0FBaEIsVUFBaUIsSUFBZ0I7UUFDL0IsSUFBQSxXQUFJLEVBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDeEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBQyxLQUFLO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDSCxpQkFBQztBQUFELENBQUMsQUEvREQsQ0FBZ0Msd0JBQWUsR0ErRDlDO0FBL0RZLGdDQUFVIn0=