UNPKG

angular-l10n

Version:

An Angular library to translate messages, dates and numbers

59 lines 1.67 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Injectable, Inject } from "@angular/core"; import { ReplaySubject } from "rxjs"; import { L10N_CONFIG } from "./l10n-config"; import { LogLevel, LOG_MESSAGES } from "./types"; export class Logger { /** * @param {?} configuration */ constructor(configuration) { this.configuration = configuration; Logger.level = this.configuration.logger.level || LogLevel.Off; if (Logger.level != LogLevel.Off) { Logger.buffer.subscribe((log) => { this.send(log); }); } } /** * @param {?} name * @param {?} message * @return {?} */ static log(name, message) { if (Logger.level == LogLevel.Off) return; Logger.buffer.next({ name: name, message: message }); } /** * @param {?} log * @return {?} */ send(log) { /** @type {?} */ const message = `angular-l10n (${log.name}): ${LOG_MESSAGES[log.message]}`; ((/** @type {?} */ (console)))[(/** @type {?} */ (Logger.level))](message); } } Logger.level = null; Logger.buffer = new ReplaySubject(); Logger.decorators = [ { type: Injectable } ]; /** @nocollapse */ Logger.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: [L10N_CONFIG,] }] } ]; if (false) { /** @type {?} */ Logger.level; /** @type {?} */ Logger.buffer; /** @type {?} */ Logger.prototype.configuration; } //# sourceMappingURL=logger.js.map