typescript-class-helpers 13.1.16 → 13.2.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/app.js +3 -3
- package/browser/README.md +24 -24
- package/browser/esm2020/lib/classname.mjs +151 -146
- package/browser/esm2020/lib/describe-class.mjs +65 -65
- package/browser/esm2020/lib/errors-messages.mjs +3 -3
- package/browser/esm2020/lib/index.mjs +134 -134
- package/browser/esm2020/lib/models.mjs +26 -26
- package/browser/esm2020/lib/registerd-db.mjs +5 -5
- package/browser/esm2020/lib/set-class-name.mjs +89 -89
- package/browser/esm2020/lib/storage.mjs +23 -23
- package/browser/esm2020/lib/symbols.mjs +7 -7
- package/browser/esm2020/public-api.mjs +1 -1
- package/browser/esm2020/typescript-class-helpers.mjs +4 -4
- package/browser/fesm2015/typescript-class-helpers.mjs +470 -465
- package/browser/fesm2015/typescript-class-helpers.mjs.map +1 -1
- package/browser/fesm2020/typescript-class-helpers.mjs +470 -465
- package/browser/fesm2020/typescript-class-helpers.mjs.map +1 -1
- package/browser/lib/classname.d.ts +15 -15
- package/browser/lib/describe-class.d.ts +5 -5
- package/browser/lib/index.d.ts +32 -32
- package/browser/lib/models.d.ts +66 -66
- package/browser/lib/registerd-db.d.ts +4 -4
- package/browser/lib/set-class-name.d.ts +1 -1
- package/browser/lib/symbols.d.ts +5 -5
- package/browser/typescript-class-helpers.d.ts +4 -4
- package/client/README.md +24 -24
- package/client/esm2020/lib/classname.mjs +151 -146
- package/client/esm2020/lib/describe-class.mjs +65 -65
- package/client/esm2020/lib/errors-messages.mjs +3 -3
- package/client/esm2020/lib/index.mjs +134 -134
- package/client/esm2020/lib/models.mjs +26 -26
- package/client/esm2020/lib/registerd-db.mjs +5 -5
- package/client/esm2020/lib/set-class-name.mjs +89 -89
- package/client/esm2020/lib/storage.mjs +23 -23
- package/client/esm2020/lib/symbols.mjs +7 -7
- package/client/esm2020/public-api.mjs +1 -1
- package/client/esm2020/typescript-class-helpers.mjs +4 -4
- package/client/fesm2015/typescript-class-helpers.mjs +470 -465
- package/client/fesm2015/typescript-class-helpers.mjs.map +1 -1
- package/client/fesm2020/typescript-class-helpers.mjs +470 -465
- package/client/fesm2020/typescript-class-helpers.mjs.map +1 -1
- package/client/lib/classname.d.ts +15 -15
- package/client/lib/describe-class.d.ts +5 -5
- package/client/lib/index.d.ts +32 -32
- package/client/lib/models.d.ts +66 -66
- package/client/lib/registerd-db.d.ts +4 -4
- package/client/lib/set-class-name.d.ts +1 -1
- package/client/lib/symbols.d.ts +5 -5
- package/client/typescript-class-helpers.d.ts +4 -4
- package/index.d.ts +1 -1
- package/lib/classname.d.ts +16 -16
- package/lib/classname.js +6 -0
- package/lib/classname.js.map +1 -1
- package/lib/describe-class.d.ts +6 -6
- package/lib/errors-messages.d.ts +1 -1
- package/lib/index.d.ts +33 -33
- package/lib/models.d.ts +68 -68
- package/lib/registerd-db.d.ts +5 -5
- package/lib/set-class-name.d.ts +2 -2
- package/lib/storage.d.ts +1 -1
- package/lib/symbols.d.ts +6 -6
- package/package.json +3 -3
- package/package.json_devDependencies.json +223 -223
- package/package.json_tnp.json5 +48 -48
- package/tmp-environment.json +42 -43
- package/websql/README.md +24 -24
- package/websql/esm2020/lib/classname.mjs +151 -146
- package/websql/esm2020/lib/describe-class.mjs +65 -65
- package/websql/esm2020/lib/errors-messages.mjs +3 -3
- package/websql/esm2020/lib/index.mjs +134 -134
- package/websql/esm2020/lib/models.mjs +24 -24
- package/websql/esm2020/lib/registerd-db.mjs +5 -5
- package/websql/esm2020/lib/set-class-name.mjs +89 -89
- package/websql/esm2020/lib/storage.mjs +23 -23
- package/websql/esm2020/lib/symbols.mjs +7 -7
- package/websql/esm2020/public-api.mjs +1 -1
- package/websql/esm2020/typescript-class-helpers.mjs +4 -4
- package/websql/fesm2015/typescript-class-helpers.mjs +468 -463
- package/websql/fesm2015/typescript-class-helpers.mjs.map +1 -1
- package/websql/fesm2020/typescript-class-helpers.mjs +468 -463
- package/websql/fesm2020/typescript-class-helpers.mjs.map +1 -1
- package/websql/lib/classname.d.ts +15 -15
- package/websql/lib/describe-class.d.ts +5 -5
- package/websql/lib/index.d.ts +32 -32
- package/websql/lib/models.d.ts +67 -67
- package/websql/lib/registerd-db.d.ts +4 -4
- package/websql/lib/set-class-name.d.ts +1 -1
- package/websql/lib/symbols.d.ts +5 -5
- package/websql/typescript-class-helpers.d.ts +4 -4
package/tmp-environment.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"domain": "typescript-class-helpers.example.domain.com",
|
|
3
|
-
"name": "local",
|
|
4
3
|
"isCoreProject": false,
|
|
5
4
|
"ip": "localhost",
|
|
6
5
|
"packageJSON": {
|
|
@@ -49,7 +48,7 @@
|
|
|
49
48
|
},
|
|
50
49
|
"name": "typescript-class-helpers",
|
|
51
50
|
"description": "Usefull helper to have in your typescript project",
|
|
52
|
-
"version": "13.
|
|
51
|
+
"version": "13.2.2",
|
|
53
52
|
"scripts": {
|
|
54
53
|
"test": "mocha --require ts-node/register src/**/*.spec.ts",
|
|
55
54
|
"test:watch": "mocha --compilers ts-node/register src/**/*.spec.ts --watch"
|
|
@@ -70,11 +69,11 @@
|
|
|
70
69
|
"homepage": "https://github.com/darekf77/typescript-class-helpers#readme",
|
|
71
70
|
"dependencies": {
|
|
72
71
|
"enum-values": "1.2.1",
|
|
73
|
-
"ng2-logger": "~13.1.
|
|
72
|
+
"ng2-logger": "~13.1.16"
|
|
74
73
|
},
|
|
75
74
|
"license": "MIT",
|
|
76
75
|
"private": false,
|
|
77
|
-
"lastBuildTagHash": "
|
|
76
|
+
"lastBuildTagHash": "a60faaa9cc20f65ab1c00236361d173064ca105d",
|
|
78
77
|
"devDependencies": {
|
|
79
78
|
"@angular-devkit/build-angular": "~13.3.9",
|
|
80
79
|
"@angular-devkit/core": "~13.3.9",
|
|
@@ -132,7 +131,7 @@
|
|
|
132
131
|
"@types/lodash": "4.14.92",
|
|
133
132
|
"@types/lowdb": "1.0.6",
|
|
134
133
|
"@types/mocha": "5.2.5",
|
|
135
|
-
"@types/node": "
|
|
134
|
+
"@types/node": "16.18.21",
|
|
136
135
|
"@types/node-notifier": "5.4.0",
|
|
137
136
|
"@types/oauth2orize": "1.8.0",
|
|
138
137
|
"@types/password-hash": "1.2.19",
|
|
@@ -144,9 +143,10 @@
|
|
|
144
143
|
"@types/vinyl": "2.0.2",
|
|
145
144
|
"@types/watch": "1.0.0",
|
|
146
145
|
"accepts": "1.3.4",
|
|
147
|
-
"any-project-cli": "~13.1.
|
|
148
|
-
"axios": "
|
|
149
|
-
"background-worker-process": "~13.1.
|
|
146
|
+
"any-project-cli": "~13.1.23",
|
|
147
|
+
"axios": "1.3.5",
|
|
148
|
+
"background-worker-process": "~13.1.38",
|
|
149
|
+
"base32": "0.0.7",
|
|
150
150
|
"bcryptjs": "2.4.3",
|
|
151
151
|
"better-sqlite3": "7.6.2",
|
|
152
152
|
"body-parser": "1.18.2",
|
|
@@ -183,19 +183,20 @@
|
|
|
183
183
|
"express": "4.16.3",
|
|
184
184
|
"express-fileupload": "1.4.0",
|
|
185
185
|
"express-session": "1.17.3",
|
|
186
|
+
"favicons": "7.1.2",
|
|
186
187
|
"fbgraph": "1.4.1",
|
|
187
188
|
"file-loader": "1.1.5",
|
|
188
189
|
"file-saver": "2.0.5",
|
|
189
|
-
"filer.js": "0.4.5",
|
|
190
190
|
"firedev": "^13",
|
|
191
|
-
"firedev-crud": "~13.1.
|
|
192
|
-
"firedev-crud-deamon": "~13.1.
|
|
193
|
-
"firedev-ports": "~13.1.
|
|
194
|
-
"firedev-storage": "~13.1.
|
|
195
|
-
"firedev-typeorm": "~13.1.
|
|
196
|
-
"firedev-ui": "~13.1.
|
|
191
|
+
"firedev-crud": "~13.1.43",
|
|
192
|
+
"firedev-crud-deamon": "~13.1.33",
|
|
193
|
+
"firedev-ports": "~13.1.37",
|
|
194
|
+
"firedev-storage": "~13.1.28",
|
|
195
|
+
"firedev-typeorm": "~13.1.18",
|
|
196
|
+
"firedev-ui": "~13.1.8",
|
|
197
197
|
"fkill": "6.1.0",
|
|
198
198
|
"font-awesome": "4.7.0",
|
|
199
|
+
"form-data": "4.0.0",
|
|
199
200
|
"fs-extra": "8.1.0",
|
|
200
201
|
"fuzzy": "0.1.3",
|
|
201
202
|
"glob": "7.1.2",
|
|
@@ -204,17 +205,17 @@
|
|
|
204
205
|
"http-proxy": "1.16.2",
|
|
205
206
|
"http-proxy-middleware": "0.19.1",
|
|
206
207
|
"http-server": "0.11.1",
|
|
207
|
-
"incremental-compiler": "~13.1.
|
|
208
|
+
"incremental-compiler": "~13.1.17",
|
|
208
209
|
"inquirer": "7.3.3",
|
|
209
210
|
"inquirer-autocomplete-prompt": "1.3.0",
|
|
210
211
|
"is-elevated": "3.0.0",
|
|
211
|
-
"isomorphic-region-loader": "~13.1.
|
|
212
|
+
"isomorphic-region-loader": "~13.1.31",
|
|
212
213
|
"istanbul-instrumenter-loader": "2.0.0",
|
|
213
214
|
"jasmine-core": "4.0.0",
|
|
214
215
|
"jscodeshift": "0.6.3",
|
|
215
216
|
"json-stringify-safe": "5.0.1",
|
|
216
|
-
"json10": "~13.1.
|
|
217
|
-
"json10-writer": "~13.1.
|
|
217
|
+
"json10": "~13.1.36",
|
|
218
|
+
"json10-writer": "~13.1.34",
|
|
218
219
|
"json5": "2.1.3",
|
|
219
220
|
"json5-writer": "0.2.0",
|
|
220
221
|
"jszip": "3.10.1",
|
|
@@ -228,34 +229,32 @@
|
|
|
228
229
|
"localforage": "1.10.0",
|
|
229
230
|
"lockfile": "1.0.4",
|
|
230
231
|
"lodash": "4.17.4",
|
|
231
|
-
"lodash-walk-object": "~13.1.
|
|
232
|
-
"lodash.get": ">= 4",
|
|
233
|
-
"lodash.isequal": ">= 4",
|
|
234
|
-
"lodash.merge": ">= 4",
|
|
235
|
-
"lodash.set": ">= 4",
|
|
232
|
+
"lodash-walk-object": "~13.1.36",
|
|
236
233
|
"lowdb": "1.0.0",
|
|
237
|
-
"magic-renamer": "~13.1.
|
|
234
|
+
"magic-renamer": "~13.1.25",
|
|
238
235
|
"material-design-icons": "3.0.1",
|
|
239
236
|
"method-override": "2.3.10",
|
|
240
237
|
"minimist": "1.2.0",
|
|
241
238
|
"mkdirp": "0.5.1",
|
|
242
239
|
"mocha": "5.2.0",
|
|
243
240
|
"moment": "2.22.2",
|
|
244
|
-
"morphi": "~13.1
|
|
245
|
-
"multer": "1.4.5-lts.1",
|
|
241
|
+
"morphi": "~13.2.1",
|
|
246
242
|
"ng-packagr": "13.0.0",
|
|
247
243
|
"ng-talkback": "~13.1.19",
|
|
248
|
-
"ng2-file-upload": "
|
|
249
|
-
"ng2-rest": "~13.1
|
|
244
|
+
"ng2-file-upload": "1.3.0",
|
|
245
|
+
"ng2-rest": "~13.2.1",
|
|
250
246
|
"ng4-icons": "~13.1.21",
|
|
251
247
|
"ng4-modal": "~13.1.23",
|
|
252
248
|
"ngx-bootstrap": "8.0.0",
|
|
253
249
|
"ngx-editor": "12.2.1",
|
|
250
|
+
"ngx-highlightjs": "6.1.3",
|
|
254
251
|
"ngx-moment": "6.0.2",
|
|
255
252
|
"ngx-pipes": "3.0.0",
|
|
253
|
+
"ngx-progressbar": "8.0.0",
|
|
254
|
+
"ngx-scrollbar": "9.0.2",
|
|
256
255
|
"ngx-store": "3.1.1",
|
|
257
256
|
"ngx-toastr": "14.2.2",
|
|
258
|
-
"ngx-wig": "
|
|
257
|
+
"ngx-wig": "1.2.7",
|
|
259
258
|
"node-cli-tester": "~13.1.19",
|
|
260
259
|
"node-localstorage": "2.1.6",
|
|
261
260
|
"node-notifier": "6.0.0",
|
|
@@ -286,17 +285,17 @@
|
|
|
286
285
|
"socket.io": "2.4.1",
|
|
287
286
|
"sort-package-json": "1.11.0",
|
|
288
287
|
"sql.js": "1.8.0",
|
|
289
|
-
"static-columns": "~13.
|
|
288
|
+
"static-columns": "~13.3.2",
|
|
290
289
|
"string-similarity": "4.0.2",
|
|
291
290
|
"sudo-block": "3.0.0",
|
|
292
291
|
"systeminformation": "3.45.7",
|
|
293
292
|
"task.js": "0.1.5",
|
|
294
|
-
"tnp-cli": "~13.1.
|
|
295
|
-
"tnp-config": "~13.1.
|
|
296
|
-
"tnp-core": "~13.2.
|
|
297
|
-
"tnp-db": "~13.1.
|
|
298
|
-
"tnp-helpers": "~13.1.
|
|
299
|
-
"tnp-models": "~13.1.
|
|
293
|
+
"tnp-cli": "~13.1.51",
|
|
294
|
+
"tnp-config": "~13.1.67",
|
|
295
|
+
"tnp-core": "~13.2.9",
|
|
296
|
+
"tnp-db": "~13.1.16",
|
|
297
|
+
"tnp-helpers": "~13.1.26",
|
|
298
|
+
"tnp-models": "~13.1.18",
|
|
300
299
|
"tnp-ui": "~13.1.27",
|
|
301
300
|
"ts-debug": "1.3.0",
|
|
302
301
|
"ts-loader": "2.3.1",
|
|
@@ -304,28 +303,28 @@
|
|
|
304
303
|
"tslib": "~2.3.0",
|
|
305
304
|
"typeorm": "~0.3.10",
|
|
306
305
|
"typescript": "~4.6.2",
|
|
307
|
-
"typescript-class-helpers": "~13.1
|
|
306
|
+
"typescript-class-helpers": "~13.2.1",
|
|
308
307
|
"typescript-formatter": "~7.2.2",
|
|
309
308
|
"underscore": "1.9.1",
|
|
310
309
|
"uuid": "8.3.2",
|
|
311
310
|
"validator": "9.2.0",
|
|
312
311
|
"vpn-split": "~13.1.23",
|
|
313
312
|
"watch": "1.0.2",
|
|
313
|
+
"yup": "1.1.1",
|
|
314
314
|
"zone.js": "~0.11.4"
|
|
315
315
|
}
|
|
316
316
|
},
|
|
317
317
|
"build": {
|
|
318
|
-
"number":
|
|
319
|
-
"date": "2023-04-
|
|
320
|
-
"hash": "
|
|
318
|
+
"number": 299,
|
|
319
|
+
"date": "2023-04-23T03:34:54.000Z",
|
|
320
|
+
"hash": "4d08984b67676d63becad2e878f7d3497391d861",
|
|
321
321
|
"options": {}
|
|
322
322
|
},
|
|
323
323
|
"currentProjectName": "typescript-class-helpers",
|
|
324
|
-
"currentProjectPort": 4000,
|
|
325
324
|
"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%22typescript-class-helpers%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\"]}]}",
|
|
326
325
|
"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\"}]}",
|
|
327
326
|
"currentProjectType": "isomorphic-lib",
|
|
328
|
-
"currentFrameworkVersion": "13.1.
|
|
327
|
+
"currentFrameworkVersion": "13.1.181",
|
|
329
328
|
"currentProjectIsStrictSite": false,
|
|
330
329
|
"currentProjectIsDependencySite": false,
|
|
331
330
|
"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.
|
|
@@ -1,152 +1,157 @@
|
|
|
1
|
-
import { _ } from 'tnp-core/websql';
|
|
2
|
-
import { Models } from './models';
|
|
3
|
-
import { SYMBOL } from './symbols';
|
|
4
|
-
import { TchHelpers } from './index';
|
|
5
|
-
import { Helpers } from 'tnp-core/websql';
|
|
6
|
-
import { getStorage } from './storage';
|
|
7
|
-
import { setClassName } from './set-class-name';
|
|
8
|
-
import { registerd } from './registerd-db';
|
|
9
|
-
import { ERROR_MSG_CLASS_WITHOUT_DECORATOR } from './errors-messages';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
*
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
1
|
+
import { _ } from 'tnp-core/websql';
|
|
2
|
+
import { Models } from './models';
|
|
3
|
+
import { SYMBOL } from './symbols';
|
|
4
|
+
import { TchHelpers } from './index';
|
|
5
|
+
import { Helpers } from 'tnp-core/websql';
|
|
6
|
+
import { getStorage } from './storage';
|
|
7
|
+
import { setClassName } from './set-class-name';
|
|
8
|
+
import { registerd } from './registerd-db';
|
|
9
|
+
import { ERROR_MSG_CLASS_WITHOUT_DECORATOR } from './errors-messages';
|
|
10
|
+
/* */
|
|
11
|
+
/* */
|
|
12
|
+
function getClasses() {
|
|
13
|
+
const s = getStorage();
|
|
14
|
+
return s[SYMBOL.CLASSES];
|
|
15
|
+
}
|
|
16
|
+
export var CLASSNAME;
|
|
17
|
+
(function (CLASSNAME_1) {
|
|
18
|
+
function getClassConfig(target, configs = [], callerTarget) {
|
|
19
|
+
if (!_.isFunction(target)) {
|
|
20
|
+
throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;
|
|
21
|
+
}
|
|
22
|
+
let config;
|
|
23
|
+
const parentClass = Object.getPrototypeOf(target);
|
|
24
|
+
const isValidParent = (_.isFunction(parentClass) && parentClass.name !== '');
|
|
25
|
+
if (registerd.classes.includes(target)) {
|
|
26
|
+
config = registerd.configs[registerd.classes.findIndex(c => c === target)];
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
config = new Models.ClassConfig();
|
|
30
|
+
config.classReference = target;
|
|
31
|
+
registerd.classes.push(target);
|
|
32
|
+
}
|
|
33
|
+
registerd.configs[registerd.classes.findIndex(c => c === target)] = config;
|
|
34
|
+
if (callerTarget) {
|
|
35
|
+
const callerTargetConfig = registerd.configs[registerd.classes.findIndex(c => c === callerTarget)];
|
|
36
|
+
if (!config.vChildren.includes(callerTargetConfig)) {
|
|
37
|
+
config.vChildren.push(callerTargetConfig);
|
|
38
|
+
}
|
|
39
|
+
callerTargetConfig.vParent = config;
|
|
40
|
+
}
|
|
41
|
+
configs.push(config);
|
|
42
|
+
return isValidParent ? getClassConfig(parentClass, configs, target) : configs;
|
|
43
|
+
}
|
|
44
|
+
CLASSNAME_1.getClassConfig = getClassConfig;
|
|
45
|
+
/**
|
|
46
|
+
* PLEASE PROVIDE NAME AS TYPED STRING, NOT VARIABLE
|
|
47
|
+
* Decorator requred for production mode
|
|
48
|
+
* @param name Name of class
|
|
49
|
+
*/
|
|
50
|
+
function CLASSNAME(className, options) {
|
|
51
|
+
return function (target) {
|
|
52
|
+
return setClassName(target, className, options);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
CLASSNAME_1.CLASSNAME = CLASSNAME;
|
|
56
|
+
function getClassName(target, production = false) {
|
|
57
|
+
if (_.isNil(target)) {
|
|
58
|
+
return void 0;
|
|
59
|
+
}
|
|
60
|
+
if (_.isString(target)) {
|
|
61
|
+
console.log(target);
|
|
62
|
+
Helpers.warn(`[typescript-class-helpers][getClassName] target is string: '${target}', produciton: ${production}`);
|
|
63
|
+
return target;
|
|
64
|
+
}
|
|
65
|
+
if (!_.isFunction(target)) {
|
|
66
|
+
console.log(target);
|
|
67
|
+
Helpers.warn(`[typescript-class-helpers][getClassName] target is not a class`);
|
|
68
|
+
return void 0;
|
|
69
|
+
}
|
|
70
|
+
const configs = getClassConfig(target);
|
|
71
|
+
const config = _.first(configs);
|
|
72
|
+
const classNameInBrowser = config?.classNameInBrowser;
|
|
73
|
+
if (Helpers.isBrowser && _.isString(classNameInBrowser)) {
|
|
74
|
+
return classNameInBrowser;
|
|
75
|
+
}
|
|
76
|
+
const className = config?.className;
|
|
77
|
+
if (className) {
|
|
78
|
+
return className;
|
|
79
|
+
}
|
|
80
|
+
if (production) {
|
|
81
|
+
console.log('class without @CLASS.NAME deocrator', target);
|
|
82
|
+
throw new Error(ERROR_MSG_CLASS_WITHOUT_DECORATOR);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
}
|
|
86
|
+
return target.name;
|
|
87
|
+
}
|
|
88
|
+
CLASSNAME_1.getClassName = getClassName;
|
|
89
|
+
// @ts-ignore
|
|
90
|
+
function getObjectIndexPropertyValue(obj) {
|
|
91
|
+
const className = TchHelpers.getNameFromObject(obj);
|
|
92
|
+
let c = getClasses().find(c => c.className === className);
|
|
93
|
+
if (c) {
|
|
94
|
+
return c.uniqueKey;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
CLASSNAME_1.getObjectIndexPropertyValue = getObjectIndexPropertyValue;
|
|
98
|
+
// @ts-ignore
|
|
99
|
+
function getClassFamilyByClassName(className) {
|
|
100
|
+
let c = getClasses().find(c => c.className === className);
|
|
101
|
+
if (c) {
|
|
102
|
+
return c.classFamily;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
CLASSNAME_1.getClassFamilyByClassName = getClassFamilyByClassName;
|
|
106
|
+
// @ts-ignore
|
|
107
|
+
function getObjectClassFamily(obj) {
|
|
108
|
+
const className = TchHelpers.getNameFromObject(obj);
|
|
109
|
+
let c = getClasses().find(c => c.className === className);
|
|
110
|
+
if (c) {
|
|
111
|
+
return c.classFamily;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
CLASSNAME_1.getObjectClassFamily = getObjectClassFamily;
|
|
115
|
+
function getObjectIndexValue(obj) {
|
|
116
|
+
const className = TchHelpers.getNameFromObject(obj);
|
|
117
|
+
let c = getClasses().find(c => c.className === className);
|
|
118
|
+
if (c && _.isString(c.uniqueKey)) {
|
|
119
|
+
return obj[c.uniqueKey];
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
CLASSNAME_1.getObjectIndexValue = getObjectIndexValue;
|
|
123
|
+
function getClassBy(className) {
|
|
124
|
+
let res;
|
|
125
|
+
if (Array.isArray(className)) {
|
|
126
|
+
if (className.length !== 1) {
|
|
125
127
|
throw `Mapping error... please use proper class names:
|
|
126
128
|
{
|
|
127
129
|
propertyObject: 'MyClassName',
|
|
128
130
|
propertyWithArray: ['MyClassName']
|
|
129
131
|
}
|
|
130
132
|
|
|
131
|
-
`;
|
|
132
|
-
}
|
|
133
|
-
className = className[0];
|
|
134
|
-
}
|
|
135
|
-
if (typeof className === 'function') { // TODO QUICK_FIX
|
|
136
|
-
res = className;
|
|
137
|
-
}
|
|
138
|
-
if (className === 'Date') {
|
|
139
|
-
res = Date;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3Byb2plY3RzL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9zcmMvbGliL2NsYXNzbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUd0RSxTQUFTLFVBQVU7SUFDakIsTUFBTSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFDdkIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBUSxDQUFDO0FBQ2xDLENBQUM7QUFDRCxNQUFNLEtBQVcsU0FBUyxDQTBLekI7QUExS0QsV0FBaUIsV0FBUztJQUV4QixTQUFnQixjQUFjLENBQUMsTUFBZ0IsRUFBRSxVQUFnQyxFQUFFLEVBQUUsWUFBdUI7UUFDMUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsTUFBTSwyRUFBMkUsTUFBTSxFQUFFLENBQUE7U0FDMUY7UUFFRCxJQUFJLE1BQTBCLENBQUM7UUFDL0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztRQUU3RSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDNUU7YUFBTTtZQUNMLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxNQUFNLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztZQUMvQixTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNoQztRQUVELFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDM0UsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDbkcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7Z0JBQ2xELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7YUFDM0M7WUFDRCxrQkFBa0IsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyQixPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNoRixDQUFDO0lBN0JlLDBCQUFjLGlCQTZCN0IsQ0FBQTtJQUVEOzs7O09BSUc7SUFDSCxTQUFnQixTQUFTLENBQUMsU0FBaUIsRUFDekMsT0FBaUM7UUFDakMsT0FBTyxVQUFVLE1BQWdCO1lBRS9CLE9BQU8sWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBUSxDQUFDO0lBQ1gsQ0FBQztJQU5lLHFCQUFTLFlBTXhCLENBQUE7SUFFRCxTQUFnQixZQUFZLENBQUMsTUFBZ0IsRUFBRSxVQUFVLEdBQUcsS0FBSztRQUMvRCxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFHbkIsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQywrREFBK0QsTUFBTSxrQkFBa0IsVUFBVSxFQUFFLENBQUMsQ0FBQTtZQUNqSCxPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLGdFQUFnRSxDQUFDLENBQUE7WUFDOUUsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBRUQsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFaEMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLEVBQUUsa0JBQWtCLENBQUM7UUFFdEQsSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUN2RCxPQUFPLGtCQUFrQixDQUFDO1NBQzNCO1FBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxFQUFFLFNBQVMsQ0FBQztRQUVwQyxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxVQUFVLEVBQUU7WUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxFQUFFLE1BQWEsQ0FBQyxDQUFBO1lBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztTQUNwRDthQUFNO1NBYU47UUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQWxEZSx3QkFBWSxlQWtEM0IsQ0FBQTtJQUVELGFBQWE7SUFDYixTQUFnQiwyQkFBMkIsQ0FBQyxHQUFRO1FBQ2xELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxFQUFFO1lBQ0wsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQVJlLHVDQUEyQiw4QkFRMUMsQ0FBQTtJQUVELGFBQWE7SUFDYixTQUFnQix5QkFBeUIsQ0FBQyxTQUFpQjtRQUN6RCxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxFQUFFO1lBQ0wsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQU5lLHFDQUF5Qiw0QkFNeEMsQ0FBQTtJQUVELGFBQWE7SUFDYixTQUFnQixvQkFBb0IsQ0FBQyxHQUFRO1FBQzNDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxFQUFFO1lBQ0wsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQVJlLGdDQUFvQix1QkFRbkMsQ0FBQTtJQUVELFNBQWdCLG1CQUFtQixDQUFDLEdBQVE7UUFDMUMsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDaEMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQVJlLCtCQUFtQixzQkFRbEMsQ0FBQTtJQUVELFNBQWdCLFVBQVUsQ0FBQyxTQUE0QjtRQUNyRCxJQUFJLEdBQUcsQ0FBQztRQUNSLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM1QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixNQUFNOzs7Ozs7U0FNTCxDQUFBO2FBQ0Y7WUFDRCxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ3pCO1FBQ0QsSUFBSSxPQUFPLFNBQVMsS0FBSyxVQUFVLEVBQUUsRUFBRSxpQkFBaUI7WUFDdEQsR0FBRyxHQUFHLFNBQVMsQ0FBQztTQUNqQjtRQUNELElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUN4QixHQUFHLEdBQUcsSUFBSSxDQUFDO1NBQ1o7UUFFRCxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxFQUFFO1lBQ0wsR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDaEI7UUFFRCxhQUFhO1FBQ2IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBN0JlLHNCQUFVLGFBNkJ6QixDQUFBO0FBRUgsQ0FBQyxFQTFLZ0IsU0FBUyxLQUFULFNBQVMsUUEwS3pCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxzRUFBc0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFNZTUJPTCB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBUY2hIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IGdldFN0b3JhZ2UgfSBmcm9tICcuL3N0b3JhZ2UnO1xuaW1wb3J0IHsgc2V0Q2xhc3NOYW1lIH0gZnJvbSAnLi9zZXQtY2xhc3MtbmFtZSc7XG5pbXBvcnQgeyByZWdpc3RlcmQgfSBmcm9tICcuL3JlZ2lzdGVyZC1kYic7XG5pbXBvcnQgeyBFUlJPUl9NU0dfQ0xBU1NfV0lUSE9VVF9ERUNPUkFUT1IgfSBmcm9tICcuL2Vycm9ycy1tZXNzYWdlcyc7XG5cblxuZnVuY3Rpb24gZ2V0Q2xhc3NlcygpOiBNb2RlbHMuQ2xhc3NNZXRhW10ge1xuICBjb25zdCBzID0gZ2V0U3RvcmFnZSgpO1xuICByZXR1cm4gc1tTWU1CT0wuQ0xBU1NFU10gYXMgYW55O1xufVxuZXhwb3J0IG5hbWVzcGFjZSBDTEFTU05BTUUge1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRDbGFzc0NvbmZpZyh0YXJnZXQ6IEZ1bmN0aW9uLCBjb25maWdzOiBNb2RlbHMuQ2xhc3NDb25maWdbXSA9IFtdLCBjYWxsZXJUYXJnZXQ/OiBGdW5jdGlvbik6IE1vZGVscy5DbGFzc0NvbmZpZ1tdIHtcbiAgICBpZiAoIV8uaXNGdW5jdGlvbih0YXJnZXQpKSB7XG4gICAgICB0aHJvdyBgW3R5cGVzY3JpcHQtY2xhc3MtaGVscGVyXVtnZXRDbGFzc0NvbmZpZ10gQ2Fubm90IGdldCBjbGFzcyBjb25maWcgZnJvbTogJHt0YXJnZXR9YFxuICAgIH1cblxuICAgIGxldCBjb25maWc6IE1vZGVscy5DbGFzc0NvbmZpZztcbiAgICBjb25zdCBwYXJlbnRDbGFzcyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0YXJnZXQpO1xuICAgIGNvbnN0IGlzVmFsaWRQYXJlbnQgPSAoXy5pc0Z1bmN0aW9uKHBhcmVudENsYXNzKSAmJiBwYXJlbnRDbGFzcy5uYW1lICE9PSAnJyk7XG5cbiAgICBpZiAocmVnaXN0ZXJkLmNsYXNzZXMuaW5jbHVkZXModGFyZ2V0KSkge1xuICAgICAgY29uZmlnID0gcmVnaXN0ZXJkLmNvbmZpZ3NbcmVnaXN0ZXJkLmNsYXNzZXMuZmluZEluZGV4KGMgPT4gYyA9PT0gdGFyZ2V0KV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZyA9IG5ldyBNb2RlbHMuQ2xhc3NDb25maWcoKTtcbiAgICAgIGNvbmZpZy5jbGFzc1JlZmVyZW5jZSA9IHRhcmdldDtcbiAgICAgIHJlZ2lzdGVyZC5jbGFzc2VzLnB1c2godGFyZ2V0KTtcbiAgICB9XG5cbiAgICByZWdpc3RlcmQuY29uZmlnc1tyZWdpc3RlcmQuY2xhc3Nlcy5maW5kSW5kZXgoYyA9PiBjID09PSB0YXJnZXQpXSA9IGNvbmZpZztcbiAgICBpZiAoY2FsbGVyVGFyZ2V0KSB7XG4gICAgICBjb25zdCBjYWxsZXJUYXJnZXRDb25maWcgPSByZWdpc3RlcmQuY29uZmlnc1tyZWdpc3RlcmQuY2xhc3Nlcy5maW5kSW5kZXgoYyA9PiBjID09PSBjYWxsZXJUYXJnZXQpXTtcbiAgICAgIGlmICghY29uZmlnLnZDaGlsZHJlbi5pbmNsdWRlcyhjYWxsZXJUYXJnZXRDb25maWcpKSB7XG4gICAgICAgIGNvbmZpZy52Q2hpbGRyZW4ucHVzaChjYWxsZXJUYXJnZXRDb25maWcpO1xuICAgICAgfVxuICAgICAgY2FsbGVyVGFyZ2V0Q29uZmlnLnZQYXJlbnQgPSBjb25maWc7XG4gICAgfVxuXG4gICAgY29uZmlncy5wdXNoKGNvbmZpZyk7XG5cbiAgICByZXR1cm4gaXNWYWxpZFBhcmVudCA/IGdldENsYXNzQ29uZmlnKHBhcmVudENsYXNzLCBjb25maWdzLCB0YXJnZXQpIDogY29uZmlncztcbiAgfVxuXG4gIC8qKlxuICAgKiBQTEVBU0UgUFJPVklERSBOQU1FIEFTIFRZUEVEIFNUUklORywgTk9UIFZBUklBQkxFXG4gICAqIERlY29yYXRvciByZXF1cmVkIGZvciBwcm9kdWN0aW9uIG1vZGVcbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiBjbGFzc1xuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIENMQVNTTkFNRShjbGFzc05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogTW9kZWxzLkNMQVNTTkFNRU9wdGlvbnMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogRnVuY3Rpb24pIHtcblxuICAgICAgcmV0dXJuIHNldENsYXNzTmFtZSh0YXJnZXQsIGNsYXNzTmFtZSwgb3B0aW9ucyk7XG4gICAgfSBhcyBhbnk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NOYW1lKHRhcmdldDogRnVuY3Rpb24sIHByb2R1Y3Rpb24gPSBmYWxzZSkge1xuICAgIGlmIChfLmlzTmlsKHRhcmdldCkpIHtcblxuXG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyh0YXJnZXQpKSB7XG4gICAgICBjb25zb2xlLmxvZyh0YXJnZXQpO1xuICAgICAgSGVscGVycy53YXJuKGBbdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzXVtnZXRDbGFzc05hbWVdIHRhcmdldCBpcyBzdHJpbmc6ICcke3RhcmdldH0nLCBwcm9kdWNpdG9uOiAke3Byb2R1Y3Rpb259YClcbiAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxuICAgIGlmICghXy5pc0Z1bmN0aW9uKHRhcmdldCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKHRhcmdldCk7XG4gICAgICBIZWxwZXJzLndhcm4oYFt0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnNdW2dldENsYXNzTmFtZV0gdGFyZ2V0IGlzIG5vdCBhIGNsYXNzYClcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlncyA9IGdldENsYXNzQ29uZmlnKHRhcmdldCk7XG4gICAgY29uc3QgY29uZmlnID0gXy5maXJzdChjb25maWdzKTtcblxuICAgIGNvbnN0IGNsYXNzTmFtZUluQnJvd3NlciA9IGNvbmZpZz8uY2xhc3NOYW1lSW5Ccm93c2VyO1xuXG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyICYmIF8uaXNTdHJpbmcoY2xhc3NOYW1lSW5Ccm93c2VyKSkge1xuICAgICAgcmV0dXJuIGNsYXNzTmFtZUluQnJvd3NlcjtcbiAgICB9XG5cbiAgICBjb25zdCBjbGFzc05hbWUgPSBjb25maWc/LmNsYXNzTmFtZTtcblxuICAgIGlmIChjbGFzc05hbWUpIHtcbiAgICAgIHJldHVybiBjbGFzc05hbWU7XG4gICAgfVxuXG4gICAgaWYgKHByb2R1Y3Rpb24pIHtcbiAgICAgIGNvbnNvbGUubG9nKCdjbGFzcyB3aXRob3V0IEBDTEFTUy5OQU1FIGRlb2NyYXRvcicsIHRhcmdldCBhcyBhbnkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoRVJST1JfTVNHX0NMQVNTX1dJVEhPVVRfREVDT1JBVE9SKTtcbiAgICB9IGVsc2Uge1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0Lm5hbWU7XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRPYmplY3RJbmRleFByb3BlcnR5VmFsdWUob2JqOiBhbnkpIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBUY2hIZWxwZXJzLmdldE5hbWVGcm9tT2JqZWN0KG9iaik7XG5cbiAgICBsZXQgYyA9IGdldENsYXNzZXMoKS5maW5kKGMgPT4gYy5jbGFzc05hbWUgPT09IGNsYXNzTmFtZSk7XG5cbiAgICBpZiAoYykge1xuICAgICAgcmV0dXJuIGMudW5pcXVlS2V5O1xuICAgIH1cbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgZXhwb3J0IGZ1bmN0aW9uIGdldENsYXNzRmFtaWx5QnlDbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgYyA9IGdldENsYXNzZXMoKS5maW5kKGMgPT4gYy5jbGFzc05hbWUgPT09IGNsYXNzTmFtZSk7XG5cbiAgICBpZiAoYykge1xuICAgICAgcmV0dXJuIGMuY2xhc3NGYW1pbHk7XG4gICAgfVxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBleHBvcnQgZnVuY3Rpb24gZ2V0T2JqZWN0Q2xhc3NGYW1pbHkob2JqOiBhbnkpIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBUY2hIZWxwZXJzLmdldE5hbWVGcm9tT2JqZWN0KG9iaik7XG5cbiAgICBsZXQgYyA9IGdldENsYXNzZXMoKS5maW5kKGMgPT4gYy5jbGFzc05hbWUgPT09IGNsYXNzTmFtZSk7XG5cbiAgICBpZiAoYykge1xuICAgICAgcmV0dXJuIGMuY2xhc3NGYW1pbHk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdEluZGV4VmFsdWUob2JqOiBhbnkpIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBUY2hIZWxwZXJzLmdldE5hbWVGcm9tT2JqZWN0KG9iaik7XG5cbiAgICBsZXQgYyA9IGdldENsYXNzZXMoKS5maW5kKGMgPT4gYy5jbGFzc05hbWUgPT09IGNsYXNzTmFtZSk7XG5cbiAgICBpZiAoYyAmJiBfLmlzU3RyaW5nKGMudW5pcXVlS2V5KSkge1xuICAgICAgcmV0dXJuIG9ialtjLnVuaXF1ZUtleV07XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldENsYXNzQnkoY2xhc3NOYW1lOiBzdHJpbmcgfCBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcbiAgICBsZXQgcmVzO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNsYXNzTmFtZSkpIHtcbiAgICAgIGlmIChjbGFzc05hbWUubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgIHRocm93IGBNYXBwaW5nIGVycm9yLi4uIHBsZWFzZSB1c2UgcHJvcGVyIGNsYXNzIG5hbWVzOlxuICB7XG4gICAgcHJvcGVydHlPYmplY3Q6ICdNeUNsYXNzTmFtZScsXG4gICAgcHJvcGVydHlXaXRoQXJyYXk6IFsnTXlDbGFzc05hbWUnXVxuICB9XG5cbiAgICAgICAgYFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lID0gY2xhc3NOYW1lWzBdXG4gICAgfVxuICAgIGlmICh0eXBlb2YgY2xhc3NOYW1lID09PSAnZnVuY3Rpb24nKSB7IC8vIFRPRE8gUVVJQ0tfRklYXG4gICAgICByZXMgPSBjbGFzc05hbWU7XG4gICAgfVxuICAgIGlmIChjbGFzc05hbWUgPT09ICdEYXRlJykge1xuICAgICAgcmVzID0gRGF0ZTtcbiAgICB9XG5cbiAgICBsZXQgYyA9IGdldENsYXNzZXMoKS5maW5kKGMgPT4gYy5jbGFzc05hbWUgPT09IGNsYXNzTmFtZSk7XG5cbiAgICBpZiAoYykge1xuICAgICAgcmVzID0gYy50YXJnZXQ7XG4gICAgfVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiByZXM7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzIGxpYi9jbGFzc25hbWUudHMiXX0=
|
|
133
|
+
`;
|
|
134
|
+
}
|
|
135
|
+
className = className[0];
|
|
136
|
+
}
|
|
137
|
+
if (typeof className === 'function') { // TODO QUICK_FIX
|
|
138
|
+
res = className;
|
|
139
|
+
}
|
|
140
|
+
if (className === 'Date') {
|
|
141
|
+
res = Date;
|
|
142
|
+
}
|
|
143
|
+
if (className === 'FormData') {
|
|
144
|
+
res = FormData;
|
|
145
|
+
}
|
|
146
|
+
let c = getClasses().find(c => c.className === className);
|
|
147
|
+
if (c) {
|
|
148
|
+
res = c.target;
|
|
149
|
+
}
|
|
150
|
+
// @ts-ignore
|
|
151
|
+
return res;
|
|
152
|
+
}
|
|
153
|
+
CLASSNAME_1.getClassBy = getClassBy;
|
|
154
|
+
})(CLASSNAME || (CLASSNAME = {}));
|
|
155
|
+
;
|
|
156
|
+
({}); // @--end-of-file-for-module=typescript-class-helpers lib/classname.ts
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3Byb2plY3RzL3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9zcmMvbGliL2NsYXNzbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RSxLQUFLO0FBQ0wsS0FBSztBQUdMLFNBQVMsVUFBVTtJQUNqQixNQUFNLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUN2QixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFRLENBQUM7QUFDbEMsQ0FBQztBQUNELE1BQU0sS0FBVyxTQUFTLENBOEt6QjtBQTlLRCxXQUFpQixXQUFTO0lBRXhCLFNBQWdCLGNBQWMsQ0FBQyxNQUFnQixFQUFFLFVBQWdDLEVBQUUsRUFBRSxZQUF1QjtRQUMxRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QixNQUFNLDJFQUEyRSxNQUFNLEVBQUUsQ0FBQTtTQUMxRjtRQUVELElBQUksTUFBMEIsQ0FBQztRQUMvQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRTdFLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztTQUM1RTthQUFNO1lBQ0wsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1lBQy9CLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUMzRSxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNuRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRTtnQkFDbEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUMzQztZQUNELGtCQUFrQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7U0FDckM7UUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJCLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ2hGLENBQUM7SUE3QmUsMEJBQWMsaUJBNkI3QixDQUFBO0lBRUQ7Ozs7T0FJRztJQUNILFNBQWdCLFNBQVMsQ0FBQyxTQUFpQixFQUN6QyxPQUFpQztRQUNqQyxPQUFPLFVBQVUsTUFBZ0I7WUFFL0IsT0FBTyxZQUFZLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxDQUFRLENBQUM7SUFDWCxDQUFDO0lBTmUscUJBQVMsWUFNeEIsQ0FBQTtJQUVELFNBQWdCLFlBQVksQ0FBQyxNQUFnQixFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQy9ELElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUduQixPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLCtEQUErRCxNQUFNLGtCQUFrQixVQUFVLEVBQUUsQ0FBQyxDQUFBO1lBQ2pILE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0VBQWdFLENBQUMsQ0FBQTtZQUM5RSxPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2Y7UUFFRCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQztRQUV0RCxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3ZELE9BQU8sa0JBQWtCLENBQUM7U0FDM0I7UUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBRXBDLElBQUksU0FBUyxFQUFFO1lBQ2IsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxJQUFJLFVBQVUsRUFBRTtZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLEVBQUUsTUFBYSxDQUFDLENBQUE7WUFDakUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3BEO2FBQU07U0FhTjtRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBbERlLHdCQUFZLGVBa0QzQixDQUFBO0lBRUQsYUFBYTtJQUNiLFNBQWdCLDJCQUEyQixDQUFDLEdBQVE7UUFDbEQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLEVBQUU7WUFDTCxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBUmUsdUNBQTJCLDhCQVExQyxDQUFBO0lBRUQsYUFBYTtJQUNiLFNBQWdCLHlCQUF5QixDQUFDLFNBQWlCO1FBQ3pELElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLEVBQUU7WUFDTCxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBTmUscUNBQXlCLDRCQU14QyxDQUFBO0lBRUQsYUFBYTtJQUNiLFNBQWdCLG9CQUFvQixDQUFDLEdBQVE7UUFDM0MsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLEVBQUU7WUFDTCxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBUmUsZ0NBQW9CLHVCQVFuQyxDQUFBO0lBRUQsU0FBZ0IsbUJBQW1CLENBQUMsR0FBUTtRQUMxQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEQsSUFBSSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNoQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBUmUsK0JBQW1CLHNCQVFsQyxDQUFBO0lBRUQsU0FBZ0IsVUFBVSxDQUFDLFNBQTRCO1FBQ3JELElBQUksR0FBRyxDQUFDO1FBQ1IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzVCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzFCLE1BQU07Ozs7OztTQU1MLENBQUE7YUFDRjtZQUNELFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDekI7UUFDRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFVBQVUsRUFBRSxFQUFFLGlCQUFpQjtZQUN0RCxHQUFHLEdBQUcsU0FBUyxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQ3hCLEdBQUcsR0FBRyxJQUFJLENBQUM7U0FDWjtRQUVELElBQUksU0FBUyxLQUFLLFVBQVUsRUFBRTtZQUM1QixHQUFHLEdBQUcsUUFBUSxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsRUFBRTtZQUNMLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1NBQ2hCO1FBRUQsYUFBYTtRQUNiLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQWpDZSxzQkFBVSxhQWlDekIsQ0FBQTtBQUVILENBQUMsRUE5S2dCLFNBQVMsS0FBVCxTQUFTLFFBOEt6QjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0VBQXNFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBTWU1CT0wgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgVGNoSGVscGVycyB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBnZXRTdG9yYWdlIH0gZnJvbSAnLi9zdG9yYWdlJztcbmltcG9ydCB7IHNldENsYXNzTmFtZSB9IGZyb20gJy4vc2V0LWNsYXNzLW5hbWUnO1xuaW1wb3J0IHsgcmVnaXN0ZXJkIH0gZnJvbSAnLi9yZWdpc3RlcmQtZGInO1xuaW1wb3J0IHsgRVJST1JfTVNHX0NMQVNTX1dJVEhPVVRfREVDT1JBVE9SIH0gZnJvbSAnLi9lcnJvcnMtbWVzc2FnZXMnO1xuLyogKi9cbi8qICovXG4gIFxuXG5mdW5jdGlvbiBnZXRDbGFzc2VzKCk6IE1vZGVscy5DbGFzc01ldGFbXSB7XG4gIGNvbnN0IHMgPSBnZXRTdG9yYWdlKCk7XG4gIHJldHVybiBzW1NZTUJPTC5DTEFTU0VTXSBhcyBhbnk7XG59XG5leHBvcnQgbmFtZXNwYWNlIENMQVNTTkFNRSB7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldENsYXNzQ29uZmlnKHRhcmdldDogRnVuY3Rpb24sIGNvbmZpZ3M6IE1vZGVscy5DbGFzc0NvbmZpZ1tdID0gW10sIGNhbGxlclRhcmdldD86IEZ1bmN0aW9uKTogTW9kZWxzLkNsYXNzQ29uZmlnW10ge1xuICAgIGlmICghXy5pc0Z1bmN0aW9uKHRhcmdldCkpIHtcbiAgICAgIHRocm93IGBbdHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJdW2dldENsYXNzQ29uZmlnXSBDYW5ub3QgZ2V0IGNsYXNzIGNvbmZpZyBmcm9tOiAke3RhcmdldH1gXG4gICAgfVxuXG4gICAgbGV0IGNvbmZpZzogTW9kZWxzLkNsYXNzQ29uZmlnO1xuICAgIGNvbnN0IHBhcmVudENsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCk7XG4gICAgY29uc3QgaXNWYWxpZFBhcmVudCA9IChfLmlzRnVuY3Rpb24ocGFyZW50Q2xhc3MpICYmIHBhcmVudENsYXNzLm5hbWUgIT09ICcnKTtcblxuICAgIGlmIChyZWdpc3RlcmQuY2xhc3Nlcy5pbmNsdWRlcyh0YXJnZXQpKSB7XG4gICAgICBjb25maWcgPSByZWdpc3RlcmQuY29uZmlnc1tyZWdpc3RlcmQuY2xhc3Nlcy5maW5kSW5kZXgoYyA9PiBjID09PSB0YXJnZXQpXTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmlnID0gbmV3IE1vZGVscy5DbGFzc0NvbmZpZygpO1xuICAgICAgY29uZmlnLmNsYXNzUmVmZXJlbmNlID0gdGFyZ2V0O1xuICAgICAgcmVnaXN0ZXJkLmNsYXNzZXMucHVzaCh0YXJnZXQpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyZC5jb25maWdzW3JlZ2lzdGVyZC5jbGFzc2VzLmZpbmRJbmRleChjID0+IGMgPT09IHRhcmdldCldID0gY29uZmlnO1xuICAgIGlmIChjYWxsZXJUYXJnZXQpIHtcbiAgICAgIGNvbnN0IGNhbGxlclRhcmdldENvbmZpZyA9IHJlZ2lzdGVyZC5jb25maWdzW3JlZ2lzdGVyZC5jbGFzc2VzLmZpbmRJbmRleChjID0+IGMgPT09IGNhbGxlclRhcmdldCldO1xuICAgICAgaWYgKCFjb25maWcudkNoaWxkcmVuLmluY2x1ZGVzKGNhbGxlclRhcmdldENvbmZpZykpIHtcbiAgICAgICAgY29uZmlnLnZDaGlsZHJlbi5wdXNoKGNhbGxlclRhcmdldENvbmZpZyk7XG4gICAgICB9XG4gICAgICBjYWxsZXJUYXJnZXRDb25maWcudlBhcmVudCA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBjb25maWdzLnB1c2goY29uZmlnKTtcblxuICAgIHJldHVybiBpc1ZhbGlkUGFyZW50ID8gZ2V0Q2xhc3NDb25maWcocGFyZW50Q2xhc3MsIGNvbmZpZ3MsIHRhcmdldCkgOiBjb25maWdzO1xuICB9XG5cbiAgLyoqXG4gICAqIFBMRUFTRSBQUk9WSURFIE5BTUUgQVMgVFlQRUQgU1RSSU5HLCBOT1QgVkFSSUFCTEVcbiAgICogRGVjb3JhdG9yIHJlcXVyZWQgZm9yIHByb2R1Y3Rpb24gbW9kZVxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIGNsYXNzXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gQ0xBU1NOQU1FKGNsYXNzTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBNb2RlbHMuQ0xBU1NOQU1FT3B0aW9ucykge1xuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBGdW5jdGlvbikge1xuXG4gICAgICByZXR1cm4gc2V0Q2xhc3NOYW1lKHRhcmdldCwgY2xhc3NOYW1lLCBvcHRpb25zKTtcbiAgICB9IGFzIGFueTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRDbGFzc05hbWUodGFyZ2V0OiBGdW5jdGlvbiwgcHJvZHVjdGlvbiA9IGZhbHNlKSB7XG4gICAgaWYgKF8uaXNOaWwodGFyZ2V0KSkge1xuXG5cbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIGlmIChfLmlzU3RyaW5nKHRhcmdldCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKHRhcmdldCk7XG4gICAgICBIZWxwZXJzLndhcm4oYFt0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnNdW2dldENsYXNzTmFtZV0gdGFyZ2V0IGlzIHN0cmluZzogJyR7dGFyZ2V0fScsIHByb2R1Y2l0b246ICR7cHJvZHVjdGlvbn1gKVxuICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9XG4gICAgaWYgKCFfLmlzRnVuY3Rpb24odGFyZ2V0KSkge1xuICAgICAgY29uc29sZS5sb2codGFyZ2V0KTtcbiAgICAgIEhlbHBlcnMud2FybihgW3R5cGVzY3JpcHQtY2xhc3MtaGVscGVyc11bZ2V0Q2xhc3NOYW1lXSB0YXJnZXQgaXMgbm90IGEgY2xhc3NgKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWdzID0gZ2V0Q2xhc3NDb25maWcodGFyZ2V0KTtcbiAgICBjb25zdCBjb25maWcgPSBfLmZpcnN0KGNvbmZpZ3MpO1xuXG4gICAgY29uc3QgY2xhc3NOYW1lSW5Ccm93c2VyID0gY29uZmlnPy5jbGFzc05hbWVJbkJyb3dzZXI7XG5cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIgJiYgXy5pc1N0cmluZyhjbGFzc05hbWVJbkJyb3dzZXIpKSB7XG4gICAgICByZXR1cm4gY2xhc3NOYW1lSW5Ccm93c2VyO1xuICAgIH1cblxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IGNvbmZpZz8uY2xhc3NOYW1lO1xuXG4gICAgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgICB9XG5cbiAgICBpZiAocHJvZHVjdGlvbikge1xuICAgICAgY29uc29sZS5sb2coJ2NsYXNzIHdpdGhvdXQgQENMQVNTLk5BTUUgZGVvY3JhdG9yJywgdGFyZ2V0IGFzIGFueSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihFUlJPUl9NU0dfQ0xBU1NfV0lUSE9VVF9ERUNPUkFUT1IpO1xuICAgIH0gZWxzZSB7XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQubmFtZTtcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdEluZGV4UHJvcGVydHlWYWx1ZShvYmo6IGFueSkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IFRjaEhlbHBlcnMuZ2V0TmFtZUZyb21PYmplY3Qob2JqKTtcblxuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy51bmlxdWVLZXk7XG4gICAgfVxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NGYW1pbHlCeUNsYXNzTmFtZShjbGFzc05hbWU6IHN0cmluZykge1xuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy5jbGFzc0ZhbWlseTtcbiAgICB9XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRPYmplY3RDbGFzc0ZhbWlseShvYmo6IGFueSkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IFRjaEhlbHBlcnMuZ2V0TmFtZUZyb21PYmplY3Qob2JqKTtcblxuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy5jbGFzc0ZhbWlseTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0T2JqZWN0SW5kZXhWYWx1ZShvYmo6IGFueSkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IFRjaEhlbHBlcnMuZ2V0TmFtZUZyb21PYmplY3Qob2JqKTtcblxuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjICYmIF8uaXNTdHJpbmcoYy51bmlxdWVLZXkpKSB7XG4gICAgICByZXR1cm4gb2JqW2MudW5pcXVlS2V5XTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NCeShjbGFzc05hbWU6IHN0cmluZyB8IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xuICAgIGxldCByZXM7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2xhc3NOYW1lKSkge1xuICAgICAgaWYgKGNsYXNzTmFtZS5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgdGhyb3cgYE1hcHBpbmcgZXJyb3IuLi4gcGxlYXNlIHVzZSBwcm9wZXIgY2xhc3MgbmFtZXM6XG4gIHtcbiAgICBwcm9wZXJ0eU9iamVjdDogJ015Q2xhc3NOYW1lJyxcbiAgICBwcm9wZXJ0eVdpdGhBcnJheTogWydNeUNsYXNzTmFtZSddXG4gIH1cblxuICAgICAgICBgXG4gICAgICB9XG4gICAgICBjbGFzc05hbWUgPSBjbGFzc05hbWVbMF1cbiAgICB9XG4gICAgaWYgKHR5cGVvZiBjbGFzc05hbWUgPT09ICdmdW5jdGlvbicpIHsgLy8gVE9ETyBRVUlDS19GSVhcbiAgICAgIHJlcyA9IGNsYXNzTmFtZTtcbiAgICB9XG4gICAgaWYgKGNsYXNzTmFtZSA9PT0gJ0RhdGUnKSB7XG4gICAgICByZXMgPSBEYXRlO1xuICAgIH1cblxuICAgIGlmIChjbGFzc05hbWUgPT09ICdGb3JtRGF0YScpIHtcbiAgICAgIHJlcyA9IEZvcm1EYXRhO1xuICAgIH1cblxuICAgIGxldCBjID0gZ2V0Q2xhc3NlcygpLmZpbmQoYyA9PiBjLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcblxuICAgIGlmIChjKSB7XG4gICAgICByZXMgPSBjLnRhcmdldDtcbiAgICB9XG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMgbGliL2NsYXNzbmFtZS50cyJdfQ==
|