ng2-logger 13.1.24 → 16.0.2

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 (79) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/{esm2020 → esm2022}/lib/backend-logging.mjs +93 -93
  3. package/{client/esm2020 → browser/esm2022}/lib/display.mjs +96 -96
  4. package/{client/esm2020 → browser/esm2022}/lib/index.mjs +6 -6
  5. package/{client/esm2020 → browser/esm2022}/lib/level.mjs +32 -32
  6. package/browser/esm2022/lib/log.mjs +162 -0
  7. package/browser/esm2022/lib/logger.mjs +237 -0
  8. package/browser/{esm2020 → esm2022}/ng2-logger.mjs +4 -4
  9. package/browser/{esm2020 → esm2022}/public-api.mjs +1 -1
  10. package/{client/fesm2015 → browser/fesm2022}/ng2-logger.mjs +515 -514
  11. package/browser/{fesm2020 → fesm2022}/ng2-logger.mjs.map +1 -1
  12. package/browser/{ng2-logger.d.ts → index.d.ts} +4 -4
  13. package/browser/lib/backend-logging.d.ts +3 -3
  14. package/browser/lib/display.d.ts +3 -3
  15. package/browser/lib/index.d.ts +3 -3
  16. package/browser/lib/level.d.ts +20 -20
  17. package/browser/lib/log.d.ts +24 -24
  18. package/browser/lib/logger.d.ts +80 -80
  19. package/browser/package.json +6 -12
  20. package/client/{esm2020 → esm2022}/lib/backend-logging.mjs +93 -93
  21. package/{browser/esm2020 → client/esm2022}/lib/display.mjs +96 -96
  22. package/{browser/esm2020 → client/esm2022}/lib/index.mjs +6 -6
  23. package/{browser/esm2020 → client/esm2022}/lib/level.mjs +32 -32
  24. package/client/esm2022/lib/log.mjs +162 -0
  25. package/client/esm2022/lib/logger.mjs +237 -0
  26. package/client/{esm2020 → esm2022}/ng2-logger.mjs +4 -4
  27. package/client/{esm2020 → esm2022}/public-api.mjs +1 -1
  28. package/{browser/fesm2020 → client/fesm2022}/ng2-logger.mjs +515 -514
  29. package/client/{fesm2020 → fesm2022}/ng2-logger.mjs.map +1 -1
  30. package/client/{ng2-logger.d.ts → index.d.ts} +4 -4
  31. package/client/lib/backend-logging.d.ts +3 -3
  32. package/client/lib/display.d.ts +3 -3
  33. package/client/lib/index.d.ts +3 -3
  34. package/client/lib/level.d.ts +20 -20
  35. package/client/lib/log.d.ts +24 -24
  36. package/client/lib/logger.d.ts +80 -80
  37. package/client/package.json +89 -85
  38. package/index.d.ts +1 -1
  39. package/lib/backend-logging.d.ts +4 -4
  40. package/lib/display.d.ts +4 -4
  41. package/lib/index.d.ts +4 -4
  42. package/lib/level.d.ts +21 -21
  43. package/lib/log.d.ts +25 -25
  44. package/lib/log.js +1 -2
  45. package/lib/log.js.map +1 -1
  46. package/lib/logger.d.ts +81 -81
  47. package/package.json +4 -4
  48. package/package.json_tnp.json5 +2 -2
  49. package/tmp-environment.json +94 -90
  50. package/websql/{esm2020 → esm2022}/lib/backend-logging.mjs +93 -93
  51. package/websql/{esm2020 → esm2022}/lib/display.mjs +96 -96
  52. package/websql/{esm2020 → esm2022}/lib/index.mjs +6 -6
  53. package/websql/{esm2020 → esm2022}/lib/level.mjs +32 -32
  54. package/websql/esm2022/lib/log.mjs +162 -0
  55. package/websql/esm2022/lib/logger.mjs +237 -0
  56. package/websql/{esm2020 → esm2022}/ng2-logger.mjs +4 -4
  57. package/websql/{esm2020 → esm2022}/public-api.mjs +1 -1
  58. package/websql/{fesm2015 → fesm2022}/ng2-logger.mjs +515 -514
  59. package/websql/{fesm2020 → fesm2022}/ng2-logger.mjs.map +1 -1
  60. package/websql/{ng2-logger.d.ts → index.d.ts} +4 -4
  61. package/websql/lib/backend-logging.d.ts +3 -3
  62. package/websql/lib/display.d.ts +3 -3
  63. package/websql/lib/index.d.ts +3 -3
  64. package/websql/lib/level.d.ts +20 -20
  65. package/websql/lib/log.d.ts +24 -24
  66. package/websql/lib/logger.d.ts +80 -80
  67. package/websql/package.json +6 -12
  68. package/browser/esm2020/lib/log.mjs +0 -161
  69. package/browser/esm2020/lib/logger.mjs +0 -237
  70. package/browser/fesm2015/ng2-logger.mjs +0 -530
  71. package/browser/fesm2015/ng2-logger.mjs.map +0 -1
  72. package/client/esm2020/lib/log.mjs +0 -161
  73. package/client/esm2020/lib/logger.mjs +0 -237
  74. package/client/fesm2015/ng2-logger.mjs.map +0 -1
  75. package/client/fesm2020/ng2-logger.mjs +0 -530
  76. package/websql/esm2020/lib/log.mjs +0 -161
  77. package/websql/esm2020/lib/logger.mjs +0 -237
  78. package/websql/fesm2015/ng2-logger.mjs.map +0 -1
  79. package/websql/fesm2020/ng2-logger.mjs +0 -530
@@ -0,0 +1,237 @@
1
+ import { Level } from './level';
2
+ import { Display } from './display';
3
+ import { Helpers } from 'tnp-core/websql';
4
+ export class Logger {
5
+ setLevel(l) {
6
+ this._level = l;
7
+ return this;
8
+ }
9
+ get isProductionMode() {
10
+ return !this.developmentMode;
11
+ }
12
+ setProductionMode(productionMode) {
13
+ this.developmentMode = !productionMode;
14
+ return this;
15
+ }
16
+ mute() {
17
+ this.isMuted = true;
18
+ return this;
19
+ }
20
+ constructor(name, color, developmentMode, allowed, isMuted, fixedWidth) {
21
+ this.name = name;
22
+ this.color = color;
23
+ this.developmentMode = developmentMode;
24
+ this.allowed = allowed;
25
+ this.isMuted = isMuted;
26
+ this.fixedWidth = fixedWidth;
27
+ /**
28
+ * @see data
29
+ */
30
+ this.d = (name, ...data) => this._data(name, data);
31
+ /**
32
+ * @see error
33
+ */
34
+ this.er = (name, ...data) => this._error(name, data);
35
+ /**
36
+ * @see info
37
+ */
38
+ this.i = (name, ...data) => this._info(name, data);
39
+ /**
40
+ * @see warn
41
+ */
42
+ this.w = (name, ...data) => this._warn(name, data);
43
+ /**
44
+ * Logs message and data with the level=data
45
+ * @param message The message
46
+ * @param otherParams Additional parameters
47
+ */
48
+ this.data = (message, ...otherParams) => { return this._data(message, otherParams); };
49
+ /**
50
+ * Logs message and data with the level=error
51
+ * @param message The message
52
+ * @param otherParams Additional parameters
53
+ */
54
+ this.error = (message, ...otherParams) => this._error(message, otherParams);
55
+ /**
56
+ * Logs message and data with the level=info
57
+ * @param message The message
58
+ * @param otherParams Additional parameters
59
+ */
60
+ this.info = (message, ...otherParams) => this._info(message, otherParams);
61
+ /**
62
+ * Logs message and data with the level=success
63
+ * @param message The message
64
+ * @param otherParams Additional parameters
65
+ */
66
+ this.success = (message, ...otherParams) => this._success(message, otherParams);
67
+ /**
68
+ * Logs message and data with the level=taskStarted
69
+ * @param message The message
70
+ * @param otherParams Additional parameters
71
+ */
72
+ this.taskStarted = (message, ...otherParams) => this._taskStarted(message, otherParams);
73
+ /**
74
+ * Logs message and data with the level=taskDone
75
+ * @param message The message
76
+ * @param otherParams Additional parameters
77
+ */
78
+ this.taskDone = (message, ...otherParams) => this._taskDone(message, otherParams);
79
+ /**
80
+ * Logs message and data with the level=warn
81
+ * @param message The message
82
+ * @param otherParams Additional parameters
83
+ */
84
+ this.warn = (message, ...otherParams) => this._warn(message, otherParams);
85
+ }
86
+ onlyWhen(expression) {
87
+ if (typeof expression === 'function') {
88
+ this.isMuted = !expression();
89
+ }
90
+ else if (typeof expression === 'boolean') {
91
+ this.isMuted = !expression;
92
+ }
93
+ }
94
+ _data(name, ...data) {
95
+ if (this.isMuted)
96
+ return this;
97
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
98
+ && !Helpers.contain(this.allowed, Level.DATA))
99
+ return this;
100
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.DATA)) {
101
+ // @ts-ignore
102
+ Display.msg.apply(void 0, [
103
+ name,
104
+ ...data,
105
+ this.name,
106
+ this.color,
107
+ Level.DATA,
108
+ this.fixedWidth,
109
+ this.isProductionMode,
110
+ ]);
111
+ }
112
+ return this;
113
+ }
114
+ _error(name, ...data) {
115
+ if (this.isMuted)
116
+ return this;
117
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
118
+ && !Helpers.contain(this.allowed, Level.ERROR))
119
+ return this;
120
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.ERROR)) {
121
+ // @ts-ignore
122
+ Display.msg.apply(void 0, [
123
+ name,
124
+ ...data,
125
+ this.name,
126
+ this.color,
127
+ Level.ERROR,
128
+ this.fixedWidth,
129
+ this.isProductionMode,
130
+ ]);
131
+ }
132
+ return this;
133
+ }
134
+ _info(name, ...data) {
135
+ if (this.isMuted)
136
+ return this;
137
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
138
+ && !Helpers.contain(this.allowed, Level.INFO))
139
+ return this;
140
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.INFO)) {
141
+ // @ts-ignore
142
+ Display.msg.apply(void 0, [
143
+ name,
144
+ ...data,
145
+ this.name,
146
+ this.color,
147
+ Level.INFO,
148
+ this.fixedWidth,
149
+ this.isProductionMode,
150
+ ]);
151
+ }
152
+ return this;
153
+ }
154
+ _success(name, ...data) {
155
+ if (this.isMuted)
156
+ return this;
157
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
158
+ && !Helpers.contain(this.allowed, Level.SUCCESS))
159
+ return this;
160
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.SUCCESS)) {
161
+ // @ts-ignore
162
+ Display.msg.apply(void 0, [
163
+ name,
164
+ ...data,
165
+ this.name,
166
+ this.color,
167
+ Level.SUCCESS,
168
+ this.fixedWidth,
169
+ this.isProductionMode,
170
+ ]);
171
+ }
172
+ return this;
173
+ }
174
+ _taskStarted(name, ...data) {
175
+ if (this.isMuted)
176
+ return this;
177
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
178
+ && !Helpers.contain(this.allowed, Level.TASK_STARTED))
179
+ return this;
180
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.TASK_STARTED)) {
181
+ // @ts-ignore
182
+ Display.msg.apply(void 0, [
183
+ name,
184
+ ...data,
185
+ this.name,
186
+ this.color,
187
+ Level.TASK_STARTED,
188
+ this.fixedWidth,
189
+ this.isProductionMode,
190
+ ]);
191
+ }
192
+ return this;
193
+ }
194
+ _taskDone(name, ...data) {
195
+ if (this.isMuted)
196
+ return this;
197
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
198
+ && !Helpers.contain(this.allowed, Level.TASK_DONE))
199
+ return this;
200
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.TASK_DONE)) {
201
+ // @ts-ignore
202
+ Display.msg.apply(void 0, [
203
+ name,
204
+ ...data,
205
+ this.name,
206
+ this.color,
207
+ Level.TASK_DONE,
208
+ this.fixedWidth,
209
+ this.isProductionMode,
210
+ ]);
211
+ }
212
+ return this;
213
+ }
214
+ _warn(name, ...data) {
215
+ if (this.isMuted)
216
+ return this;
217
+ if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)
218
+ && !Helpers.contain(this.allowed, Level.WARN))
219
+ return this;
220
+ if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.WARN)) {
221
+ // @ts-ignore
222
+ Display.msg.apply(void 0, [
223
+ name,
224
+ ...data,
225
+ this.name,
226
+ this.color,
227
+ Level.WARN,
228
+ this.fixedWidth,
229
+ this.isProductionMode,
230
+ ]);
231
+ }
232
+ return this;
233
+ }
234
+ }
235
+ ;
236
+ ({}); // @--end-of-file-for-module=ng2-logger lib/logger.ts
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9saWIvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsTUFBTSxPQUFPLE1BQU07SUFHVixRQUFRLENBQUMsQ0FBUTtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUMvQixDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBdUI7UUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLGNBQWMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFDVSxJQUFZLEVBQ2IsS0FBYSxFQUNaLGVBQXdCLEVBQ3hCLE9BQWdCLEVBQ2hCLE9BQWdCLEVBQ2pCLFVBQThCO1FBTDdCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ1osb0JBQWUsR0FBZixlQUFlLENBQVM7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBeUp2Qzs7VUFFRTtRQUNGLE1BQUMsR0FBRyxDQUFD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QUFFLE9BQU8sSUFBSSxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDO2VBQ3pFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUU3RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFFLGFBQWE7WUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsSUFBSTtnQkFDSixHQUFHLElBQUk7Z0JBQ1AsSUFBSSxDQUFDLElBQUk7Z0JBQ1QsSUFBSSxDQUFDLEtBQUs7Z0JBQ1YsS0FBSyxDQUFDLElBQUk7Z0JBQ1YsSUFBSSxDQUFDLFVBQVU7Z0JBQ2YsSUFBSSxDQUFDLGdCQUFnQjthQUN0QixDQUFDLENBQUE7U0FDSDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQTBFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGV2ZWwgfSBmcm9tICcuL2xldmVsJztcbmltcG9ydCB7IERpc3BsYXkgfSBmcm9tICcuL2Rpc3BsYXknO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xuXG4gIHByaXZhdGUgX2xldmVsOiBMZXZlbDtcbiAgcHVibGljIHNldExldmVsKGw6IExldmVsKSB7XG4gICAgdGhpcy5fbGV2ZWwgPSBsO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1Byb2R1Y3Rpb25Nb2RlKCkge1xuICAgIHJldHVybiAhdGhpcy5kZXZlbG9wbWVudE1vZGU7XG4gIH1cblxuICBwdWJsaWMgc2V0UHJvZHVjdGlvbk1vZGUocHJvZHVjdGlvbk1vZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRldmVsb3BtZW50TW9kZSA9ICFwcm9kdWN0aW9uTW9kZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtdXRlKCkge1xuICAgIHRoaXMuaXNNdXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgY29sb3I6IHN0cmluZyxcbiAgICBwcml2YXRlIGRldmVsb3BtZW50TW9kZTogYm9vbGVhbixcbiAgICBwcml2YXRlIGFsbG93ZWQ6IExldmVsW10sXG4gICAgcHJpdmF0ZSBpc011dGVkOiBib29sZWFuLFxuICAgIHB1YmxpYyBmaXhlZFdpZHRoOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgKSB7IH1cblxuICBvbmx5V2hlbihleHByZXNzaW9uOiAoKCkgPT4gYm9vbGVhbikgfCBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBleHByZXNzaW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLmlzTXV0ZWQgPSAhZXhwcmVzc2lvbigpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwcmVzc2lvbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aGlzLmlzTXV0ZWQgPSAhZXhwcmVzc2lvbjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kYXRhKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5EQVRBKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5EQVRBKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuREFUQSxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuXG4gIHByaXZhdGUgX2Vycm9yKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5FUlJPUikpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuRVJST1IpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5FUlJPUixcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9pbmZvKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5JTkZPKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5JTkZPKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuSU5GTyxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9zdWNjZXNzKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5TVUNDRVNTKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5TVUNDRVNTKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuU1VDQ0VTUyxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF90YXNrU3RhcnRlZChuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuVEFTS19TVEFSVEVEKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5UQVNLX1NUQVJURUQpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5UQVNLX1NUQVJURUQsXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfdGFza0RvbmUobmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmlzTXV0ZWQpIHJldHVybiB0aGlzO1xuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID49IDEgJiYgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuX19OT1RISU5HKVxuICAgICAgJiYgIUhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLlRBU0tfRE9ORSkpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuVEFTS19ET05FKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuVEFTS19ET05FLFxuICAgICAgICB0aGlzLmZpeGVkV2lkdGgsXG4gICAgICAgIHRoaXMuaXNQcm9kdWN0aW9uTW9kZSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX3dhcm4obmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmlzTXV0ZWQpIHJldHVybiB0aGlzO1xuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID49IDEgJiYgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuX19OT1RISU5HKVxuICAgICAgJiYgIUhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLldBUk4pKSByZXR1cm4gdGhpcztcblxuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID09PSAwIHx8IEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLldBUk4pKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5XQVJOLFxuICAgICAgICB0aGlzLmZpeGVkV2lkdGgsXG4gICAgICAgIHRoaXMuaXNQcm9kdWN0aW9uTW9kZSxcbiAgICAgIF0pXG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cblxuICAvKipcbiAgICogQHNlZSBkYXRhXG4gICovXG4gIGQgPSAobmFtZTogc3RyaW5nIHwgYW55LCAuLi5kYXRhOiBhbnlbXSkgPT4gdGhpcy5fZGF0YShuYW1lLCBkYXRhKTtcblxuICAvKipcbiAgICogQHNlZSBlcnJvclxuICAqL1xuXG4gIGVyID0gKG5hbWU6IHN0cmluZyB8IGFueSwgLi4uZGF0YTogYW55W10pID0+IHRoaXMuX2Vycm9yKG5hbWUsIGRhdGEpO1xuXG4gIC8qKlxuICAgKiBAc2VlIGluZm9cbiAgKi9cbiAgaSA9IChuYW1lOiBzdHJpbmcgfCBhbnksIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl9pbmZvKG5hbWUsIGRhdGEpO1xuXG4gIC8qKlxuICAgKiBAc2VlIHdhcm5cbiAgKi9cbiAgdyA9IChuYW1lOiBzdHJpbmcgfCBhbnksIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl93YXJuKG5hbWUsIGRhdGEpO1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9ZGF0YVxuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBkYXRhID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB7IHJldHVybiB0aGlzLl9kYXRhKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTsgfTtcblxuICAvKipcbiAgICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPWVycm9yXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIGVycm9yID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB0aGlzLl9lcnJvcihtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD1pbmZvXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIGluZm8gPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX2luZm8obWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9c3VjY2Vzc1xuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBzdWNjZXNzID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB0aGlzLl9zdWNjZXNzKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTtcblxuXG4gIC8qKlxuICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD10YXNrU3RhcnRlZFxuICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAqL1xuICB0YXNrU3RhcnRlZCA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5fdGFza1N0YXJ0ZWQobWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG4gIC8qKlxuICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD10YXNrRG9uZVxuICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAqL1xuICB0YXNrRG9uZSA9IChtZXNzYWdlPzogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX3Rhc2tEb25lKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTtcblxuICAvKipcbiAgICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPXdhcm5cbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgd2FybiA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5fd2FybihtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1sb2dnZXIgbGliL2xvZ2dlci50cyJdfQ==
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUtd2Vic3FsL25nMi1sb2dnZXIvcHJvamVjdHMvbmcyLWxvZ2dlci9zcmMvbmcyLWxvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,2 +1,2 @@
1
- export * from './lib';
1
+ export * from './lib';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUtd2Vic3FsL25nMi1sb2dnZXIvcHJvamVjdHMvbmcyLWxvZ2dlci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==