UNPKG

baqend

Version:

Baqend JavaScript SDK

178 lines 11.8 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = void 0; var msg = __importStar(require("../message")); /** * A Logger to store log notes when running the app. */ var Logger = /** @class */ (function () { function Logger() { this.entityManager = null; this.levelIndex = 2; } /** * Creates a Logger instance for the given EntityManager * @param entityManager - Theo owning entityManager * @return The created logger instance */ Logger.create = function (entityManager) { var proto = this.prototype; var logger = (function () { function LoggerFunction() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } proto.log.apply(LoggerFunction, args); } Object.getOwnPropertyNames(proto).forEach(function (key) { Object.defineProperty(LoggerFunction, key, Object.getOwnPropertyDescriptor(proto, key)); }); return LoggerFunction; })(); logger.init(entityManager); return logger; }; Object.defineProperty(Logger.prototype, "level", { /** * The log level which will be logged * * The log level can be one of 'trace', 'debug', 'info', 'warn', 'error' * @type string */ get: function () { return Logger.LEVELS[this.levelIndex]; }, /** * Sets the log level which will be logged * @param value */ set: function (value) { var index = Logger.LEVELS.indexOf(value); if (index === -1) { throw new Error("Unknown logging level ".concat(value)); } this.levelIndex = index; }, enumerable: false, configurable: true }); Logger.prototype.log = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var level = Logger.LEVELS.indexOf(args[0]) === -1 ? 'info' : args.shift(); if (this.levelIndex > Logger.LEVELS.indexOf(level)) { return Promise.resolve(null); } var message = typeof args[0] === 'string' ? this.format(args.shift(), args) : '[no message]'; var data = null; if (args.length) { var arg = args.pop(); data = arg; if (typeof arg !== 'object' || Array.isArray(arg)) { data = { data: arg }; } if (arg instanceof Error) { // errors aren't loggable by default, since they do not have any visible property var // @ts-ignore stack = arg.stack, data1 = arg.data, message1 = arg.message, name_1 = arg.name, status_1 = arg.status; data = { name: name_1, message: message1, stack: stack, status: status_1, data: data1, }; } } if (args.length) { message += ", ".concat(args.join(', ')); } return this.logJSON(__assign({ date: new Date().toISOString(), message: message, level: level, data: data }, (this.entityManager.me && { user: this.entityManager.me.id }))); }; Logger.prototype.format = function (message, args) { if (args.length === 0) { return message; } var str = String(message).replace(Logger.FORMAT_REGEXP, function (x) { if (x === '%%') { return '%'; } if (!args.length) { return x; } switch (x) { case '%s': return String(args.shift()); case '%d': return String(Number(args.shift())); case '%j': try { return JSON.stringify(args.shift()); } catch (_) { return '[Circular]'; } default: return x; } }); return str; }; Logger.prototype.init = function (entityManager) { var _this = this; this.entityManager = entityManager; this.levelIndex = 2; Logger.LEVELS.forEach(function (level) { _this[level] = _this.log.bind(_this, level); }); }; Logger.prototype.logJSON = function (json) { if (!this.entityManager.isReady) { return this.entityManager.ready(this.logJSON.bind(this, json)); } return this.entityManager.send(new msg.CreateObject('logs.AppLog', json)); }; Logger.LEVELS = ['trace', 'debug', 'info', 'warn', 'error']; Logger.FORMAT_REGEXP = /%[sdj%]/g; return Logger; }()); exports.Logger = Logger; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2ludGVyc2VjdGlvbi9Mb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUFrQztBQU1sQzs7R0FFRztBQUNIO0lBQUE7UUFLUyxrQkFBYSxHQUFrQixJQUFXLENBQUM7UUFFM0MsZUFBVSxHQUFXLENBQUMsQ0FBQztJQWtNaEMsQ0FBQztJQWhNQzs7OztPQUlHO0lBQ0ksYUFBTSxHQUFiLFVBQWMsYUFBNEI7UUFDeEMsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUU3QixJQUFNLE1BQU0sR0FBRyxDQUFDO1lBQ2QsU0FBUyxjQUFjO2dCQUFDLGNBQWM7cUJBQWQsVUFBYyxFQUFkLHFCQUFjLEVBQWQsSUFBYztvQkFBZCx5QkFBYzs7Z0JBQ3BDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxJQUFXLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEdBQUc7Z0JBQzVDLE1BQU0sQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBRSxDQUFDLENBQUM7WUFDM0YsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLGNBQStCLENBQUM7UUFDekMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVMLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFM0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQVFELHNCQUFJLHlCQUFLO1FBTlQ7Ozs7O1dBS0c7YUFDSDtZQUNFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7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