dts-backoffice-util 3.0.0 → 6.0.0

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 (71) hide show
  1. package/README.md +1 -1
  2. package/dts-backoffice-util.d.ts +1 -0
  3. package/esm2020/dts-backoffice-util.mjs +5 -0
  4. package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.mjs +269 -0
  5. package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.mjs +7 -0
  6. package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.mjs +183 -0
  7. package/esm2020/lib/dts-backoffice-util.module.mjs +56 -0
  8. package/esm2020/lib/interfaces/filter-range.interface.mjs +2 -0
  9. package/esm2020/lib/interfaces/totvs-response.interface.mjs +2 -0
  10. package/esm2020/lib/model/session-info.model.mjs +67 -0
  11. package/esm2020/lib/pipes/dts-date-format.pipe.mjs +20 -0
  12. package/esm2020/lib/services/breadcrumb-control.service.mjs +82 -0
  13. package/esm2020/lib/services/cache-params.service.mjs +25 -0
  14. package/esm2020/lib/services/menu-datasul.service.mjs +41 -0
  15. package/esm2020/lib/services/profile.service.mjs +55 -0
  16. package/esm2020/lib/services/report.service.mjs +57 -0
  17. package/esm2020/lib/services/session-info.service.mjs +36 -0
  18. package/esm2020/lib/services/translate.service.mjs +23 -0
  19. package/esm2020/lib/utils/date.util.mjs +56 -0
  20. package/esm2020/lib/utils/disclaimer.util.mjs +453 -0
  21. package/esm2020/lib/utils/field-validation.util.mjs +179 -0
  22. package/esm2020/lib/utils/file.util.mjs +122 -0
  23. package/esm2020/lib/utils/filter-range.util.mjs +33 -0
  24. package/esm2020/lib/utils/generic-functions.utils.mjs +170 -0
  25. package/esm2020/public-api.mjs +34 -0
  26. package/fesm2015/{dts-backoffice-util.js → dts-backoffice-util.mjs} +230 -1626
  27. package/fesm2015/dts-backoffice-util.mjs.map +1 -0
  28. package/fesm2020/dts-backoffice-util.mjs +1844 -0
  29. package/fesm2020/dts-backoffice-util.mjs.map +1 -0
  30. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.d.ts +3 -0
  31. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.d.ts +3 -0
  32. package/lib/dts-backoffice-util.module.d.ts +10 -0
  33. package/lib/pipes/dts-date-format.pipe.d.ts +3 -0
  34. package/lib/services/breadcrumb-control.service.d.ts +3 -0
  35. package/lib/services/cache-params.service.d.ts +3 -0
  36. package/lib/services/menu-datasul.service.d.ts +3 -0
  37. package/lib/services/profile.service.d.ts +3 -0
  38. package/lib/services/report.service.d.ts +3 -0
  39. package/lib/services/session-info.service.d.ts +3 -0
  40. package/lib/services/translate.service.d.ts +3 -0
  41. package/package.json +23 -11
  42. package/CHANGELOG.md +0 -159
  43. package/bundles/dts-backoffice-util.umd.js +0 -3296
  44. package/bundles/dts-backoffice-util.umd.js.map +0 -1
  45. package/bundles/dts-backoffice-util.umd.min.js +0 -2
  46. package/bundles/dts-backoffice-util.umd.min.js.map +0 -1
  47. package/dts-backoffice-util.metadata.json +0 -1
  48. package/esm2015/dts-backoffice-util.js +0 -10
  49. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.js +0 -391
  50. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.js +0 -132
  51. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.js +0 -344
  52. package/esm2015/lib/dts-backoffice-util.module.js +0 -47
  53. package/esm2015/lib/interfaces/filter-range.interface.js +0 -48
  54. package/esm2015/lib/interfaces/totvs-response.interface.js +0 -17
  55. package/esm2015/lib/model/session-info.model.js +0 -183
  56. package/esm2015/lib/pipes/dts-date-format.pipe.js +0 -27
  57. package/esm2015/lib/services/breadcrumb-control.service.js +0 -124
  58. package/esm2015/lib/services/cache-params.service.js +0 -47
  59. package/esm2015/lib/services/menu-datasul.service.js +0 -57
  60. package/esm2015/lib/services/profile.service.js +0 -127
  61. package/esm2015/lib/services/report.service.js +0 -127
  62. package/esm2015/lib/services/session-info.service.js +0 -62
  63. package/esm2015/lib/services/translate.service.js +0 -35
  64. package/esm2015/lib/utils/date.util.js +0 -95
  65. package/esm2015/lib/utils/disclaimer.util.js +0 -738
  66. package/esm2015/lib/utils/field-validation.util.js +0 -275
  67. package/esm2015/lib/utils/file.util.js +0 -224
  68. package/esm2015/lib/utils/filter-range.util.js +0 -53
  69. package/esm2015/lib/utils/generic-functions.utils.js +0 -296
  70. package/esm2015/public-api.js +0 -38
  71. package/fesm2015/dts-backoffice-util.js.map +0 -1
@@ -1,127 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/report.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Injectable } from '@angular/core';
7
- import { HttpClient } from '@angular/common/http';
8
- import { map } from 'rxjs/operators';
9
- /**
10
- * @record
11
- */
12
- export function IProperty() { }
13
- if (false) {
14
- /** @type {?} */
15
- IProperty.prototype.name;
16
- /** @type {?} */
17
- IProperty.prototype.value;
18
- }
19
- /**
20
- * @record
21
- */
22
- export function IReportServiceParams() { }
23
- if (false) {
24
- /** @type {?} */
25
- IReportServiceParams.prototype.reportName;
26
- /** @type {?} */
27
- IReportServiceParams.prototype.programName;
28
- /** @type {?} */
29
- IReportServiceParams.prototype.properties;
30
- /** @type {?} */
31
- IReportServiceParams.prototype.dialect;
32
- /** @type {?} */
33
- IReportServiceParams.prototype.downloadName;
34
- /** @type {?} */
35
- IReportServiceParams.prototype.download;
36
- /** @type {?} */
37
- IReportServiceParams.prototype.format;
38
- }
39
- /** @enum {string} */
40
- const ReportFormats = {
41
- XLSX: "xlsx",
42
- PDF: "pdf",
43
- DOCX: "docx",
44
- HTML: "html",
45
- };
46
- export { ReportFormats };
47
- export class ReportService {
48
- /**
49
- * @param {?} httpClient
50
- */
51
- constructor(httpClient) {
52
- this.httpClient = httpClient;
53
- this.URL = window.location.href.indexOf('totvs-menu') > 0 ? '/totvs-menu/rest/report/run/'
54
- : '/dts/datasul-report/resources/run/';
55
- }
56
- /**
57
- * @param {?} params
58
- * @param {?=} showLoading
59
- * @return {?}
60
- */
61
- generate(params, showLoading = true) {
62
- /** @type {?} */
63
- const headers = { 'X-PO-Screen-Lock': showLoading ? 'true' : 'false' };
64
- /** @type {?} */
65
- let reportURL = `${this.URL}${params.reportName}`;
66
- if (params.properties.length > 0) {
67
- reportURL += '?';
68
- params.properties.forEach((/**
69
- * @param {?} property
70
- * @param {?} index
71
- * @return {?}
72
- */
73
- (property, index) => {
74
- if (index > 0) {
75
- reportURL += '&';
76
- }
77
- reportURL += `c_properties=${property.name}&c_values=${property.value}`;
78
- }));
79
- }
80
- reportURL += `&dialect=${params.dialect}&format=${params.format}`;
81
- reportURL += `&program=${params.programName}&resultFileName=${params.downloadName}`;
82
- return this.httpClient.post(reportURL, {}, { headers, responseType: 'blob' })
83
- .pipe(map((/**
84
- * @param {?} report
85
- * @return {?}
86
- */
87
- report => {
88
- if (params.download) {
89
- this.download(report, `${params.downloadName}.${params.format}`);
90
- }
91
- return report;
92
- })));
93
- }
94
- /**
95
- * @param {?} file
96
- * @param {?} fileName
97
- * @return {?}
98
- */
99
- download(file, fileName) {
100
- /** @type {?} */
101
- const binaryData = [file];
102
- /** @type {?} */
103
- const downloadLink = document.createElement('a');
104
- /** @type {?} */
105
- const urlDownload = window.URL.createObjectURL(new Blob(binaryData, { type: file.type }));
106
- downloadLink.href = urlDownload;
107
- downloadLink.setAttribute('download', fileName);
108
- document.body.appendChild(downloadLink);
109
- downloadLink.click();
110
- window.URL.revokeObjectURL(urlDownload);
111
- downloadLink.remove();
112
- }
113
- }
114
- ReportService.decorators = [
115
- { type: Injectable }
116
- ];
117
- /** @nocollapse */
118
- ReportService.ctorParameters = () => [
119
- { type: HttpClient }
120
- ];
121
- if (false) {
122
- /** @type {?} */
123
- ReportService.prototype.URL;
124
- /** @type {?} */
125
- ReportService.prototype.httpClient;
126
- }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovRGF0YXN1bC9USEYvZHRzLWJhY2tvZmZpY2UtdXRpbC12My9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9yZXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUVyQywrQkFHQzs7O0lBRkMseUJBQWE7O0lBQ2IsMEJBQWM7Ozs7O0FBR2hCLDBDQVFDOzs7SUFQQywwQ0FBbUI7O0lBQ25CLDJDQUFvQjs7SUFDcEIsMENBQTZCOztJQUM3Qix1Q0FBZ0I7O0lBQ2hCLDRDQUFxQjs7SUFDckIsd0NBQWtCOztJQUNsQixzQ0FBc0I7OztBQUd4QixNQUFZLGFBQWE7SUFDdkIsSUFBSSxRQUFTO0lBQ2IsR0FBRyxPQUFRO0lBQ1gsSUFBSSxRQUFTO0lBQ2IsSUFBSSxRQUFTO0VBQ2Q7O0FBSUQsTUFBTSxPQUFPLGFBQWE7Ozs7SUFJeEIsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUh6QixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQThCO1lBQy9FLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQztJQUVoQixDQUFDOzs7Ozs7SUFFOUMsUUFBUSxDQUFDLE1BQTRCLEVBQUUsY0FBdUIsSUFBSTs7Y0FDMUQsT0FBTyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTs7WUFFbEUsU0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFO1FBRWpELElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLFNBQVMsSUFBSSxHQUFHLENBQUM7WUFFakIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPOzs7OztZQUFDLENBQUMsUUFBbUIsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDL0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO29CQUNiLFNBQVMsSUFBSSxHQUFHLENBQUM7aUJBQ2xCO2dCQUNELFNBQVMsSUFBSSxnQkFBZ0IsUUFBUSxDQUFDLElBQUksYUFBYSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUUsQ0FBQyxFQUFDLENBQUM7U0FDSjtRQUVELFNBQVMsSUFBSSxZQUFZLE1BQU0sQ0FBQyxPQUFPLFdBQVcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xFLFNBQVMsSUFBSSxZQUFZLE1BQU0sQ0FBQyxXQUFXLG1CQUFtQixNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUMxRSxJQUFJLENBQUMsR0FBRzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ2xFO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Ozs7OztJQUVELFFBQVEsQ0FBQyxJQUFVLEVBQUUsUUFBZ0I7O2NBQzdCLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQzs7Y0FDbkIsWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDOztjQUMxQyxXQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLFlBQVksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7O1lBL0NGLFVBQVU7Ozs7WUExQkYsVUFBVTs7OztJQTZCakIsNEJBQzZEOztJQUVqRCxtQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUHJvcGVydHkge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSZXBvcnRTZXJ2aWNlUGFyYW1zIHtcclxuICByZXBvcnROYW1lOiBzdHJpbmc7IC8vIE5vbWUgZG8gcnB0RGVzaWduXHJcbiAgcHJvZ3JhbU5hbWU6IHN0cmluZzsgLy8gUHJvZ3JhbWEgUHJvZ3Jlc3NcclxuICBwcm9wZXJ0aWVzOiBBcnJheTxJUHJvcGVydHk+O1xyXG4gIGRpYWxlY3Q6IHN0cmluZztcclxuICBkb3dubG9hZE5hbWU6IHN0cmluZztcclxuICBkb3dubG9hZDogYm9vbGVhbjtcclxuICBmb3JtYXQ6IFJlcG9ydEZvcm1hdHM7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFJlcG9ydEZvcm1hdHMge1xyXG4gIFhMU1ggPSAneGxzeCcsXHJcbiAgUERGID0gJ3BkZicsXHJcbiAgRE9DWCA9ICdkb2N4JyxcclxuICBIVE1MID0gJ2h0bWwnXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRTZXJ2aWNlIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgVVJMID0gd2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZigndG90dnMtbWVudScpID4gMCA/ICcvdG90dnMtbWVudS9yZXN0L3JlcG9ydC9ydW4vJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICcvZHRzL2RhdGFzdWwtcmVwb3J0L3Jlc291cmNlcy9ydW4vJztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICBnZW5lcmF0ZShwYXJhbXM6IElSZXBvcnRTZXJ2aWNlUGFyYW1zLCBzaG93TG9hZGluZzogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPEJsb2I+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB7ICdYLVBPLVNjcmVlbi1Mb2NrJzogc2hvd0xvYWRpbmcgPyAndHJ1ZScgOiAnZmFsc2UnIH07XHJcblxyXG4gICAgbGV0IHJlcG9ydFVSTCA9IGAke3RoaXMuVVJMfSR7cGFyYW1zLnJlcG9ydE5hbWV9YDtcclxuXHJcbiAgICBpZiAocGFyYW1zLnByb3BlcnRpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXBvcnRVUkwgKz0gJz8nO1xyXG5cclxuICAgICAgcGFyYW1zLnByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHk6IElQcm9wZXJ0eSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGlmIChpbmRleCA+IDApIHtcclxuICAgICAgICAgIHJlcG9ydFVSTCArPSAnJic7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlcG9ydFVSTCArPSBgY19wcm9wZXJ0aWVzPSR7cHJvcGVydHkubmFtZX0mY192YWx1ZXM9JHtwcm9wZXJ0eS52YWx1ZX1gO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXBvcnRVUkwgKz0gYCZkaWFsZWN0PSR7cGFyYW1zLmRpYWxlY3R9JmZvcm1hdD0ke3BhcmFtcy5mb3JtYXR9YDtcclxuICAgIHJlcG9ydFVSTCArPSBgJnByb2dyYW09JHtwYXJhbXMucHJvZ3JhbU5hbWV9JnJlc3VsdEZpbGVOYW1lPSR7cGFyYW1zLmRvd25sb2FkTmFtZX1gO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChyZXBvcnRVUkwsIHt9LCB7IGhlYWRlcnMsIHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pXHJcbiAgICAgIC5waXBlKG1hcChyZXBvcnQgPT4ge1xyXG4gICAgICAgIGlmIChwYXJhbXMuZG93bmxvYWQpIHtcclxuICAgICAgICAgIHRoaXMuZG93bmxvYWQocmVwb3J0LCBgJHtwYXJhbXMuZG93bmxvYWROYW1lfS4ke3BhcmFtcy5mb3JtYXR9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXBvcnQ7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkKGZpbGU6IEJsb2IsIGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGJpbmFyeURhdGEgPSBbZmlsZV07XHJcbiAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBjb25zdCB1cmxEb3dubG9hZCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKGJpbmFyeURhdGEsIHsgdHlwZTogZmlsZS50eXBlIH0pKTtcclxuXHJcbiAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybERvd25sb2FkO1xyXG4gICAgZG93bmxvYWRMaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlTmFtZSk7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvd25sb2FkTGluayk7XHJcbiAgICBkb3dubG9hZExpbmsuY2xpY2soKTtcclxuICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybERvd25sb2FkKTtcclxuICAgIGRvd25sb2FkTGluay5yZW1vdmUoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,62 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/session-info.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Injectable } from '@angular/core';
7
- import { HttpClient } from '@angular/common/http';
8
- import { of } from 'rxjs';
9
- import { map } from 'rxjs/operators';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common/http";
12
- export class UserLoginService {
13
- /**
14
- * @param {?} http
15
- */
16
- constructor(http) {
17
- this.http = http;
18
- this.apiUrl = '/totvs-menu/rest/getSessionInfo';
19
- this.userLogin = undefined;
20
- }
21
- /**
22
- * @return {?}
23
- */
24
- getUserLogin() {
25
- if (localStorage.getItem('username')) {
26
- return of(localStorage.getItem('username'));
27
- }
28
- if (this.userLogin) {
29
- return of(this.userLogin);
30
- }
31
- else {
32
- return this.http.get(`${this.apiUrl}`)
33
- .pipe(map((/**
34
- * @param {?} response
35
- * @return {?}
36
- */
37
- (response) => {
38
- this.userLogin = response.userName;
39
- return response.userName;
40
- })));
41
- }
42
- }
43
- }
44
- UserLoginService.decorators = [
45
- { type: Injectable, args: [{
46
- providedIn: 'root'
47
- },] }
48
- ];
49
- /** @nocollapse */
50
- UserLoginService.ctorParameters = () => [
51
- { type: HttpClient }
52
- ];
53
- /** @nocollapse */ UserLoginService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserLoginService_Factory() { return new UserLoginService(i0.ɵɵinject(i1.HttpClient)); }, token: UserLoginService, providedIn: "root" });
54
- if (false) {
55
- /** @type {?} */
56
- UserLoginService.prototype.apiUrl;
57
- /** @type {?} */
58
- UserLoginService.prototype.userLogin;
59
- /** @type {?} */
60
- UserLoginService.prototype.http;
61
- }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1pbmZvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovRGF0YXN1bC9USEYvZHRzLWJhY2tvZmZpY2UtdXRpbC12My9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9zZXNzaW9uLWluZm8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLckMsTUFBTSxPQUFPLGdCQUFnQjs7OztJQUt6QixZQUFtQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDFCLFdBQU0sR0FBRyxpQ0FBaUMsQ0FBQztRQUNwRCxjQUFTLEdBQUcsU0FBUyxDQUFDO0lBRWlCLENBQUM7Ozs7SUFFeEMsWUFBWTtRQUNSLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNsQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2lCQUMvQyxJQUFJLENBQUMsR0FBRzs7OztZQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDbkMsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQzdCLENBQUMsRUFBQyxDQUFDLENBQUM7U0FDWDtJQUNMLENBQUM7OztZQXhCSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7Ozs7WUFQUSxVQUFVOzs7OztJQVVmLGtDQUFvRDs7SUFDcEQscUNBQXNCOztJQUVWLGdDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSVNlc3Npb25JbmZvIH0gZnJvbSAnLi4vbW9kZWwvc2Vzc2lvbi1pbmZvLm1vZGVsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyTG9naW5TZXJ2aWNlIHtcclxuXHJcbiAgICByZWFkb25seSBhcGlVcmwgPSAnL3RvdHZzLW1lbnUvcmVzdC9nZXRTZXNzaW9uSW5mbyc7XHJcbiAgICB1c2VyTG9naW4gPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICAgIGdldFVzZXJMb2dpbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJykpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMudXNlckxvZ2luKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZih0aGlzLnVzZXJMb2dpbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlc3Npb25JbmZvPihgJHt0aGlzLmFwaVVybH1gKVxyXG4gICAgICAgICAgICAgICAgLnBpcGUobWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlckxvZ2luID0gcmVzcG9uc2UudXNlck5hbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnVzZXJOYW1lO1xyXG4gICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,35 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/translate.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Injectable } from '@angular/core';
7
- export class TranslateService {
8
- /**
9
- * @return {?}
10
- */
11
- static getSuportLanguage() {
12
- return ['pt-BR', 'pt', 'en-US', 'en', 'es'];
13
- }
14
- /**
15
- * @return {?}
16
- */
17
- static getDefaultCurrencyCode() {
18
- return '$';
19
- }
20
- /**
21
- * @return {?}
22
- */
23
- static getCurrentLanguage() {
24
- /** @type {?} */
25
- const locale = localStorage.getItem('user.language') || navigator.language;
26
- if (locale && this.getSuportLanguage().includes(locale)) {
27
- return locale;
28
- }
29
- return 'en-US';
30
- }
31
- }
32
- TranslateService.decorators = [
33
- { type: Injectable }
34
- ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovRGF0YXN1bC9USEYvZHRzLWJhY2tvZmZpY2UtdXRpbC12My9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjs7OztJQUV6QixNQUFNLENBQUMsaUJBQWlCO1FBQ3BCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7OztJQUVELE1BQU0sQ0FBQyxzQkFBc0I7UUFDekIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDOzs7O0lBRUQsTUFBTSxDQUFDLGtCQUFrQjs7Y0FDZixNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUTtRQUUxRSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFBRSxPQUFPLE1BQU0sQ0FBQztTQUFFO1FBRTNFLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7OztZQWpCSixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2VydmljZSB7XHJcblxyXG4gICAgc3RhdGljIGdldFN1cG9ydExhbmd1YWdlKCkge1xyXG4gICAgICAgIHJldHVybiBbJ3B0LUJSJywgJ3B0JywgJ2VuLVVTJywgJ2VuJywgJ2VzJ107XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldERlZmF1bHRDdXJyZW5jeUNvZGUoKSB7XHJcbiAgICAgICAgcmV0dXJuICckJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Q3VycmVudExhbmd1YWdlKCkge1xyXG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLmxhbmd1YWdlJykgfHwgbmF2aWdhdG9yLmxhbmd1YWdlO1xyXG5cclxuICAgICAgICBpZiAobG9jYWxlICYmIHRoaXMuZ2V0U3Vwb3J0TGFuZ3VhZ2UoKS5pbmNsdWRlcyhsb2NhbGUpKSB7IHJldHVybiBsb2NhbGU7IH1cclxuXHJcbiAgICAgICAgcmV0dXJuICdlbi1VUyc7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,95 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/utils/date.util.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- /*
7
- Versão: 1.000
8
- Data Criação: 18/04/2019
9
- */
10
- export class DateUtil {
11
- constructor() { }
12
- /* Transforma data para o padrão YYYY-MM-DD */
13
- /**
14
- * @param {?} date
15
- * @return {?}
16
- */
17
- static dateToQueryParam(date) {
18
- /** @type {?} */
19
- const iDay = date.getDate();
20
- /** @type {?} */
21
- const iMonth = date.getMonth() + 1;
22
- /** @type {?} */
23
- const iYear = date.getFullYear();
24
- return `${iYear}-${this.pad(iMonth)}-${this.pad(iDay)}`;
25
- }
26
- /* Transforma data no padrão YYYY-MM-DD para DATE */
27
- /**
28
- * @param {?} param
29
- * @return {?}
30
- */
31
- static queryParamToDate(param) {
32
- /** @type {?} */
33
- const iDay = +param.split('-')[2];
34
- /** @type {?} */
35
- const iMonth = +param.split('-')[1];
36
- /** @type {?} */
37
- const iYear = +param.split('-')[0];
38
- return new Date(iYear, iMonth - 1, iDay);
39
- }
40
- /* Valida se foi informado uma data válida */
41
- /**
42
- * @param {?} date
43
- * @return {?}
44
- */
45
- static isValidDate(date) {
46
- return date instanceof Date && !isNaN(date.getTime());
47
- }
48
- /* Ajusta a data retornando o padrão DATE */
49
- /**
50
- * @param {?} param
51
- * @return {?}
52
- */
53
- static ajustDate(param) {
54
- if (param instanceof Date) {
55
- return param;
56
- }
57
- if (!param) {
58
- return param;
59
- }
60
- return this.queryParamToDate(param.split('T')[0]);
61
- }
62
- /* Ajusta a data para o padrão DATE - utilizada nos construtores dos modelos */
63
- /**
64
- * @param {?=} values
65
- * @param {?=} fieldName
66
- * @return {?}
67
- */
68
- static ajustDateToModel(values = {}, fieldName) {
69
- if (values.hasOwnProperty(fieldName) && (values[fieldName])) {
70
- if (values[fieldName].indexOf('T') >= 0) {
71
- return new Date(values[fieldName]);
72
- }
73
- /** @type {?} */
74
- const iDay = +values[fieldName].split('-')[2];
75
- /** @type {?} */
76
- const iMonth = +values[fieldName].split('-')[1];
77
- /** @type {?} */
78
- const iYear = +values[fieldName].split('-')[0];
79
- return new Date(iYear, iMonth - 1, iDay);
80
- }
81
- return null;
82
- }
83
- /* Adicona zero a esquerda do número */
84
- /**
85
- * @param {?} number
86
- * @return {?}
87
- */
88
- static pad(number) {
89
- if (number < 10) {
90
- return '0' + number;
91
- }
92
- return number;
93
- }
94
- }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS51dGlsLmpzIiwic291cmNlUm9vdCI6IkM6L0RhdGFzdWwvVEhGL2R0cy1iYWNrb2ZmaWNlLXV0aWwtdjMvcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvZGF0ZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUtBLE1BQU0sT0FBTyxRQUFRO0lBRWpCLGdCQUNJLENBQUM7Ozs7OztJQUdMLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFVOztjQUN4QixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRTs7Y0FDckIsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDOztjQUM1QixLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUVoQyxPQUFPLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzVELENBQUM7Ozs7OztJQUdELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFhOztjQUMzQixJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Y0FDM0IsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7O2NBQzdCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7Ozs7O0lBR0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFVO1FBQ3pCLE9BQU8sSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDOzs7Ozs7SUFHRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRTtRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRTtRQUU3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Ozs7OztJQUdELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFpQixFQUFFLEVBQUUsU0FBaUI7UUFDMUQsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUU7WUFDekQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDckMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUN0Qzs7a0JBRUssSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7O2tCQUN2QyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7a0JBQ3pDLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDNUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7Ozs7SUFHRCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU07UUFDYixJQUFJLE1BQU0sR0FBRyxFQUFFLEVBQUU7WUFDYixPQUFPLEdBQUcsR0FBRyxNQUFNLENBQUM7U0FDdkI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5WZXJzw6NvOiAxLjAwMFxyXG5EYXRhIENyaWHDp8OjbzogMTgvMDQvMjAxOVxyXG4qL1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVVdGlsIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyogVHJhbnNmb3JtYSBkYXRhIHBhcmEgbyBwYWRyw6NvIFlZWVktTU0tREQgKi9cclxuICAgIHN0YXRpYyBkYXRlVG9RdWVyeVBhcmFtKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGlEYXkgPSBkYXRlLmdldERhdGUoKTtcclxuICAgICAgICBjb25zdCBpTW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xyXG4gICAgICAgIGNvbnN0IGlZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG5cclxuICAgICAgICByZXR1cm4gYCR7aVllYXJ9LSR7dGhpcy5wYWQoaU1vbnRoKX0tJHt0aGlzLnBhZChpRGF5KX1gO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFRyYW5zZm9ybWEgZGF0YSBubyBwYWRyw6NvIFlZWVktTU0tREQgcGFyYSBEQVRFICovXHJcbiAgICBzdGF0aWMgcXVlcnlQYXJhbVRvRGF0ZShwYXJhbTogc3RyaW5nKTogRGF0ZSB7XHJcbiAgICAgICAgY29uc3QgaURheSA9ICtwYXJhbS5zcGxpdCgnLScpWzJdO1xyXG4gICAgICAgIGNvbnN0IGlNb250aCA9ICtwYXJhbS5zcGxpdCgnLScpWzFdO1xyXG4gICAgICAgIGNvbnN0IGlZZWFyID0gK3BhcmFtLnNwbGl0KCctJylbMF07XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShpWWVhciwgaU1vbnRoIC0gMSwgaURheSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogVmFsaWRhIHNlIGZvaSBpbmZvcm1hZG8gdW1hIGRhdGEgdsOhbGlkYSAqL1xyXG4gICAgc3RhdGljIGlzVmFsaWREYXRlKGRhdGU6IERhdGUpIHtcclxuICAgICAgICByZXR1cm4gZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBanVzdGEgYSBkYXRhIHJldG9ybmFuZG8gbyBwYWRyw6NvIERBVEUgKi9cclxuICAgIHN0YXRpYyBhanVzdERhdGUocGFyYW06IGFueSk6IERhdGUge1xyXG4gICAgICAgIGlmIChwYXJhbSBpbnN0YW5jZW9mIERhdGUpIHsgcmV0dXJuIHBhcmFtOyB9XHJcbiAgICAgICAgaWYgKCFwYXJhbSkgeyByZXR1cm4gcGFyYW07IH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlQYXJhbVRvRGF0ZShwYXJhbS5zcGxpdCgnVCcpWzBdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBanVzdGEgYSBkYXRhIHBhcmEgbyBwYWRyw6NvIERBVEUgLSB1dGlsaXphZGEgbm9zIGNvbnN0cnV0b3JlcyBkb3MgbW9kZWxvcyAqL1xyXG4gICAgc3RhdGljIGFqdXN0RGF0ZVRvTW9kZWwodmFsdWVzOiBPYmplY3QgPSB7fSwgZmllbGROYW1lOiBzdHJpbmcpOiBEYXRlIHtcclxuICAgICAgICBpZiAodmFsdWVzLmhhc093blByb3BlcnR5KGZpZWxkTmFtZSkgJiYgKHZhbHVlc1tmaWVsZE5hbWVdKSkge1xyXG4gICAgICAgICAgICBpZiAodmFsdWVzW2ZpZWxkTmFtZV0uaW5kZXhPZignVCcpID49IDApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZXNbZmllbGROYW1lXSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGlEYXkgPSArdmFsdWVzW2ZpZWxkTmFtZV0uc3BsaXQoJy0nKVsyXTtcclxuICAgICAgICAgICAgY29uc3QgaU1vbnRoID0gK3ZhbHVlc1tmaWVsZE5hbWVdLnNwbGl0KCctJylbMV07XHJcbiAgICAgICAgICAgIGNvbnN0IGlZZWFyID0gK3ZhbHVlc1tmaWVsZE5hbWVdLnNwbGl0KCctJylbMF07XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShpWWVhciwgaU1vbnRoIC0gMSwgaURheSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBZGljb25hIHplcm8gYSBlc3F1ZXJkYSBkbyBuw7ptZXJvICovXHJcbiAgICBzdGF0aWMgcGFkKG51bWJlcikge1xyXG4gICAgICAgIGlmIChudW1iZXIgPCAxMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gJzAnICsgbnVtYmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVtYmVyO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==