source: trip-planner-front/node_modules/@angular-devkit/core/src/logger/logger.js@ 6a80231

Last change on this file since 6a80231 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 3.7 KB
Line 
1"use strict";
2/**
3 * @license
4 * Copyright Google LLC All Rights Reserved.
5 *
6 * Use of this source code is governed by an MIT-style license that can be
7 * found in the LICENSE file at https://angular.io/license
8 */
9Object.defineProperty(exports, "__esModule", { value: true });
10exports.Logger = void 0;
11const rxjs_1 = require("rxjs");
12class Logger extends rxjs_1.Observable {
13 constructor(name, parent = null) {
14 super();
15 this.name = name;
16 this.parent = parent;
17 this._subject = new rxjs_1.Subject();
18 this._obs = rxjs_1.empty();
19 this._subscription = null;
20 const path = [];
21 let p = parent;
22 while (p) {
23 path.push(p.name);
24 p = p.parent;
25 }
26 this._metadata = { name, path };
27 this._observable = this._subject.asObservable();
28 if (this.parent && this.parent._subject) {
29 // When the parent completes, complete us as well.
30 this.parent._subject.subscribe(undefined, undefined, () => this.complete());
31 }
32 }
33 get _observable() {
34 return this._obs;
35 }
36 set _observable(v) {
37 if (this._subscription) {
38 this._subscription.unsubscribe();
39 }
40 this._obs = v;
41 if (this.parent) {
42 this._subscription = this.subscribe((value) => {
43 if (this.parent) {
44 this.parent._subject.next(value);
45 }
46 }, (error) => {
47 if (this.parent) {
48 this.parent._subject.error(error);
49 }
50 }, () => {
51 if (this._subscription) {
52 this._subscription.unsubscribe();
53 }
54 this._subscription = null;
55 });
56 }
57 }
58 asApi() {
59 return {
60 createChild: (name) => this.createChild(name),
61 log: (level, message, metadata) => {
62 return this.log(level, message, metadata);
63 },
64 debug: (message, metadata) => this.debug(message, metadata),
65 info: (message, metadata) => this.info(message, metadata),
66 warn: (message, metadata) => this.warn(message, metadata),
67 error: (message, metadata) => this.error(message, metadata),
68 fatal: (message, metadata) => this.fatal(message, metadata),
69 };
70 }
71 createChild(name) {
72 return new this.constructor(name, this);
73 }
74 complete() {
75 this._subject.complete();
76 }
77 log(level, message, metadata = {}) {
78 const entry = Object.assign({}, metadata, this._metadata, {
79 level,
80 message,
81 timestamp: +Date.now(),
82 });
83 this._subject.next(entry);
84 }
85 next(entry) {
86 this._subject.next(entry);
87 }
88 debug(message, metadata = {}) {
89 return this.log('debug', message, metadata);
90 }
91 info(message, metadata = {}) {
92 return this.log('info', message, metadata);
93 }
94 warn(message, metadata = {}) {
95 return this.log('warn', message, metadata);
96 }
97 error(message, metadata = {}) {
98 return this.log('error', message, metadata);
99 }
100 fatal(message, metadata = {}) {
101 return this.log('fatal', message, metadata);
102 }
103 toString() {
104 return `<Logger(${this.name})>`;
105 }
106 lift(operator) {
107 return this._observable.lift(operator);
108 }
109 subscribe(_observerOrNext, _error, _complete) {
110 // eslint-disable-next-line prefer-spread
111 return this._observable.subscribe.apply(this._observable,
112 // eslint-disable-next-line prefer-rest-params
113 arguments);
114 }
115 forEach(next, PromiseCtor) {
116 return this._observable.forEach(next, PromiseCtor);
117 }
118}
119exports.Logger = Logger;
Note: See TracBrowser for help on using the repository browser.