ng2-logger 13.1.1 → 13.1.3

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 (90) hide show
  1. package/README.md +206 -206
  2. package/app/index.d.ts +4 -4
  3. package/app/index.js +19 -19
  4. package/app/ng2-logger.component.d.ts +5 -5
  5. package/app/ng2-logger.component.js +33 -33
  6. package/app/ng2-logger.module.d.ts +2 -2
  7. package/app/ng2-logger.module.js +30 -30
  8. package/browser/README.md +24 -24
  9. package/browser/esm2020/lib/backend-logging.mjs +91 -91
  10. package/browser/esm2020/lib/display.mjs +96 -96
  11. package/browser/esm2020/lib/helpers.mjs +1 -1
  12. package/browser/esm2020/lib/index.mjs +5 -5
  13. package/browser/esm2020/lib/level.mjs +30 -30
  14. package/browser/esm2020/lib/log.mjs +163 -163
  15. package/browser/esm2020/lib/logger.mjs +234 -234
  16. package/browser/esm2020/ng2-logger.mjs +4 -4
  17. package/browser/esm2020/public-api.mjs +1 -1
  18. package/browser/fesm2015/ng2-logger.mjs +512 -512
  19. package/browser/fesm2020/ng2-logger.mjs +512 -512
  20. package/browser/lib/backend-logging.d.ts +4 -4
  21. package/browser/lib/display.d.ts +4 -4
  22. package/browser/lib/helpers.d.ts +1 -1
  23. package/browser/lib/index.d.ts +5 -5
  24. package/browser/lib/level.d.ts +21 -21
  25. package/browser/lib/log.d.ts +25 -25
  26. package/browser/lib/logger.d.ts +81 -81
  27. package/browser/ng2-logger.d.ts +5 -5
  28. package/browser/public-api.d.ts +1 -1
  29. package/client/README.md +24 -24
  30. package/client/esm2020/lib/backend-logging.mjs +91 -91
  31. package/client/esm2020/lib/display.mjs +96 -96
  32. package/client/esm2020/lib/helpers.mjs +1 -1
  33. package/client/esm2020/lib/index.mjs +5 -5
  34. package/client/esm2020/lib/level.mjs +30 -30
  35. package/client/esm2020/lib/log.mjs +163 -163
  36. package/client/esm2020/lib/logger.mjs +234 -234
  37. package/client/esm2020/ng2-logger.mjs +4 -4
  38. package/client/esm2020/public-api.mjs +1 -1
  39. package/client/fesm2015/ng2-logger.mjs +512 -512
  40. package/client/fesm2020/ng2-logger.mjs +512 -512
  41. package/client/lib/backend-logging.d.ts +4 -4
  42. package/client/lib/display.d.ts +4 -4
  43. package/client/lib/helpers.d.ts +1 -1
  44. package/client/lib/index.d.ts +5 -5
  45. package/client/lib/level.d.ts +21 -21
  46. package/client/lib/log.d.ts +25 -25
  47. package/client/lib/logger.d.ts +81 -81
  48. package/client/ng2-logger.d.ts +5 -5
  49. package/client/public-api.d.ts +1 -1
  50. package/index.d.ts +1 -1
  51. package/index.js +5 -5
  52. package/lib/backend-logging.d.ts +4 -4
  53. package/lib/backend-logging.js +115 -115
  54. package/lib/display.d.ts +4 -4
  55. package/lib/display.js +104 -104
  56. package/lib/helpers.d.ts +1 -1
  57. package/lib/helpers.js +6 -6
  58. package/lib/index.d.ts +5 -5
  59. package/lib/index.js +9 -9
  60. package/lib/level.d.ts +21 -21
  61. package/lib/level.js +35 -35
  62. package/lib/log.d.ts +25 -25
  63. package/lib/log.js +197 -197
  64. package/lib/logger.d.ts +81 -81
  65. package/lib/logger.js +340 -340
  66. package/package.json +3 -3
  67. package/package.json_devDependencies.json +184 -184
  68. package/package.json_tnp.json5 +47 -47
  69. package/tmp-environment.json +36 -35
  70. package/websql/README.md +24 -24
  71. package/websql/esm2020/lib/backend-logging.mjs +91 -91
  72. package/websql/esm2020/lib/display.mjs +96 -96
  73. package/websql/esm2020/lib/helpers.mjs +1 -1
  74. package/websql/esm2020/lib/index.mjs +5 -5
  75. package/websql/esm2020/lib/level.mjs +30 -30
  76. package/websql/esm2020/lib/log.mjs +163 -163
  77. package/websql/esm2020/lib/logger.mjs +234 -234
  78. package/websql/esm2020/ng2-logger.mjs +4 -4
  79. package/websql/esm2020/public-api.mjs +1 -1
  80. package/websql/fesm2015/ng2-logger.mjs +512 -512
  81. package/websql/fesm2020/ng2-logger.mjs +512 -512
  82. package/websql/lib/backend-logging.d.ts +4 -4
  83. package/websql/lib/display.d.ts +4 -4
  84. package/websql/lib/helpers.d.ts +1 -1
  85. package/websql/lib/index.d.ts +5 -5
  86. package/websql/lib/level.d.ts +21 -21
  87. package/websql/lib/log.d.ts +25 -25
  88. package/websql/lib/logger.d.ts +81 -81
  89. package/websql/ng2-logger.d.ts +5 -5
  90. package/websql/public-api.d.ts +1 -1
@@ -1,235 +1,235 @@
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=success
48
- * @param message The message
49
- * @param otherParams Additional parameters
50
- */
51
- this.success = (message, ...otherParams) => this._success(message, otherParams);
52
- /**
53
- * Logs message and data with the level=taskStarted
54
- * @param message The message
55
- * @param otherParams Additional parameters
56
- */
57
- this.taskStarted = (message, ...otherParams) => this._taskStarted(message, otherParams);
58
- /**
59
- * Logs message and data with the level=taskDone
60
- * @param message The message
61
- * @param otherParams Additional parameters
62
- */
63
- this.taskDone = (message, ...otherParams) => this._taskDone(message, otherParams);
64
- /**
65
- * Logs message and data with the level=warn
66
- * @param message The message
67
- * @param otherParams Additional parameters
68
- */
69
- this.warn = (message, ...otherParams) => this._warn(message, otherParams);
70
- }
71
- setLevel(l) {
72
- this._level = l;
73
- return this;
74
- }
75
- get isProductionMode() {
76
- return !this.developmentMode;
77
- }
78
- setProductionMode(productionMode) {
79
- this.developmentMode = !productionMode;
80
- return this;
81
- }
82
- mute() {
83
- this.isMuted = true;
84
- return this;
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
- }
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=success
48
+ * @param message The message
49
+ * @param otherParams Additional parameters
50
+ */
51
+ this.success = (message, ...otherParams) => this._success(message, otherParams);
52
+ /**
53
+ * Logs message and data with the level=taskStarted
54
+ * @param message The message
55
+ * @param otherParams Additional parameters
56
+ */
57
+ this.taskStarted = (message, ...otherParams) => this._taskStarted(message, otherParams);
58
+ /**
59
+ * Logs message and data with the level=taskDone
60
+ * @param message The message
61
+ * @param otherParams Additional parameters
62
+ */
63
+ this.taskDone = (message, ...otherParams) => this._taskDone(message, otherParams);
64
+ /**
65
+ * Logs message and data with the level=warn
66
+ * @param message The message
67
+ * @param otherParams Additional parameters
68
+ */
69
+ this.warn = (message, ...otherParams) => this._warn(message, otherParams);
70
+ }
71
+ setLevel(l) {
72
+ this._level = l;
73
+ return this;
74
+ }
75
+ get isProductionMode() {
76
+ return !this.developmentMode;
77
+ }
78
+ setProductionMode(productionMode) {
79
+ this.developmentMode = !productionMode;
80
+ return this;
81
+ }
82
+ mute() {
83
+ this.isMuted = true;
84
+ return this;
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
235
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzQyxNQUFNLE9BQU8sTUFBTTtJQXNCakIsWUFDVSxJQUFZLEVBQ2IsS0FBYSxFQUNaLGVBQXdCLEVBQ3hCLE9BQWdCLEVBQ2hCLE9BQWdCLEVBQ2pCLFVBQThCO1FBTDdCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ1osb0JBQWUsR0FBZixlQUFlLENBQVM7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBeUp2Qzs7VUFFRTtRQUNGLE1BQUMsR0FBRyxDQUFDLElBQVksRUFBRSxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0Q7O1VBRUU7UUFFRixPQUFFLEdBQUcsQ0FBQyxJQUFZLEVBQUUsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9EOztVQUVFO1FBQ0YsTUFBQyxHQUFHLENBQUMsSUFBWSxFQUFFLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3RDs7VUFFRTtRQUNGLE1BQUMs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LElBQUksQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQztlQUN6RSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFN0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxRSxhQUFhO1lBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLElBQUk7Z0JBQ0osR0FBRyxJQUFJO2dCQUNQLElBQUksQ0FBQyxJQUFJO2dCQUNULElBQUksQ0FBQyxLQUFLO2dCQUNWLEtBQUssQ0FBQyxJQUFJO2dCQUNWLElBQUksQ0FBQyxVQUFVO2dCQUNmLElBQUksQ0FBQyxnQkFBZ0I7YUFDdEIsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0EwRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMZXZlbCB9IGZyb20gJy4vbGV2ZWwnO1xuaW1wb3J0IHsgRGlzcGxheSB9IGZyb20gJy4vZGlzcGxheSc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xuXG4gIHByaXZhdGUgX2xldmVsOiBMZXZlbDtcbiAgcHVibGljIHNldExldmVsKGw6IExldmVsKSB7XG4gICAgdGhpcy5fbGV2ZWwgPSBsO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1Byb2R1Y3Rpb25Nb2RlKCkge1xuICAgIHJldHVybiAhdGhpcy5kZXZlbG9wbWVudE1vZGU7XG4gIH1cblxuICBwdWJsaWMgc2V0UHJvZHVjdGlvbk1vZGUocHJvZHVjdGlvbk1vZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRldmVsb3BtZW50TW9kZSA9ICFwcm9kdWN0aW9uTW9kZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtdXRlKCkge1xuICAgIHRoaXMuaXNNdXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgY29sb3I6IHN0cmluZyxcbiAgICBwcml2YXRlIGRldmVsb3BtZW50TW9kZTogYm9vbGVhbixcbiAgICBwcml2YXRlIGFsbG93ZWQ6IExldmVsW10sXG4gICAgcHJpdmF0ZSBpc011dGVkOiBib29sZWFuLFxuICAgIHB1YmxpYyBmaXhlZFdpZHRoOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgKSB7IH1cblxuICBvbmx5V2hlbihleHByZXNzaW9uOiAoKCkgPT4gYm9vbGVhbikgfCBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBleHByZXNzaW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLmlzTXV0ZWQgPSAhZXhwcmVzc2lvbigpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwcmVzc2lvbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aGlzLmlzTXV0ZWQgPSAhZXhwcmVzc2lvbjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kYXRhKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5EQVRBKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5EQVRBKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuREFUQSxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuXG4gIHByaXZhdGUgX2Vycm9yKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5FUlJPUikpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuRVJST1IpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5FUlJPUixcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9pbmZvKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5JTkZPKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5JTkZPKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuSU5GTyxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9zdWNjZXNzKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5TVUNDRVNTKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5TVUNDRVNTKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuU1VDQ0VTUyxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF90YXNrU3RhcnRlZChuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuVEFTS19TVEFSVEVEKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5UQVNLX1NUQVJURUQpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5UQVNLX1NUQVJURUQsXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfdGFza0RvbmUobmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmlzTXV0ZWQpIHJldHVybiB0aGlzO1xuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID49IDEgJiYgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuX19OT1RISU5HKVxuICAgICAgJiYgIUhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLlRBU0tfRE9ORSkpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuVEFTS19ET05FKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuVEFTS19ET05FLFxuICAgICAgICB0aGlzLmZpeGVkV2lkdGgsXG4gICAgICAgIHRoaXMuaXNQcm9kdWN0aW9uTW9kZSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX3dhcm4obmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmlzTXV0ZWQpIHJldHVybiB0aGlzO1xuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID49IDEgJiYgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuX19OT1RISU5HKVxuICAgICAgJiYgIUhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLldBUk4pKSByZXR1cm4gdGhpcztcblxuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID09PSAwIHx8IEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLldBUk4pKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5XQVJOLFxuICAgICAgICB0aGlzLmZpeGVkV2lkdGgsXG4gICAgICAgIHRoaXMuaXNQcm9kdWN0aW9uTW9kZSxcbiAgICAgIF0pXG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cblxuICAvKiogQGRlcHJlY2F0ZWQgVXNlIGRhdGEoLi4uKVxuICAgKiBAc2VlIGRhdGFcbiAgKi9cbiAgZCA9IChuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl9kYXRhKG5hbWUsIGRhdGEpO1xuXG4gIC8qKiBAZGVwcmVjYXRlZCBVc2UgZXJyb3IoLi4uKVxuICAgKiBAc2VlIGVycm9yXG4gICovXG5cbiAgZXIgPSAobmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkgPT4gdGhpcy5fZXJyb3IobmFtZSwgZGF0YSk7XG5cbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBpbmZvKC4uLilcbiAgICogQHNlZSBpbmZvXG4gICovXG4gIGkgPSAobmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkgPT4gdGhpcy5faW5mbyhuYW1lLCBkYXRhKTtcblxuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHdhcm4oLi4uKVxuICAgKiBAc2VlIHdhcm5cbiAgKi9cbiAgdyA9IChuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl93YXJuKG5hbWUsIGRhdGEpO1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9ZGF0YVxuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBkYXRhID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB7IHJldHVybiB0aGlzLl9kYXRhKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTsgfTtcblxuICAvKipcbiAgICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPWVycm9yXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIGVycm9yID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB0aGlzLl9lcnJvcihtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD1pbmZvXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIGluZm8gPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX2luZm8obWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9c3VjY2Vzc1xuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBzdWNjZXNzID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB0aGlzLl9zdWNjZXNzKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTtcblxuXG4gIC8qKlxuICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD10YXNrU3RhcnRlZFxuICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAqL1xuICB0YXNrU3RhcnRlZCA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5fdGFza1N0YXJ0ZWQobWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG4gIC8qKlxuICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD10YXNrRG9uZVxuICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAqL1xuICAgdGFza0RvbmUgPSAobWVzc2FnZT86IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB0aGlzLl90YXNrRG9uZShtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD13YXJuXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIHdhcm4gPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX3dhcm4obWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9uZzItbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './lib';
1
+ export * from './lib';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuIl19