ng2-logger 13.1.25 → 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.
- package/README.md +192 -192
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/browser/esm2022/lib/log.mjs +162 -0
- package/browser/esm2022/lib/logger.mjs +237 -0
- package/{client/fesm2015 → browser/fesm2022}/ng2-logger.mjs +18 -17
- package/browser/{fesm2020 → fesm2022}/ng2-logger.mjs.map +1 -1
- package/browser/package.json +6 -12
- package/client/README.md +24 -24
- package/client/esm2022/lib/log.mjs +162 -0
- package/client/esm2022/lib/logger.mjs +237 -0
- package/{browser/fesm2020 → client/fesm2022}/ng2-logger.mjs +18 -17
- package/client/{fesm2020 → fesm2022}/ng2-logger.mjs.map +1 -1
- package/client/package.json +84 -82
- package/index.js.map +1 -1
- package/lib/backend-logging.js.map +1 -1
- package/lib/display.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/level.js.map +1 -1
- package/lib/log.js +1 -2
- package/lib/log.js.map +1 -1
- package/lib/logger.js.map +1 -1
- package/package.json +3 -3
- package/package.json_devDependencies.json +184 -184
- package/package.json_tnp.json5 +54 -54
- package/tmp-environment.json +89 -87
- package/websql/README.md +24 -24
- package/websql/esm2022/lib/log.mjs +162 -0
- package/websql/esm2022/lib/logger.mjs +237 -0
- package/websql/{fesm2015 → fesm2022}/ng2-logger.mjs +18 -17
- package/websql/{fesm2020 → fesm2022}/ng2-logger.mjs.map +1 -1
- package/websql/package.json +6 -12
- package/browser/esm2020/lib/log.mjs +0 -161
- package/browser/esm2020/lib/logger.mjs +0 -237
- package/browser/fesm2015/ng2-logger.mjs +0 -530
- package/browser/fesm2015/ng2-logger.mjs.map +0 -1
- package/client/esm2020/lib/log.mjs +0 -161
- package/client/esm2020/lib/logger.mjs +0 -237
- package/client/fesm2015/ng2-logger.mjs.map +0 -1
- package/client/fesm2020/ng2-logger.mjs +0 -530
- package/websql/esm2020/lib/log.mjs +0 -161
- package/websql/esm2020/lib/logger.mjs +0 -237
- package/websql/fesm2015/ng2-logger.mjs.map +0 -1
- package/websql/fesm2020/ng2-logger.mjs +0 -530
- /package/browser/{esm2020 → esm2022}/lib/backend-logging.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/lib/display.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/lib/level.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/ng2-logger.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/browser/{ng2-logger.d.ts → index.d.ts} +0 -0
- /package/client/{esm2020 → esm2022}/lib/backend-logging.mjs +0 -0
- /package/client/{esm2020 → esm2022}/lib/display.mjs +0 -0
- /package/client/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/client/{esm2020 → esm2022}/lib/level.mjs +0 -0
- /package/client/{esm2020 → esm2022}/ng2-logger.mjs +0 -0
- /package/client/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/client/{ng2-logger.d.ts → index.d.ts} +0 -0
- /package/websql/{esm2020 → esm2022}/lib/backend-logging.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/lib/display.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/lib/level.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/ng2-logger.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/websql/{ng2-logger.d.ts → index.d.ts} +0 -0
package/tmp-environment.json
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"smartContainerTarget": "",
|
|
36
36
|
"type": "isomorphic-lib",
|
|
37
|
-
"version": "
|
|
37
|
+
"version": "v4",
|
|
38
38
|
"additionalNpmNames": [
|
|
39
39
|
"firedev-logger"
|
|
40
40
|
],
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
]
|
|
56
56
|
},
|
|
57
57
|
"name": "ng2-logger",
|
|
58
|
-
"version": "
|
|
58
|
+
"version": "16.0.2",
|
|
59
59
|
"description": "isomorphic logger for browser/server in typescript",
|
|
60
60
|
"repository": {
|
|
61
61
|
"type": "git",
|
|
@@ -85,53 +85,55 @@
|
|
|
85
85
|
"json-stringify-safe": "5.0.1",
|
|
86
86
|
"json5": "2.2.1",
|
|
87
87
|
"randomcolor": "0.5.3",
|
|
88
|
-
"tnp-config": "~
|
|
88
|
+
"tnp-config": "~16.0.3"
|
|
89
89
|
},
|
|
90
90
|
"license": "MIT",
|
|
91
91
|
"private": false,
|
|
92
|
-
"lastBuildTagHash": "
|
|
92
|
+
"lastBuildTagHash": "6e43e4dd43aa36343a8b6716032ddf0889cf340e",
|
|
93
93
|
"peerDependencies": {},
|
|
94
94
|
"devDependencies": {
|
|
95
|
-
"@angular-devkit/build-angular": "~
|
|
96
|
-
"@angular-devkit/core": "~
|
|
95
|
+
"@angular-devkit/build-angular": "~16.0.5",
|
|
96
|
+
"@angular-devkit/core": "~16.0.5",
|
|
97
97
|
"@angular-material-extensions/fab-menu": "~6.1.0",
|
|
98
|
-
"@angular/animations": "~
|
|
99
|
-
"@angular/cdk": "~
|
|
100
|
-
"@angular/cli": "~
|
|
101
|
-
"@angular/common": "~
|
|
102
|
-
"@angular/compiler": "~
|
|
103
|
-
"@angular/compiler-cli": "~
|
|
104
|
-
"@angular/core": "~
|
|
105
|
-
"@angular/elements": "~
|
|
106
|
-
"@angular/
|
|
107
|
-
"@angular/
|
|
108
|
-
"@angular/
|
|
109
|
-
"@angular/platform-browser": "~
|
|
110
|
-
"@angular/
|
|
111
|
-
"@angular/
|
|
112
|
-
"@angular/
|
|
113
|
-
"@angular/service-worker": "~13.3.11",
|
|
98
|
+
"@angular/animations": "~16.0.0",
|
|
99
|
+
"@angular/cdk": "~16.0.3",
|
|
100
|
+
"@angular/cli": "~16.0.5",
|
|
101
|
+
"@angular/common": "~16.0.0",
|
|
102
|
+
"@angular/compiler": "~16.0.0",
|
|
103
|
+
"@angular/compiler-cli": "~16.0.4",
|
|
104
|
+
"@angular/core": "~16.0.0",
|
|
105
|
+
"@angular/elements": "~16.0.4",
|
|
106
|
+
"@angular/forms": "~16.0.0",
|
|
107
|
+
"@angular/material": "~16.0.3",
|
|
108
|
+
"@angular/platform-browser": "~16.0.4",
|
|
109
|
+
"@angular/platform-browser-dynamic": "~16.0.4",
|
|
110
|
+
"@angular/pwa": "~16.0.5",
|
|
111
|
+
"@angular/router": "~16.0.0",
|
|
112
|
+
"@angular/service-worker": "~16.0.4",
|
|
114
113
|
"@babel/cli": "7.18.6",
|
|
115
114
|
"@iconify/icons-fa-solid": "1.2.2",
|
|
116
115
|
"@iconify/icons-mdi": "1.2.1",
|
|
117
|
-
"@mdi/js": "
|
|
118
|
-
"@ng-matero/extensions": "
|
|
116
|
+
"@mdi/js": "7.2.96",
|
|
117
|
+
"@ng-matero/extensions": "16.0.0",
|
|
119
118
|
"@ngneat/falso": "6.4.0",
|
|
120
|
-
"@ngneat/hot-toast": "
|
|
121
|
-
"@ngneat/overview": "
|
|
122
|
-
"@ngneat/
|
|
123
|
-
"@ngrx/component-store": "~
|
|
124
|
-
"@ngrx/data": "~
|
|
125
|
-
"@ngrx/effects": "~
|
|
126
|
-
"@ngrx/entity": "~
|
|
127
|
-
"@ngrx/router-store": "~
|
|
128
|
-
"@ngrx/schematics": "~
|
|
129
|
-
"@ngrx/store": "~
|
|
130
|
-
"@ngrx/store-devtools": "~
|
|
131
|
-
"@ngx-formly/core": "6.
|
|
132
|
-
"@ngx-formly/material": "6.
|
|
133
|
-
"@ngx-translate/core": "
|
|
134
|
-
"@ngx-translate/http-loader": "
|
|
119
|
+
"@ngneat/hot-toast": "5.0.1",
|
|
120
|
+
"@ngneat/overview": "5.0.0",
|
|
121
|
+
"@ngneat/spectator": "15.0.0",
|
|
122
|
+
"@ngrx/component-store": "~16.0.1",
|
|
123
|
+
"@ngrx/data": "~16.0.1",
|
|
124
|
+
"@ngrx/effects": "~16.0.1",
|
|
125
|
+
"@ngrx/entity": "~16.0.1",
|
|
126
|
+
"@ngrx/router-store": "~16.0.1",
|
|
127
|
+
"@ngrx/schematics": "~16.0.1",
|
|
128
|
+
"@ngrx/store": "~16.0.1",
|
|
129
|
+
"@ngrx/store-devtools": "~16.0.1",
|
|
130
|
+
"@ngx-formly/core": "6.1.7",
|
|
131
|
+
"@ngx-formly/material": "6.1.7",
|
|
132
|
+
"@ngx-translate/core": "15.0.0",
|
|
133
|
+
"@ngx-translate/http-loader": "8.0.0",
|
|
134
|
+
"@testdeck/jasmine": "0.3.3",
|
|
135
|
+
"@testdeck/jest": "0.3.3",
|
|
136
|
+
"@testdeck/mocha": "0.3.3",
|
|
135
137
|
"@types/chai": "4.1.2",
|
|
136
138
|
"@types/chokidar": "2.1.3",
|
|
137
139
|
"@types/dateformat": "1.0.1",
|
|
@@ -143,7 +145,7 @@
|
|
|
143
145
|
"@types/http-proxy": "1.16.0",
|
|
144
146
|
"@types/http-proxy-middleware": "0.19.2",
|
|
145
147
|
"@types/inquirer": "7.3.1",
|
|
146
|
-
"@types/jasmine": "3.
|
|
148
|
+
"@types/jasmine": "4.3.0",
|
|
147
149
|
"@types/json-stringify-safe": "5.0.0",
|
|
148
150
|
"@types/json5": "0.0.29",
|
|
149
151
|
"@types/lockfile": "1.0.0",
|
|
@@ -162,10 +164,10 @@
|
|
|
162
164
|
"@types/vinyl": "2.0.2",
|
|
163
165
|
"@types/watch": "1.0.0",
|
|
164
166
|
"accepts": "1.3.4",
|
|
165
|
-
"angular-material-css-vars": "5.0.
|
|
166
|
-
"any-project-cli": "~13.1.
|
|
167
|
+
"angular-material-css-vars": "5.0.2",
|
|
168
|
+
"any-project-cli": "~13.1.28",
|
|
167
169
|
"axios": "1.3.5",
|
|
168
|
-
"background-worker-process": "~13.1.
|
|
170
|
+
"background-worker-process": "~13.1.45",
|
|
169
171
|
"base32": "0.0.7",
|
|
170
172
|
"bcryptjs": "2.4.3",
|
|
171
173
|
"better-sqlite3": "7.6.2",
|
|
@@ -205,13 +207,13 @@
|
|
|
205
207
|
"express-session": "1.17.3",
|
|
206
208
|
"file-loader": "1.1.5",
|
|
207
209
|
"file-saver": "2.0.5",
|
|
208
|
-
"firedev": "^
|
|
209
|
-
"firedev-crud": "~13.1.
|
|
210
|
-
"firedev-crud-deamon": "~13.1.
|
|
211
|
-
"firedev-ports": "~13.1.
|
|
212
|
-
"firedev-storage": "~13.2.
|
|
213
|
-
"firedev-typeorm": "~13.1.
|
|
214
|
-
"firedev-ui": "~
|
|
210
|
+
"firedev": "^16",
|
|
211
|
+
"firedev-crud": "~13.1.50",
|
|
212
|
+
"firedev-crud-deamon": "~13.1.40",
|
|
213
|
+
"firedev-ports": "~13.1.45",
|
|
214
|
+
"firedev-storage": "~13.2.37",
|
|
215
|
+
"firedev-typeorm": "~13.1.32",
|
|
216
|
+
"firedev-ui": "~16.0.1",
|
|
215
217
|
"fkill": "6.1.0",
|
|
216
218
|
"font-awesome": "4.7.0",
|
|
217
219
|
"form-data": "4.0.0",
|
|
@@ -225,50 +227,50 @@
|
|
|
225
227
|
"http-proxy-middleware": "0.19.1",
|
|
226
228
|
"http-server": "0.11.1",
|
|
227
229
|
"immutable": "4.3.0",
|
|
228
|
-
"incremental-compiler": "~13.1.
|
|
230
|
+
"incremental-compiler": "~13.1.26",
|
|
229
231
|
"inquirer": "7.3.3",
|
|
230
232
|
"inquirer-autocomplete-prompt": "1.3.0",
|
|
231
233
|
"is-elevated": "3.0.0",
|
|
232
|
-
"isomorphic-region-loader": "~13.1.
|
|
234
|
+
"isomorphic-region-loader": "~13.1.38",
|
|
233
235
|
"istanbul-instrumenter-loader": "2.0.0",
|
|
234
|
-
"jasmine-core": "4.
|
|
236
|
+
"jasmine-core": "4.6.0",
|
|
235
237
|
"jscodeshift": "0.6.3",
|
|
236
|
-
"json10": "~13.1.
|
|
237
|
-
"json10-writer": "~13.1.
|
|
238
|
+
"json10": "~13.1.45",
|
|
239
|
+
"json10-writer": "~13.1.41",
|
|
238
240
|
"json5-writer": "0.2.0",
|
|
239
241
|
"jszip": "3.10.1",
|
|
240
|
-
"karma": "6.
|
|
241
|
-
"karma-chrome-launcher": "3.
|
|
242
|
+
"karma": "6.4.0",
|
|
243
|
+
"karma-chrome-launcher": "3.2.0",
|
|
242
244
|
"karma-cli": "1.0.1",
|
|
243
|
-
"karma-coverage": "2.
|
|
244
|
-
"karma-jasmine": "
|
|
245
|
-
"karma-jasmine-html-reporter": "
|
|
245
|
+
"karma-coverage": "2.2.0",
|
|
246
|
+
"karma-jasmine": "5.1.0",
|
|
247
|
+
"karma-jasmine-html-reporter": "2.0.0",
|
|
246
248
|
"lnk": "1.0.1",
|
|
247
249
|
"localforage": "1.10.0",
|
|
248
250
|
"lockfile": "1.0.4",
|
|
249
251
|
"lodash": "4.17.20",
|
|
250
|
-
"lodash-walk-object": "~13.1.
|
|
252
|
+
"lodash-walk-object": "~13.1.45",
|
|
251
253
|
"lowdb": "1.0.0",
|
|
252
|
-
"magic-renamer": "~13.1.
|
|
254
|
+
"magic-renamer": "~13.1.42",
|
|
253
255
|
"material-design-icons": "3.0.1",
|
|
254
256
|
"method-override": "2.3.10",
|
|
255
257
|
"minimist": "1.2.0",
|
|
256
258
|
"mkdirp": "0.5.1",
|
|
257
259
|
"mocha": "5.2.0",
|
|
258
260
|
"moment": "2.29.3",
|
|
259
|
-
"morphi": "~
|
|
260
|
-
"ng-in-viewport": "
|
|
261
|
-
"ng-packagr": "
|
|
261
|
+
"morphi": "~16.0.2",
|
|
262
|
+
"ng-in-viewport": "15.0.2",
|
|
263
|
+
"ng-packagr": "16.0.1",
|
|
262
264
|
"ng-talkback": "~13.1.19",
|
|
263
|
-
"ng2-logger": "~13.1.
|
|
264
|
-
"ng2-rest": "~13.2.
|
|
265
|
-
"ngx-ace-wrapper": "
|
|
266
|
-
"ngx-editor": "
|
|
267
|
-
"ngx-highlightjs": "
|
|
265
|
+
"ng2-logger": "~13.1.25",
|
|
266
|
+
"ng2-rest": "~13.2.9",
|
|
267
|
+
"ngx-ace-wrapper": "14.0.0",
|
|
268
|
+
"ngx-editor": "15.3.0",
|
|
269
|
+
"ngx-highlightjs": "9.0.0",
|
|
268
270
|
"ngx-moment": "6.0.2",
|
|
269
271
|
"ngx-pipes": "3.0.0",
|
|
270
|
-
"ngx-progressbar": "
|
|
271
|
-
"ngx-scrollbar": "
|
|
272
|
+
"ngx-progressbar": "11.0.0",
|
|
273
|
+
"ngx-scrollbar": "12.0.0",
|
|
272
274
|
"ngx-store": "3.1.1",
|
|
273
275
|
"ngx-typed-js": "2.1.1",
|
|
274
276
|
"node-cli-tester": "~13.1.19",
|
|
@@ -294,32 +296,32 @@
|
|
|
294
296
|
"record-replay-req-res-scenario": "~13.1.20",
|
|
295
297
|
"reflect-metadata": "0.1.10",
|
|
296
298
|
"rimraf": "2.6.2",
|
|
297
|
-
"rxjs": "~7.
|
|
299
|
+
"rxjs": "~7.8.0",
|
|
298
300
|
"semver": "6.3.0",
|
|
299
301
|
"simple-git": "1.96.0",
|
|
300
302
|
"sloc": "0.2.0",
|
|
301
303
|
"socket.io": "2.4.1",
|
|
302
304
|
"sort-package-json": "1.11.0",
|
|
303
305
|
"sql.js": "1.8.0",
|
|
304
|
-
"static-columns": "~
|
|
306
|
+
"static-columns": "~16.0.1",
|
|
305
307
|
"string-similarity": "4.0.2",
|
|
306
308
|
"sudo-block": "3.0.0",
|
|
307
309
|
"systeminformation": "3.45.7",
|
|
308
310
|
"task.js": "0.1.5",
|
|
309
311
|
"threads": "1.7.0",
|
|
310
|
-
"tnp-cli": "~13.1.
|
|
311
|
-
"tnp-core": "~
|
|
312
|
-
"tnp-db": "~13.1.
|
|
313
|
-
"tnp-helpers": "~13.1.
|
|
314
|
-
"tnp-models": "~13.1.
|
|
312
|
+
"tnp-cli": "~13.1.60",
|
|
313
|
+
"tnp-core": "~16.0.6",
|
|
314
|
+
"tnp-db": "~13.1.22",
|
|
315
|
+
"tnp-helpers": "~13.1.39",
|
|
316
|
+
"tnp-models": "~13.1.28",
|
|
315
317
|
"ts-debug": "1.3.0",
|
|
316
318
|
"ts-loader": "2.3.1",
|
|
317
|
-
"ts-node": "10.
|
|
319
|
+
"ts-node": "10.9.1",
|
|
318
320
|
"tslib": "~2.3.0",
|
|
319
321
|
"turndown": "7.1.2",
|
|
320
322
|
"typeorm": "~0.3.10",
|
|
321
|
-
"typescript": "~
|
|
322
|
-
"typescript-class-helpers": "~13.2.
|
|
323
|
+
"typescript": "~5.0.2",
|
|
324
|
+
"typescript-class-helpers": "~13.2.13",
|
|
323
325
|
"typescript-formatter": "~7.2.2",
|
|
324
326
|
"underscore": "1.9.1",
|
|
325
327
|
"uuid": "8.3.2",
|
|
@@ -328,13 +330,13 @@
|
|
|
328
330
|
"vpn-split": "~13.1.23",
|
|
329
331
|
"watch": "1.0.2",
|
|
330
332
|
"yup": "1.1.1",
|
|
331
|
-
"zone.js": "~0.
|
|
333
|
+
"zone.js": "~0.13.0"
|
|
332
334
|
}
|
|
333
335
|
},
|
|
334
336
|
"build": {
|
|
335
|
-
"number":
|
|
336
|
-
"date": "2023-06-
|
|
337
|
-
"hash": "
|
|
337
|
+
"number": 555,
|
|
338
|
+
"date": "2023-06-08T21:16:17.000Z",
|
|
339
|
+
"hash": "5af901f954f14bbd8987e812186639d519366b39",
|
|
338
340
|
"options": {}
|
|
339
341
|
},
|
|
340
342
|
"currentProjectName": "ng2-logger",
|
|
@@ -342,7 +344,7 @@
|
|
|
342
344
|
"currentProjectLaunchConfiguration": "{\"version\":\"0.2.0\",\"configurations\":[{\"type\":\"node\",\"request\":\"launch\",\"name\":\"Launch Server standalone\",\"program\":\"${workspaceFolder}/run.js\",\"args\":[\"--ENVoverride=%7B%0A%20%20%20%20%22clientProjectName%22%3A%20%22ng2-logger%22%0A%7D\"],\"runtimeArgs\":[\"--nolazy\",\"-r\",\"ts-node/register\",\"--experimental-worker\"]},{\"name\":\"Debugger with ng serve\",\"type\":\"chrome\",\"request\":\"launch\",\"preLaunchTask\":\"Ng Serve\",\"postDebugTask\":\"terminateall\",\"sourceMaps\":true,\"webRoot\":\"${workspaceFolder}\",\"sourceMapPathOverrides\":{\"webpack:/*\":\"${webRoot}/*\",\"/./*\":\"${webRoot}/*\",\"/tmp-src/*\":\"${webRoot}/*\",\"/*\":\"*\",\"/./~/*\":\"${webRoot}/node_modules/*\"}},{\"type\":\"node\",\"request\":\"attach\",\"name\":\"Attach to global cli tool\",\"port\":9229,\"skipFiles\":[\"<node_internals>/**\"]}],\"compounds\":[{\"name\":\"Debug backend/frontend\",\"configurations\":[\"Launch Server standalone\",\"Debugger with ng serve\"]}]}",
|
|
343
345
|
"currentProjectTasksConfiguration": "{\"version\":\"2.0.0\",\"tasks\":[{\"label\":\"terminateall\",\"command\":\"echo ${input:terminate}\",\"type\":\"shell\",\"problemMatcher\":[]},{\"label\":\"Ng Serve\",\"type\":\"shell\",\"command\":\"tnp build\",\"isBackground\":true,\"presentation\":{\"reveal\":\"always\"},\"group\":{\"kind\":\"build\",\"isDefault\":true},\"problemMatcher\":{\"owner\":\"typescript\",\"source\":\"ts\",\"applyTo\":\"closedDocuments\",\"fileLocation\":[\"relative\",\"${cwd}\"],\"pattern\":\"$tsc\",\"background\":{\"activeOnStart\":true,\"beginsPattern\":{\"regexp\":\"(.*?)\"},\"endsPattern\":{\"regexp\":\"Compiled |Failed to compile.\"}}}}],\"inputs\":[{\"id\":\"terminate\",\"type\":\"command\",\"command\":\"workbench.action.tasks.terminate\",\"args\":\"terminateAll\"}]}",
|
|
344
346
|
"currentProjectType": "isomorphic-lib",
|
|
345
|
-
"currentFrameworkVersion": "
|
|
347
|
+
"currentFrameworkVersion": "16.0.0",
|
|
346
348
|
"currentProjectIsStrictSite": false,
|
|
347
349
|
"currentProjectIsDependencySite": false,
|
|
348
350
|
"currentProjectIsStatic": false,
|
package/websql/README.md
CHANGED
|
@@ -1,24 +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.
|
|
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,162 @@
|
|
|
1
|
+
import { Logger } from './logger';
|
|
2
|
+
import { Level, LevelOrder, LevelKey } from './level';
|
|
3
|
+
import { Helpers } from 'tnp-core/websql';
|
|
4
|
+
/* */
|
|
5
|
+
/* */
|
|
6
|
+
/* */
|
|
7
|
+
/* */
|
|
8
|
+
/* */
|
|
9
|
+
class Log {
|
|
10
|
+
constructor() {
|
|
11
|
+
this._logOnly = false;
|
|
12
|
+
this._logModules = false;
|
|
13
|
+
this.isDevelopmentMode = true;
|
|
14
|
+
this.modeIsSet = false;
|
|
15
|
+
this.fixedWidth = 0;
|
|
16
|
+
this.instances = {};
|
|
17
|
+
this.levels = [];
|
|
18
|
+
this.modules = [];
|
|
19
|
+
}
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
static get instance() {
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
if (!Log['_instance']) {
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
Log['_instance'] = new Log();
|
|
26
|
+
}
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
return Log['_instance'];
|
|
29
|
+
}
|
|
30
|
+
static { this.Logger = Logger; }
|
|
31
|
+
static create(name, ...level) {
|
|
32
|
+
return Log.instance.create(name, ...level);
|
|
33
|
+
}
|
|
34
|
+
static { this.consolelogfn = {}; }
|
|
35
|
+
static disableLogs(level = Level.__NOTHING) {
|
|
36
|
+
/* */
|
|
37
|
+
/* */
|
|
38
|
+
/* */
|
|
39
|
+
/* */
|
|
40
|
+
/* */
|
|
41
|
+
/* */
|
|
42
|
+
/* */
|
|
43
|
+
LevelOrder.reverse().find(a => {
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
if (!this.consolelogfn[a]) {
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
this.consolelogfn[a] = console[a];
|
|
48
|
+
}
|
|
49
|
+
// @ts-ignore
|
|
50
|
+
console[a] = () => { };
|
|
51
|
+
if (a === LevelKey[level]) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
static enableLogs() {
|
|
58
|
+
/* */
|
|
59
|
+
/* */
|
|
60
|
+
/* */
|
|
61
|
+
/* */
|
|
62
|
+
LevelOrder.forEach(a => {
|
|
63
|
+
// @ts-ignore
|
|
64
|
+
console[a] = this.consolelogfn[a];
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
setProductionMode() {
|
|
68
|
+
if (this.modeIsSet) {
|
|
69
|
+
this.modeIsSet = false;
|
|
70
|
+
throw '[ng2-logger] Production mode is already set';
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.modeIsSet = true;
|
|
74
|
+
setTimeout(() => {
|
|
75
|
+
if (this.modeIsSet && console !== void 0 && console.clear !== void 0) {
|
|
76
|
+
console.clear();
|
|
77
|
+
console.log = () => { };
|
|
78
|
+
console.error = () => { };
|
|
79
|
+
console.warn = () => { };
|
|
80
|
+
console.info = () => { };
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
this.isDevelopmentMode = false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
onlyModules(...modules) {
|
|
87
|
+
if (this._logModules) {
|
|
88
|
+
throw '[ng2-logger] You should use funcion onlyModules only once';
|
|
89
|
+
}
|
|
90
|
+
if (!this._logModules) {
|
|
91
|
+
this._logModules = true;
|
|
92
|
+
}
|
|
93
|
+
if (modules.length === 0)
|
|
94
|
+
return;
|
|
95
|
+
this.modules = modules;
|
|
96
|
+
this.muteAllOtherModules();
|
|
97
|
+
}
|
|
98
|
+
onlyLevel(...level) {
|
|
99
|
+
if (this._logOnly) {
|
|
100
|
+
throw '[ng2-logger] You should use funcion onlyLevel only once';
|
|
101
|
+
}
|
|
102
|
+
if (!this._logOnly) {
|
|
103
|
+
this._logOnly = true;
|
|
104
|
+
}
|
|
105
|
+
this.levels = Array.isArray(level) ? level : [level];
|
|
106
|
+
for (const logName in this.instances) {
|
|
107
|
+
if (this.instances.hasOwnProperty(logName)) {
|
|
108
|
+
const element = this.instances[logName];
|
|
109
|
+
element['allowed'] = this.levels;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
create(name, ...level) {
|
|
114
|
+
let i;
|
|
115
|
+
if (Array.isArray(this.levels) && this.levels.length > 0) {
|
|
116
|
+
level = this.levels;
|
|
117
|
+
}
|
|
118
|
+
if (this.instances[name] === void 0) {
|
|
119
|
+
i = new (Log.Logger)(name, getRandomColor(), this.isDevelopmentMode, level, this.isMutedModule(name), this.levels.length > 0 ? this.fixedWidth : void 0);
|
|
120
|
+
this.instances[name] = i;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
i = this.instances[name];
|
|
124
|
+
}
|
|
125
|
+
return i;
|
|
126
|
+
}
|
|
127
|
+
isMutedModule(moduleName) {
|
|
128
|
+
if (this.modules.length == 0)
|
|
129
|
+
return false;
|
|
130
|
+
if (!Helpers.contain(this.modules, moduleName))
|
|
131
|
+
return true;
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
muteAllOtherModules() {
|
|
135
|
+
for (var moduleName in this.instances) {
|
|
136
|
+
if (!Helpers.contain(this.modules, moduleName))
|
|
137
|
+
this.instances[moduleName].mute();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
export { Log };
|
|
142
|
+
function getRandomColor() {
|
|
143
|
+
/* */
|
|
144
|
+
/* */
|
|
145
|
+
/* */
|
|
146
|
+
/* */
|
|
147
|
+
let letters = '012345'.split('');
|
|
148
|
+
let color = '#';
|
|
149
|
+
color += letters[Math.round(Math.random() * 5)];
|
|
150
|
+
letters = '0123456789ABCDEF'.split('');
|
|
151
|
+
for (let i = 0; i < 5; i++) {
|
|
152
|
+
color += letters[Math.round(Math.random() * 15)];
|
|
153
|
+
}
|
|
154
|
+
if (color === void 0) {
|
|
155
|
+
return getRandomColor();
|
|
156
|
+
}
|
|
157
|
+
;
|
|
158
|
+
return color;
|
|
159
|
+
}
|
|
160
|
+
;
|
|
161
|
+
({}); // @--end-of-file-for-module=ng2-logger lib/log.ts
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9saWIvbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFJTCxLQUFLO0FBQ0wsS0FBSztBQUlMLE1BQWEsR0FBRztJQUVkO1FBdURRLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGNBQVMsR0FBcUMsRUFBRSxDQUFDO1FBQ2pELFdBQU0sR0FBWSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUF3QixFQUFFLENBQUM7SUE5RGxCLENBQUM7SUFDekIsYUFBYTtJQUNMLE1BQU0sS0FBSyxRQUFRO1FBQ3pCLGFBQWE7UUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3JCLGFBQWE7WUFDYixHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUM5QjtRQUNELGFBQWE7UUFDYixPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQixDQUFDO2FBR00sV0FBTSxHQUFvQixNQUFNLEFBQTFCLENBQTJCO0lBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBWSxFQUFFLEdBQUcsS0FBYztRQUMzQyxPQUFP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QUFFLENBQUMsRUFBRSxFQUFFO1FBQzFCLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNsRDtJQUNELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxFQUFFO1FBQ3BCLE9BQU8sY0FBYyxFQUFFLENBQUE7S0FDeEI7SUFBQSxDQUFDO0lBQ0YsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrREFBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnZXIgfSBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyBMZXZlbCwgTGV2ZWxPcmRlciwgTGV2ZWxLZXkgfSBmcm9tICcuL2xldmVsJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuZXhwb3J0IGNsYXNzIExvZyB7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHsgfVxuICAvLyBAdHMtaWdub3JlXG4gIHByaXZhdGUgc3RhdGljIGdldCBpbnN0YW5jZSgpOiBhbnkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoIUxvZ1snX2luc3RhbmNlJ10pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIExvZ1snX2luc3RhbmNlJ10gPSBuZXcgTG9nKCk7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gTG9nWydfaW5zdGFuY2UnXTtcbiAgfVxuXG5cbiAgc3RhdGljIExvZ2dlcjogKHR5cGVvZiBMb2dnZXIpID0gTG9nZ2VyO1xuICBzdGF0aWMgY3JlYXRlKG5hbWU6IHN0cmluZywgLi4ubGV2ZWw6IExldmVsW10pOiBMb2dnZXIge1xuICAgIHJldHVybiBMb2cuaW5zdGFuY2UuY3JlYXRlKG5hbWUsIC4uLmxldmVsKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGNvbnNvbGVsb2dmbiA9IHt9O1xuICBzdGF0aWMgZGlzYWJsZUxvZ3MobGV2ZWwgPSBMZXZlbC5fX05PVEhJTkcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIExldmVsT3JkZXIucmV2ZXJzZSgpLmZpbmQoYSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAoIXRoaXMuY29uc29sZWxvZ2ZuW2FdKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy5jb25zb2xlbG9nZm5bYV0gPSBjb25zb2xlW2FdO1xuICAgICAgfVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc29sZVthXSA9ICgpID0+IHsgfTtcbiAgICAgIGlmIChhID09PSBMZXZlbEtleVtsZXZlbF0pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZW5hYmxlTG9ncygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIExldmVsT3JkZXIuZm9yRWFjaChhID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnNvbGVbYV0gPSB0aGlzLmNvbnNvbGVsb2dmblthXVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nT25seSA9IGZhbHNlO1xuICBwcml2YXRlIF9sb2dNb2R1bGVzID0gZmFsc2U7XG4gIHByaXZhdGUgaXNEZXZlbG9wbWVudE1vZGUgPSB0cnVlO1xuICBwcml2YXRlIG1vZGVJc1NldDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGZpeGVkV2lkdGggPSAwO1xuICBwcml2YXRlIGluc3RhbmNlczogeyBbbW9kdWxlTmFtZTogc3RyaW5nXTogTG9nZ2VyIH0gPSB7fTtcbiAgcHJpdmF0ZSBsZXZlbHM6IExldmVsW10gPSBbXTtcbiAgcHJpdmF0ZSBtb2R1bGVzOiAoc3RyaW5nIHwgUmVnRXhwKVtdID0gW107XG5cblxuICBwdWJsaWMgc2V0UHJvZHVjdGlvbk1vZGUoKSB7XG4gICAgaWYgKHRoaXMubW9kZUlzU2V0KSB7XG4gICAgICB0aGlzLm1vZGVJc1NldCA9IGZhbHNlXG4gICAgICB0aHJvdyAnW25nMi1sb2dnZXJdIFByb2R1Y3Rpb24gbW9kZSBpcyBhbHJlYWR5IHNldCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kZUlzU2V0ID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuXG4gICAgICAgIGlmICh0aGlzLm1vZGVJc1NldCAmJiBjb25zb2xlICE9PSB2b2lkIDAgJiYgY29uc29sZS5jbGVhciAhPT0gdm9pZCAwKSB7XG5cbiAgICAgICAgICBjb25zb2xlLmNsZWFyKCk7XG4gICAgICAgICAgY29uc29sZS5sb2cgPSAoKSA9PiB7IH07XG4gICAgICAgICAgY29uc29sZS5lcnJvciA9ICgpID0+IHsgfTtcbiAgICAgICAgICBjb25zb2xlLndhcm4gPSAoKSA9PiB7IH07XG4gICAgICAgICAgY29uc29sZS5pbmZvID0gKCkgPT4geyB9O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pc0RldmVsb3BtZW50TW9kZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbmx5TW9kdWxlcyguLi5tb2R1bGVzOiAoc3RyaW5nIHwgUmVnRXhwKVtdKSB7XG4gICAgaWYgKHRoaXMuX2xvZ01vZHVsZXMpIHtcbiAgICAgIHRocm93ICdbbmcyLWxvZ2dlcl0gWW91IHNob3VsZCB1c2UgZnVuY2lvbiBvbmx5TW9kdWxlcyBvbmx5IG9uY2UnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2xvZ01vZHVsZXMpIHtcbiAgICAgIHRoaXMuX2xvZ01vZHVsZXMgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAobW9kdWxlcy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICB0aGlzLm1vZHVsZXMgPSBtb2R1bGVzO1xuXG4gICAgdGhpcy5tdXRlQWxsT3RoZXJNb2R1bGVzKCk7XG4gIH1cblxuXG4gIHB1YmxpYyBvbmx5TGV2ZWwoLi4ubGV2ZWw6IExldmVsW10pIHtcbiAgICBpZiAodGhpcy5fbG9nT25seSkge1xuICAgICAgdGhyb3cgJ1tuZzItbG9nZ2VyXSBZb3Ugc2hvdWxkIHVzZSBmdW5jaW9uIG9ubHlMZXZlbCBvbmx5IG9uY2UnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2xvZ09ubHkpIHtcbiAgICAgIHRoaXMuX2xvZ09ubHkgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMubGV2ZWxzID0gQXJyYXkuaXNBcnJheShsZXZlbCkgPyBsZXZlbCA6IFtsZXZlbF07XG5cblxuICAgIGZvciAoY29uc3QgbG9nTmFtZSBpbiB0aGlzLmluc3RhbmNlcykge1xuICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzLmhhc093blByb3BlcnR5KGxvZ05hbWUpKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmluc3RhbmNlc1tsb2dOYW1lXTtcbiAgICAgICAgZWxlbWVudFsnYWxsb3dlZCddID0gdGhpcy5sZXZlbHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIHByaXZhdGUgY3JlYXRlKG5hbWU6IHN0cmluZywgLi4ubGV2ZWw6IExldmVsW10pOiBMb2dnZXIge1xuICAgIGxldCBpOiBMb2dnZXI7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5sZXZlbHMpICYmIHRoaXMubGV2ZWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIGxldmVsID0gdGhpcy5sZXZlbHM7XG4gICAgfVxuICAgIGlmICh0aGlzLmluc3RhbmNlc1tuYW1lXSA9PT0gdm9pZCAwKSB7XG4gICAgICBpID0gbmV3IChMb2cuTG9nZ2VyKShcbiAgICAgICAgbmFtZSxcbiAgICAgICAgZ2V0UmFuZG9tQ29sb3IoKSxcbiAgICAgICAgdGhpcy5pc0RldmVsb3BtZW50TW9kZSxcbiAgICAgICAgbGV2ZWwsXG4gICAgICAgIHRoaXMuaXNNdXRlZE1vZHVsZShuYW1lKSxcbiAgICAgICAgdGhpcy5sZXZlbHMubGVuZ3RoID4gMCA/IHRoaXMuZml4ZWRXaWR0aCA6IHZvaWQgMCxcblxuICAgICAgKTtcbiAgICAgIHRoaXMuaW5zdGFuY2VzW25hbWVdID0gaTtcbiAgICB9IGVsc2Uge1xuICAgICAgaSA9IHRoaXMuaW5zdGFuY2VzW25hbWVdO1xuICAgIH1cbiAgICByZXR1cm4gaTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNdXRlZE1vZHVsZShtb2R1bGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tb2R1bGVzLmxlbmd0aCA9PSAwKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCFIZWxwZXJzLmNvbnRhaW4odGhpcy5tb2R1bGVzLCBtb2R1bGVOYW1lKSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHByaXZhdGUgbXV0ZUFsbE90aGVyTW9kdWxlcygpIHtcbiAgICBmb3IgKHZhciBtb2R1bGVOYW1lIGluIHRoaXMuaW5zdGFuY2VzKSB7XG4gICAgICBpZiAoIUhlbHBlcnMuY29udGFpbih0aGlzLm1vZHVsZXMsIG1vZHVsZU5hbWUpKVxuICAgICAgICB0aGlzLmluc3RhbmNlc1ttb2R1bGVOYW1lXS5tdXRlKClcbiAgICB9XG4gIH1cblxufVxuXG5cbmZ1bmN0aW9uIGdldFJhbmRvbUNvbG9yKCk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuICBsZXQgbGV0dGVycyA9ICcwMTIzNDUnLnNwbGl0KCcnKTtcbiAgbGV0IGNvbG9yID0gJyMnO1xuICBjb2xvciArPSBsZXR0ZXJzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDUpXTtcbiAgbGV0dGVycyA9ICcwMTIzNDU2Nzg5QUJDREVGJy5zcGxpdCgnJyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XG4gICAgY29sb3IgKz0gbGV0dGVyc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxNSldO1xuICB9XG4gIGlmIChjb2xvciA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGdldFJhbmRvbUNvbG9yKClcbiAgfTtcbiAgcmV0dXJuIGNvbG9yO1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLWxvZ2dlciBsaWIvbG9nLnRzIl19
|