ng2-logger 8.0.18 → 8.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/app.d.ts +8 -0
  2. package/app.js +60 -0
  3. package/app.js.map +1 -0
  4. package/browser/README.md +24 -0
  5. package/browser/esm2020/lib/backend-logging.mjs +13 -0
  6. package/browser/esm2020/lib/display.mjs +76 -0
  7. package/browser/esm2020/lib/helpers.mjs +2 -0
  8. package/browser/esm2020/lib/index.mjs +6 -0
  9. package/browser/esm2020/lib/level.mjs +22 -0
  10. package/browser/esm2020/lib/log.mjs +144 -0
  11. package/browser/esm2020/lib/logger.mjs +157 -0
  12. package/browser/esm2020/ng2-logger.mjs +5 -0
  13. package/browser/esm2020/public-api.mjs +2 -0
  14. package/browser/fesm2015/ng2-logger.mjs +400 -0
  15. package/browser/fesm2015/ng2-logger.mjs.map +1 -0
  16. package/browser/fesm2020/ng2-logger.mjs +400 -0
  17. package/browser/fesm2020/ng2-logger.mjs.map +1 -0
  18. package/browser/lib/backend-logging.d.ts +4 -0
  19. package/browser/{display.d.ts → lib/display.d.ts} +0 -0
  20. package/browser/{helpers.d.ts → lib/helpers.d.ts} +0 -0
  21. package/browser/{index.d.ts → lib/index.d.ts} +0 -0
  22. package/browser/{level.d.ts → lib/level.d.ts} +0 -0
  23. package/browser/{log.d.ts → lib/log.d.ts} +0 -0
  24. package/browser/{logger.d.ts → lib/logger.d.ts} +0 -0
  25. package/browser/ng2-logger.d.ts +5 -0
  26. package/browser/package.json +31 -0
  27. package/browser/public-api.d.ts +1 -3
  28. package/client/README.md +24 -0
  29. package/client/esm2020/lib/backend-logging.mjs +13 -0
  30. package/client/esm2020/lib/display.mjs +76 -0
  31. package/client/esm2020/lib/helpers.mjs +2 -0
  32. package/client/esm2020/lib/index.mjs +6 -0
  33. package/client/esm2020/lib/level.mjs +22 -0
  34. package/client/esm2020/lib/log.mjs +144 -0
  35. package/client/esm2020/lib/logger.mjs +157 -0
  36. package/client/esm2020/ng2-logger.mjs +5 -0
  37. package/client/esm2020/public-api.mjs +2 -0
  38. package/client/fesm2015/ng2-logger.mjs +400 -0
  39. package/client/fesm2015/ng2-logger.mjs.map +1 -0
  40. package/client/fesm2020/ng2-logger.mjs +400 -0
  41. package/client/fesm2020/ng2-logger.mjs.map +1 -0
  42. package/client/lib/backend-logging.d.ts +4 -0
  43. package/client/{display.d.ts → lib/display.d.ts} +0 -0
  44. package/client/{helpers.d.ts → lib/helpers.d.ts} +0 -0
  45. package/client/{index.d.ts → lib/index.d.ts} +0 -0
  46. package/client/{level.d.ts → lib/level.d.ts} +0 -0
  47. package/client/{log.d.ts → lib/log.d.ts} +0 -0
  48. package/client/{logger.d.ts → lib/logger.d.ts} +0 -0
  49. package/client/ng2-logger.d.ts +5 -0
  50. package/client/package.json +25 -34
  51. package/client/public-api.d.ts +1 -3
  52. package/index.d.ts +1 -5
  53. package/index.js +3 -6
  54. package/index.js.map +1 -1
  55. package/{backend-logging.d.ts → lib/backend-logging.d.ts} +1 -1
  56. package/{backend-logging.js → lib/backend-logging.js} +3 -2
  57. package/lib/backend-logging.js.map +1 -0
  58. package/{browser → lib}/client.d.ts +0 -0
  59. package/lib/client.js +6 -0
  60. package/lib/client.js.map +1 -0
  61. package/{display.d.ts → lib/display.d.ts} +0 -0
  62. package/{display.js → lib/display.js} +5 -3
  63. package/lib/display.js.map +1 -0
  64. package/{helpers.d.ts → lib/helpers.d.ts} +0 -0
  65. package/{helpers.js → lib/helpers.js} +2 -1
  66. package/lib/helpers.js.map +1 -0
  67. package/{browser/index.js → lib/index.d.ts} +0 -1
  68. package/lib/index.js +10 -0
  69. package/lib/index.js.map +1 -0
  70. package/{level.d.ts → lib/level.d.ts} +0 -0
  71. package/{level.js → lib/level.js} +2 -1
  72. package/lib/level.js.map +1 -0
  73. package/{log.d.ts → lib/log.d.ts} +0 -0
  74. package/{log.js → lib/log.js} +10 -2
  75. package/lib/log.js.map +1 -0
  76. package/{logger.d.ts → lib/logger.d.ts} +0 -0
  77. package/{logger.js → lib/logger.js} +18 -13
  78. package/lib/logger.js.map +1 -0
  79. package/package.json +7 -7
  80. package/package.json_devDependencies.json +55 -103
  81. package/package.json_tnp.json +4 -3
  82. package/package.json_tnp.json5 +54 -0
  83. package/tmp-environment.json +66 -116
  84. package/backend-logging.js.map +0 -1
  85. package/browser/backend-logging.d.ts +0 -4
  86. package/browser/backend-logging.js +0 -13
  87. package/browser/backend-logging.js.map +0 -1
  88. package/browser/client.js +0 -2
  89. package/browser/client.js.map +0 -1
  90. package/browser/display.js +0 -75
  91. package/browser/display.js.map +0 -1
  92. package/browser/helpers.js +0 -2
  93. package/browser/helpers.js.map +0 -1
  94. package/browser/index.js.map +0 -1
  95. package/browser/level.js +0 -22
  96. package/browser/level.js.map +0 -1
  97. package/browser/log.js +0 -137
  98. package/browser/log.js.map +0 -1
  99. package/browser/logger.js +0 -153
  100. package/browser/logger.js.map +0 -1
  101. package/browser/public-api.js +0 -4
  102. package/browser/public-api.js.map +0 -1
  103. package/client/backend-logging.d.ts +0 -4
  104. package/client/backend-logging.js +0 -13
  105. package/client/backend-logging.js.map +0 -1
  106. package/client/client.d.ts +0 -1
  107. package/client/client.js +0 -2
  108. package/client/client.js.map +0 -1
  109. package/client/display.js +0 -75
  110. package/client/display.js.map +0 -1
  111. package/client/helpers.js +0 -2
  112. package/client/helpers.js.map +0 -1
  113. package/client/index.js +0 -6
  114. package/client/index.js.map +0 -1
  115. package/client/level.js +0 -22
  116. package/client/level.js.map +0 -1
  117. package/client/log.js +0 -137
  118. package/client/log.js.map +0 -1
  119. package/client/logger.js +0 -153
  120. package/client/logger.js.map +0 -1
  121. package/client/public-api.js +0 -4
  122. package/client/public-api.js.map +0 -1
  123. package/client.d.ts +0 -1
  124. package/client.js +0 -5
  125. package/client.js.map +0 -1
  126. package/display.js.map +0 -1
  127. package/helpers.js.map +0 -1
  128. package/level.js.map +0 -1
  129. package/log.js.map +0 -1
  130. package/logger.js.map +0 -1
  131. package/public-api.d.ts +0 -3
  132. package/public-api.js +0 -7
  133. package/public-api.js.map +0 -1
package/app.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export declare class AppComponent {
2
+ processes: any[];
3
+ ngOnInit(): Promise<void>;
4
+ }
5
+ export declare class Ng2LoggerModule {
6
+ }
7
+ declare function startBackend(): Promise<void>;
8
+ export default startBackend;
package/app.js ADDED
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Ng2LoggerModule = exports.AppComponent = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var core_1 = require("@angular/core");
6
+ var platform_browser_1 = require("@angular/platform-browser");
7
+ var lib_1 = require("./lib");
8
+ var log = lib_1.Log.create('my logger!');
9
+ var AppComponent = /** @class */ (function () {
10
+ function AppComponent() {
11
+ this.processes = [];
12
+ }
13
+ AppComponent.prototype.ngOnInit = function () {
14
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
15
+ return (0, tslib_1.__generator)(this, function (_a) {
16
+ // const processes = await PROCESS.getAll();
17
+ log.d("hello from loger");
18
+ return [2 /*return*/];
19
+ });
20
+ });
21
+ };
22
+ AppComponent = (0, tslib_1.__decorate)([
23
+ (0, core_1.Component)({
24
+ selector: 'app-ng2-logger',
25
+ template: ' <h1> Hello from component! </h1> ',
26
+ })
27
+ ], AppComponent);
28
+ return AppComponent;
29
+ }());
30
+ exports.AppComponent = AppComponent;
31
+ var Ng2LoggerModule = /** @class */ (function () {
32
+ function Ng2LoggerModule() {
33
+ }
34
+ Ng2LoggerModule = (0, tslib_1.__decorate)([
35
+ (0, core_1.NgModule)({
36
+ imports: [
37
+ platform_browser_1.BrowserModule,
38
+ ],
39
+ declarations: [
40
+ AppComponent,
41
+ ],
42
+ providers: [],
43
+ exports: [AppComponent]
44
+ })
45
+ ], Ng2LoggerModule);
46
+ return Ng2LoggerModule;
47
+ }());
48
+ exports.Ng2LoggerModule = Ng2LoggerModule;
49
+ //#region @backend
50
+ function startBackend() {
51
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
52
+ return (0, tslib_1.__generator)(this, function (_a) {
53
+ return [2 /*return*/];
54
+ });
55
+ });
56
+ }
57
+ exports.default = startBackend;
58
+ //#endregion
59
+ //# sourceMappingURL=app.js.map
60
+ // @fixed
package/app.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;;;AAAA,sCAAoD;AACpD,8DAA0D;AAE1D,6BAA4B;AAE5B,IAAM,GAAG,GAAG,SAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;AAMpC;IAAA;QACE,cAAS,GAAG,EAAE,CAAC;IAMjB,CAAC;IALO,+BAAQ,GAAd;;;gBACE,4CAA4C;gBAC5C,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;;;;KAE3B;IANU,YAAY;QAJxB,IAAA,gBAAS,EAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ,EAAE,wCAAwC;SACnD,CAAC;OACW,YAAY,CAOxB;IAAD,mBAAC;CAAA,AAPD,IAOC;AAPY,oCAAY;AAmBzB;IAAA;IAA+B,CAAC;IAAnB,eAAe;QAV3B,IAAA,eAAQ,EAAC;YACR,OAAO,EAAE;gBACP,gCAAa;aACd;YACD,YAAY,EAAE;gBACZ,YAAY;aACb;YACD,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,CAAC,YAAY,CAAC;SACxB,CAAC;OACW,eAAe,CAAI;IAAD,sBAAC;CAAA,AAAhC,IAAgC;AAAnB,0CAAe;AAE5B,kBAAkB;AAElB,SAAe,YAAY;;;;;;CAE1B;AAED,kBAAe,YAAY,CAAC;AAC5B,YAAY"}
@@ -0,0 +1,24 @@
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,13 @@
1
+ export function consoleLog(data, level) {
2
+ }
3
+ export function displayParams(params = [], level) {
4
+ }
5
+ function replace(out, match, char, color) {
6
+ }
7
+ function handleObjectData(param, level) {
8
+ }
9
+ export function istartedInVscode() {
10
+ }
11
+ function isObjectAfterStringify(s) {
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1sb2dnaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9iYWNrZW5kLWxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZLEVBQUUsS0FBWTtBQUVyRCxDQUFDO0FBR0QsTUFBTSxVQUFVLGFBQWEsQ0FBQyxTQUFnQixFQUFFLEVBQUUsS0FBWTtBQUU5RCxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxJQUFZLEVBQUUsS0FBVTtBQUVyRSxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsS0FBWTtBQUVyRCxDQUFDO0FBR0QsTUFBTSxVQUFVLGdCQUFnQjtBQUVoQyxDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxDQUFTO0FBRXpDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgTGV2ZWwgfSBmcm9tICcuL2xldmVsJztcblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zb2xlTG9nKGRhdGE6IHN0cmluZywgbGV2ZWw6IExldmVsKSB7XG5cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gZGlzcGxheVBhcmFtcyhwYXJhbXM6IGFueVtdID0gW10sIGxldmVsOiBMZXZlbCkge1xuXG59XG5cbmZ1bmN0aW9uIHJlcGxhY2Uob3V0OiBzdHJpbmcsIG1hdGNoOiBSZWdFeHAsIGNoYXI6IFJlZ0V4cCwgY29sb3I6IGFueSkge1xuXG59XG5cblxuZnVuY3Rpb24gaGFuZGxlT2JqZWN0RGF0YShwYXJhbTogc3RyaW5nLCBsZXZlbDogTGV2ZWwpIHtcblxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBpc3RhcnRlZEluVnNjb2RlKCkge1xuXG59XG5cbmZ1bmN0aW9uIGlzT2JqZWN0QWZ0ZXJTdHJpbmdpZnkoczogc3RyaW5nKSB7XG5cbn1cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import { Level } from './level';
2
+ import { Helpers } from 'tnp-core/browser';
3
+ export class Display {
4
+ static msg(message, params, moduleName, moduleColor, level, moduleWidth, isProductionMode) {
5
+ if (isProductionMode) {
6
+ return;
7
+ }
8
+ ;
9
+ let color = 'gray';
10
+ if (level === Level.INFO) {
11
+ color = 'deepskyblue';
12
+ }
13
+ if (level === Level.ERROR) {
14
+ color = 'red';
15
+ }
16
+ if (level === Level.WARN) {
17
+ color = 'orange';
18
+ }
19
+ if (moduleWidth) {
20
+ const diff = moduleWidth - moduleName.length;
21
+ if (diff > 0) {
22
+ for (let i = 0; i < diff; i++) {
23
+ moduleName += ' ';
24
+ }
25
+ }
26
+ }
27
+ if (Helpers.isBrowser) {
28
+ // @ts-ignore
29
+ const isEdgeOrIe8orAbove = (document['documentMode'] || /Edge/.test(navigator.userAgent));
30
+ if (isEdgeOrIe8orAbove) {
31
+ if (typeof message === 'string') {
32
+ let a1 = '[[ ' + moduleName + ' ]] ' + message + ' ';
33
+ params.unshift(a1);
34
+ }
35
+ else {
36
+ let a1 = '[[ ' + moduleName + ']] ';
37
+ params.push(message);
38
+ params.unshift(a1);
39
+ }
40
+ if (level === Level.INFO) {
41
+ console.info.apply(console, params);
42
+ }
43
+ else if (level === Level.ERROR) {
44
+ console.error.apply(console, params);
45
+ }
46
+ else if (level === Level.WARN) {
47
+ console.warn.apply(console, params);
48
+ }
49
+ else {
50
+ console.log.apply(console, params);
51
+ }
52
+ }
53
+ else {
54
+ if (typeof message === 'string') {
55
+ let a1 = '%c ' + moduleName + ' %c ' + message + ' ';
56
+ let a2 = 'background: ' + moduleColor + ';color:white; border: 1px solid ' + moduleColor + '; ';
57
+ let a3 = 'border: 1px solid ' + color + '; ';
58
+ params.unshift(a3);
59
+ params.unshift(a2);
60
+ params.unshift(a1);
61
+ }
62
+ else {
63
+ let a1 = '%c ' + moduleName + ' ';
64
+ let a2 = 'background: ' + moduleColor + ';color:white; border: 1px solid ' + color + '; ';
65
+ params.push(message);
66
+ params.unshift(a2);
67
+ params.unshift(a1);
68
+ }
69
+ console.log.apply(console, params);
70
+ }
71
+ }
72
+ if (Helpers.isNode) {
73
+ }
74
+ }
75
+ }
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9saWIvZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUszQyxNQUFNLE9BQU8sT0FBTztJQUVsQixNQUFNLENBQUMsR0FBRyxDQUNSLE9BQXFCLEVBQ3JCLE1BQWEsRUFDYixVQUFrQixFQUNsQixXQUFtQixFQUNuQixLQUFZLEVBQ1osV0FBK0IsRUFDL0IsZ0JBQXlCO1FBRXpCLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBQUEsQ0FBQztRQUNGLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNuQixJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQUUsS0FBSyxHQUFHLGFBQWEsQ0FBQztTQUFFO1FBQ3BELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQUU7UUFDN0MsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRTtZQUFFLEtBQUssR0FBRyxRQUFRLENBQUM7U0FBRTtRQUUvQyxJQUFJLFdBQVcsRUFBRTtZQUNmLE1BQU0sSUFBSSxHQUFHLFdBQVcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQzdDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtnQkFDWixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUM3QixVQUFVLElBQUksR0FBRyxDQUFDO2lCQUNuQjthQUNGO1NBQ0Y7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBRW5CO1lBQ0EsYUFBYTtZQUNiLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUUxRixJQUFJLGtCQUFrQixFQUFFO2dCQUN0QixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtvQkFDL0IsSUFBSSxFQUFFLEdBQUcsS0FBSyxHQUFHLFVBQVUsR0FBRyxNQUFNLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQztvQkFDckQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDcEI7cUJBQU07b0JBQ0wsSUFBSSxFQUFFLEdBQUcsS0FBSyxHQUFHLFVBQVUsR0FBRyxLQUFLLENBQUM7b0JBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3BCO2dCQUNELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUU7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDckM7cUJBQU0sSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssRUFBRTtvQkFDaEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2lCQUN0QztxQkFBTSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFFO29CQUMvQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDcEM7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtvQkFDL0IsSUFBSSxFQUFFLEdBQUcsS0FBSyxHQUFHLFVBQVUsR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQztvQkFDdEQsSUFBSSxFQUFFLEdBQUcsY0FBYyxHQUFHLFdBQVcsR0FBRyxrQ0FBa0MsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDO29CQUNoRyxJQUFJLEVBQUUsR0FBRyxvQkFBb0IsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDO29CQUM3QyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNwQjtxQkFBTTtvQkFDTCxJQUFJLEVBQUUsR0FBRyxLQUFLLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQztvQkFDbEMsSUFBSSxFQUFFLEdBQUcsY0FBYyxHQUFHLFdBQVcsR0FBRyxrQ0FBa0MsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDO29CQUMxRixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNwQjtnQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDcEM7U0FFRjtRQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtTQUVyQjtJQUVILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBMZXZlbCB9IGZyb20gJy4vbGV2ZWwnO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgY29uc29sZUxvZywgZGlzcGxheVBhcmFtcyB9IGZyb20gJy4vYmFja2VuZC1sb2dnaW5nJztcblxuXG5cbmV4cG9ydCBjbGFzcyBEaXNwbGF5IHtcblxuICBzdGF0aWMgbXNnKFxuICAgIG1lc3NhZ2U6IHN0cmluZyB8IGFueSxcbiAgICBwYXJhbXM6IGFueVtdLFxuICAgIG1vZHVsZU5hbWU6IHN0cmluZyxcbiAgICBtb2R1bGVDb2xvcjogc3RyaW5nLFxuICAgIGxldmVsOiBMZXZlbCxcbiAgICBtb2R1bGVXaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIGlzUHJvZHVjdGlvbk1vZGU6IGJvb2xlYW5cbiAgKSB7XG4gICAgaWYgKGlzUHJvZHVjdGlvbk1vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9O1xuICAgIGxldCBjb2xvciA9ICdncmF5JztcbiAgICBpZiAobGV2ZWwgPT09IExldmVsLklORk8pIHsgY29sb3IgPSAnZGVlcHNreWJsdWUnOyB9XG4gICAgaWYgKGxldmVsID09PSBMZXZlbC5FUlJPUikgeyBjb2xvciA9ICdyZWQnOyB9XG4gICAgaWYgKGxldmVsID09PSBMZXZlbC5XQVJOKSB7IGNvbG9yID0gJ29yYW5nZSc7IH1cblxuICAgIGlmIChtb2R1bGVXaWR0aCkge1xuICAgICAgY29uc3QgZGlmZiA9IG1vZHVsZVdpZHRoIC0gbW9kdWxlTmFtZS5sZW5ndGg7XG4gICAgICBpZiAoZGlmZiA+IDApIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaWZmOyBpKyspIHtcbiAgICAgICAgICBtb2R1bGVOYW1lICs9ICcgJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3NlclxuXG4gICAgKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBpc0VkZ2VPckllOG9yQWJvdmUgPSAoZG9jdW1lbnRbJ2RvY3VtZW50TW9kZSddIHx8IC9FZGdlLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKTtcblxuICAgICAgaWYgKGlzRWRnZU9ySWU4b3JBYm92ZSkge1xuICAgICAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgbGV0IGExID0gJ1tbICcgKyBtb2R1bGVOYW1lICsgJyBdXSAnICsgbWVzc2FnZSArICcgJztcbiAgICAgICAgICBwYXJhbXMudW5zaGlmdChhMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGExID0gJ1tbICcgKyBtb2R1bGVOYW1lICsgJ11dICc7XG4gICAgICAgICAgcGFyYW1zLnB1c2gobWVzc2FnZSk7XG4gICAgICAgICAgcGFyYW1zLnVuc2hpZnQoYTEpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsZXZlbCA9PT0gTGV2ZWwuSU5GTykge1xuICAgICAgICAgIGNvbnNvbGUuaW5mby5hcHBseShjb25zb2xlLCBwYXJhbXMpO1xuICAgICAgICB9IGVsc2UgaWYgKGxldmVsID09PSBMZXZlbC5FUlJPUikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IuYXBwbHkoY29uc29sZSwgcGFyYW1zKTtcbiAgICAgICAgfSBlbHNlIGlmIChsZXZlbCA9PT0gTGV2ZWwuV0FSTikge1xuICAgICAgICAgIGNvbnNvbGUud2Fybi5hcHBseShjb25zb2xlLCBwYXJhbXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nLmFwcGx5KGNvbnNvbGUsIHBhcmFtcyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBsZXQgYTEgPSAnJWMgJyArIG1vZHVsZU5hbWUgKyAnICAlYyAnICsgbWVzc2FnZSArICcgJztcbiAgICAgICAgICBsZXQgYTIgPSAnYmFja2dyb3VuZDogJyArIG1vZHVsZUNvbG9yICsgJztjb2xvcjp3aGl0ZTsgYm9yZGVyOiAxcHggc29saWQgJyArIG1vZHVsZUNvbG9yICsgJzsgJztcbiAgICAgICAgICBsZXQgYTMgPSAnYm9yZGVyOiAxcHggc29saWQgJyArIGNvbG9yICsgJzsgJztcbiAgICAgICAgICBwYXJhbXMudW5zaGlmdChhMyk7XG4gICAgICAgICAgcGFyYW1zLnVuc2hpZnQoYTIpO1xuICAgICAgICAgIHBhcmFtcy51bnNoaWZ0KGExKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZXQgYTEgPSAnJWMgJyArIG1vZHVsZU5hbWUgKyAnICc7XG4gICAgICAgICAgbGV0IGEyID0gJ2JhY2tncm91bmQ6ICcgKyBtb2R1bGVDb2xvciArICc7Y29sb3I6d2hpdGU7IGJvcmRlcjogMXB4IHNvbGlkICcgKyBjb2xvciArICc7ICc7XG4gICAgICAgICAgcGFyYW1zLnB1c2gobWVzc2FnZSk7XG4gICAgICAgICAgcGFyYW1zLnVuc2hpZnQoYTIpO1xuICAgICAgICAgIHBhcmFtcy51bnNoaWZ0KGExKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZy5hcHBseShjb25zb2xlLCBwYXJhbXMpO1xuICAgICAgfVxuXG4gICAgfSBpZiAoSGVscGVycy5pc05vZGUpIHtcblxuICAgIH1cblxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export { Helpers } from 'tnp-config/browser';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './log';
2
+ export * from './level';
3
+ export * from './helpers';
4
+ export * from './logger';
5
+ export * from './display';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL25nMi1sb2dnZXIvcHJvamVjdHMvbmcyLWxvZ2dlci9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vbGV2ZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vZGlzcGxheSc7XG4iXX0=
@@ -0,0 +1,22 @@
1
+ export var Level;
2
+ (function (Level) {
3
+ Level[Level["DATA"] = 0] = "DATA";
4
+ Level[Level["INFO"] = 1] = "INFO";
5
+ Level[Level["WARN"] = 2] = "WARN";
6
+ Level[Level["ERROR"] = 3] = "ERROR";
7
+ Level[Level["__NOTHING"] = 4] = "__NOTHING";
8
+ })(Level || (Level = {}));
9
+ export const LevelKey = {
10
+ [Level.DATA]: 'log',
11
+ [Level.INFO]: 'info',
12
+ [Level.WARN]: 'warn',
13
+ [Level.ERROR]: 'error',
14
+ [Level.__NOTHING]: '',
15
+ };
16
+ export const LevelOrder = [
17
+ LevelKey[Level.DATA],
18
+ LevelKey[Level.INFO],
19
+ LevelKey[Level.WARN],
20
+ LevelKey[Level.ERROR],
21
+ ];
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV2ZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL25nMi1sb2dnZXIvcHJvamVjdHMvbmcyLWxvZ2dlci9zcmMvbGliL2xldmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLEtBTVg7QUFORCxXQUFZLEtBQUs7SUFDYixpQ0FBSSxDQUFBO0lBQ0osaUNBQUksQ0FBQTtJQUNKLGlDQUFJLENBQUE7SUFDSixtQ0FBSyxDQUFBO0lBQ0wsMkNBQVMsQ0FBQTtBQUNiLENBQUMsRUFOVyxLQUFLLEtBQUwsS0FBSyxRQU1oQjtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRyxLQUFLO0lBQ3BCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFHLE1BQU07SUFDckIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUcsTUFBTTtJQUNyQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRyxPQUFPO0lBQ3ZCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFHLEVBQUU7Q0FDdkIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBlbnVtIExldmVsIHtcbiAgICBEQVRBLFxuICAgIElORk8sXG4gICAgV0FSTixcbiAgICBFUlJPUiAsXG4gICAgX19OT1RISU5HICxcbn1cblxuZXhwb3J0IGNvbnN0IExldmVsS2V5ID0ge1xuICBbTGV2ZWwuREFUQV0gOiAnbG9nJyxcbiAgW0xldmVsLklORk9dIDogJ2luZm8nLFxuICBbTGV2ZWwuV0FSTl0gOiAnd2FybicsXG4gIFtMZXZlbC5FUlJPUl0gOiAnZXJyb3InLFxuICBbTGV2ZWwuX19OT1RISU5HXSA6ICcnLFxufVxuXG5leHBvcnQgY29uc3QgTGV2ZWxPcmRlciA9IFtcbiAgTGV2ZWxLZXlbTGV2ZWwuREFUQV0sXG4gIExldmVsS2V5W0xldmVsLklORk9dLFxuICBMZXZlbEtleVtMZXZlbC5XQVJOXSxcbiAgTGV2ZWxLZXlbTGV2ZWwuRVJST1JdLFxuXTtcbiJdfQ==
@@ -0,0 +1,144 @@
1
+ import { Logger } from './logger';
2
+ import { Level, LevelOrder, LevelKey } from './level';
3
+ import { Helpers } from 'tnp-core/browser';
4
+ export class Log {
5
+ //#region singleton
6
+ constructor() {
7
+ this._logOnly = false;
8
+ this._logModules = false;
9
+ this.isDevelopmentMode = true;
10
+ this.modeIsSet = false;
11
+ this.fixedWidth = 0;
12
+ this.instances = {};
13
+ this.levels = [];
14
+ this.modules = [];
15
+ }
16
+ // @ts-ignore
17
+ static get instance() {
18
+ // @ts-ignore
19
+ if (!Log['_instance']) {
20
+ // @ts-ignore
21
+ Log['_instance'] = new Log();
22
+ }
23
+ // @ts-ignore
24
+ return Log['_instance'];
25
+ }
26
+ static create(name, ...level) {
27
+ return Log.instance.create(name, ...level);
28
+ }
29
+ static disableLogs(level = Level.__NOTHING) {
30
+ LevelOrder.reverse().find(a => {
31
+ // @ts-ignore
32
+ if (!this.consolelogfn[a]) {
33
+ // @ts-ignore
34
+ this.consolelogfn[a] = console[a];
35
+ }
36
+ // @ts-ignore
37
+ console[a] = () => { };
38
+ if (a === LevelKey[level]) {
39
+ return true;
40
+ }
41
+ return false;
42
+ });
43
+ }
44
+ static enableLogs() {
45
+ LevelOrder.forEach(a => {
46
+ // @ts-ignore
47
+ console[a] = this.consolelogfn[a];
48
+ });
49
+ }
50
+ //#region public api
51
+ setProductionMode() {
52
+ if (this.modeIsSet) {
53
+ this.modeIsSet = false;
54
+ throw '[ng2-logger] Production mode is already set';
55
+ }
56
+ else {
57
+ this.modeIsSet = true;
58
+ setTimeout(() => {
59
+ if (this.modeIsSet && console !== void 0 && console.clear !== void 0) {
60
+ console.clear();
61
+ console.log = () => { };
62
+ console.error = () => { };
63
+ console.warn = () => { };
64
+ console.info = () => { };
65
+ }
66
+ });
67
+ this.isDevelopmentMode = false;
68
+ }
69
+ }
70
+ onlyModules(...modules) {
71
+ if (this._logModules) {
72
+ throw '[ng2-logger] You should use funcion onlyModules only once';
73
+ }
74
+ if (!this._logModules) {
75
+ this._logModules = true;
76
+ }
77
+ if (modules.length === 0)
78
+ return;
79
+ this.modules = modules;
80
+ // console.log('only log this', Log.modules)
81
+ this.muteAllOtherModules();
82
+ }
83
+ onlyLevel(...level) {
84
+ if (this._logOnly) {
85
+ throw '[ng2-logger] You should use funcion onlyLevel only once';
86
+ }
87
+ if (!this._logOnly) {
88
+ this._logOnly = true;
89
+ }
90
+ this.levels = Array.isArray(level) ? level : [level];
91
+ for (const logName in this.instances) {
92
+ if (this.instances.hasOwnProperty(logName)) {
93
+ const element = this.instances[logName];
94
+ element['allowed'] = this.levels;
95
+ }
96
+ }
97
+ }
98
+ //#endregion
99
+ create(name, ...level) {
100
+ let i;
101
+ if (Array.isArray(this.levels) && this.levels.length > 0) {
102
+ level = this.levels;
103
+ }
104
+ if (this.instances[name] === void 0) {
105
+ i = new (Log.Logger)(name, getRandomColor(), this.isDevelopmentMode, level, this.isMutedModule(name), this.levels.length > 0 ? this.fixedWidth : void 0);
106
+ this.instances[name] = i;
107
+ }
108
+ else {
109
+ i = this.instances[name];
110
+ }
111
+ return i;
112
+ }
113
+ isMutedModule(moduleName) {
114
+ if (this.modules.length == 0)
115
+ return false;
116
+ if (!Helpers.contain(this.modules, moduleName))
117
+ return true;
118
+ return false;
119
+ }
120
+ muteAllOtherModules() {
121
+ for (var moduleName in this.instances) {
122
+ if (!Helpers.contain(this.modules, moduleName))
123
+ this.instances[moduleName].mute();
124
+ }
125
+ }
126
+ }
127
+ //#endregion
128
+ Log.Logger = Logger;
129
+ Log.consolelogfn = {};
130
+ function getRandomColor() {
131
+ let letters = '012345'.split('');
132
+ let color = '#';
133
+ color += letters[Math.round(Math.random() * 5)];
134
+ letters = '0123456789ABCDEF'.split('');
135
+ for (let i = 0; i < 5; i++) {
136
+ color += letters[Math.round(Math.random() * 15)];
137
+ }
138
+ if (color === void 0) {
139
+ return getRandomColor();
140
+ }
141
+ ;
142
+ return color;
143
+ }
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTzNDLE1BQU0sT0FBTyxHQUFHO0lBQ2QsbUJBQW1CO0lBQ25CO1FBNENRLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGNBQVMsR0FBcUMsRUFBRSxDQUFDO1FBQ2pELFdBQU0sR0FBWSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUF3QixFQUFFLENBQUM7SUFuRGxCLENBQUM7SUFDekIsYUFBYTtJQUNMLE1BQU0sS0FBSyxRQUFRO1FBQ3pCLGFBQWE7UUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3JCLGFBQWE7WUFDYixHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUM5QjtRQUNELGFBQWE7UUFDYixPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBSUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZLEVBQUUsR0FBRyxLQUFjO1FBQzNDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJ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QUUsQ0FBQTtLQUN4QjtJQUFBLENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHsgTGV2ZWwsIExldmVsT3JkZXIsIExldmVsS2V5IH0gZnJvbSAnLi9sZXZlbCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cblxuXG5cblxuXG5leHBvcnQgY2xhc3MgTG9nIHtcbiAgLy8jcmVnaW9uIHNpbmdsZXRvblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkgeyB9XG4gIC8vIEB0cy1pZ25vcmVcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0IGluc3RhbmNlKCk6IGFueSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlmICghTG9nWydfaW5zdGFuY2UnXSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgTG9nWydfaW5zdGFuY2UnXSA9IG5ldyBMb2coKTtcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBMb2dbJ19pbnN0YW5jZSddO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIHN0YXRpYyBMb2dnZXI6ICh0eXBlb2YgTG9nZ2VyKSA9IExvZ2dlcjtcbiAgc3RhdGljIGNyZWF0ZShuYW1lOiBzdHJpbmcsIC4uLmxldmVsOiBMZXZlbFtdKTogTG9nZ2VyIHtcbiAgICByZXR1cm4gTG9nLmluc3RhbmNlLmNyZWF0ZShuYW1lLCAuLi5sZXZlbCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBjb25zb2xlbG9nZm4gPSB7fTtcbiAgc3RhdGljIGRpc2FibGVMb2dzKGxldmVsID0gTGV2ZWwuX19OT1RISU5HKSB7XG5cbiAgICBMZXZlbE9yZGVyLnJldmVyc2UoKS5maW5kKGEgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKCF0aGlzLmNvbnNvbGVsb2dmblthXSkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMuY29uc29sZWxvZ2ZuW2FdID0gY29uc29sZVthXTtcbiAgICAgIH1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnNvbGVbYV0gPSAoKSA9PiB7IH07XG4gICAgICBpZiAoYSA9PT0gTGV2ZWxLZXlbbGV2ZWxdKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGVuYWJsZUxvZ3MoKSB7XG5cbiAgICBMZXZlbE9yZGVyLmZvckVhY2goYSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zb2xlW2FdID0gdGhpcy5jb25zb2xlbG9nZm5bYV1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ09ubHkgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbG9nTW9kdWxlcyA9IGZhbHNlO1xuICBwcml2YXRlIGlzRGV2ZWxvcG1lbnRNb2RlID0gdHJ1ZTtcbiAgcHJpdmF0ZSBtb2RlSXNTZXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBmaXhlZFdpZHRoID0gMDtcbiAgcHJpdmF0ZSBpbnN0YW5jZXM6IHsgW21vZHVsZU5hbWU6IHN0cmluZ106IExvZ2dlciB9ID0ge307XG4gIHByaXZhdGUgbGV2ZWxzOiBMZXZlbFtdID0gW107XG4gIHByaXZhdGUgbW9kdWxlczogKHN0cmluZyB8IFJlZ0V4cClbXSA9IFtdO1xuXG4gIC8vI3JlZ2lvbiBwdWJsaWMgYXBpXG4gIHB1YmxpYyBzZXRQcm9kdWN0aW9uTW9kZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlSXNTZXQpIHtcbiAgICAgIHRoaXMubW9kZUlzU2V0ID0gZmFsc2VcbiAgICAgIHRocm93ICdbbmcyLWxvZ2dlcl0gUHJvZHVjdGlvbiBtb2RlIGlzIGFscmVhZHkgc2V0JztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlSXNTZXQgPSB0cnVlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG5cbiAgICAgICAgaWYgKHRoaXMubW9kZUlzU2V0ICYmIGNvbnNvbGUgIT09IHZvaWQgMCAmJiBjb25zb2xlLmNsZWFyICE9PSB2b2lkIDApIHtcblxuICAgICAgICAgIGNvbnNvbGUuY2xlYXIoKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyA9ICgpID0+IHsgfTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yID0gKCkgPT4geyB9O1xuICAgICAgICAgIGNvbnNvbGUud2FybiA9ICgpID0+IHsgfTtcbiAgICAgICAgICBjb25zb2xlLmluZm8gPSAoKSA9PiB7IH07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmlzRGV2ZWxvcG1lbnRNb2RlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9ubHlNb2R1bGVzKC4uLm1vZHVsZXM6IChzdHJpbmcgfCBSZWdFeHApW10pIHtcbiAgICBpZiAodGhpcy5fbG9nTW9kdWxlcykge1xuICAgICAgdGhyb3cgJ1tuZzItbG9nZ2VyXSBZb3Ugc2hvdWxkIHVzZSBmdW5jaW9uIG9ubHlNb2R1bGVzIG9ubHkgb25jZSc7XG4gICAgfVxuICAgIGlmICghdGhpcy5fbG9nTW9kdWxlcykge1xuICAgICAgdGhpcy5fbG9nTW9kdWxlcyA9IHRydWU7XG4gICAgfVxuICAgIGlmIChtb2R1bGVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIHRoaXMubW9kdWxlcyA9IG1vZHVsZXM7XG4gICAgLy8gY29uc29sZS5sb2coJ29ubHkgbG9nIHRoaXMnLCBMb2cubW9kdWxlcylcbiAgICB0aGlzLm11dGVBbGxPdGhlck1vZHVsZXMoKTtcbiAgfVxuXG5cbiAgcHVibGljIG9ubHlMZXZlbCguLi5sZXZlbDogTGV2ZWxbXSkge1xuICAgIGlmICh0aGlzLl9sb2dPbmx5KSB7XG4gICAgICB0aHJvdyAnW25nMi1sb2dnZXJdIFlvdSBzaG91bGQgdXNlIGZ1bmNpb24gb25seUxldmVsIG9ubHkgb25jZSc7XG4gICAgfVxuICAgIGlmICghdGhpcy5fbG9nT25seSkge1xuICAgICAgdGhpcy5fbG9nT25seSA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5sZXZlbHMgPSBBcnJheS5pc0FycmF5KGxldmVsKSA/IGxldmVsIDogW2xldmVsXTtcblxuXG4gICAgZm9yIChjb25zdCBsb2dOYW1lIGluIHRoaXMuaW5zdGFuY2VzKSB7XG4gICAgICBpZiAodGhpcy5pbnN0YW5jZXMuaGFzT3duUHJvcGVydHkobG9nTmFtZSkpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuaW5zdGFuY2VzW2xvZ05hbWVdO1xuICAgICAgICBlbGVtZW50WydhbGxvd2VkJ10gPSB0aGlzLmxldmVscztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICBwcml2YXRlIGNyZWF0ZShuYW1lOiBzdHJpbmcsIC4uLmxldmVsOiBMZXZlbFtdKTogTG9nZ2VyIHtcbiAgICBsZXQgaTogTG9nZ2VyO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMubGV2ZWxzKSAmJiB0aGlzLmxldmVscy5sZW5ndGggPiAwKSB7XG4gICAgICBsZXZlbCA9IHRoaXMubGV2ZWxzO1xuICAgIH1cbiAgICBpZiAodGhpcy5pbnN0YW5jZXNbbmFtZV0gPT09IHZvaWQgMCkge1xuICAgICAgaSA9IG5ldyAoTG9nLkxvZ2dlcikoXG4gICAgICAgIG5hbWUsXG4gICAgICAgIGdldFJhbmRvbUNvbG9yKCksXG4gICAgICAgIHRoaXMuaXNEZXZlbG9wbWVudE1vZGUsXG4gICAgICAgIGxldmVsLFxuICAgICAgICB0aGlzLmlzTXV0ZWRNb2R1bGUobmFtZSksXG4gICAgICAgIHRoaXMubGV2ZWxzLmxlbmd0aCA+IDAgPyB0aGlzLmZpeGVkV2lkdGggOiB2b2lkIDAsXG4gICAgICAgIC8vIExvZy5sZXZlbHMubGVuZ3RoID4gMCA/IExvZy5kaXNwbGF5IDogdW5kZWZpbmVkLFxuICAgICAgKTtcbiAgICAgIHRoaXMuaW5zdGFuY2VzW25hbWVdID0gaTtcbiAgICB9IGVsc2Uge1xuICAgICAgaSA9IHRoaXMuaW5zdGFuY2VzW25hbWVdO1xuICAgIH1cbiAgICByZXR1cm4gaTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNdXRlZE1vZHVsZShtb2R1bGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tb2R1bGVzLmxlbmd0aCA9PSAwKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCFIZWxwZXJzLmNvbnRhaW4odGhpcy5tb2R1bGVzLCBtb2R1bGVOYW1lKSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHByaXZhdGUgbXV0ZUFsbE90aGVyTW9kdWxlcygpIHtcbiAgICBmb3IgKHZhciBtb2R1bGVOYW1lIGluIHRoaXMuaW5zdGFuY2VzKSB7XG4gICAgICBpZiAoIUhlbHBlcnMuY29udGFpbih0aGlzLm1vZHVsZXMsIG1vZHVsZU5hbWUpKVxuICAgICAgICB0aGlzLmluc3RhbmNlc1ttb2R1bGVOYW1lXS5tdXRlKClcbiAgICB9XG4gIH1cblxufVxuXG5cbmZ1bmN0aW9uIGdldFJhbmRvbUNvbG9yKCk6IHN0cmluZyB7XG5cblxuICBsZXQgbGV0dGVycyA9ICcwMTIzNDUnLnNwbGl0KCcnKTtcbiAgbGV0IGNvbG9yID0gJyMnO1xuICBjb2xvciArPSBsZXR0ZXJzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDUpXTtcbiAgbGV0dGVycyA9ICcwMTIzNDU2Nzg5QUJDREVGJy5zcGxpdCgnJyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XG4gICAgY29sb3IgKz0gbGV0dGVyc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxNSldO1xuICB9XG4gIGlmIChjb2xvciA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGdldFJhbmRvbUNvbG9yKClcbiAgfTtcbiAgcmV0dXJuIGNvbG9yO1xufVxuIl19
@@ -0,0 +1,157 @@
1
+ import { Level } from './level';
2
+ import { Display } from './display';
3
+ import { Helpers } from 'tnp-core/browser';
4
+ export class Logger {
5
+ constructor(name, color, developmentMode, allowed, isMuted, fixedWidth) {
6
+ this.name = name;
7
+ this.color = color;
8
+ this.developmentMode = developmentMode;
9
+ this.allowed = allowed;
10
+ this.isMuted = isMuted;
11
+ this.fixedWidth = fixedWidth;
12
+ /** @deprecated Use data(...)
13
+ * @see data
14
+ */
15
+ this.d = (name, ...data) => this._data(name, data);
16
+ /** @deprecated Use error(...)
17
+ * @see error
18
+ */
19
+ this.er = (name, ...data) => this._error(name, data);
20
+ /** @deprecated Use info(...)
21
+ * @see info
22
+ */
23
+ this.i = (name, ...data) => this._info(name, data);
24
+ /** @deprecated Use warn(...)
25
+ * @see warn
26
+ */
27
+ this.w = (name, ...data) => this._warn(name, data);
28
+ /**
29
+ * Logs message and data with the level=data
30
+ * @param message The message
31
+ * @param otherParams Additional parameters
32
+ */
33
+ this.data = (message, ...otherParams) => { return this._data(message, otherParams); };
34
+ /**
35
+ * Logs message and data with the level=error
36
+ * @param message The message
37
+ * @param otherParams Additional parameters
38
+ */
39
+ this.error = (message, ...otherParams) => this._error(message, otherParams);
40
+ /**
41
+ * Logs message and data with the level=info
42
+ * @param message The message
43
+ * @param otherParams Additional parameters
44
+ */
45
+ this.info = (message, ...otherParams) => this._info(message, otherParams);
46
+ /**
47
+ * Logs message and data with the level=warn
48
+ * @param message The message
49
+ * @param otherParams Additional parameters
50
+ */
51
+ this.warn = (message, ...otherParams) => this._warn(message, otherParams);
52
+ }
53
+ setLevel(l) {
54
+ this._level = l;
55
+ return this;
56
+ }
57
+ get isProductionMode() {
58
+ return !this.developmentMode;
59
+ }
60
+ setProductionMode(productionMode) {
61
+ this.developmentMode = !productionMode;
62
+ return this;
63
+ }
64
+ mute() {
65
+ this.isMuted = true;
66
+ return this;
67
+ }
68
+ onlyWhen(expression) {
69
+ if (typeof expression === 'function') {
70
+ this.isMuted = !expression();
71
+ }
72
+ else if (typeof expression === 'boolean') {
73
+ this.isMuted = !expression;
74
+ }
75
+ }
76
+ _data(name, ...data) {
77
+ if (this.isMuted)
78
+ return this;
79
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
80
+ && !Helpers.contain(this.allowed, Level.DATA))
81
+ return this;
82
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.DATA)) {
83
+ // @ts-ignore
84
+ Display.msg.apply(void 0, [
85
+ name,
86
+ ...data,
87
+ this.name,
88
+ this.color,
89
+ Level.DATA,
90
+ this.fixedWidth,
91
+ this.isProductionMode,
92
+ ]);
93
+ }
94
+ return this;
95
+ }
96
+ _error(name, ...data) {
97
+ if (this.isMuted)
98
+ return this;
99
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
100
+ && !Helpers.contain(this.allowed, Level.ERROR))
101
+ return this;
102
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.ERROR)) {
103
+ // @ts-ignore
104
+ Display.msg.apply(void 0, [
105
+ name,
106
+ ...data,
107
+ this.name,
108
+ this.color,
109
+ Level.ERROR,
110
+ this.fixedWidth,
111
+ this.isProductionMode,
112
+ ]);
113
+ }
114
+ return this;
115
+ }
116
+ _info(name, ...data) {
117
+ if (this.isMuted)
118
+ return this;
119
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
120
+ && !Helpers.contain(this.allowed, Level.INFO))
121
+ return this;
122
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.INFO)) {
123
+ // @ts-ignore
124
+ Display.msg.apply(void 0, [
125
+ name,
126
+ ...data,
127
+ this.name,
128
+ this.color,
129
+ Level.INFO,
130
+ this.fixedWidth,
131
+ this.isProductionMode,
132
+ ]);
133
+ }
134
+ return this;
135
+ }
136
+ _warn(name, ...data) {
137
+ if (this.isMuted)
138
+ return this;
139
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
140
+ && !Helpers.contain(this.allowed, Level.WARN))
141
+ return this;
142
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.WARN)) {
143
+ // @ts-ignore
144
+ Display.msg.apply(void 0, [
145
+ name,
146
+ ...data,
147
+ this.name,
148
+ this.color,
149
+ Level.WARN,
150
+ this.fixedWidth,
151
+ this.isProductionMode,
152
+ ]);
153
+ }
154
+ return this;
155
+ }
156
+ }
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzQyxNQUFNLE9BQU8sTUFBTTtJQXNCakIsWUFDVSxJQUFZLEVBQ2IsS0FBYSxFQUNaLGVBQXdCLEVBQ3hCLE9BQWdCLEVBQ2hCLE9BQWdCLEVBQ2pCLFVBQThCO1FBTDdCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ1osb0JBQWUsR0FBZixlQUFlLENBQVM7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBNkZ2Qzs7VUFFRTtRQUNGLE1BQUMsR0FBRyxDQUFDLElBQVksRUFBRSxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0Q7O1VBRUU7UUFFRixPQUFFLEdBQUcsQ0FBQyxJQUFZLEVBQUUsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9EOztVQUVFO1FBQ0YsTUFBQyxHQUFHLENBQUMsSUFBWSxFQUFFLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3RDs7VUFFRTtRQUNGLE1BQUMs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LElBQUksQ0FBQyxVQUFVO2dCQUNmLElBQUksQ0FBQyxnQkFBZ0I7YUFDdEIsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FvREYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgTGV2ZWwgfSBmcm9tICcuL2xldmVsJztcbmltcG9ydCB7IERpc3BsYXkgfSBmcm9tICcuL2Rpc3BsYXknO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuXG5leHBvcnQgY2xhc3MgTG9nZ2VyIHtcblxuICBwcml2YXRlIF9sZXZlbDogTGV2ZWw7XG4gIHB1YmxpYyBzZXRMZXZlbChsOiBMZXZlbCkge1xuICAgIHRoaXMuX2xldmVsID0gbDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNQcm9kdWN0aW9uTW9kZSgpIHtcbiAgICByZXR1cm4gIXRoaXMuZGV2ZWxvcG1lbnRNb2RlO1xuICB9XG5cbiAgcHVibGljIHNldFByb2R1Y3Rpb25Nb2RlKHByb2R1Y3Rpb25Nb2RlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kZXZlbG9wbWVudE1vZGUgPSAhcHJvZHVjdGlvbk1vZGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbXV0ZSgpIHtcbiAgICB0aGlzLmlzTXV0ZWQgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIGNvbG9yOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBkZXZlbG9wbWVudE1vZGU6IGJvb2xlYW4sXG4gICAgcHJpdmF0ZSBhbGxvd2VkOiBMZXZlbFtdLFxuICAgIHByaXZhdGUgaXNNdXRlZDogYm9vbGVhbixcbiAgICBwdWJsaWMgZml4ZWRXaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkXG4gICkgeyB9XG5cbiAgb25seVdoZW4oZXhwcmVzc2lvbjogKCgpID0+IGJvb2xlYW4pIHwgYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgZXhwcmVzc2lvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5pc011dGVkID0gIWV4cHJlc3Npb24oKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGV4cHJlc3Npb24gPT09ICdib29sZWFuJykge1xuICAgICAgdGhpcy5pc011dGVkID0gIWV4cHJlc3Npb247XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGF0YShuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuREFUQSkpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuREFUQSkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIERpc3BsYXkubXNnLmFwcGx5KHZvaWQgMCwgW1xuICAgICAgICBuYW1lLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMuY29sb3IsXG4gICAgICAgIExldmVsLkRBVEEsXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cblxuICBwcml2YXRlIF9lcnJvcihuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuRVJST1IpKSByZXR1cm4gdGhpcztcblxuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID09PSAwIHx8IEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLkVSUk9SKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuRVJST1IsXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5mbyhuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuSU5GTykpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuSU5GTykpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIERpc3BsYXkubXNnLmFwcGx5KHZvaWQgMCwgW1xuICAgICAgICBuYW1lLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMuY29sb3IsXG4gICAgICAgIExldmVsLklORk8sXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfd2FybihuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuV0FSTikpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuV0FSTikpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIERpc3BsYXkubXNnLmFwcGx5KHZvaWQgMCwgW1xuICAgICAgICBuYW1lLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMuY29sb3IsXG4gICAgICAgIExldmVsLldBUk4sXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuXG4gIC8qKiBAZGVwcmVjYXRlZCBVc2UgZGF0YSguLi4pXG4gICAqIEBzZWUgZGF0YVxuICAqL1xuICBkID0gKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pID0+IHRoaXMuX2RhdGEobmFtZSwgZGF0YSk7XG5cbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBlcnJvciguLi4pXG4gICAqIEBzZWUgZXJyb3JcbiAgKi9cblxuICBlciA9IChuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl9lcnJvcihuYW1lLCBkYXRhKTtcblxuICAvKiogQGRlcHJlY2F0ZWQgVXNlIGluZm8oLi4uKVxuICAgKiBAc2VlIGluZm9cbiAgKi9cbiAgaSA9IChuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl9pbmZvKG5hbWUsIGRhdGEpO1xuXG4gIC8qKiBAZGVwcmVjYXRlZCBVc2Ugd2FybiguLi4pXG4gICAqIEBzZWUgd2FyblxuICAqL1xuICB3ID0gKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pID0+IHRoaXMuX3dhcm4obmFtZSwgZGF0YSk7XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD1kYXRhXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIGRhdGEgPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHsgcmV0dXJuIHRoaXMuX2RhdGEobWVzc2FnZSwgb3RoZXJQYXJhbXMpOyB9O1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9ZXJyb3JcbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgZXJyb3IgPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX2Vycm9yKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTtcblxuICAvKipcbiAgICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPWluZm9cbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgaW5mbyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5faW5mbyhtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD13YXJuXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIHdhcm4gPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX3dhcm4obWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9uZzItbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './lib';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuIl19