@po-ui/ng-sync 5.22.3 → 6.2.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.
- package/README.md +22 -22
- package/{esm2015/lib/index.js → esm2020/lib/index.mjs} +15 -15
- package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +6 -6
- package/{esm2015/lib/models/po-data-message.model.js → esm2020/lib/models/po-data-message.model.mjs} +57 -57
- package/esm2020/lib/models/po-data-transform.model.mjs +22 -0
- package/esm2020/lib/models/po-entity/po-entity.model.mjs +214 -0
- package/{esm2015/lib/models/po-event-sourcing-error-response.model.js → esm2020/lib/models/po-event-sourcing-error-response.model.mjs} +17 -17
- package/{esm2015/lib/models/po-network-status.model.js → esm2020/lib/models/po-network-status.model.mjs} +44 -44
- package/{esm2015/lib/models/po-network-type.enum.js → esm2020/lib/models/po-network-type.enum.mjs} +30 -30
- package/esm2020/lib/models/po-query-builder/po-query-builder.model.mjs +238 -0
- package/{esm2015/lib/models/po-request-type.enum.js → esm2020/lib/models/po-request-type.enum.mjs} +16 -16
- package/esm2020/lib/po-sync.module.mjs +45 -0
- package/{esm2015/lib/services/po-event-sourcing/enums/po-event-sourcing-operation.enum.js → esm2020/lib/services/po-event-sourcing/enums/po-event-sourcing-operation.enum.mjs} +17 -17
- package/{esm2015/lib/services/po-event-sourcing/index.js → esm2020/lib/services/po-event-sourcing/index.mjs} +4 -4
- package/esm2020/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.mjs +2 -0
- package/esm2020/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.mjs +2 -0
- package/esm2020/lib/services/po-event-sourcing/po-event-sourcing.service.mjs +372 -0
- package/{esm2015/lib/services/po-http-client/interfaces/po-http-header-option.interface.js → esm2020/lib/services/po-http-client/interfaces/po-http-header-option.interface.mjs} +11 -11
- package/esm2020/lib/services/po-http-client/interfaces/po-http-request-data.interface.mjs +2 -0
- package/esm2020/lib/services/po-http-client/interfaces/po-response-api.interface.mjs +2 -0
- package/esm2020/lib/services/po-http-client/po-http-client.service.mjs +148 -0
- package/{esm2015/lib/services/po-http-client/po-http-request-type.enum.js → esm2020/lib/services/po-http-client/po-http-request-type.enum.mjs} +25 -25
- package/esm2020/lib/services/po-network/po-network.service.mjs +58 -0
- package/{esm2015/lib/services/po-schema/index.js → esm2020/lib/services/po-schema/index.mjs} +4 -4
- package/esm2020/lib/services/po-schema/po-schema-definition/po-schema-definition.service.mjs +77 -0
- package/{esm2015/lib/services/po-schema/po-schema-util/po-schema-util.model.js → esm2020/lib/services/po-schema/po-schema-util/po-schema-util.model.mjs} +124 -124
- package/esm2020/lib/services/po-schema/po-schema.service.mjs +174 -0
- package/esm2020/lib/services/po-sync/interfaces/po-sync-config.interface.mjs +2 -0
- package/esm2020/lib/services/po-sync/interfaces/po-sync-field-options.interface.mjs +2 -0
- package/esm2020/lib/services/po-sync/interfaces/po-sync-response.interface.mjs +2 -0
- package/esm2020/lib/services/po-sync/interfaces/po-sync-schema.interface.mjs +2 -0
- package/esm2020/lib/services/po-sync/po-sync.service.mjs +325 -0
- package/{esm2015/lib/utils/utils.js → esm2020/lib/utils/utils.mjs} +63 -63
- package/esm2020/po-ui-ng-sync.mjs +5 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +2 -2
- package/fesm2015/{po-ui-ng-sync.js → po-ui-ng-sync.mjs} +2074 -2058
- package/fesm2015/po-ui-ng-sync.mjs.map +1 -0
- package/fesm2020/po-ui-ng-sync.mjs +2018 -0
- package/fesm2020/po-ui-ng-sync.mjs.map +1 -0
- package/lib/index.d.ts +14 -14
- package/lib/models/index.d.ts +5 -5
- package/lib/models/po-data-message.model.d.ts +46 -46
- package/lib/models/po-data-transform.model.d.ts +52 -52
- package/lib/models/po-entity/po-entity.model.d.ts +122 -122
- package/lib/models/po-event-sourcing-error-response.model.d.ts +20 -20
- package/lib/models/po-network-status.model.d.ts +25 -25
- package/lib/models/po-network-type.enum.d.ts +28 -28
- package/lib/models/po-query-builder/po-query-builder.model.d.ts +126 -126
- package/lib/models/po-request-type.enum.d.ts +14 -14
- package/lib/po-sync.module.d.ts +12 -7
- package/lib/services/po-event-sourcing/enums/po-event-sourcing-operation.enum.d.ts +11 -11
- package/lib/services/po-event-sourcing/index.d.ts +3 -3
- package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.d.ts +26 -26
- package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.d.ts +16 -16
- package/lib/services/po-event-sourcing/po-event-sourcing.service.d.ts +74 -71
- package/lib/services/po-http-client/interfaces/po-http-header-option.interface.d.ts +15 -15
- package/lib/services/po-http-client/interfaces/po-http-request-data.interface.d.ts +24 -24
- package/lib/services/po-http-client/interfaces/po-response-api.interface.d.ts +14 -14
- package/lib/services/po-http-client/po-http-client.service.d.ts +78 -75
- package/lib/services/po-http-client/po-http-request-type.enum.d.ts +23 -23
- package/lib/services/po-network/po-network.service.d.ts +36 -33
- package/lib/services/po-schema/index.d.ts +3 -3
- package/lib/services/po-schema/po-schema-definition/po-schema-definition.service.d.ts +51 -48
- package/lib/services/po-schema/po-schema-util/po-schema-util.model.d.ts +79 -79
- package/lib/services/po-schema/po-schema.service.d.ts +98 -95
- package/lib/services/po-sync/interfaces/po-sync-config.interface.d.ts +24 -24
- package/lib/services/po-sync/interfaces/po-sync-field-options.interface.d.ts +15 -15
- package/lib/services/po-sync/interfaces/po-sync-response.interface.d.ts +20 -20
- package/lib/services/po-sync/interfaces/po-sync-schema.interface.d.ts +37 -37
- package/lib/services/po-sync/po-sync.service.d.ts +162 -159
- package/lib/utils/utils.d.ts +36 -36
- package/package.json +30 -15
- package/po-ui-ng-sync-6.2.0.tgz +0 -0
- package/po-ui-ng-sync.d.ts +5 -8
- package/public-api.d.ts +1 -1
- package/schematics/README.md +169 -169
- package/schematics/collection.json +15 -15
- package/schematics/migrations.json +30 -25
- package/schematics/ng-add/index.d.ts +7 -7
- package/schematics/ng-add/index.js +33 -33
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/index.spec.d.ts +1 -1
- package/schematics/ng-add/index.spec.js +62 -62
- package/schematics/ng-add/index.spec.js.map +1 -1
- package/schematics/ng-add/schema.json +7 -7
- package/schematics/ng-generate/schema/files/__path__/__name@dasherize__/__name@dasherize__.constants.ts.template +13 -13
- package/schematics/ng-generate/schema/index.d.ts +4 -4
- package/schematics/ng-generate/schema/index.js +12 -12
- package/schematics/ng-generate/schema/index.js.map +1 -1
- package/schematics/ng-generate/schema/index.spec.d.ts +1 -1
- package/schematics/ng-generate/schema/index.spec.js +44 -44
- package/schematics/ng-generate/schema/index.spec.js.map +1 -1
- package/schematics/ng-generate/schema/schema.d.ts +3 -3
- package/schematics/ng-generate/schema/schema.js +2 -2
- package/schematics/ng-generate/schema/schema.json +31 -31
- package/schematics/ng-update/v2/changes.d.ts +8 -8
- package/schematics/ng-update/v2/changes.js +20 -20
- package/schematics/ng-update/v2/index.d.ts +5 -5
- package/schematics/ng-update/v2/index.js +101 -101
- package/schematics/ng-update/v2/index.js.map +1 -1
- package/schematics/ng-update/v3/changes.d.ts +2 -2
- package/schematics/ng-update/v3/changes.js +14 -14
- package/schematics/ng-update/v3/index.d.ts +1 -1
- package/schematics/ng-update/v3/index.js +16 -16
- package/schematics/ng-update/v3/index.js.map +1 -1
- package/schematics/ng-update/v4/changes.d.ts +2 -2
- package/schematics/ng-update/v4/changes.js +14 -14
- package/schematics/ng-update/v4/index.d.ts +1 -1
- package/schematics/ng-update/v4/index.js +15 -15
- package/schematics/ng-update/v4/index.js.map +1 -1
- package/schematics/ng-update/v5/changes.d.ts +2 -2
- package/schematics/ng-update/v5/changes.js +13 -13
- package/schematics/ng-update/v5/index.d.ts +1 -1
- package/schematics/ng-update/v5/index.js +15 -15
- package/schematics/ng-update/v5/index.js.map +1 -1
- package/schematics/ng-update/v6/changes.d.ts +2 -0
- package/schematics/ng-update/v6/changes.js +14 -0
- package/schematics/ng-update/v6/changes.js.map +1 -0
- package/schematics/ng-update/v6/index.d.ts +1 -0
- package/schematics/ng-update/v6/index.js +16 -0
- package/schematics/ng-update/v6/index.js.map +1 -0
- package/bundles/po-ui-ng-sync.umd.js +0 -3002
- package/bundles/po-ui-ng-sync.umd.js.map +0 -1
- package/esm2015/lib/models/po-data-transform.model.js +0 -22
- package/esm2015/lib/models/po-entity/po-entity.model.js +0 -229
- package/esm2015/lib/models/po-query-builder/po-query-builder.model.js +0 -241
- package/esm2015/lib/po-sync.module.js +0 -31
- package/esm2015/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.js +0 -2
- package/esm2015/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.js +0 -2
- package/esm2015/lib/services/po-event-sourcing/po-event-sourcing.service.js +0 -411
- package/esm2015/lib/services/po-http-client/interfaces/po-http-request-data.interface.js +0 -2
- package/esm2015/lib/services/po-http-client/interfaces/po-response-api.interface.js +0 -2
- package/esm2015/lib/services/po-http-client/po-http-client.service.js +0 -147
- package/esm2015/lib/services/po-network/po-network.service.js +0 -58
- package/esm2015/lib/services/po-schema/po-schema-definition/po-schema-definition.service.js +0 -80
- package/esm2015/lib/services/po-schema/po-schema.service.js +0 -198
- package/esm2015/lib/services/po-sync/interfaces/po-sync-config.interface.js +0 -2
- package/esm2015/lib/services/po-sync/interfaces/po-sync-field-options.interface.js +0 -2
- package/esm2015/lib/services/po-sync/interfaces/po-sync-response.interface.js +0 -2
- package/esm2015/lib/services/po-sync/interfaces/po-sync-schema.interface.js +0 -2
- package/esm2015/lib/services/po-sync/po-sync.service.js +0 -336
- package/esm2015/po-ui-ng-sync.js +0 -9
- package/fesm2015/po-ui-ng-sync.js.map +0 -1
- package/po-ui-ng-sync-5.22.3.tgz +0 -0
- package/po-ui-ng-sync.metadata.json +0 -1
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { PoHttpRequestType } from './po-http-request-type.enum';
|
|
4
|
-
/**
|
|
5
|
-
* @docsPrivate
|
|
6
|
-
*
|
|
7
|
-
* @description
|
|
8
|
-
*
|
|
9
|
-
* Serviço para execução de requisições HTTP.
|
|
10
|
-
*/
|
|
11
|
-
export class PoHttpClientService {
|
|
12
|
-
constructor(httpClient) {
|
|
13
|
-
this.httpClient = httpClient;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Constrói uma requisição HTTP personalizada.
|
|
17
|
-
*
|
|
18
|
-
* @param {PoHttpRequestData} poHttpOperationData Parâmetros para a construção
|
|
19
|
-
* da requisição.
|
|
20
|
-
*/
|
|
21
|
-
createRequest(poHttpOperationData) {
|
|
22
|
-
const httpHeaders = this.createHttpHeaders(poHttpOperationData.headers);
|
|
23
|
-
return this.httpClient.request(poHttpOperationData.method, poHttpOperationData.url, {
|
|
24
|
-
observe: 'response',
|
|
25
|
-
headers: httpHeaders,
|
|
26
|
-
body: poHttpOperationData.body
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Constrói uma requisição com o método `delete`.
|
|
31
|
-
*
|
|
32
|
-
* @param {string} url URL da requisição.
|
|
33
|
-
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
34
|
-
*/
|
|
35
|
-
delete(url, httpHeaders) {
|
|
36
|
-
const requestData = {
|
|
37
|
-
url: url,
|
|
38
|
-
method: PoHttpRequestType.DELETE,
|
|
39
|
-
headers: httpHeaders
|
|
40
|
-
};
|
|
41
|
-
return this.createRequest(requestData);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Constrói uma requisição com o método `get`.
|
|
45
|
-
*
|
|
46
|
-
* @param {string} url URL da requisição.
|
|
47
|
-
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
48
|
-
*/
|
|
49
|
-
get(url, httpHeaders) {
|
|
50
|
-
const requestData = {
|
|
51
|
-
url: url,
|
|
52
|
-
method: PoHttpRequestType.GET,
|
|
53
|
-
headers: httpHeaders
|
|
54
|
-
};
|
|
55
|
-
return this.createRequest(requestData);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Constrói uma requisição com o método `head`.
|
|
59
|
-
*
|
|
60
|
-
* @param {string} url URL da requisição.
|
|
61
|
-
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
62
|
-
*/
|
|
63
|
-
head(url, httpHeaders) {
|
|
64
|
-
const requestData = {
|
|
65
|
-
url: url,
|
|
66
|
-
method: PoHttpRequestType.HEAD,
|
|
67
|
-
headers: httpHeaders
|
|
68
|
-
};
|
|
69
|
-
return this.createRequest(requestData);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Constrói uma requisição com o método `options`.
|
|
73
|
-
*
|
|
74
|
-
* @param {string} url URL da requisição.
|
|
75
|
-
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
76
|
-
*/
|
|
77
|
-
options(url, httpHeaders) {
|
|
78
|
-
const requestData = {
|
|
79
|
-
url: url,
|
|
80
|
-
method: PoHttpRequestType.OPTIONS,
|
|
81
|
-
headers: httpHeaders
|
|
82
|
-
};
|
|
83
|
-
return this.createRequest(requestData);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Constrói uma requisição com o método `patch`.
|
|
87
|
-
*
|
|
88
|
-
* @param {string} url URL da requisição.
|
|
89
|
-
* @param {any} body Corpo da requisição.
|
|
90
|
-
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
91
|
-
*/
|
|
92
|
-
patch(url, body, httpHeaders) {
|
|
93
|
-
const requestData = {
|
|
94
|
-
url: url,
|
|
95
|
-
method: PoHttpRequestType.PATCH,
|
|
96
|
-
headers: httpHeaders,
|
|
97
|
-
body: body
|
|
98
|
-
};
|
|
99
|
-
return this.createRequest(requestData);
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Constrói uma requisição com o método `post`.
|
|
103
|
-
*
|
|
104
|
-
* @param {string} url URL da requisição.
|
|
105
|
-
* @param {any} body Corpo da requisição.
|
|
106
|
-
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
107
|
-
*/
|
|
108
|
-
post(url, body, httpHeaders) {
|
|
109
|
-
const requestData = {
|
|
110
|
-
url: url,
|
|
111
|
-
method: PoHttpRequestType.POST,
|
|
112
|
-
headers: httpHeaders,
|
|
113
|
-
body: body
|
|
114
|
-
};
|
|
115
|
-
return this.createRequest(requestData);
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Constrói uma requisição com o método `put`.
|
|
119
|
-
*
|
|
120
|
-
* @param {string} url URL da requisição.
|
|
121
|
-
* @param {any} body Corpo da requisição.
|
|
122
|
-
* @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
|
|
123
|
-
*/
|
|
124
|
-
put(url, body, httpHeaders) {
|
|
125
|
-
const requestData = {
|
|
126
|
-
url: url,
|
|
127
|
-
method: PoHttpRequestType.PUT,
|
|
128
|
-
headers: httpHeaders,
|
|
129
|
-
body: body
|
|
130
|
-
};
|
|
131
|
-
return this.createRequest(requestData);
|
|
132
|
-
}
|
|
133
|
-
createHttpHeaders(poHttpOperationHeaders) {
|
|
134
|
-
let httpHeaders = new HttpHeaders();
|
|
135
|
-
if (poHttpOperationHeaders && poHttpOperationHeaders.length > 0) {
|
|
136
|
-
poHttpOperationHeaders.forEach(poHttpHeader => (httpHeaders = httpHeaders.append(poHttpHeader.name, poHttpHeader.value)));
|
|
137
|
-
}
|
|
138
|
-
return httpHeaders;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
PoHttpClientService.decorators = [
|
|
142
|
-
{ type: Injectable }
|
|
143
|
-
];
|
|
144
|
-
PoHttpClientService.ctorParameters = () => [
|
|
145
|
-
{ type: HttpClient }
|
|
146
|
-
];
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8taHR0cC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5bmMvc3JjL2xpYi9zZXJ2aWNlcy9wby1odHRwLWNsaWVudC9wby1odHRwLWNsaWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEU7Ozs7OztHQU1HO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUU5Qzs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxtQkFBc0M7UUFDbEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXhFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLEdBQUcsRUFBRTtZQUNsRixPQUFPLEVBQUUsVUFBVTtZQUNuQixPQUFPLEVBQUUsV0FBVztZQUNwQixJQUFJLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBVyxFQUFFLFdBQXVDO1FBQ3pELE1BQU0sV0FBVyxHQUFzQjtZQUNyQyxHQUFHLEVBQUUsR0FBRztZQUNSLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO1lBQ2hDLE9BQU8sRUFBRSxXQUFXO1NBQ3JCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFDLEdBQVcsRUFBRSxXQUF1QztRQUN0RCxNQUFNLFdBQVcsR0FBc0I7WUFDckMsR0FBRyxFQUFFLEdBQUc7WUFDUixNQUFNLEVBQUUsaUJBQWlCLENBQUMsR0FBRztZQUM3QixPQUFPLEVBQUUsV0FBVztTQUNyQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksQ0FBQyxHQUFXLEVBQUUsV0FBdUM7UUFDdkQsTUFBTSxXQUFXLEdBQXNCO1lBQ3JDLEdBQUcsRUFBRSxHQUFHO1lBQ1IsTUFBTSxFQUFFLGlCQUFpQixDQUFDLElBQUk7WUFDOUIsT0FBTyxFQUFFLFdBQVc7U0FDckIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsR0FBVyxFQUFFLFdBQXVDO1FBQzFELE1BQU0sV0FBVyxHQUFzQjtZQUNyQyxHQUFHLEVBQUUsR0FBRztZQUNSLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxPQUFPO1lBQ2pDLE9BQU8sRUFBRSxXQUFXO1NBQ3JCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxHQUFXLEVBQUUsSUFBVSxFQUFFLFdBQXVDO1FBQ3BFLE1BQU0sV0FBVyxHQUFzQjtZQUNyQyxHQUFHLEVBQUUsR0FBRztZQUNSLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO1lBQy9CLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUFVLEVBQUUsV0FBdUM7UUFDbkUsTUFBTSxXQUFXLEdBQXNCO1lBQ3JDLEdBQUcsRUFBRSxHQUFHO1lBQ1IsTUFBTSxFQUFFLGlCQUFpQixDQUFDLElBQUk7WUFDOUIsT0FBTyxFQUFFLFdBQVc7WUFDcEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxHQUFHLENBQUMsR0FBVyxFQUFFLElBQVUsRUFBRSxXQUF1QztRQUNsRSxNQUFNLFdBQVcsR0FBc0I7WUFDckMsR0FBRyxFQUFFLEdBQUc7WUFDUixNQUFNLEVBQUUsaUJBQWlCLENBQUMsR0FBRztZQUM3QixPQUFPLEVBQUUsV0FBVztZQUNwQixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLGlCQUFpQixDQUFDLHNCQUFzQjtRQUM5QyxJQUFJLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRXBDLElBQUksc0JBQXNCLElBQUksc0JBQXNCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvRCxzQkFBc0IsQ0FBQyxPQUFPLENBQzVCLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMxRixDQUFDO1NBQ0g7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzs7WUE5SUYsVUFBVTs7O1lBaEJGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBQb0h0dHBIZWFkZXJPcHRpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8taHR0cC1oZWFkZXItb3B0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvSHR0cFJlcXVlc3REYXRhIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWh0dHAtcmVxdWVzdC1kYXRhLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvSHR0cFJlcXVlc3RUeXBlIH0gZnJvbSAnLi9wby1odHRwLXJlcXVlc3QtdHlwZS5lbnVtJztcclxuXHJcbi8qKlxyXG4gKiBAZG9jc1ByaXZhdGVcclxuICpcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqXHJcbiAqIFNlcnZpw6dvIHBhcmEgZXhlY3XDp8OjbyBkZSByZXF1aXNpw6fDtWVzIEhUVFAuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQb0h0dHBDbGllbnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0csOzaSB1bWEgcmVxdWlzacOnw6NvIEhUVFAgcGVyc29uYWxpemFkYS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UG9IdHRwUmVxdWVzdERhdGF9IHBvSHR0cE9wZXJhdGlvbkRhdGEgUGFyw6JtZXRyb3MgcGFyYSBhIGNvbnN0cnXDp8Ojb1xyXG4gICAqIGRhIHJlcXVpc2nDp8Ojby5cclxuICAgKi9cclxuICBjcmVhdGVSZXF1ZXN0KHBvSHR0cE9wZXJhdGlvbkRhdGE6IFBvSHR0cFJlcXVlc3REYXRhKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8T2JqZWN0Pj4ge1xyXG4gICAgY29uc3QgaHR0cEhlYWRlcnMgPSB0aGlzLmNyZWF0ZUh0dHBIZWFkZXJzKHBvSHR0cE9wZXJhdGlvbkRhdGEuaGVhZGVycyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHBvSHR0cE9wZXJhdGlvbkRhdGEubWV0aG9kLCBwb0h0dHBPcGVyYXRpb25EYXRhLnVybCwge1xyXG4gICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxyXG4gICAgICBoZWFkZXJzOiBodHRwSGVhZGVycyxcclxuICAgICAgYm9keTogcG9IdHRwT3BlcmF0aW9uRGF0YS5ib2R5XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0csOzaSB1bWEgcmVxdWlzacOnw6NvIGNvbSBvIG3DqXRvZG8gYGRlbGV0ZWAuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFVSTCBkYSByZXF1aXNpw6fDo28uXHJcbiAgICogQHBhcmFtIHtBcnJheTxQb0hlYWRlck9wdGlvbj59IGh0dHBIZWFkZXJzIENhYmXDp2FsaG9zIGRhIHJlcXVpc2nDp8Ojby5cclxuICAgKi9cclxuICBkZWxldGUodXJsOiBzdHJpbmcsIGh0dHBIZWFkZXJzPzogQXJyYXk8UG9IdHRwSGVhZGVyT3B0aW9uPikge1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGE6IFBvSHR0cFJlcXVlc3REYXRhID0ge1xyXG4gICAgICB1cmw6IHVybCxcclxuICAgICAgbWV0aG9kOiBQb0h0dHBSZXF1ZXN0VHlwZS5ERUxFVEUsXHJcbiAgICAgIGhlYWRlcnM6IGh0dHBIZWFkZXJzXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVxdWVzdChyZXF1ZXN0RGF0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25zdHLDs2kgdW1hIHJlcXVpc2nDp8OjbyBjb20gbyBtw6l0b2RvIGBnZXRgLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCBVUkwgZGEgcmVxdWlzacOnw6NvLlxyXG4gICAqIEBwYXJhbSB7QXJyYXk8UG9IZWFkZXJPcHRpb24+fSBodHRwSGVhZGVycyBDYWJlw6dhbGhvcyBkYSByZXF1aXNpw6fDo28uXHJcbiAgICovXHJcbiAgZ2V0KHVybDogc3RyaW5nLCBodHRwSGVhZGVycz86IEFycmF5PFBvSHR0cEhlYWRlck9wdGlvbj4pIHtcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhOiBQb0h0dHBSZXF1ZXN0RGF0YSA9IHtcclxuICAgICAgdXJsOiB1cmwsXHJcbiAgICAgIG1ldGhvZDogUG9IdHRwUmVxdWVzdFR5cGUuR0VULFxyXG4gICAgICBoZWFkZXJzOiBodHRwSGVhZGVyc1xyXG4gICAgfTtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlcXVlc3QocmVxdWVzdERhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3Ryw7NpIHVtYSByZXF1aXNpw6fDo28gY29tIG8gbcOpdG9kbyBgaGVhZGAuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFVSTCBkYSByZXF1aXNpw6fDo28uXHJcbiAgICogQHBhcmFtIHtBcnJheTxQb0hlYWRlck9wdGlvbj59IGh0dHBIZWFkZXJzIENhYmXDp2FsaG9zIGRhIHJlcXVpc2nDp8Ojby5cclxuICAgKi9cclxuICBoZWFkKHVybDogc3RyaW5nLCBodHRwSGVhZGVycz86IEFycmF5PFBvSHR0cEhlYWRlck9wdGlvbj4pIHtcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhOiBQb0h0dHBSZXF1ZXN0RGF0YSA9IHtcclxuICAgICAgdXJsOiB1cmwsXHJcbiAgICAgIG1ldGhvZDogUG9IdHRwUmVxdWVzdFR5cGUuSEVBRCxcclxuICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnNcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXF1ZXN0KHJlcXVlc3REYXRhKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0csOzaSB1bWEgcmVxdWlzacOnw6NvIGNvbSBvIG3DqXRvZG8gYG9wdGlvbnNgLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCBVUkwgZGEgcmVxdWlzacOnw6NvLlxyXG4gICAqIEBwYXJhbSB7QXJyYXk8UG9IZWFkZXJPcHRpb24+fSBodHRwSGVhZGVycyBDYWJlw6dhbGhvcyBkYSByZXF1aXNpw6fDo28uXHJcbiAgICovXHJcbiAgb3B0aW9ucyh1cmw6IHN0cmluZywgaHR0cEhlYWRlcnM/OiBBcnJheTxQb0h0dHBIZWFkZXJPcHRpb24+KSB7XHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YTogUG9IdHRwUmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIHVybDogdXJsLFxyXG4gICAgICBtZXRob2Q6IFBvSHR0cFJlcXVlc3RUeXBlLk9QVElPTlMsXHJcbiAgICAgIGhlYWRlcnM6IGh0dHBIZWFkZXJzXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVxdWVzdChyZXF1ZXN0RGF0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25zdHLDs2kgdW1hIHJlcXVpc2nDp8OjbyBjb20gbyBtw6l0b2RvIGBwYXRjaGAuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIFVSTCBkYSByZXF1aXNpw6fDo28uXHJcbiAgICogQHBhcmFtIHthbnl9IGJvZHkgQ29ycG8gZGEgcmVxdWlzacOnw6NvLlxyXG4gICAqIEBwYXJhbSB7QXJyYXk8UG9IZWFkZXJPcHRpb24+fSBodHRwSGVhZGVycyBDYWJlw6dhbGhvcyBkYSByZXF1aXNpw6fDo28uXHJcbiAgICovXHJcbiAgcGF0Y2godXJsOiBzdHJpbmcsIGJvZHk/OiBhbnksIGh0dHBIZWFkZXJzPzogQXJyYXk8UG9IdHRwSGVhZGVyT3B0aW9uPikge1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGE6IFBvSHR0cFJlcXVlc3REYXRhID0ge1xyXG4gICAgICB1cmw6IHVybCxcclxuICAgICAgbWV0aG9kOiBQb0h0dHBSZXF1ZXN0VHlwZS5QQVRDSCxcclxuICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnMsXHJcbiAgICAgIGJvZHk6IGJvZHlcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXF1ZXN0KHJlcXVlc3REYXRhKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0csOzaSB1bWEgcmVxdWlzacOnw6NvIGNvbSBvIG3DqXRvZG8gYHBvc3RgLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCBVUkwgZGEgcmVxdWlzacOnw6NvLlxyXG4gICAqIEBwYXJhbSB7YW55fSBib2R5IENvcnBvIGRhIHJlcXVpc2nDp8Ojby5cclxuICAgKiBAcGFyYW0ge0FycmF5PFBvSGVhZGVyT3B0aW9uPn0gaHR0cEhlYWRlcnMgQ2FiZcOnYWxob3MgZGEgcmVxdWlzacOnw6NvLlxyXG4gICAqL1xyXG4gIHBvc3QodXJsOiBzdHJpbmcsIGJvZHk/OiBhbnksIGh0dHBIZWFkZXJzPzogQXJyYXk8UG9IdHRwSGVhZGVyT3B0aW9uPikge1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGE6IFBvSHR0cFJlcXVlc3REYXRhID0ge1xyXG4gICAgICB1cmw6IHVybCxcclxuICAgICAgbWV0aG9kOiBQb0h0dHBSZXF1ZXN0VHlwZS5QT1NULFxyXG4gICAgICBoZWFkZXJzOiBodHRwSGVhZGVycyxcclxuICAgICAgYm9keTogYm9keVxyXG4gICAgfTtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlcXVlc3QocmVxdWVzdERhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3Ryw7NpIHVtYSByZXF1aXNpw6fDo28gY29tIG8gbcOpdG9kbyBgcHV0YC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgVVJMIGRhIHJlcXVpc2nDp8Ojby5cclxuICAgKiBAcGFyYW0ge2FueX0gYm9keSBDb3JwbyBkYSByZXF1aXNpw6fDo28uXHJcbiAgICogQHBhcmFtIHtBcnJheTxQb0hlYWRlck9wdGlvbj59IGh0dHBIZWFkZXJzIENhYmXDp2FsaG9zIGRhIHJlcXVpc2nDp8Ojby5cclxuICAgKi9cclxuICBwdXQodXJsOiBzdHJpbmcsIGJvZHk/OiBhbnksIGh0dHBIZWFkZXJzPzogQXJyYXk8UG9IdHRwSGVhZGVyT3B0aW9uPikge1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGE6IFBvSHR0cFJlcXVlc3REYXRhID0ge1xyXG4gICAgICB1cmw6IHVybCxcclxuICAgICAgbWV0aG9kOiBQb0h0dHBSZXF1ZXN0VHlwZS5QVVQsXHJcbiAgICAgIGhlYWRlcnM6IGh0dHBIZWFkZXJzLFxyXG4gICAgICBib2R5OiBib2R5XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlcXVlc3QocmVxdWVzdERhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVIdHRwSGVhZGVycyhwb0h0dHBPcGVyYXRpb25IZWFkZXJzKSB7XHJcbiAgICBsZXQgaHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuXHJcbiAgICBpZiAocG9IdHRwT3BlcmF0aW9uSGVhZGVycyAmJiBwb0h0dHBPcGVyYXRpb25IZWFkZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcG9IdHRwT3BlcmF0aW9uSGVhZGVycy5mb3JFYWNoKFxyXG4gICAgICAgIHBvSHR0cEhlYWRlciA9PiAoaHR0cEhlYWRlcnMgPSBodHRwSGVhZGVycy5hcHBlbmQocG9IdHRwSGVhZGVyLm5hbWUsIHBvSHR0cEhlYWRlci52YWx1ZSkpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGh0dHBIZWFkZXJzO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { fromEvent, merge, Observable, Subject } from 'rxjs';
|
|
3
|
-
import { mapTo } from 'rxjs/operators';
|
|
4
|
-
import { Network } from '@ionic-native/network/ngx';
|
|
5
|
-
import { PoNetworkStatus } from './../../models';
|
|
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
|
-
constructor(network) {
|
|
13
|
-
this.initNetwork(network);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Retorna as propriedades tipo e status da conexão do dispositivo no momento da chamada.
|
|
17
|
-
*
|
|
18
|
-
* @returns {PoNetworkStatus} Instância de [PoNetworkStatus](/documentation/po-network-status) com as
|
|
19
|
-
* propriedades da conexão.
|
|
20
|
-
*/
|
|
21
|
-
getConnectionStatus() {
|
|
22
|
-
this.poNetworkStatus = new PoNetworkStatus(this.networkType);
|
|
23
|
-
return this.poNetworkStatus;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Notifica as mudanças no tipo de conexão de rede do dispositivo.
|
|
27
|
-
*
|
|
28
|
-
* @returns {Observable<{ status: boolean, type: string }>} Observable com as propriedades da conexão.
|
|
29
|
-
*/
|
|
30
|
-
onChange() {
|
|
31
|
-
return this.networkTypeNow.asObservable();
|
|
32
|
-
}
|
|
33
|
-
getNavigatorStatus() {
|
|
34
|
-
return merge(fromEvent(window, 'offline').pipe(mapTo(false)), fromEvent(window, 'online').pipe(mapTo(true)), Observable.create(sub => {
|
|
35
|
-
sub.next(navigator.onLine);
|
|
36
|
-
sub.complete();
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
initNetwork(network) {
|
|
40
|
-
this.networkTypeNow = new Subject();
|
|
41
|
-
this.initSubscriber(network);
|
|
42
|
-
}
|
|
43
|
-
initSubscriber(network) {
|
|
44
|
-
if (network) {
|
|
45
|
-
this.getNavigatorStatus().subscribe(status => {
|
|
46
|
-
this.networkType = network.type;
|
|
47
|
-
this.networkTypeNow.next({ status: status, type: this.networkType });
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
PoNetworkService.decorators = [
|
|
53
|
-
{ type: Injectable }
|
|
54
|
-
];
|
|
55
|
-
PoNetworkService.ctorParameters = () => [
|
|
56
|
-
{ type: Network }
|
|
57
|
-
];
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3luYy9zcmMvbGliL3NlcnZpY2VzL3BvLW5ldHdvcmsvcG8tbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRDs7OztHQUlHO0FBR0gsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixZQUFZLE9BQWdCO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixPQUFPLEtBQUssQ0FDVixTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDL0MsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzdDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQWdCO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxjQUFjLENBQUMsT0FBZ0I7UUFDckMsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN2RSxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7O1lBckRGLFVBQVU7OztZQVZGLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcFRvIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTmV0d29yayB9IGZyb20gJ0Bpb25pYy1uYXRpdmUvbmV0d29yay9uZ3gnO1xyXG5cclxuaW1wb3J0IHsgUG9OZXR3b3JrU3RhdHVzIH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKlxyXG4gKiBPIGBQb05ldHdvcmtTZXJ2aWNlYCDDqSB1dGlsaXphZG8gcGFyYSB2ZXJpZmljYXIgbyBzdGF0dXMgZSBvIHRpcG8gZGEgY29uZXjDo28gZGUgcmVkZSBkbyBkaXNwb3NpdGl2by5cclxuICovXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQb05ldHdvcmtTZXJ2aWNlIHtcclxuICBwcml2YXRlIG5ldHdvcmtUeXBlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBuZXR3b3JrVHlwZU5vdzogU3ViamVjdDx7IHN0YXR1czogYm9vbGVhbjsgdHlwZTogc3RyaW5nIH0+O1xyXG4gIHByaXZhdGUgcG9OZXR3b3JrU3RhdHVzOiBQb05ldHdvcmtTdGF0dXM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG5ldHdvcms6IE5ldHdvcmspIHtcclxuICAgIHRoaXMuaW5pdE5ldHdvcmsobmV0d29yayk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRvcm5hIGFzIHByb3ByaWVkYWRlcyB0aXBvIGUgc3RhdHVzIGRhIGNvbmV4w6NvIGRvIGRpc3Bvc2l0aXZvIG5vIG1vbWVudG8gZGEgY2hhbWFkYS5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtQb05ldHdvcmtTdGF0dXN9IEluc3TDom5jaWEgZGUgW1BvTmV0d29ya1N0YXR1c10oL2RvY3VtZW50YXRpb24vcG8tbmV0d29yay1zdGF0dXMpIGNvbSBhc1xyXG4gICAqIHByb3ByaWVkYWRlcyBkYSBjb25leMOjby5cclxuICAgKi9cclxuICBnZXRDb25uZWN0aW9uU3RhdHVzKCk6IFBvTmV0d29ya1N0YXR1cyB7XHJcbiAgICB0aGlzLnBvTmV0d29ya1N0YXR1cyA9IG5ldyBQb05ldHdvcmtTdGF0dXModGhpcy5uZXR3b3JrVHlwZSk7XHJcbiAgICByZXR1cm4gdGhpcy5wb05ldHdvcmtTdGF0dXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOb3RpZmljYSBhcyBtdWRhbsOnYXMgbm8gdGlwbyBkZSBjb25leMOjbyBkZSByZWRlIGRvIGRpc3Bvc2l0aXZvLlxyXG4gICAqXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8eyBzdGF0dXM6IGJvb2xlYW4sIHR5cGU6IHN0cmluZyB9Pn0gT2JzZXJ2YWJsZSBjb20gYXMgcHJvcHJpZWRhZGVzIGRhIGNvbmV4w6NvLlxyXG4gICAqL1xyXG4gIG9uQ2hhbmdlKCk6IE9ic2VydmFibGU8eyBzdGF0dXM6IGJvb2xlYW47IHR5cGU6IHN0cmluZyB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5uZXR3b3JrVHlwZU5vdy5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TmF2aWdhdG9yU3RhdHVzKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gbWVyZ2UoXHJcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdvZmZsaW5lJykucGlwZShtYXBUbyhmYWxzZSkpLFxyXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAnb25saW5lJykucGlwZShtYXBUbyh0cnVlKSksXHJcbiAgICAgIE9ic2VydmFibGUuY3JlYXRlKHN1YiA9PiB7XHJcbiAgICAgICAgc3ViLm5leHQobmF2aWdhdG9yLm9uTGluZSk7XHJcbiAgICAgICAgc3ViLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0TmV0d29yayhuZXR3b3JrOiBOZXR3b3JrKSB7XHJcbiAgICB0aGlzLm5ldHdvcmtUeXBlTm93ID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHRoaXMuaW5pdFN1YnNjcmliZXIobmV0d29yayk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRTdWJzY3JpYmVyKG5ldHdvcms6IE5ldHdvcmspIHtcclxuICAgIGlmIChuZXR3b3JrKSB7XHJcbiAgICAgIHRoaXMuZ2V0TmF2aWdhdG9yU3RhdHVzKCkuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XHJcbiAgICAgICAgdGhpcy5uZXR3b3JrVHlwZSA9IG5ldHdvcmsudHlwZTtcclxuICAgICAgICB0aGlzLm5ldHdvcmtUeXBlTm93Lm5leHQoeyBzdGF0dXM6IHN0YXR1cywgdHlwZTogdGhpcy5uZXR3b3JrVHlwZSB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { PoStorageService } from '@po-ui/ng-storage';
|
|
4
|
-
import { PoSchemaUtil } from './../po-schema-util/po-schema-util.model';
|
|
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
|
-
constructor(poStorage) {
|
|
14
|
-
this.poStorage = poStorage;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Destrói a chave do *storage* que contém as definições dos *schemas*.
|
|
18
|
-
*
|
|
19
|
-
* > Para que não venham ocorrer erros em ações que dependam das definições dos *schemas*,
|
|
20
|
-
* recomenda-se utilizar o método `prepare()` em seguida.
|
|
21
|
-
*
|
|
22
|
-
* @returns {Promise<void>} Promessa que é resolvida quando a chave referente as definições dos *schemas* for destruída.
|
|
23
|
-
*/
|
|
24
|
-
destroy() {
|
|
25
|
-
return this.poStorage.remove(PoSchemaUtil.syncSchemasName);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Busca um *schema* a partir do nome informado.
|
|
29
|
-
*
|
|
30
|
-
* @param {string} schemaName Nome do *schema*.
|
|
31
|
-
* @returns {Promise<PoSyncSchema>} Promessa que é resolvida quando o *schema* for retornado.
|
|
32
|
-
*/
|
|
33
|
-
get(schemaName) {
|
|
34
|
-
return this.poStorage.getItemByField(PoSchemaUtil.syncSchemasName, 'name', schemaName);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Retorna uma promessa com a lista dos *schemas* definidos.
|
|
38
|
-
*
|
|
39
|
-
* @returns {Promise<Array<PoSyncSchema>>} Promessa que é resolvida quando a lista dos *schemas* definidos for retornada.
|
|
40
|
-
*/
|
|
41
|
-
getAll() {
|
|
42
|
-
return this.poStorage.get(PoSchemaUtil.syncSchemasName);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Salva uma lista de *schemas*.
|
|
46
|
-
*
|
|
47
|
-
* @param {Array<PoSyncSchema>} schemas Lista de schemas que serão salvos.
|
|
48
|
-
* @returns {Promise<Array<PoSyncSchema>>} Promessa que é resolvida quando a lista de *schemas* for salva.
|
|
49
|
-
*/
|
|
50
|
-
saveAll(schemas) {
|
|
51
|
-
return this.poStorage.set(PoSchemaUtil.syncSchemasName, schemas);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Atualiza um *schema* a partir do *schema name*.
|
|
55
|
-
*
|
|
56
|
-
* @param {PoSyncSchema} updatedSchema **Schema* que será atualizado.
|
|
57
|
-
*/
|
|
58
|
-
update(updatedSchema) {
|
|
59
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
let schemas = yield 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
|
-
}
|
|
73
|
-
}
|
|
74
|
-
PoSchemaDefinitionService.decorators = [
|
|
75
|
-
{ type: Injectable }
|
|
76
|
-
];
|
|
77
|
-
PoSchemaDefinitionService.ctorParameters = () => [
|
|
78
|
-
{ type: PoStorageService }
|
|
79
|
-
];
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2NoZW1hLWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5bmMvc3JjL2xpYi9zZXJ2aWNlcy9wby1zY2hlbWEvcG8tc2NoZW1hLWRlZmluaXRpb24vcG8tc2NoZW1hLWRlZmluaXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHeEU7Ozs7OztHQU1HO0FBRUgsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFHLENBQUM7SUFFbkQ7Ozs7Ozs7T0FPRztJQUNILE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxHQUFHLENBQUMsVUFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsT0FBNEI7UUFDbEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7OztPQUlHO0lBQ0csTUFBTSxDQUFDLGFBQTJCOztZQUN0QyxJQUFJLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUVsQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxFQUFFO2dCQUNwQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLElBQUksRUFBRTtvQkFDdEMsT0FBTyxhQUFhLENBQUM7aUJBQ3RCO3FCQUFNO29CQUNMLE9BQU8sTUFBTSxDQUFDO2lCQUNmO1lBQ0gsQ0FBQyxDQUFDO1lBRUYsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUM1QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsQ0FBQztLQUFBOzs7WUEvREYsVUFBVTs7O1lBWkYsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUG9TdG9yYWdlU2VydmljZSB9IGZyb20gJ0Bwby11aS9uZy1zdG9yYWdlJztcclxuXHJcbmltcG9ydCB7IFBvU2NoZW1hVXRpbCB9IGZyb20gJy4vLi4vcG8tc2NoZW1hLXV0aWwvcG8tc2NoZW1hLXV0aWwubW9kZWwnO1xyXG5pbXBvcnQgeyBQb1N5bmNTY2hlbWEgfSBmcm9tICcuLy4uLy4uL3BvLXN5bmMvaW50ZXJmYWNlcy9wby1zeW5jLXNjaGVtYS5pbnRlcmZhY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkb2NzUHJpdmF0ZVxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICpcclxuICogU2VydmnDp28gcXVlIGRpc3BvbmliaWxpemEgbcOpdG9kb3MgcXVlIHBlcm1pdGUgb3BlcmFyIHNvYnJlIGFzIGRlZmluacOnw7VlcyBkb3MgKnNjaGVtYXMqLlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUG9TY2hlbWFEZWZpbml0aW9uU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb1N0b3JhZ2U6IFBvU3RvcmFnZVNlcnZpY2UpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlc3Ryw7NpIGEgY2hhdmUgZG8gKnN0b3JhZ2UqIHF1ZSBjb250w6ltIGFzIGRlZmluacOnw7VlcyBkb3MgKnNjaGVtYXMqLlxyXG4gICAqXHJcbiAgICogPiBQYXJhIHF1ZSBuw6NvIHZlbmhhbSBvY29ycmVyIGVycm9zIGVtIGHDp8O1ZXMgcXVlIGRlcGVuZGFtIGRhcyBkZWZpbmnDp8O1ZXMgZG9zICpzY2hlbWFzKixcclxuICAgKiByZWNvbWVuZGEtc2UgdXRpbGl6YXIgbyBtw6l0b2RvIGBwcmVwYXJlKClgIGVtIHNlZ3VpZGEuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gUHJvbWVzc2EgcXVlIMOpIHJlc29sdmlkYSBxdWFuZG8gYSBjaGF2ZSByZWZlcmVudGUgYXMgZGVmaW5pw6fDtWVzIGRvcyAqc2NoZW1hcyogZm9yIGRlc3RydcOtZGEuXHJcbiAgICovXHJcbiAgZGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLnBvU3RvcmFnZS5yZW1vdmUoUG9TY2hlbWFVdGlsLnN5bmNTY2hlbWFzTmFtZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCdXNjYSB1bSAqc2NoZW1hKiBhIHBhcnRpciBkbyBub21lIGluZm9ybWFkby5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFOYW1lIE5vbWUgZG8gKnNjaGVtYSouXHJcbiAgICogQHJldHVybnMge1Byb21pc2U8UG9TeW5jU2NoZW1hPn0gUHJvbWVzc2EgcXVlIMOpIHJlc29sdmlkYSBxdWFuZG8gbyAqc2NoZW1hKiBmb3IgcmV0b3JuYWRvLlxyXG4gICAqL1xyXG4gIGdldChzY2hlbWFOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFBvU3luY1NjaGVtYT4ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9TdG9yYWdlLmdldEl0ZW1CeUZpZWxkKFBvU2NoZW1hVXRpbC5zeW5jU2NoZW1hc05hbWUsICduYW1lJywgc2NoZW1hTmFtZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRvcm5hIHVtYSBwcm9tZXNzYSBjb20gYSBsaXN0YSBkb3MgKnNjaGVtYXMqIGRlZmluaWRvcy5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PFBvU3luY1NjaGVtYT4+fSBQcm9tZXNzYSBxdWUgw6kgcmVzb2x2aWRhIHF1YW5kbyBhIGxpc3RhIGRvcyAqc2NoZW1hcyogZGVmaW5pZG9zIGZvciByZXRvcm5hZGEuXHJcbiAgICovXHJcbiAgZ2V0QWxsKCk6IFByb21pc2U8QXJyYXk8UG9TeW5jU2NoZW1hPj4ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9TdG9yYWdlLmdldChQb1NjaGVtYVV0aWwuc3luY1NjaGVtYXNOYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhbHZhIHVtYSBsaXN0YSBkZSAqc2NoZW1hcyouXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0FycmF5PFBvU3luY1NjaGVtYT59IHNjaGVtYXMgTGlzdGEgZGUgc2NoZW1hcyBxdWUgc2Vyw6NvIHNhbHZvcy5cclxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxQb1N5bmNTY2hlbWE+Pn0gUHJvbWVzc2EgcXVlIMOpIHJlc29sdmlkYSBxdWFuZG8gYSBsaXN0YSBkZSAqc2NoZW1hcyogZm9yIHNhbHZhLlxyXG4gICAqL1xyXG4gIHNhdmVBbGwoc2NoZW1hczogQXJyYXk8UG9TeW5jU2NoZW1hPik6IFByb21pc2U8QXJyYXk8UG9TeW5jU2NoZW1hPj4ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9TdG9yYWdlLnNldChQb1NjaGVtYVV0aWwuc3luY1NjaGVtYXNOYW1lLCBzY2hlbWFzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEF0dWFsaXphIHVtICpzY2hlbWEqIGEgcGFydGlyIGRvICpzY2hlbWEgbmFtZSouXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1BvU3luY1NjaGVtYX0gdXBkYXRlZFNjaGVtYSAqKlNjaGVtYSogcXVlIHNlcsOhIGF0dWFsaXphZG8uXHJcbiAgICovXHJcbiAgYXN5bmMgdXBkYXRlKHVwZGF0ZWRTY2hlbWE6IFBvU3luY1NjaGVtYSkge1xyXG4gICAgbGV0IHNjaGVtYXMgPSBhd2FpdCB0aGlzLmdldEFsbCgpO1xyXG5cclxuICAgIGNvbnN0IHJlcGxhY2VVcGRhdGVkU2NoZW1hID0gc2NoZW1hID0+IHtcclxuICAgICAgaWYgKHNjaGVtYS5uYW1lID09PSB1cGRhdGVkU2NoZW1hLm5hbWUpIHtcclxuICAgICAgICByZXR1cm4gdXBkYXRlZFNjaGVtYTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gc2NoZW1hO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHNjaGVtYXMgPSBzY2hlbWFzLm1hcChyZXBsYWNlVXBkYXRlZFNjaGVtYSk7XHJcbiAgICByZXR1cm4gdGhpcy5zYXZlQWxsKHNjaGVtYXMpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { PoStorageService } from '@po-ui/ng-storage';
|
|
4
|
-
import { PoSchemaDefinitionService } from './po-schema-definition/po-schema-definition.service';
|
|
5
|
-
import { PoSchemaUtil } from './po-schema-util/po-schema-util.model';
|
|
6
|
-
/**
|
|
7
|
-
* @docsPrivate
|
|
8
|
-
*
|
|
9
|
-
* @description
|
|
10
|
-
*
|
|
11
|
-
* Serviço que realiza as operações nos `schemas`.
|
|
12
|
-
*/
|
|
13
|
-
export class PoSchemaService {
|
|
14
|
-
constructor(poSchemaDefinitionService, poStorage) {
|
|
15
|
-
this.poSchemaDefinitionService = poSchemaDefinitionService;
|
|
16
|
-
this.poStorage = poStorage;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Retorna o id a partir de uma chave de um *schema*.
|
|
20
|
-
*
|
|
21
|
-
* @param {string} schemaKey Chave do *schema* em que será realizada a busca do id.
|
|
22
|
-
*/
|
|
23
|
-
static getIdByRecordKey(schemaKey) {
|
|
24
|
-
return schemaKey.split(':')[1];
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Retorna a chave do *schema* informado.
|
|
28
|
-
*
|
|
29
|
-
* @param {string} schemaName Nome do *schema*.
|
|
30
|
-
* @param {any} recordId Id do registro.
|
|
31
|
-
* @param {boolean} isLocalKey Indica se é uma chave local.
|
|
32
|
-
*/
|
|
33
|
-
static getRecordKey(schemaName, recordId, isLocalKey = false) {
|
|
34
|
-
return isLocalKey ? `${schemaName}_local:${recordId}` : `${schemaName}:${recordId}`;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Verifica se o dado informado é uma chave de um *schema*.
|
|
38
|
-
*
|
|
39
|
-
* @param {string} data Dado que será verificado se é uma chave de um *schema*.
|
|
40
|
-
* @param {string} schemaName Nome do *schema*.
|
|
41
|
-
*/
|
|
42
|
-
static isSchemaKey(data, schemaName) {
|
|
43
|
-
return data ? data.startsWith(`${schemaName}:`) : false;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Cria um novo registro para o *schema* informado.
|
|
47
|
-
*
|
|
48
|
-
* @param {PoSyncSchema} schema **Schema* em que será criado o registro.
|
|
49
|
-
* @param {object} newRecord Registro que será criado.
|
|
50
|
-
*/
|
|
51
|
-
create(schema, newRecord) {
|
|
52
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
-
const id = PoSchemaUtil.getRecordId(newRecord, schema);
|
|
54
|
-
return this.save(schema, newRecord, id);
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Destrói as chaves do *storage* que contém os registros dos *schemas*.
|
|
59
|
-
*
|
|
60
|
-
* @returns {Promise<void>} Promessa que é resolvida quando as chaves referentes aos *schemas* forem destruídas.
|
|
61
|
-
*/
|
|
62
|
-
destroySchemasRecords() {
|
|
63
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
const schemas = yield this.poSchemaDefinitionService.getAll();
|
|
65
|
-
const storageKeys = yield this.poStorage.keys();
|
|
66
|
-
for (const key of storageKeys) {
|
|
67
|
-
const schemaKey = schemas.find(schema => PoSchemaService.isSchemaKey(key, schema.name));
|
|
68
|
-
if (schemaKey) {
|
|
69
|
-
const id = PoSchemaService.getIdByRecordKey(key);
|
|
70
|
-
yield this.remove(schemaKey.name, id);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Retorna o registro referente ao *schema* informado.
|
|
77
|
-
*
|
|
78
|
-
* @param {string} schemaName Nome do *schema*.
|
|
79
|
-
* @param {any} recordId Id do registro.
|
|
80
|
-
*/
|
|
81
|
-
get(schemaName, recordId) {
|
|
82
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
const isLocalRecord = true;
|
|
84
|
-
const localRecord = yield this.getRecord(schemaName, recordId, isLocalRecord);
|
|
85
|
-
const record = yield this.getRecord(schemaName, recordId);
|
|
86
|
-
return Object.assign(record, localRecord);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Retorna todos os registros referente ao *schema* informado.
|
|
91
|
-
*
|
|
92
|
-
* @param {string} schemaName Nome do *schema*.
|
|
93
|
-
*/
|
|
94
|
-
getAll(schemaName) {
|
|
95
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
-
const storageKeys = yield this.poStorage.keys();
|
|
97
|
-
const schemaRecords = [];
|
|
98
|
-
for (const key of storageKeys) {
|
|
99
|
-
if (PoSchemaService.isSchemaKey(key, schemaName)) {
|
|
100
|
-
const id = PoSchemaService.getIdByRecordKey(key);
|
|
101
|
-
schemaRecords.push(yield this.get(schemaName, id));
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return schemaRecords;
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Aguarda a liberação do recurso limitado, posteriormente o envolve em um comportamento
|
|
109
|
-
* de bloqueio e desbloqueio.
|
|
110
|
-
*
|
|
111
|
-
* @param {Function} limitedResource Função que será envolvida no comportamento de bloqueio e desbloqueio.
|
|
112
|
-
*/
|
|
113
|
-
limitedCallWrap(limitedResource) {
|
|
114
|
-
return this.poStorage.limitedCallWrap(limitedResource);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Remove um registro de um *schema* informado.
|
|
118
|
-
*
|
|
119
|
-
* @param {string} schemaName Nome do *schema*.
|
|
120
|
-
* @param {any} recordId Id do registro.
|
|
121
|
-
*/
|
|
122
|
-
remove(schemaName, recordId) {
|
|
123
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
-
const recordKey = PoSchemaService.getRecordKey(schemaName, recordId);
|
|
125
|
-
const localRecordKey = PoSchemaService.getRecordKey(schemaName, recordId, true);
|
|
126
|
-
yield this.poStorage.remove(recordKey);
|
|
127
|
-
yield this.poStorage.remove(localRecordKey);
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Atualiza um registro de um *schema* informado.
|
|
132
|
-
*
|
|
133
|
-
* @param {PoSyncSchema} schema **Schema* referente ao registro que será alterado.
|
|
134
|
-
* @param {object} record Registro que será atualizado.
|
|
135
|
-
* @param {any} recordId Id do registro que deseja ser alterado. Deve ser utilizado em casos em que o id foi alterado.
|
|
136
|
-
*/
|
|
137
|
-
update(schema, record, recordId) {
|
|
138
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
-
const id = PoSchemaUtil.getRecordId(record, schema);
|
|
140
|
-
if (recordId) {
|
|
141
|
-
record = yield this.updateRecordId(schema.name, record, recordId);
|
|
142
|
-
}
|
|
143
|
-
return this.save(schema, record, id);
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Atualiza todos os registros de um *schema*.
|
|
148
|
-
*
|
|
149
|
-
* @param {PoSyncSchema} schema **Schema* referente aos registros que serão alterados.
|
|
150
|
-
* @param {Array<object>} records Lista de registros que serão alterados.
|
|
151
|
-
*/
|
|
152
|
-
updateAll(schema, records) {
|
|
153
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
-
for (const record of records) {
|
|
155
|
-
yield this.update(schema, record);
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
getRecord(schemaName, recordId, isLocalRecord = false) {
|
|
160
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
161
|
-
return (yield this.poStorage.get(PoSchemaService.getRecordKey(schemaName, recordId, isLocalRecord))) || {};
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
save(schema, record, recordId) {
|
|
165
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
166
|
-
const { serverRecord, localRecord } = PoSchemaUtil.separateSchemaFields(schema, record);
|
|
167
|
-
const recordKey = PoSchemaService.getRecordKey(schema.name, recordId);
|
|
168
|
-
yield this.poStorage.set(recordKey, serverRecord);
|
|
169
|
-
yield this.saveLocalFields(schema.name, localRecord, recordId);
|
|
170
|
-
return record;
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
saveLocalFields(schemaName, localFields, recordId) {
|
|
174
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
-
const containsLocalFields = Object.keys(localFields).length;
|
|
176
|
-
if (containsLocalFields) {
|
|
177
|
-
const localRecordKey = PoSchemaService.getRecordKey(schemaName, recordId, true);
|
|
178
|
-
yield this.poStorage.set(localRecordKey, localFields);
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
updateRecordId(schemaName, record, recordId) {
|
|
183
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
184
|
-
const isLocalRecord = true;
|
|
185
|
-
const localRecord = yield this.getRecord(schemaName, recordId, isLocalRecord);
|
|
186
|
-
yield this.remove(schemaName, recordId);
|
|
187
|
-
return Object.assign(record, localRecord);
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
PoSchemaService.decorators = [
|
|
192
|
-
{ type: Injectable }
|
|
193
|
-
];
|
|
194
|
-
PoSchemaService.ctorParameters = () => [
|
|
195
|
-
{ type: PoSchemaDefinitionService },
|
|
196
|
-
{ type: PoStorageService }
|
|
197
|
-
];
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2NoZW1hLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tc2NoZW1hL3BvLXNjaGVtYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUdyRTs7Ozs7O0dBTUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQix5QkFBb0QsRUFBVSxTQUEyQjtRQUF6Riw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRWpIOzs7O09BSUc7SUFDSyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBaUI7UUFDL0MsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQWtCLEVBQUUsUUFBYSxFQUFFLGFBQXNCLEtBQUs7UUFDeEYsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxVQUFVLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUN0RixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVksRUFBRSxVQUFrQjtRQUN6RCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFVB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LENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRXRFLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ2xELE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUUvRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0tBQUE7SUFFYSxlQUFlLENBQUMsVUFBa0IsRUFBRSxXQUFtQixFQUFFLFFBQVE7O1lBQzdFLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFFNUQsSUFBSSxtQkFBbUIsRUFBRTtnQkFDdkIsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNoRixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQzthQUN2RDtRQUNILENBQUM7S0FBQTtJQUVhLGNBQWMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVE7O1lBQ3ZELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQztZQUUzQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUM5RSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRXhDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDNUMsQ0FBQztLQUFBOzs7WUFwTEYsVUFBVTs7O1lBWEYseUJBQXlCO1lBRnpCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFBvU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAcG8tdWkvbmctc3RvcmFnZSc7XHJcblxyXG5pbXBvcnQgeyBQb1NjaGVtYURlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9wby1zY2hlbWEtZGVmaW5pdGlvbi9wby1zY2hlbWEtZGVmaW5pdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9TY2hlbWFVdGlsIH0gZnJvbSAnLi9wby1zY2hlbWEtdXRpbC9wby1zY2hlbWEtdXRpbC5tb2RlbCc7XHJcbmltcG9ydCB7IFBvU3luY1NjaGVtYSB9IGZyb20gJy4uL3BvLXN5bmMvaW50ZXJmYWNlcy9wby1zeW5jLXNjaGVtYS5pbnRlcmZhY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkb2NzUHJpdmF0ZVxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICpcclxuICogU2VydmnDp28gcXVlIHJlYWxpemEgYXMgb3BlcmHDp8O1ZXMgbm9zIGBzY2hlbWFzYC5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFBvU2NoZW1hU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb1NjaGVtYURlZmluaXRpb25TZXJ2aWNlOiBQb1NjaGVtYURlZmluaXRpb25TZXJ2aWNlLCBwcml2YXRlIHBvU3RvcmFnZTogUG9TdG9yYWdlU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0b3JuYSBvIGlkIGEgcGFydGlyIGRlIHVtYSBjaGF2ZSBkZSB1bSAqc2NoZW1hKi5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFLZXkgQ2hhdmUgZG8gKnNjaGVtYSogZW0gcXVlIHNlcsOhIHJlYWxpemFkYSBhIGJ1c2NhIGRvIGlkLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGdldElkQnlSZWNvcmRLZXkoc2NoZW1hS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHNjaGVtYUtleS5zcGxpdCgnOicpWzFdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0b3JuYSBhIGNoYXZlIGRvICpzY2hlbWEqIGluZm9ybWFkby5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFOYW1lIE5vbWUgZG8gKnNjaGVtYSouXHJcbiAgICogQHBhcmFtIHthbnl9IHJlY29yZElkIElkIGRvIHJlZ2lzdHJvLlxyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNMb2NhbEtleSBJbmRpY2Egc2Ugw6kgdW1hIGNoYXZlIGxvY2FsLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGdldFJlY29yZEtleShzY2hlbWFOYW1lOiBzdHJpbmcsIHJlY29yZElkOiBhbnksIGlzTG9jYWxLZXk6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gaXNMb2NhbEtleSA/IGAke3NjaGVtYU5hbWV9X2xvY2FsOiR7cmVjb3JkSWR9YCA6IGAke3NjaGVtYU5hbWV9OiR7cmVjb3JkSWR9YDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZlcmlmaWNhIHNlIG8gZGFkbyBpbmZvcm1hZG8gw6kgdW1hIGNoYXZlIGRlIHVtICpzY2hlbWEqLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgRGFkbyBxdWUgc2Vyw6EgdmVyaWZpY2FkbyBzZSDDqSB1bWEgY2hhdmUgZGUgdW0gKnNjaGVtYSouXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNjaGVtYU5hbWUgTm9tZSBkbyAqc2NoZW1hKi5cclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRpYyBpc1NjaGVtYUtleShkYXRhOiBzdHJpbmcsIHNjaGVtYU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGRhdGEgPyBkYXRhLnN0YXJ0c1dpdGgoYCR7c2NoZW1hTmFtZX06YCkgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyaWEgdW0gbm92byByZWdpc3RybyBwYXJhIG8gKnNjaGVtYSogaW5mb3JtYWRvLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtQb1N5bmNTY2hlbWF9IHNjaGVtYSAqKlNjaGVtYSogZW0gcXVlIHNlcsOhIGNyaWFkbyBvIHJlZ2lzdHJvLlxyXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBuZXdSZWNvcmQgUmVnaXN0cm8gcXVlIHNlcsOhIGNyaWFkby5cclxuICAgKi9cclxuICBhc3luYyBjcmVhdGUoc2NoZW1hOiBQb1N5bmNTY2hlbWEsIG5ld1JlY29yZDogb2JqZWN0KTogUHJvbWlzZTxvYmplY3Q+IHtcclxuICAgIGNvbnN0IGlkID0gUG9TY2hlbWFVdGlsLmdldFJlY29yZElkKG5ld1JlY29yZCwgc2NoZW1hKTtcclxuICAgIHJldHVybiB0aGlzLnNhdmUoc2NoZW1hLCBuZXdSZWNvcmQsIGlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlc3Ryw7NpIGFzIGNoYXZlcyBkbyAqc3RvcmFnZSogcXVlIGNvbnTDqW0gb3MgcmVnaXN0cm9zIGRvcyAqc2NoZW1hcyouXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gUHJvbWVzc2EgcXVlIMOpIHJlc29sdmlkYSBxdWFuZG8gYXMgY2hhdmVzIHJlZmVyZW50ZXMgYW9zICpzY2hlbWFzKiBmb3JlbSBkZXN0cnXDrWRhcy5cclxuICAgKi9cclxuICBhc3luYyBkZXN0cm95U2NoZW1hc1JlY29yZHMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBzY2hlbWFzID0gYXdhaXQgdGhpcy5wb1NjaGVtYURlZmluaXRpb25TZXJ2aWNlLmdldEFsbCgpO1xyXG4gICAgY29uc3Qgc3RvcmFnZUtleXMgPSBhd2FpdCB0aGlzLnBvU3RvcmFnZS5rZXlzKCk7XHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgb2Ygc3RvcmFnZUtleXMpIHtcclxuICAgICAgY29uc3Qgc2NoZW1hS2V5ID0gc2NoZW1hcy5maW5kKHNjaGVtYSA9PiBQb1NjaGVtYVNlcnZpY2UuaXNTY2hlbWFLZXkoa2V5LCBzY2hlbWEubmFtZSkpO1xyXG5cclxuICAgICAgaWYgKHNjaGVtYUtleSkge1xyXG4gICAgICAgIGNvbnN0IGlkID0gUG9TY2hlbWFTZXJ2aWNlLmdldElkQnlSZWNvcmRLZXkoa2V5KTtcclxuICAgICAgICBhd2FpdCB0aGlzLnJlbW92ZShzY2hlbWFLZXkubmFtZSwgaWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRvcm5hIG8gcmVnaXN0cm8gcmVmZXJlbnRlIGFvICpzY2hlbWEqIGluZm9ybWFkby5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFOYW1lIE5vbWUgZG8gKnNjaGVtYSouXHJcbiAgICogQHBhcmFtIHthbnl9IHJlY29yZElkIElkIGRvIHJlZ2lzdHJvLlxyXG4gICAqL1xyXG4gIGFzeW5jIGdldChzY2hlbWFOYW1lOiBzdHJpbmcsIHJlY29yZElkOiBhbnkpOiBQcm9taXNlPG9iamVjdD4ge1xyXG4gICAgY29uc3QgaXNMb2NhbFJlY29yZCA9IHRydWU7XHJcbiAgICBjb25zdCBsb2NhbFJlY29yZCA9IGF3YWl0IHRoaXMuZ2V0UmVjb3JkKHNjaGVtYU5hbWUsIHJlY29yZElkLCBpc0xvY2FsUmVjb3JkKTtcclxuICAgIGNvbnN0IHJlY29yZCA9IGF3YWl0IHRoaXMuZ2V0UmVjb3JkKHNjaGVtYU5hbWUsIHJlY29yZElkKTtcclxuXHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihyZWNvcmQsIGxvY2FsUmVjb3JkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldG9ybmEgdG9kb3Mgb3MgcmVnaXN0cm9zIHJlZmVyZW50ZSBhbyAqc2NoZW1hKiBpbmZvcm1hZG8uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2NoZW1hTmFtZSBOb21lIGRvICpzY2hlbWEqLlxyXG4gICAqL1xyXG4gIGFzeW5jIGdldEFsbChzY2hlbWFOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFycmF5PG9iamVjdD4+IHtcclxuICAgIGNvbnN0IHN0b3JhZ2VLZXlzID0gYXdhaXQgdGhpcy5wb1N0b3JhZ2Uua2V5cygpO1xyXG4gICAgY29uc3Qgc2NoZW1hUmVjb3JkcyA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IG9mIHN0b3JhZ2VLZXlzKSB7XHJcbiAgICAgIGlmIChQb1NjaGVtYVNlcnZpY2UuaXNTY2hlbWFLZXkoa2V5LCBzY2hlbWFOYW1lKSkge1xyXG4gICAgICAgIGNvbnN0IGlkID0gUG9TY2hlbWFTZXJ2aWNlLmdldElkQnlSZWNvcmRLZXkoa2V5KTtcclxuICAgICAgICBzY2hlbWFSZWNvcmRzLnB1c2goYXdhaXQgdGhpcy5nZXQoc2NoZW1hTmFtZSwgaWQpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzY2hlbWFSZWNvcmRzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWd1YXJkYSBhIGxpYmVyYcOnw6NvIGRvIHJlY3Vyc28gbGltaXRhZG8sIHBvc3Rlcmlvcm1lbnRlIG8gZW52b2x2ZSBlbSB1bSBjb21wb3J0YW1lbnRvXHJcbiAgICogZGUgYmxvcXVlaW8gZSBkZXNibG9xdWVpby5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGxpbWl0ZWRSZXNvdXJjZSBGdW7Dp8OjbyBxdWUgc2Vyw6EgZW52b2x2aWRhIG5vIGNvbXBvcnRhbWVudG8gZGUgYmxvcXVlaW8gZSBkZXNibG9xdWVpby5cclxuICAgKi9cclxuICBsaW1pdGVkQ2FsbFdyYXAobGltaXRlZFJlc291cmNlOiBGdW5jdGlvbik6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wb1N0b3JhZ2UubGltaXRlZENhbGxXcmFwKGxpbWl0ZWRSZXNvdXJjZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgdW0gcmVnaXN0cm8gZGUgdW0gKnNjaGVtYSogaW5mb3JtYWRvLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNjaGVtYU5hbWUgTm9tZSBkbyAqc2NoZW1hKi5cclxuICAgKiBAcGFyYW0ge2FueX0gcmVjb3JkSWQgSWQgZG8gcmVnaXN0cm8uXHJcbiAgICovXHJcbiAgYXN5bmMgcmVtb3ZlKHNjaGVtYU5hbWU6IHN0cmluZywgcmVjb3JkSWQ6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCByZWNvcmRLZXkgPSBQb1NjaGVtYVNlcnZpY2UuZ2V0UmVjb3JkS2V5KHNjaGVtYU5hbWUsIHJlY29yZElkKTtcclxuICAgIGNvbnN0IGxvY2FsUmVjb3JkS2V5ID0gUG9TY2hlbWFTZXJ2aWNlLmdldFJlY29yZEtleShzY2hlbWFOYW1lLCByZWNvcmRJZCwgdHJ1ZSk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5wb1N0b3JhZ2UucmVtb3ZlKHJlY29yZEtleSk7XHJcbiAgICBhd2FpdCB0aGlzLnBvU3RvcmFnZS5yZW1vdmUobG9jYWxSZWNvcmRLZXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXR1YWxpemEgdW0gcmVnaXN0cm8gZGUgdW0gKnNjaGVtYSogaW5mb3JtYWRvLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtQb1N5bmNTY2hlbWF9IHNjaGVtYSAqKlNjaGVtYSogcmVmZXJlbnRlIGFvIHJlZ2lzdHJvIHF1ZSBzZXLDoSBhbHRlcmFkby5cclxuICAgKiBAcGFyYW0ge29iamVjdH0gcmVjb3JkIFJlZ2lzdHJvIHF1ZSBzZXLDoSBhdHVhbGl6YWRvLlxyXG4gICAqIEBwYXJhbSB7YW55fSByZWNvcmRJZCBJZCBkbyByZWdpc3RybyBxdWUgZGVzZWphIHNlciBhbHRlcmFkby4gRGV2ZSBzZXIgdXRpbGl6YWRvIGVtIGNhc29zIGVtIHF1ZSBvIGlkIGZvaSBhbHRlcmFkby5cclxuICAgKi9cclxuICBhc3luYyB1cGRhdGUoc2NoZW1hOiBQb1N5bmNTY2hlbWEsIHJlY29yZDogb2JqZWN0LCByZWNvcmRJZD86IGFueSk6IFByb21pc2U8b2JqZWN0PiB7XHJcbiAgICBjb25zdCBpZCA9IFBvU2NoZW1hVXRpbC5nZXRSZWNvcmRJZChyZWNvcmQsIHNjaGVtYSk7XHJcblxyXG4gICAgaWYgKHJlY29yZElkKSB7XHJcbiAgICAgIHJlY29yZCA9IGF3YWl0IHRoaXMudXBkYXRlUmVjb3JkSWQoc2NoZW1hLm5hbWUsIHJlY29yZCwgcmVjb3JkSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnNhdmUoc2NoZW1hLCByZWNvcmQsIGlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEF0dWFsaXphIHRvZG9zIG9zIHJlZ2lzdHJvcyBkZSB1bSAqc2NoZW1hKi5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UG9TeW5jU2NoZW1hfSBzY2hlbWEgKipTY2hlbWEqIHJlZmVyZW50ZSBhb3MgcmVnaXN0cm9zIHF1ZSBzZXLDo28gYWx0ZXJhZG9zLlxyXG4gICAqIEBwYXJhbSB7QXJyYXk8b2JqZWN0Pn0gcmVjb3JkcyBMaXN0YSBkZSByZWdpc3Ryb3MgcXVlIHNlcsOjbyBhbHRlcmFkb3MuXHJcbiAgICovXHJcbiAgYXN5bmMgdXBkYXRlQWxsKHNjaGVtYTogUG9TeW5jU2NoZW1hLCByZWNvcmRzOiBBcnJheTxvYmplY3Q+KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMudXBkYXRlKHNjaGVtYSwgcmVjb3JkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZ2V0UmVjb3JkKHNjaGVtYU5hbWUsIHJlY29yZElkLCBpc0xvY2FsUmVjb3JkID0gZmFsc2UpOiBQcm9taXNlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLnBvU3RvcmFnZS5nZXQoUG9TY2hlbWFTZXJ2aWNlLmdldFJlY29yZEtleShzY2hlbWFOYW1lLCByZWNvcmRJZCwgaXNMb2NhbFJlY29yZCkpKSB8fCB7fTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc2F2ZShzY2hlbWE6IFBvU3luY1NjaGVtYSwgcmVjb3JkOiBvYmplY3QsIHJlY29yZElkOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgc2VydmVyUmVjb3JkLCBsb2NhbFJlY29yZCB9ID0gUG9TY2hlbWFVdGlsLnNlcGFyYXRlU2NoZW1hRmllbGRzKHNjaGVtYSwgcmVjb3JkKTtcclxuICAgIGNvbnN0IHJlY29yZEtleSA9IFBvU2NoZW1hU2VydmljZS5nZXRSZWNvcmRLZXkoc2NoZW1hLm5hbWUsIHJlY29yZElkKTtcclxuXHJcbiAgICBhd2FpdCB0aGlzLnBvU3RvcmFnZS5zZXQocmVjb3JkS2V5LCBzZXJ2ZXJSZWNvcmQpO1xyXG4gICAgYXdhaXQgdGhpcy5zYXZlTG9jYWxGaWVsZHMoc2NoZW1hLm5hbWUsIGxvY2FsUmVjb3JkLCByZWNvcmRJZCk7XHJcblxyXG4gICAgcmV0dXJuIHJlY29yZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc2F2ZUxvY2FsRmllbGRzKHNjaGVtYU5hbWU6IHN0cmluZywgbG9jYWxGaWVsZHM6IG9iamVjdCwgcmVjb3JkSWQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGNvbnRhaW5zTG9jYWxGaWVsZHMgPSBPYmplY3Qua2V5cyhsb2NhbEZpZWxkcykubGVuZ3RoO1xyXG5cclxuICAgIGlmIChjb250YWluc0xvY2FsRmllbGRzKSB7XHJcbiAgICAgIGNvbnN0IGxvY2FsUmVjb3JkS2V5ID0gUG9TY2hlbWFTZXJ2aWNlLmdldFJlY29yZEtleShzY2hlbWFOYW1lLCByZWNvcmRJZCwgdHJ1ZSk7XHJcbiAgICAgIGF3YWl0IHRoaXMucG9TdG9yYWdlLnNldChsb2NhbFJlY29yZEtleSwgbG9jYWxGaWVsZHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVSZWNvcmRJZChzY2hlbWFOYW1lLCByZWNvcmQsIHJlY29yZElkKSB7XHJcbiAgICBjb25zdCBpc0xvY2FsUmVjb3JkID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCBsb2NhbFJlY29yZCA9IGF3YWl0IHRoaXMuZ2V0UmVjb3JkKHNjaGVtYU5hbWUsIHJlY29yZElkLCBpc0xvY2FsUmVjb3JkKTtcclxuICAgIGF3YWl0IHRoaXMucmVtb3ZlKHNjaGVtYU5hbWUsIHJlY29yZElkKTtcclxuXHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihyZWNvcmQsIGxvY2FsUmVjb3JkKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3luYy1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3luYy9zcmMvbGliL3NlcnZpY2VzL3BvLXN5bmMvaW50ZXJmYWNlcy9wby1zeW5jLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvRGF0YVRyYW5zZm9ybSB9IGZyb20gJy4vLi4vLi4vLi4vbW9kZWxzL3BvLWRhdGEtdHJhbnNmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgUG9OZXR3b3JrVHlwZSB9IGZyb20gJy4vLi4vLi4vLi4vbW9kZWxzL3BvLW5ldHdvcmstdHlwZS5lbnVtJztcclxuXHJcbi8qKlxyXG4gKiBAdXNlZEJ5IFBvU3luY1NlcnZpY2VcclxuICpcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqXHJcbiAqIEludGVyZmFjZSBwYXJhIGEgZGVmaW5pw6fDo28gZGFzIGNvbmZpZ3VyYcOnw7VlcyBkbyBzaW5jcm9uaXNtby5cclxuICovXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBvU3luY0NvbmZpZyB7XHJcbiAgLyoqXHJcbiAgICogQ2xhc3NlIHVzYWRhIHBhcmEgYSB0cmFzZm9ybWHDp8OjbyBkb3MgZGFkb3MgbmFzIHJlcXVpc2nDp8O1ZXMuXHJcbiAgICpcclxuICAgKiA+IFZlamEgbWFpcyBkZXRhbGhlcyBlbSBbRnVuZGFtZW50b3MgZG8gUE8gU3luYyAtIEFkYXB0YW5kbyBhIHJlc3Bvc3RhIGRhIEFQSSBwYXJhIG8gcGFkcsOjbyBkbyBQTyBVSV0oL2d1aWRlcy9zeW5jLWZ1bmRhbWVudGFscykuXHJcbiAgICovXHJcbiAgZGF0YVRyYW5zZm9ybT86IFBvRGF0YVRyYW5zZm9ybTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGVtcG8gZW0gc2VndW5kb3MgZG8gc2ljcm9uaXNtbyBwZXJpw7NkaWNvLlxyXG4gICAqIENhc28gbsOjbyBzZWphIGRlZmluaWRvLCBvIHNpbmNyb25pc21vIHBlcmnDs2RpY28gZXN0YXLDoSBkZXNhYmlsaXRhZG8uXHJcbiAgICovXHJcbiAgcGVyaW9kPzogbnVtYmVyO1xyXG5cclxuICAvKiogVGlwb3MgZGUgY29uZXjDtWVzIHBlcm1pdGlkYXMgcGFyYSBvIHNpbmNyb25pc21vLiAqL1xyXG4gIHR5cGU6IFBvTmV0d29ya1R5cGUgfCBBcnJheTxQb05ldHdvcmtUeXBlPjtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3luYy1maWVsZC1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5bmMvc3JjL2xpYi9zZXJ2aWNlcy9wby1zeW5jL2ludGVyZmFjZXMvcG8tc3luYy1maWVsZC1vcHRpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEB1c2VkQnkgUG9TeW5jU2VydmljZVxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICpcclxuICogSW50ZXJmYWNlIHF1ZSBpcsOhIG1hcGVhciBhcyBjb25maWd1cmHDp8O1ZXMgZG9zIGNhbXBvcyBkbyBgUG9TeW5jU2NoZW1hYC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUG9TeW5jRmllbGRPcHRpb25zIHtcclxuICAvKiogUHJvcHJpZWRhZGUgcXVlIGluZm9ybWEgbyBub21lIGRvIGNhbXBvLiAqL1xyXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIFByb3ByaWVkYWRlIHF1ZSBpbmZvcm1hIHNlIG8gY2FtcG8gc2Vyw6EgYXBlbmFzIHBhcmEgYXJtYXplbmFtZW50byBsb2NhbFxyXG4gICAqIG91IHNlIGRldmUgc2VyIGVudmlhZG8gcGFyYSBvIHNlcnZpZG9yLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGxvY2FsPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3luYy1yZXNwb25zZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tc3luYy9pbnRlcmZhY2VzL3BvLXN5bmMtcmVzcG9uc2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgUG9FdmVudFNvdXJjaW5nRXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wby1ldmVudC1zb3VyY2luZy1lcnJvci1yZXNwb25zZS5tb2RlbCc7XHJcbmltcG9ydCB7IFBvSHR0cFJlcXVlc3REYXRhIH0gZnJvbSAnLi4vLi4vcG8taHR0cC1jbGllbnQvaW50ZXJmYWNlcy9wby1odHRwLXJlcXVlc3QtZGF0YS5pbnRlcmZhY2UnO1xyXG5cclxuLyoqXHJcbiAqIEB1c2VkQnkgUG9TeW5jU2VydmljZVxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICpcclxuICogRGVmaW5lIGEgcmVzcG9zdGEgZG9zIGV2ZW50b3MgZW52aWFkb3MgYW8gc2Vydmlkb3IuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBvU3luY1Jlc3BvbnNlIHtcclxuICAvKiogSWRlbnRpZmljYWRvciBkbyBldmVudG8gbmEgZmlsYS4gKi9cclxuICBpZDogbnVtYmVyO1xyXG5cclxuICAvKiogSWRlbnRpZmljYWRvciBjdXN0b21pemFkbyBkbyByZWdpc3Ryby4gKi9cclxuICBjdXN0b21SZXF1ZXN0SWQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBEYWRvcyBkYSByZXF1aXNpw6fDo28uICovXHJcbiAgcmVxdWVzdDogUG9IdHRwUmVxdWVzdERhdGE7XHJcblxyXG4gIC8qKiBSZXNwb3N0YSByZXRvcm5hZGEgYXDDs3MgYSB0ZW50YXRpdmEgZGUgZW52aW8gcGFyYSBvIHNlcnZpZG9yLiAqL1xyXG4gIHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8T2JqZWN0PiB8IEh0dHBFcnJvclJlc3BvbnNlIHwgUG9FdmVudFNvdXJjaW5nRXJyb3JSZXNwb25zZTtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3luYy1zY2hlbWEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3luYy9zcmMvbGliL3NlcnZpY2VzL3BvLXN5bmMvaW50ZXJmYWNlcy9wby1zeW5jLXNjaGVtYS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvU3luY0ZpZWxkT3B0aW9ucyB9IGZyb20gJy4vcG8tc3luYy1maWVsZC1vcHRpb25zLmludGVyZmFjZSc7XHJcblxyXG4vKipcclxuICogQHVzZWRCeSBQb1N5bmNTZXJ2aWNlXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKlxyXG4gKiBJbnRlcmZhY2UgcXVlIGlyw6EgbWFwZWFyIGFzIGluZm9ybWHDp8O1ZXMgZG9zIHJlY3Vyc29zLCBwcmluY2lwYWxtZW50ZSBzdWEgb3JpZ2VtIGUgYXMgaW5mb3JtYcOnw7VlcyBxdWUgc2Vyw6NvIHJldG9ybmFkYXMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBvU3luY1NjaGVtYSB7XHJcbiAgLyoqIE5vbWUgZGEgcHJvcHJpZWRhZGUgcXVlIGluZm9ybWEgYSBkYXRhIGRlIGNyaWHDp8OjbyBkbyByZWdpc3Ryby4gKi9cclxuICByZWFkb25seSBjcmVhdGVkQXRGaWVsZD86IHN0cmluZztcclxuXHJcbiAgLyoqIE5vbWUgZGEgcHJvcHJpZWRhZGUgcXVlIGluZm9ybWEgYSBkYXRhIGRlIGRlbGXDp8Ojby4gKi9cclxuICByZWFkb25seSBkZWxldGVkQXRGaWVsZD86IHN0cmluZztcclxuXHJcbiAgLyoqIE5vbWUgZGEgcHJvcHJpZWRhZGUgcXVlIGluZm9ybWEgc2UgbyByZWdpc3RybyBmb2kgZXhjbHXDrWRvLiAqL1xyXG4gIHJlYWRvbmx5IGRlbGV0ZWRGaWVsZDogc3RyaW5nO1xyXG5cclxuICAvKiogRW5kZXJlw6dvIGRvIGVuZHBvaW50IHBhcmEgZXhjbHVpciByZWdpc3Ryb3MuICovXHJcbiAgcmVhZG9ubHkgZGVsZXRlVXJsQXBpPzogc3RyaW5nO1xyXG5cclxuICAvKiogRW5kZXJlw6dvIGRvIGVuZHBvaW50IHF1ZSBwcm92ZXLDoSBhcGVuYXMgZGFkb3MgYWx0ZXJhZG9zIG5vIHNlcnZpZG9yLiAqL1xyXG4gIHJlYWRvbmx5IGRpZmZVcmxBcGk6IHN0cmluZztcclxuXHJcbiAgLyoqIENhbXBvcyBxdWUgc2Vyw6NvIHJldG9ybmFkb3MgcGVsYSBBUEkuICovXHJcbiAgcmVhZG9ubHkgZmllbGRzOiBBcnJheTxzdHJpbmcgfCBQb1N5bmNGaWVsZE9wdGlvbnM+O1xyXG5cclxuICAvKiogRW5kZXJlw6dvIGRvIGVuZHBvaW50IHF1ZSB1dGlsaXphIG8gbcOpdG9kbyBHRVQgcXVlIHByb3ZlcsOhIG9zIGRhZG9zLiAqL1xyXG4gIHJlYWRvbmx5IGdldFVybEFwaTogc3RyaW5nO1xyXG5cclxuICAvKiogTm9tZSBkYSBwcm9wcmllZGFkZSByZWZlcmVudGUgYW8gaWRlbnRpZmljYWRvciDDum5pY28gcGFyYSBvcyBpdGVucyBkbyAqc2NoZW1hKi4gKi9cclxuICByZWFkb25seSBpZEZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBJZGVudGlmacOnw6NvIHBhcmEgcmVwcmVzZW50YXIgbyAqc2NoZW1hKi4gKi9cclxuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBRdWFudGlkYWRlIGRlIGl0ZW5zIHBvciBww6FnaW5hIHF1ZSBzZXLDoSBlbnZpYWRvIHBlbGEgQVBJLiAqL1xyXG4gIHJlYWRvbmx5IHBhZ2VTaXplOiBudW1iZXI7XHJcblxyXG4gIC8qKiBFbmRlcmXDp28gZG8gZW5kcG9pbnQgcXVlIHV0aWxpemEgbyBtw6l0b2RvIFBVVCBwYXJhIGF0dWFsaXphciByZWdpc3Ryb3MuICovXHJcbiAgcmVhZG9ubHkgcGF0Y2hVcmxBcGk/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBFbmRlcmXDp28gZG8gZW5kcG9pbnQgcXVlIHV0aWxpemEgbyBtw6l0b2RvIFBPU1QgcGFyYSBpbmNsdWlyIG9zIHJlZ2lzdHJvcy4gKi9cclxuICByZWFkb25seSBwb3N0VXJsQXBpPzogc3RyaW5nO1xyXG5cclxuICAvKiogTm9tZSBkYSBwcm9wcmllZGFkZSBxdWUgaW5mb3JtYSBhIGRhdGEgZGUgYXR1YWxpemHDp8OjbyBkbyByZWdpc3Ryby4gKi9cclxuICByZWFkb25seSB1cGRhdGVkQXRGaWVsZD86IHN0cmluZztcclxuXHJcbiAgLy8gRGF0YS9Ib3JhIGRhIMO6bHRpbWEgdmV6IHF1ZSBhIHNpbmNyb25pYSBhY29udGVjZXUgcGFyYSBlc3NlICpzY2hlbWEqLlxyXG4gIGxhc3RTeW5jPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|