@po-ui/ng-sync 18.22.0 → 19.0.0-next.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 (77) hide show
  1. package/fesm2022/po-ui-ng-sync.mjs +37 -19
  2. package/fesm2022/po-ui-ng-sync.mjs.map +1 -1
  3. package/lib/services/po-http-client/po-http-client.service.d.ts +8 -8
  4. package/lib/services/po-sync/interfaces/po-sync-response.interface.d.ts +1 -1
  5. package/package.json +13 -15
  6. package/po-ui-ng-sync-19.0.0-next.0.tgz +0 -0
  7. package/schematics/collection.json +5 -0
  8. package/schematics/migrations.json +6 -1
  9. package/schematics/ng-add/index.d.ts +1 -5
  10. package/schematics/ng-add/index.js +3 -37
  11. package/schematics/ng-add/index.js.map +1 -1
  12. package/schematics/ng-add/setup-project.d.ts +2 -0
  13. package/schematics/ng-add/setup-project.js +179 -0
  14. package/schematics/ng-add/setup-project.js.map +1 -0
  15. package/schematics/ng-generate/schema/index.js +1 -1
  16. package/schematics/ng-generate/schema/index.js.map +1 -1
  17. package/schematics/ng-update/v14/index.js +2 -2
  18. package/schematics/ng-update/v14/index.js.map +1 -1
  19. package/schematics/ng-update/v15/index.js +2 -2
  20. package/schematics/ng-update/v15/index.js.map +1 -1
  21. package/schematics/ng-update/v16/index.js +2 -2
  22. package/schematics/ng-update/v16/index.js.map +1 -1
  23. package/schematics/ng-update/v17/index.js +2 -2
  24. package/schematics/ng-update/v17/index.js.map +1 -1
  25. package/schematics/ng-update/v18/index.js +2 -2
  26. package/schematics/ng-update/v18/index.js.map +1 -1
  27. package/schematics/ng-update/v19/changes.d.ts +2 -0
  28. package/schematics/ng-update/v19/changes.js +14 -0
  29. package/schematics/ng-update/v19/changes.js.map +1 -0
  30. package/schematics/ng-update/v19/index.d.ts +1 -0
  31. package/schematics/ng-update/v19/index.js +16 -0
  32. package/schematics/ng-update/v19/index.js.map +1 -0
  33. package/schematics/ng-update/v2/index.js +3 -4
  34. package/schematics/ng-update/v2/index.js.map +1 -1
  35. package/schematics/ng-update/v3/index.js +2 -3
  36. package/schematics/ng-update/v3/index.js.map +1 -1
  37. package/schematics/ng-update/v4/index.js +2 -2
  38. package/schematics/ng-update/v4/index.js.map +1 -1
  39. package/schematics/ng-update/v5/index.js +2 -2
  40. package/schematics/ng-update/v5/index.js.map +1 -1
  41. package/schematics/ng-update/v6/index.js +2 -2
  42. package/schematics/ng-update/v6/index.js.map +1 -1
  43. package/esm2022/lib/index.mjs +0 -15
  44. package/esm2022/lib/models/index.mjs +0 -6
  45. package/esm2022/lib/models/po-data-message.model.mjs +0 -57
  46. package/esm2022/lib/models/po-data-transform.model.mjs +0 -23
  47. package/esm2022/lib/models/po-entity/po-entity.model.mjs +0 -217
  48. package/esm2022/lib/models/po-event-sourcing-error-response.model.mjs +0 -21
  49. package/esm2022/lib/models/po-network-status.model.mjs +0 -45
  50. package/esm2022/lib/models/po-network-type.enum.mjs +0 -30
  51. package/esm2022/lib/models/po-query-builder/po-query-builder.model.mjs +0 -246
  52. package/esm2022/lib/models/po-request-type.enum.mjs +0 -16
  53. package/esm2022/lib/po-sync.module.mjs +0 -40
  54. package/esm2022/lib/services/po-event-sourcing/enums/po-event-sourcing-operation.enum.mjs +0 -17
  55. package/esm2022/lib/services/po-event-sourcing/index.mjs +0 -4
  56. package/esm2022/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.mjs +0 -2
  57. package/esm2022/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.mjs +0 -2
  58. package/esm2022/lib/services/po-event-sourcing/po-event-sourcing.service.mjs +0 -379
  59. package/esm2022/lib/services/po-http-client/interfaces/po-http-header-option.interface.mjs +0 -11
  60. package/esm2022/lib/services/po-http-client/interfaces/po-http-request-data.interface.mjs +0 -2
  61. package/esm2022/lib/services/po-http-client/interfaces/po-response-api.interface.mjs +0 -2
  62. package/esm2022/lib/services/po-http-client/po-http-client.service.mjs +0 -149
  63. package/esm2022/lib/services/po-http-client/po-http-request-type.enum.mjs +0 -25
  64. package/esm2022/lib/services/po-network/po-network.service.mjs +0 -59
  65. package/esm2022/lib/services/po-schema/index.mjs +0 -4
  66. package/esm2022/lib/services/po-schema/po-schema-definition/po-schema-definition.service.mjs +0 -78
  67. package/esm2022/lib/services/po-schema/po-schema-util/po-schema-util.model.mjs +0 -124
  68. package/esm2022/lib/services/po-schema/po-schema.service.mjs +0 -176
  69. package/esm2022/lib/services/po-sync/interfaces/po-sync-config.interface.mjs +0 -2
  70. package/esm2022/lib/services/po-sync/interfaces/po-sync-field-options.interface.mjs +0 -2
  71. package/esm2022/lib/services/po-sync/interfaces/po-sync-response.interface.mjs +0 -2
  72. package/esm2022/lib/services/po-sync/interfaces/po-sync-schema.interface.mjs +0 -2
  73. package/esm2022/lib/services/po-sync/po-sync.service.mjs +0 -336
  74. package/esm2022/lib/utils/utils.mjs +0 -63
  75. package/esm2022/po-ui-ng-sync.mjs +0 -5
  76. package/esm2022/public-api.mjs +0 -2
  77. package/po-ui-ng-sync-18.22.0.tgz +0 -0
@@ -1,149 +0,0 @@
1
- import { HttpHeaders } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { PoHttpRequestType } from './po-http-request-type.enum';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- /**
7
- * @docsPrivate
8
- *
9
- * @description
10
- *
11
- * Serviço para execução de requisições HTTP.
12
- */
13
- export class PoHttpClientService {
14
- httpClient;
15
- constructor(httpClient) {
16
- this.httpClient = httpClient;
17
- }
18
- /**
19
- * Constrói uma requisição HTTP personalizada.
20
- *
21
- * @param {PoHttpRequestData} poHttpOperationData Parâmetros para a construção
22
- * da requisição.
23
- */
24
- createRequest(poHttpOperationData) {
25
- const httpHeaders = this.createHttpHeaders(poHttpOperationData.headers);
26
- return this.httpClient.request(poHttpOperationData.method, poHttpOperationData.url, {
27
- observe: 'response',
28
- headers: httpHeaders,
29
- body: poHttpOperationData.body
30
- });
31
- }
32
- /**
33
- * Constrói uma requisição com o método `delete`.
34
- *
35
- * @param {string} url URL da requisição.
36
- * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
37
- */
38
- delete(url, httpHeaders) {
39
- const requestData = {
40
- url: url,
41
- method: PoHttpRequestType.DELETE,
42
- headers: httpHeaders
43
- };
44
- return this.createRequest(requestData);
45
- }
46
- /**
47
- * Constrói uma requisição com o método `get`.
48
- *
49
- * @param {string} url URL da requisição.
50
- * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
51
- */
52
- get(url, httpHeaders) {
53
- const requestData = {
54
- url: url,
55
- method: PoHttpRequestType.GET,
56
- headers: httpHeaders
57
- };
58
- return this.createRequest(requestData);
59
- }
60
- /**
61
- * Constrói uma requisição com o método `head`.
62
- *
63
- * @param {string} url URL da requisição.
64
- * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
65
- */
66
- head(url, httpHeaders) {
67
- const requestData = {
68
- url: url,
69
- method: PoHttpRequestType.HEAD,
70
- headers: httpHeaders
71
- };
72
- return this.createRequest(requestData);
73
- }
74
- /**
75
- * Constrói uma requisição com o método `options`.
76
- *
77
- * @param {string} url URL da requisição.
78
- * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
79
- */
80
- options(url, httpHeaders) {
81
- const requestData = {
82
- url: url,
83
- method: PoHttpRequestType.OPTIONS,
84
- headers: httpHeaders
85
- };
86
- return this.createRequest(requestData);
87
- }
88
- /**
89
- * Constrói uma requisição com o método `patch`.
90
- *
91
- * @param {string} url URL da requisição.
92
- * @param {any} body Corpo da requisição.
93
- * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
94
- */
95
- patch(url, body, httpHeaders) {
96
- const requestData = {
97
- url: url,
98
- method: PoHttpRequestType.PATCH,
99
- headers: httpHeaders,
100
- body: body
101
- };
102
- return this.createRequest(requestData);
103
- }
104
- /**
105
- * Constrói uma requisição com o método `post`.
106
- *
107
- * @param {string} url URL da requisição.
108
- * @param {any} body Corpo da requisição.
109
- * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
110
- */
111
- post(url, body, httpHeaders) {
112
- const requestData = {
113
- url: url,
114
- method: PoHttpRequestType.POST,
115
- headers: httpHeaders,
116
- body: body
117
- };
118
- return this.createRequest(requestData);
119
- }
120
- /**
121
- * Constrói uma requisição com o método `put`.
122
- *
123
- * @param {string} url URL da requisição.
124
- * @param {any} body Corpo da requisição.
125
- * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
126
- */
127
- put(url, body, httpHeaders) {
128
- const requestData = {
129
- url: url,
130
- method: PoHttpRequestType.PUT,
131
- headers: httpHeaders,
132
- body: body
133
- };
134
- return this.createRequest(requestData);
135
- }
136
- createHttpHeaders(poHttpOperationHeaders) {
137
- let httpHeaders = new HttpHeaders();
138
- if (poHttpOperationHeaders && poHttpOperationHeaders.length > 0) {
139
- poHttpOperationHeaders.forEach(poHttpHeader => (httpHeaders = httpHeaders.append(poHttpHeader.name, poHttpHeader.value)));
140
- }
141
- return httpHeaders;
142
- }
143
- static ɵfac = function PoHttpClientService_Factory(t) { return new (t || PoHttpClientService)(i0.ɵɵinject(i1.HttpClient)); };
144
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PoHttpClientService, factory: PoHttpClientService.ɵfac });
145
- }
146
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoHttpClientService, [{
147
- type: Injectable
148
- }], () => [{ type: i1.HttpClient }], null); })();
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8taHR0cC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5bmMvc3JjL2xpYi9zZXJ2aWNlcy9wby1odHRwLWNsaWVudC9wby1odHRwLWNsaWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRWhFOzs7Ozs7R0FNRztBQUVILE1BQU0sT0FBTyxtQkFBbUI7SUFDVjtJQUFwQixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUU5Qzs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxtQkFBc0M7UUFDbEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXhFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLEdBQUcsRUFBRTtZQUNsRixPQUFPLEVBQUUsVUFBVTtZQUNuQixPQUFPLEVBQUUsV0FBVztZQUNwQixJQUFJLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBVyxFQUFFLFdBQXVDO1FBQ3pELE1BQU0sV0FBVyxHQUFzQjtZQUNyQyxHQUFHLEVBQUUsR0FBRztZQUNSLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO1lBQ2hDLE9BQU8sRUFBRSxXQUFXO1NBQ3JCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxD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IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFBvSHR0cEhlYWRlck9wdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1odHRwLWhlYWRlci1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvSHR0cFJlcXVlc3REYXRhIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWh0dHAtcmVxdWVzdC1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0h0dHBSZXF1ZXN0VHlwZSB9IGZyb20gJy4vcG8taHR0cC1yZXF1ZXN0LXR5cGUuZW51bSc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogU2VydmnDp28gcGFyYSBleGVjdcOnw6NvIGRlIHJlcXVpc2nDp8O1ZXMgSFRUUC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBvSHR0cENsaWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XG5cbiAgLyoqXG4gICAqIENvbnN0csOzaSB1bWEgcmVxdWlzacOnw6NvIEhUVFAgcGVyc29uYWxpemFkYS5cbiAgICpcbiAgICogQHBhcmFtIHtQb0h0dHBSZXF1ZXN0RGF0YX0gcG9IdHRwT3BlcmF0aW9uRGF0YSBQYXLDom1ldHJvcyBwYXJhIGEgY29uc3RydcOnw6NvXG4gICAqIGRhIHJlcXVpc2nDp8Ojby5cbiAgICovXG4gIGNyZWF0ZVJlcXVlc3QocG9IdHRwT3BlcmF0aW9uRGF0YTogUG9IdHRwUmVxdWVzdERhdGEpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxPYmplY3Q+PiB7XG4gICAgY29uc3QgaHR0cEhlYWRlcnMgPSB0aGlzLmNyZWF0ZUh0dHBIZWFkZXJzKHBvSHR0cE9wZXJhdGlvbkRhdGEuaGVhZGVycyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3QocG9IdHRwT3BlcmF0aW9uRGF0YS5tZXRob2QsIHBvSHR0cE9wZXJhdGlvbkRhdGEudXJsLCB7XG4gICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxuICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnMsXG4gICAgICBib2R5OiBwb0h0dHBPcGVyYXRpb25EYXRhLmJvZHlcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHLDs2kgdW1hIHJlcXVpc2nDp8OjbyBjb20gbyBtw6l0b2RvIGBkZWxldGVgLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFVSTCBkYSByZXF1aXNpw6fDo28uXG4gICAqIEBwYXJhbSB7QXJyYXk8UG9IZWFkZXJPcHRpb24+fSBodHRwSGVhZGVycyBDYWJlw6dhbGhvcyBkYSByZXF1aXNpw6fDo28uXG4gICAqL1xuICBkZWxldGUodXJsOiBzdHJpbmcsIGh0dHBIZWFkZXJzPzogQXJyYXk8UG9IdHRwSGVhZGVyT3B0aW9uPikge1xuICAgIGNvbnN0IHJlcXVlc3REYXRhOiBQb0h0dHBSZXF1ZXN0RGF0YSA9IHtcbiAgICAgIHVybDogdXJsLFxuICAgICAgbWV0aG9kOiBQb0h0dHBSZXF1ZXN0VHlwZS5ERUxFVEUsXG4gICAgICBoZWFkZXJzOiBodHRwSGVhZGVyc1xuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVxdWVzdChyZXF1ZXN0RGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3Ryw7NpIHVtYSByZXF1aXNpw6fDo28gY29tIG8gbcOpdG9kbyBgZ2V0YC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCBVUkwgZGEgcmVxdWlzacOnw6NvLlxuICAgKiBAcGFyYW0ge0FycmF5PFBvSGVhZGVyT3B0aW9uPn0gaHR0cEhlYWRlcnMgQ2FiZcOnYWxob3MgZGEgcmVxdWlzacOnw6NvLlxuICAgKi9cbiAgZ2V0KHVybDogc3RyaW5nLCBodHRwSGVhZGVycz86IEFycmF5PFBvSHR0cEhlYWRlck9wdGlvbj4pIHtcbiAgICBjb25zdCByZXF1ZXN0RGF0YTogUG9IdHRwUmVxdWVzdERhdGEgPSB7XG4gICAgICB1cmw6IHVybCxcbiAgICAgIG1ldGhvZDogUG9IdHRwUmVxdWVzdFR5cGUuR0VULFxuICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnNcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlcXVlc3QocmVxdWVzdERhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0csOzaSB1bWEgcmVxdWlzacOnw6NvIGNvbSBvIG3DqXRvZG8gYGhlYWRgLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFVSTCBkYSByZXF1aXNpw6fDo28uXG4gICAqIEBwYXJhbSB7QXJyYXk8UG9IZWFkZXJPcHRpb24+fSBodHRwSGVhZGVycyBDYWJlw6dhbGhvcyBkYSByZXF1aXNpw6fDo28uXG4gICAqL1xuICBoZWFkKHVybDogc3RyaW5nLCBodHRwSGVhZGVycz86IEFycmF5PFBvSHR0cEhlYWRlck9wdGlvbj4pIHtcbiAgICBjb25zdCByZXF1ZXN0RGF0YTogUG9IdHRwUmVxdWVzdERhdGEgPSB7XG4gICAgICB1cmw6IHVybCxcbiAgICAgIG1ldGhvZDogUG9IdHRwUmVxdWVzdFR5cGUuSEVBRCxcbiAgICAgIGhlYWRlcnM6IGh0dHBIZWFkZXJzXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXF1ZXN0KHJlcXVlc3REYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHLDs2kgdW1hIHJlcXVpc2nDp8OjbyBjb20gbyBtw6l0b2RvIGBvcHRpb25zYC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCBVUkwgZGEgcmVxdWlzacOnw6NvLlxuICAgKiBAcGFyYW0ge0FycmF5PFBvSGVhZGVyT3B0aW9uPn0gaHR0cEhlYWRlcnMgQ2FiZcOnYWxob3MgZGEgcmVxdWlzacOnw6NvLlxuICAgKi9cbiAgb3B0aW9ucyh1cmw6IHN0cmluZywgaHR0cEhlYWRlcnM/OiBBcnJheTxQb0h0dHBIZWFkZXJPcHRpb24+KSB7XG4gICAgY29uc3QgcmVxdWVzdERhdGE6IFBvSHR0cFJlcXVlc3REYXRhID0ge1xuICAgICAgdXJsOiB1cmwsXG4gICAgICBtZXRob2Q6IFBvSHR0cFJlcXVlc3RUeXBlLk9QVElPTlMsXG4gICAgICBoZWFkZXJzOiBodHRwSGVhZGVyc1xuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVxdWVzdChyZXF1ZXN0RGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3Ryw7NpIHVtYSByZXF1aXNpw6fDo28gY29tIG8gbcOpdG9kbyBgcGF0Y2hgLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFVSTCBkYSByZXF1aXNpw6fDo28uXG4gICAqIEBwYXJhbSB7YW55fSBib2R5IENvcnBvIGRhIHJlcXVpc2nDp8Ojby5cbiAgICogQHBhcmFtIHtBcnJheTxQb0hlYWRlck9wdGlvbj59IGh0dHBIZWFkZXJzIENhYmXDp2FsaG9zIGRhIHJlcXVpc2nDp8Ojby5cbiAgICovXG4gIHBhdGNoKHVybDogc3RyaW5nLCBib2R5PzogYW55LCBodHRwSGVhZGVycz86IEFycmF5PFBvSHR0cEhlYWRlck9wdGlvbj4pIHtcbiAgICBjb25zdCByZXF1ZXN0RGF0YTogUG9IdHRwUmVxdWVzdERhdGEgPSB7XG4gICAgICB1cmw6IHVybCxcbiAgICAgIG1ldGhvZDogUG9IdHRwUmVxdWVzdFR5cGUuUEFUQ0gsXG4gICAgICBoZWFkZXJzOiBodHRwSGVhZGVycyxcbiAgICAgIGJvZHk6IGJvZHlcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlcXVlc3QocmVxdWVzdERhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0csOzaSB1bWEgcmVxdWlzacOnw6NvIGNvbSBvIG3DqXRvZG8gYHBvc3RgLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFVSTCBkYSByZXF1aXNpw6fDo28uXG4gICAqIEBwYXJhbSB7YW55fSBib2R5IENvcnBvIGRhIHJlcXVpc2nDp8Ojby5cbiAgICogQHBhcmFtIHtBcnJheTxQb0hlYWRlck9wdGlvbj59IGh0dHBIZWFkZXJzIENhYmXDp2FsaG9zIGRhIHJlcXVpc2nDp8Ojby5cbiAgICovXG4gIHBvc3QodXJsOiBzdHJpbmcsIGJvZHk/OiBhbnksIGh0dHBIZWFkZXJzPzogQXJyYXk8UG9IdHRwSGVhZGVyT3B0aW9uPikge1xuICAgIGNvbnN0IHJlcXVlc3REYXRhOiBQb0h0dHBSZXF1ZXN0RGF0YSA9IHtcbiAgICAgIHVybDogdXJsLFxuICAgICAgbWV0aG9kOiBQb0h0dHBSZXF1ZXN0VHlwZS5QT1NULFxuICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnMsXG4gICAgICBib2R5OiBib2R5XG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXF1ZXN0KHJlcXVlc3REYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHLDs2kgdW1hIHJlcXVpc2nDp8OjbyBjb20gbyBtw6l0b2RvIGBwdXRgLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFVSTCBkYSByZXF1aXNpw6fDo28uXG4gICAqIEBwYXJhbSB7YW55fSBib2R5IENvcnBvIGRhIHJlcXVpc2nDp8Ojby5cbiAgICogQHBhcmFtIHtBcnJheTxQb0hlYWRlck9wdGlvbj59IGh0dHBIZWFkZXJzIENhYmXDp2FsaG9zIGRhIHJlcXVpc2nDp8Ojby5cbiAgICovXG4gIHB1dCh1cmw6IHN0cmluZywgYm9keT86IGFueSwgaHR0cEhlYWRlcnM/OiBBcnJheTxQb0h0dHBIZWFkZXJPcHRpb24+KSB7XG4gICAgY29uc3QgcmVxdWVzdERhdGE6IFBvSHR0cFJlcXVlc3REYXRhID0ge1xuICAgICAgdXJsOiB1cmwsXG4gICAgICBtZXRob2Q6IFBvSHR0cFJlcXVlc3RUeXBlLlBVVCxcbiAgICAgIGhlYWRlcnM6IGh0dHBIZWFkZXJzLFxuICAgICAgYm9keTogYm9keVxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXF1ZXN0KHJlcXVlc3REYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSHR0cEhlYWRlcnMocG9IdHRwT3BlcmF0aW9uSGVhZGVycykge1xuICAgIGxldCBodHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuXG4gICAgaWYgKHBvSHR0cE9wZXJhdGlvbkhlYWRlcnMgJiYgcG9IdHRwT3BlcmF0aW9uSGVhZGVycy5sZW5ndGggPiAwKSB7XG4gICAgICBwb0h0dHBPcGVyYXRpb25IZWFkZXJzLmZvckVhY2goXG4gICAgICAgIHBvSHR0cEhlYWRlciA9PiAoaHR0cEhlYWRlcnMgPSBodHRwSGVhZGVycy5hcHBlbmQocG9IdHRwSGVhZGVyLm5hbWUsIHBvSHR0cEhlYWRlci52YWx1ZSkpXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBodHRwSGVhZGVycztcbiAgfVxufVxuIl19
@@ -1,25 +0,0 @@
1
- /**
2
- * @usedBy PoHttpClientService, PoHttpCommandResponse, PoSyncService
3
- *
4
- * @description
5
- *
6
- * Define o método de requisição HTTP.
7
- */
8
- export var PoHttpRequestType;
9
- (function (PoHttpRequestType) {
10
- /** Método `delete` do protocolo HTTP. */
11
- PoHttpRequestType["DELETE"] = "DELETE";
12
- /** Método `get` do protocolo HTTP. */
13
- PoHttpRequestType["GET"] = "GET";
14
- /** Método `head` do protocolo HTTP. */
15
- PoHttpRequestType["HEAD"] = "HEAD";
16
- /** Método `options` do protocolo HTTP. */
17
- PoHttpRequestType["OPTIONS"] = "OPTIONS";
18
- /** Método `patch` do protocolo HTTP. */
19
- PoHttpRequestType["PATCH"] = "PATCH";
20
- /** Método `post` do protocolo HTTP. */
21
- PoHttpRequestType["POST"] = "POST";
22
- /** Método `put` do protocolo HTTP. */
23
- PoHttpRequestType["PUT"] = "PUT";
24
- })(PoHttpRequestType || (PoHttpRequestType = {}));
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8taHR0cC1yZXF1ZXN0LXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5bmMvc3JjL2xpYi9zZXJ2aWNlcy9wby1odHRwLWNsaWVudC9wby1odHRwLXJlcXVlc3QtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBTixJQUFZLGlCQXFCWDtBQXJCRCxXQUFZLGlCQUFpQjtJQUMzQix5Q0FBeUM7SUFDekMsc0NBQWlCLENBQUE7SUFFakIsc0NBQXNDO0lBQ3RDLGdDQUFXLENBQUE7SUFFWCx1Q0FBdUM7SUFDdkMsa0NBQWEsQ0FBQTtJQUViLDBDQUEwQztJQUMxQyx3Q0FBbUIsQ0FBQTtJQUVuQix3Q0FBd0M7SUFDeEMsb0NBQWUsQ0FBQTtJQUVmLHVDQUF1QztJQUN2QyxrQ0FBYSxDQUFBO0lBRWIsc0NBQXNDO0lBQ3RDLGdDQUFXLENBQUE7QUFDYixDQUFDLEVBckJXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFxQjVCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAdXNlZEJ5IFBvSHR0cENsaWVudFNlcnZpY2UsIFBvSHR0cENvbW1hbmRSZXNwb25zZSwgUG9TeW5jU2VydmljZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIERlZmluZSBvIG3DqXRvZG8gZGUgcmVxdWlzacOnw6NvIEhUVFAuXG4gKi9cbmV4cG9ydCBlbnVtIFBvSHR0cFJlcXVlc3RUeXBlIHtcbiAgLyoqIE3DqXRvZG8gYGRlbGV0ZWAgZG8gcHJvdG9jb2xvIEhUVFAuICovXG4gIERFTEVURSA9ICdERUxFVEUnLFxuXG4gIC8qKiBNw6l0b2RvIGBnZXRgIGRvIHByb3RvY29sbyBIVFRQLiAqL1xuICBHRVQgPSAnR0VUJyxcblxuICAvKiogTcOpdG9kbyBgaGVhZGAgZG8gcHJvdG9jb2xvIEhUVFAuICovXG4gIEhFQUQgPSAnSEVBRCcsXG5cbiAgLyoqIE3DqXRvZG8gYG9wdGlvbnNgIGRvIHByb3RvY29sbyBIVFRQLiAqL1xuICBPUFRJT05TID0gJ09QVElPTlMnLFxuXG4gIC8qKiBNw6l0b2RvIGBwYXRjaGAgZG8gcHJvdG9jb2xvIEhUVFAuICovXG4gIFBBVENIID0gJ1BBVENIJyxcblxuICAvKiogTcOpdG9kbyBgcG9zdGAgZG8gcHJvdG9jb2xvIEhUVFAuICovXG4gIFBPU1QgPSAnUE9TVCcsXG5cbiAgLyoqIE3DqXRvZG8gYHB1dGAgZG8gcHJvdG9jb2xvIEhUVFAuICovXG4gIFBVVCA9ICdQVVQnXG59XG4iXX0=
@@ -1,59 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { Network } from '@capacitor/network';
4
- import { PoNetworkStatus } from './../../models';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * @description
8
- *
9
- * O `PoNetworkService` é utilizado para verificar o status e o tipo da conexão de rede do dispositivo.
10
- */
11
- export class PoNetworkService {
12
- networkType;
13
- networkTypeNow;
14
- poNetworkStatus;
15
- constructor() {
16
- this.initNetwork();
17
- }
18
- /**
19
- * Retorna as propriedades tipo e status da conexão do dispositivo no momento da chamada.
20
- *
21
- * @returns {PoNetworkStatus} Instância de [PoNetworkStatus](/documentation/po-network-status) com as
22
- * propriedades da conexão.
23
- */
24
- getConnectionStatus() {
25
- this.poNetworkStatus = new PoNetworkStatus(this.networkType);
26
- return this.poNetworkStatus;
27
- }
28
- /**
29
- * Notifica as mudanças no tipo de conexão de rede do dispositivo.
30
- *
31
- * @returns {Observable<{ status: boolean, type: string }>} Observable com as propriedades da conexão.
32
- */
33
- onChange() {
34
- return this.networkTypeNow.asObservable();
35
- }
36
- initNetwork() {
37
- this.networkTypeNow = new Subject();
38
- this.initSubscriber();
39
- }
40
- async getStatus() {
41
- return await Network.getStatus();
42
- }
43
- async initSubscriber() {
44
- const networkStatus = await this.getStatus();
45
- this.networkType = networkStatus.connected ? networkStatus.connectionType : 'none';
46
- this.networkTypeNow.next({ status: networkStatus.connected, type: this.networkType });
47
- /* istanbul ignore next */
48
- Network.addListener('networkStatusChange', status => {
49
- this.networkType = status.connected ? status.connectionType : 'none';
50
- this.networkTypeNow.next({ status: status.connected, type: this.networkType });
51
- });
52
- }
53
- static ɵfac = function PoNetworkService_Factory(t) { return new (t || PoNetworkService)(); };
54
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PoNetworkService, factory: PoNetworkService.ɵfac });
55
- }
56
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoNetworkService, [{
57
- type: Injectable
58
- }], () => [], null); })();
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3luYy9zcmMvbGliL3NlcnZpY2VzL3BvLW5ldHdvcmsvcG8tbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFnQyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFakQ7Ozs7R0FJRztBQUdILE1BQU0sT0FBTyxnQkFBZ0I7SUFDbkIsV0FBVyxDQUFTO0lBQ3BCLGNBQWMsQ0FBNkM7SUFDM0QsZUFBZSxDQUFrQjtJQUV6QztRQUNFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUztRQUNyQixPQUFPLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxLQUFLLENBQUMsY0FBYztRQUMxQixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNuRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUV0RiwwQkFBMEI7UUFDMUIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUNsRCxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNyRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7MEVBaERVLGdCQUFnQjtnRUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQjs7aUZBQWhCLGdCQUFnQjtjQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXBUbyB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmV0d29yayB9IGZyb20gJ0BjYXBhY2l0b3IvbmV0d29yayc7XG5cbmltcG9ydCB7IFBvTmV0d29ya1N0YXR1cyB9IGZyb20gJy4vLi4vLi4vbW9kZWxzJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBPIGBQb05ldHdvcmtTZXJ2aWNlYCDDqSB1dGlsaXphZG8gcGFyYSB2ZXJpZmljYXIgbyBzdGF0dXMgZSBvIHRpcG8gZGEgY29uZXjDo28gZGUgcmVkZSBkbyBkaXNwb3NpdGl2by5cbiAqL1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUG9OZXR3b3JrU2VydmljZSB7XG4gIHByaXZhdGUgbmV0d29ya1R5cGU6IHN0cmluZztcbiAgcHJpdmF0ZSBuZXR3b3JrVHlwZU5vdzogU3ViamVjdDx7IHN0YXR1czogYm9vbGVhbjsgdHlwZTogc3RyaW5nIH0+O1xuICBwcml2YXRlIHBvTmV0d29ya1N0YXR1czogUG9OZXR3b3JrU3RhdHVzO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaW5pdE5ldHdvcmsoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRvcm5hIGFzIHByb3ByaWVkYWRlcyB0aXBvIGUgc3RhdHVzIGRhIGNvbmV4w6NvIGRvIGRpc3Bvc2l0aXZvIG5vIG1vbWVudG8gZGEgY2hhbWFkYS5cbiAgICpcbiAgICogQHJldHVybnMge1BvTmV0d29ya1N0YXR1c30gSW5zdMOibmNpYSBkZSBbUG9OZXR3b3JrU3RhdHVzXSgvZG9jdW1lbnRhdGlvbi9wby1uZXR3b3JrLXN0YXR1cykgY29tIGFzXG4gICAqIHByb3ByaWVkYWRlcyBkYSBjb25leMOjby5cbiAgICovXG4gIGdldENvbm5lY3Rpb25TdGF0dXMoKTogUG9OZXR3b3JrU3RhdHVzIHtcbiAgICB0aGlzLnBvTmV0d29ya1N0YXR1cyA9IG5ldyBQb05ldHdvcmtTdGF0dXModGhpcy5uZXR3b3JrVHlwZSk7XG4gICAgcmV0dXJuIHRoaXMucG9OZXR3b3JrU3RhdHVzO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdGlmaWNhIGFzIG11ZGFuw6dhcyBubyB0aXBvIGRlIGNvbmV4w6NvIGRlIHJlZGUgZG8gZGlzcG9zaXRpdm8uXG4gICAqXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPHsgc3RhdHVzOiBib29sZWFuLCB0eXBlOiBzdHJpbmcgfT59IE9ic2VydmFibGUgY29tIGFzIHByb3ByaWVkYWRlcyBkYSBjb25leMOjby5cbiAgICovXG4gIG9uQ2hhbmdlKCk6IE9ic2VydmFibGU8eyBzdGF0dXM6IGJvb2xlYW47IHR5cGU6IHN0cmluZyB9PiB7XG4gICAgcmV0dXJuIHRoaXMubmV0d29ya1R5cGVOb3cuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXROZXR3b3JrKCkge1xuICAgIHRoaXMubmV0d29ya1R5cGVOb3cgPSBuZXcgU3ViamVjdCgpO1xuICAgIHRoaXMuaW5pdFN1YnNjcmliZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0U3RhdHVzKCkge1xuICAgIHJldHVybiBhd2FpdCBOZXR3b3JrLmdldFN0YXR1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBpbml0U3Vic2NyaWJlcigpIHtcbiAgICBjb25zdCBuZXR3b3JrU3RhdHVzID0gYXdhaXQgdGhpcy5nZXRTdGF0dXMoKTtcbiAgICB0aGlzLm5ldHdvcmtUeXBlID0gbmV0d29ya1N0YXR1cy5jb25uZWN0ZWQgPyBuZXR3b3JrU3RhdHVzLmNvbm5lY3Rpb25UeXBlIDogJ25vbmUnO1xuICAgIHRoaXMubmV0d29ya1R5cGVOb3cubmV4dCh7IHN0YXR1czogbmV0d29ya1N0YXR1cy5jb25uZWN0ZWQsIHR5cGU6IHRoaXMubmV0d29ya1R5cGUgfSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIE5ldHdvcmsuYWRkTGlzdGVuZXIoJ25ldHdvcmtTdGF0dXNDaGFuZ2UnLCBzdGF0dXMgPT4ge1xuICAgICAgdGhpcy5uZXR3b3JrVHlwZSA9IHN0YXR1cy5jb25uZWN0ZWQgPyBzdGF0dXMuY29ubmVjdGlvblR5cGUgOiAnbm9uZSc7XG4gICAgICB0aGlzLm5ldHdvcmtUeXBlTm93Lm5leHQoeyBzdGF0dXM6IHN0YXR1cy5jb25uZWN0ZWQsIHR5cGU6IHRoaXMubmV0d29ya1R5cGUgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './po-schema-definition/po-schema-definition.service';
2
- export * from './po-schema.service';
3
- export * from './po-schema-util/po-schema-util.model';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wby1zY2hlbWEtZGVmaW5pdGlvbi9wby1zY2hlbWEtZGVmaW5pdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcG8tc2NoZW1hLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wby1zY2hlbWEtdXRpbC9wby1zY2hlbWEtdXRpbC5tb2RlbCc7XG4iXX0=
@@ -1,78 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { PoSchemaUtil } from './../po-schema-util/po-schema-util.model';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@po-ui/ng-storage";
5
- /**
6
- * @docsPrivate
7
- *
8
- * @description
9
- *
10
- * Serviço que disponibiliza métodos que permite operar sobre as definições dos *schemas*.
11
- */
12
- export class PoSchemaDefinitionService {
13
- poStorage;
14
- constructor(poStorage) {
15
- this.poStorage = poStorage;
16
- }
17
- /**
18
- * Destrói a chave do *storage* que contém as definições dos *schemas*.
19
- *
20
- * > Para que não venham ocorrer erros em ações que dependam das definições dos *schemas*,
21
- * recomenda-se utilizar o método `prepare()` em seguida.
22
- *
23
- * @returns {Promise<void>} Promessa que é resolvida quando a chave referente as definições dos *schemas* for destruída.
24
- */
25
- destroy() {
26
- return this.poStorage.remove(PoSchemaUtil.syncSchemasName);
27
- }
28
- /**
29
- * Busca um *schema* a partir do nome informado.
30
- *
31
- * @param {string} schemaName Nome do *schema*.
32
- * @returns {Promise<PoSyncSchema>} Promessa que é resolvida quando o *schema* for retornado.
33
- */
34
- get(schemaName) {
35
- return this.poStorage.getItemByField(PoSchemaUtil.syncSchemasName, 'name', schemaName);
36
- }
37
- /**
38
- * Retorna uma promessa com a lista dos *schemas* definidos.
39
- *
40
- * @returns {Promise<Array<PoSyncSchema>>} Promessa que é resolvida quando a lista dos *schemas* definidos for retornada.
41
- */
42
- getAll() {
43
- return this.poStorage.get(PoSchemaUtil.syncSchemasName);
44
- }
45
- /**
46
- * Salva uma lista de *schemas*.
47
- *
48
- * @param {Array<PoSyncSchema>} schemas Lista de schemas que serão salvos.
49
- * @returns {Promise<Array<PoSyncSchema>>} Promessa que é resolvida quando a lista de *schemas* for salva.
50
- */
51
- saveAll(schemas) {
52
- return this.poStorage.set(PoSchemaUtil.syncSchemasName, schemas);
53
- }
54
- /**
55
- * Atualiza um *schema* a partir do *schema name*.
56
- *
57
- * @param {PoSyncSchema} updatedSchema **Schema* que será atualizado.
58
- */
59
- async update(updatedSchema) {
60
- let schemas = await this.getAll();
61
- const replaceUpdatedSchema = schema => {
62
- if (schema.name === updatedSchema.name) {
63
- return updatedSchema;
64
- }
65
- else {
66
- return schema;
67
- }
68
- };
69
- schemas = schemas.map(replaceUpdatedSchema);
70
- return this.saveAll(schemas);
71
- }
72
- static ɵfac = function PoSchemaDefinitionService_Factory(t) { return new (t || PoSchemaDefinitionService)(i0.ɵɵinject(i1.PoStorageService)); };
73
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PoSchemaDefinitionService, factory: PoSchemaDefinitionService.ɵfac });
74
- }
75
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoSchemaDefinitionService, [{
76
- type: Injectable
77
- }], () => [{ type: i1.PoStorageService }], null); })();
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2NoZW1hLWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5bmMvc3JjL2xpYi9zZXJ2aWNlcy9wby1zY2hlbWEvcG8tc2NoZW1hLWRlZmluaXRpb24vcG8tc2NoZW1hLWRlZmluaXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBR3hFOzs7Ozs7R0FNRztBQUVILE1BQU0sT0FBTyx5QkFBeUI7SUFDaEI7SUFBcEIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5EOzs7Ozs7O09BT0c7SUFDSCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFDLFVBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLE9BQTRCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBMkI7UUFDdEMsSUFBSSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFbEMsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsRUFBRTtZQUNwQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN2QyxPQUFPLGFBQWEsQ0FBQztZQUN2QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVGLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7bUZBOURVLHlCQUF5QjtnRUFBekIseUJBQXlCLFdBQXpCLHlCQUF5Qjs7aUZBQXpCLHlCQUF5QjtjQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb1N0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQHBvLXVpL25nLXN0b3JhZ2UnO1xuXG5pbXBvcnQgeyBQb1NjaGVtYVV0aWwgfSBmcm9tICcuLy4uL3BvLXNjaGVtYS11dGlsL3BvLXNjaGVtYS11dGlsLm1vZGVsJztcbmltcG9ydCB7IFBvU3luY1NjaGVtYSB9IGZyb20gJy4vLi4vLi4vcG8tc3luYy9pbnRlcmZhY2VzL3BvLXN5bmMtc2NoZW1hLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogU2VydmnDp28gcXVlIGRpc3BvbmliaWxpemEgbcOpdG9kb3MgcXVlIHBlcm1pdGUgb3BlcmFyIHNvYnJlIGFzIGRlZmluacOnw7VlcyBkb3MgKnNjaGVtYXMqLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUG9TY2hlbWFEZWZpbml0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9TdG9yYWdlOiBQb1N0b3JhZ2VTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBEZXN0csOzaSBhIGNoYXZlIGRvICpzdG9yYWdlKiBxdWUgY29udMOpbSBhcyBkZWZpbmnDp8O1ZXMgZG9zICpzY2hlbWFzKi5cbiAgICpcbiAgICogPiBQYXJhIHF1ZSBuw6NvIHZlbmhhbSBvY29ycmVyIGVycm9zIGVtIGHDp8O1ZXMgcXVlIGRlcGVuZGFtIGRhcyBkZWZpbmnDp8O1ZXMgZG9zICpzY2hlbWFzKixcbiAgICogcmVjb21lbmRhLXNlIHV0aWxpemFyIG8gbcOpdG9kbyBgcHJlcGFyZSgpYCBlbSBzZWd1aWRhLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gUHJvbWVzc2EgcXVlIMOpIHJlc29sdmlkYSBxdWFuZG8gYSBjaGF2ZSByZWZlcmVudGUgYXMgZGVmaW5pw6fDtWVzIGRvcyAqc2NoZW1hcyogZm9yIGRlc3RydcOtZGEuXG4gICAqL1xuICBkZXN0cm95KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnBvU3RvcmFnZS5yZW1vdmUoUG9TY2hlbWFVdGlsLnN5bmNTY2hlbWFzTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQnVzY2EgdW0gKnNjaGVtYSogYSBwYXJ0aXIgZG8gbm9tZSBpbmZvcm1hZG8uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFOYW1lIE5vbWUgZG8gKnNjaGVtYSouXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFBvU3luY1NjaGVtYT59IFByb21lc3NhIHF1ZSDDqSByZXNvbHZpZGEgcXVhbmRvIG8gKnNjaGVtYSogZm9yIHJldG9ybmFkby5cbiAgICovXG4gIGdldChzY2hlbWFOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFBvU3luY1NjaGVtYT4ge1xuICAgIHJldHVybiB0aGlzLnBvU3RvcmFnZS5nZXRJdGVtQnlGaWVsZChQb1NjaGVtYVV0aWwuc3luY1NjaGVtYXNOYW1lLCAnbmFtZScsIHNjaGVtYU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldG9ybmEgdW1hIHByb21lc3NhIGNvbSBhIGxpc3RhIGRvcyAqc2NoZW1hcyogZGVmaW5pZG9zLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxQb1N5bmNTY2hlbWE+Pn0gUHJvbWVzc2EgcXVlIMOpIHJlc29sdmlkYSBxdWFuZG8gYSBsaXN0YSBkb3MgKnNjaGVtYXMqIGRlZmluaWRvcyBmb3IgcmV0b3JuYWRhLlxuICAgKi9cbiAgZ2V0QWxsKCk6IFByb21pc2U8QXJyYXk8UG9TeW5jU2NoZW1hPj4ge1xuICAgIHJldHVybiB0aGlzLnBvU3RvcmFnZS5nZXQoUG9TY2hlbWFVdGlsLnN5bmNTY2hlbWFzTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogU2FsdmEgdW1hIGxpc3RhIGRlICpzY2hlbWFzKi5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxQb1N5bmNTY2hlbWE+fSBzY2hlbWFzIExpc3RhIGRlIHNjaGVtYXMgcXVlIHNlcsOjbyBzYWx2b3MuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PFBvU3luY1NjaGVtYT4+fSBQcm9tZXNzYSBxdWUgw6kgcmVzb2x2aWRhIHF1YW5kbyBhIGxpc3RhIGRlICpzY2hlbWFzKiBmb3Igc2FsdmEuXG4gICAqL1xuICBzYXZlQWxsKHNjaGVtYXM6IEFycmF5PFBvU3luY1NjaGVtYT4pOiBQcm9taXNlPEFycmF5PFBvU3luY1NjaGVtYT4+IHtcbiAgICByZXR1cm4gdGhpcy5wb1N0b3JhZ2Uuc2V0KFBvU2NoZW1hVXRpbC5zeW5jU2NoZW1hc05hbWUsIHNjaGVtYXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dWFsaXphIHVtICpzY2hlbWEqIGEgcGFydGlyIGRvICpzY2hlbWEgbmFtZSouXG4gICAqXG4gICAqIEBwYXJhbSB7UG9TeW5jU2NoZW1hfSB1cGRhdGVkU2NoZW1hICoqU2NoZW1hKiBxdWUgc2Vyw6EgYXR1YWxpemFkby5cbiAgICovXG4gIGFzeW5jIHVwZGF0ZSh1cGRhdGVkU2NoZW1hOiBQb1N5bmNTY2hlbWEpIHtcbiAgICBsZXQgc2NoZW1hcyA9IGF3YWl0IHRoaXMuZ2V0QWxsKCk7XG5cbiAgICBjb25zdCByZXBsYWNlVXBkYXRlZFNjaGVtYSA9IHNjaGVtYSA9PiB7XG4gICAgICBpZiAoc2NoZW1hLm5hbWUgPT09IHVwZGF0ZWRTY2hlbWEubmFtZSkge1xuICAgICAgICByZXR1cm4gdXBkYXRlZFNjaGVtYTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzY2hlbWE7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHNjaGVtYXMgPSBzY2hlbWFzLm1hcChyZXBsYWNlVXBkYXRlZFNjaGVtYSk7XG4gICAgcmV0dXJuIHRoaXMuc2F2ZUFsbChzY2hlbWFzKTtcbiAgfVxufVxuIl19
@@ -1,124 +0,0 @@
1
- /**
2
- * @docsPrivate
3
- *
4
- * @description
5
- *
6
- * Serviço utilitário para operações no PoSyncSchema.
7
- */
8
- export class PoSchemaUtil {
9
- /** Valor `default` para o campo `lastSync`. */
10
- static defaultLastSync = new Date(-8640000000000000).toISOString();
11
- /** Nome da chave do identificador interno do sync. */
12
- static syncInternalIdFieldName = 'SyncInternalId';
13
- /** Nome da chave no `storage` para os Schemas. */
14
- static syncSchemasName = 'SyncSchemas';
15
- /**
16
- * Verica se existem campos locais no *schema* informado.
17
- *
18
- * @param {PoSyncSchema} schema **Schema* a ser processado.
19
- *
20
- * @returns {boolean} Valor do tipo *boolean* que indica se existem campos locais no *schema* informado.
21
- */
22
- static containsLocalFields(schema) {
23
- if (schema.fields) {
24
- return !!schema.fields.find(field => typeof field === 'object' && field.local);
25
- }
26
- }
27
- /**
28
- * Retorna o valor atual do `lastSync` para determinado *schema*.
29
- *
30
- * @param {Array<PoSyncSchema>} storageSchemas Lista de *schemas* a serem pesquisados.
31
- * @param {string} schemaName Nome do *schema* que se deseja ler o lastSync.
32
- *
33
- * @returns {string} Retorna uma *string* com o valor da última sincronização.
34
- */
35
- static getLastSync(storageSchemas, schemaName) {
36
- if (storageSchemas) {
37
- const schemaFound = storageSchemas.find(schema => schema.name === schemaName);
38
- return schemaFound && schemaFound.lastSync ? schemaFound.lastSync : PoSchemaUtil.defaultLastSync;
39
- }
40
- return PoSchemaUtil.defaultLastSync;
41
- }
42
- /**
43
- * Retorna a lista de campos locais definidos no *schema*.
44
- *
45
- * @param {PoSyncSchema} schema **Schema* a ser processado.
46
- */
47
- static getLocalFieldNames(schema) {
48
- if (schema.fields) {
49
- return schema.fields.reduce((fieldsAccumulator, currentField) => {
50
- if (typeof currentField === 'object' && currentField.local) {
51
- fieldsAccumulator.push(currentField.name);
52
- }
53
- return fieldsAccumulator;
54
- }, []);
55
- }
56
- }
57
- /**
58
- * Retorna a lista de campos não locais definidos no *schema*.
59
- *
60
- * @param {PoSyncSchema} schema **Schema* a ser processado.
61
- */
62
- static getNonLocalFieldNames(schema) {
63
- if (schema.fields) {
64
- return schema.fields.reduce((fieldsAccumulator, currentField) => {
65
- if (typeof currentField === 'string' || !currentField.local) {
66
- fieldsAccumulator.push(typeof currentField === 'string' ? currentField : currentField.name);
67
- }
68
- return fieldsAccumulator;
69
- }, []);
70
- }
71
- }
72
- /**
73
- * Retorna o `id` referente ao registro do *schema* informado.
74
- *
75
- * @param {object} record Registro que será buscado o id.
76
- * @param {PoSyncSchema} schema **Schema* a ser processado.
77
- */
78
- static getRecordId(record, schema) {
79
- return record[schema.idField] || record[PoSchemaUtil.syncInternalIdFieldName];
80
- }
81
- /**
82
- * Retorna a url correspondente do `PoSyncSchema` dependendo do tipo da requisição `PoRequestType`.
83
- *
84
- * @param {PoSyncSchema} schema **Schema* a ser processado.
85
- * @param {PoRequestType} requestType Tipo da requisição.
86
- */
87
- static getUrl(schema, requestType) {
88
- return schema[`${requestType}UrlApi`];
89
- }
90
- /**
91
- * Compara se dois objetos são iguais baseado na lista de campos.
92
- *
93
- * @param {Array<string>} fields Lista de campos a serem considerados na comparação.
94
- * @param {any} model1 Objeto 1 a ser comparado.
95
- * @param {any} model2 Objeto 2 a ser comparado.
96
- */
97
- static isModelsEqual(fields, model1, model2) {
98
- if (fields) {
99
- return fields.every(field => JSON.stringify(model1[field]) === JSON.stringify(model2[field]));
100
- }
101
- }
102
- /**
103
- * Retorna uma lista com dois objetos referentes ao registro informado.
104
- * O primeiro é o registro com os campos que vão para o servidor e o segundo é com os campos locais.
105
- *
106
- * @param {PoSyncSchema} schema **Schema* do registro.
107
- * @param {object} record Registro que será realizada a separação dos campos locais e do servidor.
108
- */
109
- static separateSchemaFields(schema, record) {
110
- const localFields = PoSchemaUtil.getLocalFieldNames(schema);
111
- const localRecord = {};
112
- const serverRecord = {};
113
- Object.keys(record).forEach(field => {
114
- if (localFields.includes(field)) {
115
- localRecord[field] = record[field];
116
- }
117
- else {
118
- serverRecord[field] = record[field];
119
- }
120
- });
121
- return { serverRecord, localRecord };
122
- }
123
- }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2NoZW1hLXV0aWwubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tc2NoZW1hL3BvLXNjaGVtYS11dGlsL3BvLXNjaGVtYS11dGlsLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLCtDQUErQztJQUN4QyxNQUFNLENBQVUsZUFBZSxHQUFXLElBQUksSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUUzRixzREFBc0Q7SUFDL0MsTUFBTSxDQUFVLHVCQUF1QixHQUFXLGdCQUFnQixDQUFDO0lBRTFFLGtEQUFrRDtJQUMzQyxNQUFNLENBQVUsZUFBZSxHQUFXLGFBQWEsQ0FBQztJQUUvRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBb0I7UUFDcEQsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pGLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsY0FBbUMsRUFBRSxVQUFrQjtRQUMvRSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ25CLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1lBQzlFLE9BQU8sV0FBVyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFR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TUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvUmVxdWVzdFR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG8tcmVxdWVzdC10eXBlLmVudW0nO1xuaW1wb3J0IHsgUG9TeW5jRmllbGRPcHRpb25zIH0gZnJvbSAnLi4vLi4vcG8tc3luYy9pbnRlcmZhY2VzL3BvLXN5bmMtZmllbGQtb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9TeW5jU2NoZW1hIH0gZnJvbSAnLi4vLi4vcG8tc3luYy9pbnRlcmZhY2VzL3BvLXN5bmMtc2NoZW1hLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogU2VydmnDp28gdXRpbGl0w6FyaW8gcGFyYSBvcGVyYcOnw7VlcyBubyBQb1N5bmNTY2hlbWEuXG4gKi9cbmV4cG9ydCBjbGFzcyBQb1NjaGVtYVV0aWwge1xuICAvKiogVmFsb3IgYGRlZmF1bHRgIHBhcmEgbyBjYW1wbyBgbGFzdFN5bmNgLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXN0U3luYzogc3RyaW5nID0gbmV3IERhdGUoLTg2NDAwMDAwMDAwMDAwMDApLnRvSVNPU3RyaW5nKCk7XG5cbiAgLyoqIE5vbWUgZGEgY2hhdmUgZG8gaWRlbnRpZmljYWRvciBpbnRlcm5vIGRvIHN5bmMuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgc3luY0ludGVybmFsSWRGaWVsZE5hbWU6IHN0cmluZyA9ICdTeW5jSW50ZXJuYWxJZCc7XG5cbiAgLyoqIE5vbWUgZGEgY2hhdmUgbm8gYHN0b3JhZ2VgIHBhcmEgb3MgU2NoZW1hcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBzeW5jU2NoZW1hc05hbWU6IHN0cmluZyA9ICdTeW5jU2NoZW1hcyc7XG5cbiAgLyoqXG4gICAqIFZlcmljYSBzZSBleGlzdGVtIGNhbXBvcyBsb2NhaXMgbm8gKnNjaGVtYSogaW5mb3JtYWRvLlxuICAgKlxuICAgKiBAcGFyYW0ge1BvU3luY1NjaGVtYX0gc2NoZW1hICoqU2NoZW1hKiBhIHNlciBwcm9jZXNzYWRvLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVmFsb3IgZG8gdGlwbyAqYm9vbGVhbiogcXVlIGluZGljYSBzZSBleGlzdGVtIGNhbXBvcyBsb2NhaXMgbm8gKnNjaGVtYSogaW5mb3JtYWRvLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb250YWluc0xvY2FsRmllbGRzKHNjaGVtYTogUG9TeW5jU2NoZW1hKTogYm9vbGVhbiB7XG4gICAgaWYgKHNjaGVtYS5maWVsZHMpIHtcbiAgICAgIHJldHVybiAhIXNjaGVtYS5maWVsZHMuZmluZChmaWVsZCA9PiB0eXBlb2YgZmllbGQgPT09ICdvYmplY3QnICYmIGZpZWxkLmxvY2FsKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSBvIHZhbG9yIGF0dWFsIGRvIGBsYXN0U3luY2AgcGFyYSBkZXRlcm1pbmFkbyAqc2NoZW1hKi5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxQb1N5bmNTY2hlbWE+fSBzdG9yYWdlU2NoZW1hcyBMaXN0YSBkZSAqc2NoZW1hcyogYSBzZXJlbSBwZXNxdWlzYWRvcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNjaGVtYU5hbWUgTm9tZSBkbyAqc2NoZW1hKiBxdWUgc2UgZGVzZWphIGxlciBvIGxhc3RTeW5jLlxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXRvcm5hIHVtYSAqc3RyaW5nKiBjb20gbyB2YWxvciBkYSDDumx0aW1hIHNpbmNyb25pemHDp8Ojby5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TGFzdFN5bmMoc3RvcmFnZVNjaGVtYXM6IEFycmF5PFBvU3luY1NjaGVtYT4sIHNjaGVtYU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHN0b3JhZ2VTY2hlbWFzKSB7XG4gICAgICBjb25zdCBzY2hlbWFGb3VuZCA9IHN0b3JhZ2VTY2hlbWFzLmZpbmQoc2NoZW1hID0+IHNjaGVtYS5uYW1lID09PSBzY2hlbWFOYW1lKTtcbiAgICAgIHJldHVybiBzY2hlbWFGb3VuZCAmJiBzY2hlbWFGb3VuZC5sYXN0U3luYyA/IHNjaGVtYUZvdW5kLmxhc3RTeW5jIDogUG9TY2hlbWFVdGlsLmRlZmF1bHRMYXN0U3luYztcbiAgICB9XG4gICAgcmV0dXJuIFBvU2NoZW1hVXRpbC5kZWZhdWx0TGFzdFN5bmM7XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSBhIGxpc3RhIGRlIGNhbXBvcyBsb2NhaXMgZGVmaW5pZG9zIG5vICpzY2hlbWEqLlxuICAgKlxuICAgKiBAcGFyYW0ge1BvU3luY1NjaGVtYX0gc2NoZW1hICoqU2NoZW1hKiBhIHNlciBwcm9jZXNzYWRvLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRMb2NhbEZpZWxkTmFtZXMoc2NoZW1hOiBQb1N5bmNTY2hlbWEpOiBBcnJheTxzdHJpbmc+IHtcbiAgICBpZiAoc2NoZW1hLmZpZWxkcykge1xuICAgICAgcmV0dXJuIHNjaGVtYS5maWVsZHMucmVkdWNlKChmaWVsZHNBY2N1bXVsYXRvcjogQXJyYXk8c3RyaW5nPiwgY3VycmVudEZpZWxkOiBzdHJpbmcgfCBQb1N5bmNGaWVsZE9wdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RmllbGQgPT09ICdvYmplY3QnICYmIGN1cnJlbnRGaWVsZC5sb2NhbCkge1xuICAgICAgICAgIGZpZWxkc0FjY3VtdWxhdG9yLnB1c2goY3VycmVudEZpZWxkLm5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWVsZHNBY2N1bXVsYXRvcjtcbiAgICAgIH0sIFtdKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSBhIGxpc3RhIGRlIGNhbXBvcyBuw6NvIGxvY2FpcyBkZWZpbmlkb3Mgbm8gKnNjaGVtYSouXG4gICAqXG4gICAqIEBwYXJhbSB7UG9TeW5jU2NoZW1hfSBzY2hlbWEgKipTY2hlbWEqIGEgc2VyIHByb2Nlc3NhZG8uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldE5vbkxvY2FsRmllbGROYW1lcyhzY2hlbWE6IFBvU3luY1NjaGVtYSk6IEFycmF5PHN0cmluZz4ge1xuICAgIGlmIChzY2hlbWEuZmllbGRzKSB7XG4gICAgICByZXR1cm4gc2NoZW1hLmZpZWxkcy5yZWR1Y2UoKGZpZWxkc0FjY3VtdWxhdG9yOiBBcnJheTxzdHJpbmc+LCBjdXJyZW50RmllbGQ6IHN0cmluZyB8IFBvU3luY0ZpZWxkT3B0aW9ucykgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRGaWVsZCA9PT0gJ3N0cmluZycgfHwgIWN1cnJlbnRGaWVsZC5sb2NhbCkge1xuICAgICAgICAgIGZpZWxkc0FjY3VtdWxhdG9yLnB1c2godHlwZW9mIGN1cnJlbnRGaWVsZCA9PT0gJ3N0cmluZycgPyBjdXJyZW50RmllbGQgOiBjdXJyZW50RmllbGQubmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpZWxkc0FjY3VtdWxhdG9yO1xuICAgICAgfSwgW10pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRvcm5hIG8gYGlkYCByZWZlcmVudGUgYW8gcmVnaXN0cm8gZG8gKnNjaGVtYSogaW5mb3JtYWRvLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gcmVjb3JkIFJlZ2lzdHJvIHF1ZSBzZXLDoSBidXNjYWRvIG8gaWQuXG4gICAqIEBwYXJhbSB7UG9TeW5jU2NoZW1hfSBzY2hlbWEgKipTY2hlbWEqIGEgc2VyIHByb2Nlc3NhZG8uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldFJlY29yZElkKHJlY29yZDogb2JqZWN0LCBzY2hlbWE6IFBvU3luY1NjaGVtYSkge1xuICAgIHJldHVybiByZWNvcmRbc2NoZW1hLmlkRmllbGRdIHx8IHJlY29yZFtQb1NjaGVtYVV0aWwuc3luY0ludGVybmFsSWRGaWVsZE5hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldG9ybmEgYSB1cmwgY29ycmVzcG9uZGVudGUgZG8gYFBvU3luY1NjaGVtYWAgZGVwZW5kZW5kbyBkbyB0aXBvIGRhIHJlcXVpc2nDp8OjbyBgUG9SZXF1ZXN0VHlwZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9TeW5jU2NoZW1hfSBzY2hlbWEgKipTY2hlbWEqIGEgc2VyIHByb2Nlc3NhZG8uXG4gICAqIEBwYXJhbSB7UG9SZXF1ZXN0VHlwZX0gcmVxdWVzdFR5cGUgVGlwbyBkYSByZXF1aXNpw6fDo28uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldFVybChzY2hlbWE6IFBvU3luY1NjaGVtYSwgcmVxdWVzdFR5cGU6IFBvUmVxdWVzdFR5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBzY2hlbWFbYCR7cmVxdWVzdFR5cGV9VXJsQXBpYF07XG4gIH1cblxuICAvKipcbiAgICogQ29tcGFyYSBzZSBkb2lzIG9iamV0b3Mgc8OjbyBpZ3VhaXMgYmFzZWFkbyBuYSBsaXN0YSBkZSBjYW1wb3MuXG4gICAqXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gZmllbGRzIExpc3RhIGRlIGNhbXBvcyBhIHNlcmVtIGNvbnNpZGVyYWRvcyBuYSBjb21wYXJhw6fDo28uXG4gICAqIEBwYXJhbSB7YW55fSBtb2RlbDEgT2JqZXRvIDEgYSBzZXIgY29tcGFyYWRvLlxuICAgKiBAcGFyYW0ge2FueX0gbW9kZWwyIE9iamV0byAyIGEgc2VyIGNvbXBhcmFkby5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNNb2RlbHNFcXVhbChmaWVsZHM6IEFycmF5PHN0cmluZz4sIG1vZGVsMTogYW55LCBtb2RlbDI6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChmaWVsZHMpIHtcbiAgICAgIHJldHVybiBmaWVsZHMuZXZlcnkoZmllbGQgPT4gSlNPTi5zdHJpbmdpZnkobW9kZWwxW2ZpZWxkXSkgPT09IEpTT04uc3RyaW5naWZ5KG1vZGVsMltmaWVsZF0pKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSB1bWEgbGlzdGEgY29tIGRvaXMgb2JqZXRvcyByZWZlcmVudGVzIGFvIHJlZ2lzdHJvIGluZm9ybWFkby5cbiAgICogTyBwcmltZWlybyDDqSBvIHJlZ2lzdHJvIGNvbSBvcyBjYW1wb3MgcXVlIHbDo28gcGFyYSBvIHNlcnZpZG9yIGUgbyBzZWd1bmRvIMOpIGNvbSBvcyBjYW1wb3MgbG9jYWlzLlxuICAgKlxuICAgKiBAcGFyYW0ge1BvU3luY1NjaGVtYX0gc2NoZW1hICoqU2NoZW1hKiBkbyByZWdpc3Ryby5cbiAgICogQHBhcmFtIHtvYmplY3R9IHJlY29yZCBSZWdpc3RybyBxdWUgc2Vyw6EgcmVhbGl6YWRhIGEgc2VwYXJhw6fDo28gZG9zIGNhbXBvcyBsb2NhaXMgZSBkbyBzZXJ2aWRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2VwYXJhdGVTY2hlbWFGaWVsZHMoXG4gICAgc2NoZW1hOiBQb1N5bmNTY2hlbWEsXG4gICAgcmVjb3JkOiBvYmplY3RcbiAgKTogeyBzZXJ2ZXJSZWNvcmQ6IG9iamVjdDsgbG9jYWxSZWNvcmQ6IG9iamVjdCB9IHtcbiAgICBjb25zdCBsb2NhbEZpZWxkcyA9IFBvU2NoZW1hVXRpbC5nZXRMb2NhbEZpZWxkTmFtZXMoc2NoZW1hKTtcbiAgICBjb25zdCBsb2NhbFJlY29yZCA9IHt9O1xuICAgIGNvbnN0IHNlcnZlclJlY29yZCA9IHt9O1xuXG4gICAgT2JqZWN0LmtleXMocmVjb3JkKS5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgIGlmIChsb2NhbEZpZWxkcy5pbmNsdWRlcyhmaWVsZCkpIHtcbiAgICAgICAgbG9jYWxSZWNvcmRbZmllbGRdID0gcmVjb3JkW2ZpZWxkXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlcnZlclJlY29yZFtmaWVsZF0gPSByZWNvcmRbZmllbGRdO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHsgc2VydmVyUmVjb3JkLCBsb2NhbFJlY29yZCB9O1xuICB9XG59XG4iXX0=