@po-ui/ng-sync 15.15.0 → 16.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +3 -3
  2. package/{esm2020 → esm2022}/lib/index.mjs +14 -14
  3. package/{esm2020 → esm2022}/lib/models/index.mjs +5 -5
  4. package/{esm2020 → esm2022}/lib/models/po-data-message.model.mjs +56 -56
  5. package/esm2022/lib/models/po-data-transform.model.mjs +23 -0
  6. package/esm2022/lib/models/po-entity/po-entity.model.mjs +217 -0
  7. package/esm2022/lib/models/po-event-sourcing-error-response.model.mjs +21 -0
  8. package/esm2022/lib/models/po-network-status.model.mjs +45 -0
  9. package/{esm2020 → esm2022}/lib/models/po-network-type.enum.mjs +29 -29
  10. package/esm2022/lib/models/po-query-builder/po-query-builder.model.mjs +246 -0
  11. package/{esm2020 → esm2022}/lib/models/po-request-type.enum.mjs +15 -15
  12. package/{esm2020 → esm2022}/lib/po-sync.module.mjs +40 -40
  13. package/{esm2020 → esm2022}/lib/services/po-event-sourcing/enums/po-event-sourcing-operation.enum.mjs +16 -16
  14. package/{esm2020 → esm2022}/lib/services/po-event-sourcing/index.mjs +3 -3
  15. package/{esm2020 → esm2022}/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.mjs +1 -1
  16. package/{esm2020 → esm2022}/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.mjs +1 -1
  17. package/esm2022/lib/services/po-event-sourcing/po-event-sourcing.service.mjs +379 -0
  18. package/{esm2020 → esm2022}/lib/services/po-http-client/interfaces/po-http-header-option.interface.mjs +10 -10
  19. package/{esm2020 → esm2022}/lib/services/po-http-client/interfaces/po-http-request-data.interface.mjs +1 -1
  20. package/{esm2020 → esm2022}/lib/services/po-http-client/interfaces/po-response-api.interface.mjs +1 -1
  21. package/esm2022/lib/services/po-http-client/po-http-client.service.mjs +149 -0
  22. package/{esm2020 → esm2022}/lib/services/po-http-client/po-http-request-type.enum.mjs +24 -24
  23. package/esm2022/lib/services/po-network/po-network.service.mjs +59 -0
  24. package/{esm2020 → esm2022}/lib/services/po-schema/index.mjs +3 -3
  25. package/esm2022/lib/services/po-schema/po-schema-definition/po-schema-definition.service.mjs +78 -0
  26. package/esm2022/lib/services/po-schema/po-schema-util/po-schema-util.model.mjs +124 -0
  27. package/esm2022/lib/services/po-schema/po-schema.service.mjs +176 -0
  28. package/{esm2020 → esm2022}/lib/services/po-sync/interfaces/po-sync-config.interface.mjs +1 -1
  29. package/{esm2020 → esm2022}/lib/services/po-sync/interfaces/po-sync-field-options.interface.mjs +1 -1
  30. package/{esm2020 → esm2022}/lib/services/po-sync/interfaces/po-sync-response.interface.mjs +1 -1
  31. package/{esm2020 → esm2022}/lib/services/po-sync/interfaces/po-sync-schema.interface.mjs +1 -1
  32. package/esm2022/lib/services/po-sync/po-sync.service.mjs +336 -0
  33. package/{esm2020 → esm2022}/lib/utils/utils.mjs +62 -62
  34. package/{esm2020 → esm2022}/po-ui-ng-sync.mjs +4 -4
  35. package/{esm2020 → esm2022}/public-api.mjs +1 -1
  36. package/{fesm2020 → fesm2022}/po-ui-ng-sync.mjs +2004 -1962
  37. package/{fesm2020 → fesm2022}/po-ui-ng-sync.mjs.map +1 -1
  38. package/index.d.ts +5 -5
  39. package/lib/index.d.ts +14 -14
  40. package/lib/models/index.d.ts +5 -5
  41. package/lib/models/po-data-message.model.d.ts +46 -46
  42. package/lib/models/po-data-transform.model.d.ts +52 -52
  43. package/lib/models/po-entity/po-entity.model.d.ts +122 -122
  44. package/lib/models/po-event-sourcing-error-response.model.d.ts +20 -20
  45. package/lib/models/po-network-status.model.d.ts +25 -25
  46. package/lib/models/po-network-type.enum.d.ts +28 -28
  47. package/lib/models/po-query-builder/po-query-builder.model.d.ts +126 -126
  48. package/lib/models/po-request-type.enum.d.ts +14 -14
  49. package/lib/po-sync.module.d.ts +11 -11
  50. package/lib/services/po-event-sourcing/enums/po-event-sourcing-operation.enum.d.ts +11 -11
  51. package/lib/services/po-event-sourcing/index.d.ts +3 -3
  52. package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.d.ts +26 -26
  53. package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.d.ts +16 -16
  54. package/lib/services/po-event-sourcing/po-event-sourcing.service.d.ts +74 -74
  55. package/lib/services/po-http-client/interfaces/po-http-header-option.interface.d.ts +15 -15
  56. package/lib/services/po-http-client/interfaces/po-http-request-data.interface.d.ts +24 -24
  57. package/lib/services/po-http-client/interfaces/po-response-api.interface.d.ts +14 -14
  58. package/lib/services/po-http-client/po-http-client.service.d.ts +78 -78
  59. package/lib/services/po-http-client/po-http-request-type.enum.d.ts +23 -23
  60. package/lib/services/po-network/po-network.service.d.ts +35 -35
  61. package/lib/services/po-schema/index.d.ts +3 -3
  62. package/lib/services/po-schema/po-schema-definition/po-schema-definition.service.d.ts +51 -51
  63. package/lib/services/po-schema/po-schema-util/po-schema-util.model.d.ts +79 -79
  64. package/lib/services/po-schema/po-schema.service.d.ts +98 -98
  65. package/lib/services/po-sync/interfaces/po-sync-config.interface.d.ts +24 -24
  66. package/lib/services/po-sync/interfaces/po-sync-field-options.interface.d.ts +15 -15
  67. package/lib/services/po-sync/interfaces/po-sync-response.interface.d.ts +20 -20
  68. package/lib/services/po-sync/interfaces/po-sync-schema.interface.d.ts +37 -37
  69. package/lib/services/po-sync/po-sync.service.d.ts +162 -162
  70. package/lib/utils/utils.d.ts +36 -36
  71. package/package.json +10 -16
  72. package/po-ui-ng-sync-16.0.0-next.2.tgz +0 -0
  73. package/public-api.d.ts +1 -1
  74. package/schematics/migrations.json +1 -1
  75. package/schematics/ng-add/index.d.ts +7 -7
  76. package/schematics/ng-add/index.js +31 -31
  77. package/schematics/ng-add/index.spec.d.ts +1 -1
  78. package/schematics/ng-add/index.spec.js +60 -60
  79. package/schematics/ng-generate/schema/index.d.ts +4 -4
  80. package/schematics/ng-generate/schema/index.js +12 -12
  81. package/schematics/ng-generate/schema/index.spec.d.ts +1 -1
  82. package/schematics/ng-generate/schema/index.spec.js +44 -44
  83. package/schematics/ng-generate/schema/schema.d.ts +3 -3
  84. package/schematics/ng-generate/schema/schema.js +2 -2
  85. package/schematics/ng-update/v14/changes.d.ts +2 -2
  86. package/schematics/ng-update/v14/changes.js +13 -13
  87. package/schematics/ng-update/v14/index.d.ts +1 -1
  88. package/schematics/ng-update/v14/index.js +15 -15
  89. package/schematics/ng-update/v15/changes.d.ts +4 -4
  90. package/schematics/ng-update/v15/changes.js +15 -15
  91. package/schematics/ng-update/v15/index.d.ts +1 -1
  92. package/schematics/ng-update/v15/index.js +36 -36
  93. package/schematics/ng-update/v2/changes.d.ts +8 -8
  94. package/schematics/ng-update/v2/changes.js +20 -20
  95. package/schematics/ng-update/v2/index.d.ts +5 -5
  96. package/schematics/ng-update/v2/index.js +101 -101
  97. package/schematics/ng-update/v3/changes.d.ts +2 -2
  98. package/schematics/ng-update/v3/changes.js +14 -14
  99. package/schematics/ng-update/v3/index.d.ts +1 -1
  100. package/schematics/ng-update/v3/index.js +16 -16
  101. package/schematics/ng-update/v4/changes.d.ts +2 -2
  102. package/schematics/ng-update/v4/changes.js +14 -14
  103. package/schematics/ng-update/v4/index.d.ts +1 -1
  104. package/schematics/ng-update/v4/index.js +15 -15
  105. package/schematics/ng-update/v5/changes.d.ts +2 -2
  106. package/schematics/ng-update/v5/changes.js +13 -13
  107. package/schematics/ng-update/v5/index.d.ts +1 -1
  108. package/schematics/ng-update/v5/index.js +15 -15
  109. package/schematics/ng-update/v6/changes.d.ts +2 -2
  110. package/schematics/ng-update/v6/changes.js +13 -13
  111. package/schematics/ng-update/v6/index.d.ts +1 -1
  112. package/schematics/ng-update/v6/index.js +15 -15
  113. package/esm2020/lib/models/po-data-transform.model.mjs +0 -22
  114. package/esm2020/lib/models/po-entity/po-entity.model.mjs +0 -214
  115. package/esm2020/lib/models/po-event-sourcing-error-response.model.mjs +0 -17
  116. package/esm2020/lib/models/po-network-status.model.mjs +0 -44
  117. package/esm2020/lib/models/po-query-builder/po-query-builder.model.mjs +0 -238
  118. package/esm2020/lib/services/po-event-sourcing/po-event-sourcing.service.mjs +0 -372
  119. package/esm2020/lib/services/po-http-client/po-http-client.service.mjs +0 -148
  120. package/esm2020/lib/services/po-network/po-network.service.mjs +0 -56
  121. package/esm2020/lib/services/po-schema/po-schema-definition/po-schema-definition.service.mjs +0 -77
  122. package/esm2020/lib/services/po-schema/po-schema-util/po-schema-util.model.mjs +0 -124
  123. package/esm2020/lib/services/po-schema/po-schema.service.mjs +0 -174
  124. package/esm2020/lib/services/po-sync/po-sync.service.mjs +0 -325
  125. package/fesm2015/po-ui-ng-sync.mjs +0 -2113
  126. package/fesm2015/po-ui-ng-sync.mjs.map +0 -1
  127. package/po-ui-ng-sync-15.15.0.tgz +0 -0
@@ -0,0 +1,246 @@
1
+ import { validateParameter } from '../../utils/utils';
2
+ /**
3
+ * @description
4
+ *
5
+ * Classe utilitária para construir consultas sobre os registros de um *schema*.
6
+ *
7
+ * A utilização dos métodos desta classe é feita a partir do retorno do método `PoEntity.find()`. Por exemplo,
8
+ * para utilizar o método `PoQueryBuilder.page()`, é necessário:
9
+ *
10
+ * ``` typescript
11
+ * PoSyncService.getModel('schema name').find().page(2).exec();
12
+ * ```
13
+ *
14
+ * O `PoQueryBuilder` foi projetado para que os seus métodos sejam
15
+ * chamados em cascata e ao final desse encadeamento invocar o método
16
+ * `PoQueryBuilder.exec()` para que a busca seja concluída. Por exemplo:
17
+ *
18
+ * ``` typescript
19
+ * PoSyncService
20
+ * .getModel('schema name')
21
+ * .find()
22
+ * .page(2)
23
+ * .pageSize(5)
24
+ * .sort()
25
+ * .exec();
26
+ * ```
27
+ */
28
+ export class PoQueryBuilder {
29
+ poSchemaService;
30
+ schema;
31
+ fields;
32
+ filters;
33
+ _limit;
34
+ _page;
35
+ _pageSize;
36
+ _sort;
37
+ constructor(poSchemaService, schema) {
38
+ this.poSchemaService = poSchemaService;
39
+ this.schema = schema;
40
+ this._page = 1;
41
+ this.filters = {};
42
+ }
43
+ /**
44
+ * Ao final da chamada dos métodos do `PoQueryBuilder` utilizados, este método deve ser chamado para que a busca seja concluída.
45
+ *
46
+ * @return {Promise<PoResponseApi | object>} Registros do *schema* na qual foi aplicado a consulta.
47
+ */
48
+ async exec() {
49
+ let storageData = await this.poSchemaService.getAll(this.schema.name);
50
+ if (storageData && storageData.length) {
51
+ if (Object.keys(this.filters).length) {
52
+ storageData = this.applyFilters(storageData);
53
+ }
54
+ if (this.fields) {
55
+ storageData = this.applyFields(this.schema.fields, storageData);
56
+ }
57
+ if (this._sort) {
58
+ storageData = this.order(storageData, this._sort);
59
+ }
60
+ if (this._limit) {
61
+ return storageData[0];
62
+ }
63
+ else {
64
+ return this.paginate(storageData);
65
+ }
66
+ }
67
+ else {
68
+ return {
69
+ hasNext: false,
70
+ items: []
71
+ };
72
+ }
73
+ }
74
+ /**
75
+ * Aplica filtros sobre os registros, baseados nos campos e valores definidos como filtro. Por exemplo:
76
+ *
77
+ * ```
78
+ * PoQueryBuilder.filter({ name: 'Marie', age: 24 });
79
+ * ```
80
+ * Retorna todos os registros que contenham a propriedade `name` igual a Marie e `age` igual a 24.
81
+ *
82
+ * @param {object} filter Objeto que contém os campos e valores a serem filtrados no *schema*.
83
+ *
84
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
85
+ */
86
+ filter(filter) {
87
+ if (filter && typeof filter === 'object') {
88
+ this.filters = { ...this.filters, ...filter };
89
+ }
90
+ else {
91
+ throw new Error('Filter must be an object');
92
+ }
93
+ return this;
94
+ }
95
+ /**
96
+ * Limita o número de registros que serão retornados.
97
+ *
98
+ * @param {number} limit Número de registros retornados.
99
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
100
+ */
101
+ limit(limit) {
102
+ this._limit = limit;
103
+ return this;
104
+ }
105
+ /**
106
+ * Especifica a página de registros que se deseja retornar.
107
+ *
108
+ * @param {number} page Número da página.
109
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
110
+ */
111
+ page(page) {
112
+ validateParameter({ page });
113
+ this._page = page;
114
+ return this;
115
+ }
116
+ /**
117
+ * Define quantos elementos serão retornados por página.
118
+ *
119
+ * @param {number} pageSize Número de registros por página.
120
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
121
+ */
122
+ pageSize(pageSize) {
123
+ validateParameter({ pageSize });
124
+ this._pageSize = pageSize;
125
+ return this;
126
+ }
127
+ /**
128
+ * Utilizado para definir quais campos do *schema* serão retornados na consulta.
129
+ *
130
+ * @param {string} fields Campos que serão retornados nos registros. Este campos devem estar dentro de
131
+ * uma *string* separados por espaço podendo usar o caractere `-` para excluir campos.
132
+ * Por exemplo, a definição abaixo:
133
+ *
134
+ * ```
135
+ * PoQueryBuilder.select('name age address');
136
+ * ```
137
+ * Irá retornar apenas os campos `name`, `age` e `address`. Para não retornar um campo ou mais basta fazer:
138
+ *
139
+ * ```
140
+ * PoQueryBuilder.select('-name -age');
141
+ * ```
142
+ *
143
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
144
+ */
145
+ select(fields) {
146
+ validateParameter({ fields });
147
+ this.fields = fields;
148
+ return this;
149
+ }
150
+ /**
151
+ * Ordena os registros por um campo.
152
+ *
153
+ * @param {string} field Campo a ser ordenado. Para ordenar de forma decrescente basta colocar o caractere `-`
154
+ * na frente do campo. Por exemplo:
155
+ * ```
156
+ * PoQueryBuilder.sort('-name');
157
+ * ```
158
+ *
159
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
160
+ */
161
+ sort(field) {
162
+ validateParameter({ field });
163
+ this._sort = field;
164
+ return this;
165
+ }
166
+ /**
167
+ * Essa função serve como alias para o `PoQueryBuilder.filter()`. É utilizada somente para dar maior legibilidade ao código.
168
+ *
169
+ * @param {object} filter Objeto que contém os campos e valores a serem filtrados no *schema*.
170
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
171
+ */
172
+ where(filter) {
173
+ return this.filter(filter);
174
+ }
175
+ applyFields(schemaFields, data) {
176
+ const receivedFields = this.fields.split(' ');
177
+ let restrictedFields = [];
178
+ let selectedFields = [];
179
+ [selectedFields, restrictedFields] = this.groupFields(receivedFields);
180
+ if (!selectedFields.length && restrictedFields.length) {
181
+ selectedFields = [...schemaFields];
182
+ }
183
+ if (restrictedFields.length) {
184
+ selectedFields = this.removeRestrictedFields(restrictedFields, selectedFields);
185
+ }
186
+ selectedFields = this.removeDuplicate(selectedFields);
187
+ return this.removeFieldsData(data, selectedFields);
188
+ }
189
+ applyFilters(data) {
190
+ Object.keys(this.filters).forEach(filterKey => {
191
+ data = data.filter(item => item[filterKey] === this.filters[filterKey]);
192
+ });
193
+ return data;
194
+ }
195
+ groupFields(receivedFields) {
196
+ const restrictedFields = [];
197
+ const selectedFields = [];
198
+ receivedFields.forEach(fields => {
199
+ if (fields.startsWith('-')) {
200
+ restrictedFields.push(fields.substring(1));
201
+ }
202
+ else {
203
+ selectedFields.push(fields);
204
+ }
205
+ });
206
+ return [selectedFields, restrictedFields];
207
+ }
208
+ paginate(data) {
209
+ const dataLength = data.length;
210
+ const pageSize = this._pageSize || dataLength;
211
+ const pages = Math.ceil(dataLength / pageSize);
212
+ const begin = this._page * pageSize - pageSize;
213
+ const end = begin + pageSize;
214
+ return { hasNext: this._page < pages, items: data.slice(begin, end) };
215
+ }
216
+ order(data, sortingField) {
217
+ const descendingOrder = sortingField.startsWith('-');
218
+ sortingField = descendingOrder ? sortingField.substr(1) : sortingField;
219
+ return data.sort((optionA, optionB) => {
220
+ if (optionA[sortingField] > optionB[sortingField]) {
221
+ return !descendingOrder ? 1 : -1;
222
+ }
223
+ if (optionA[sortingField] < optionB[sortingField]) {
224
+ return !descendingOrder ? -1 : 1;
225
+ }
226
+ return 0;
227
+ });
228
+ }
229
+ removeDuplicate(fields) {
230
+ return fields.filter((item, position) => fields.indexOf(item) === position);
231
+ }
232
+ removeFieldsData(data, chosenFields) {
233
+ data.forEach(item => {
234
+ Object.keys(item).forEach(keyItem => {
235
+ if (!chosenFields.includes(keyItem)) {
236
+ delete item[keyItem];
237
+ }
238
+ });
239
+ });
240
+ return data;
241
+ }
242
+ removeRestrictedFields(restrictedFields, fields) {
243
+ return fields.filter(field => !restrictedFields.includes(field));
244
+ }
245
+ }
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcXVlcnktYnVpbGRlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5bmMvc3JjL2xpYi9tb2RlbHMvcG8tcXVlcnktYnVpbGRlci9wby1xdWVyeS1idWlsZGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBTXREOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFTTDtJQUEwQztJQVJ0RCxNQUFNLENBQVM7SUFDZixPQUFPLENBQU07SUFFYixNQUFNLENBQVM7SUFDZixLQUFLLENBQVM7SUFDZCxTQUFTLENBQVM7SUFDbEIsS0FBSyxDQUFTO0lBRXRCLFlBQW9CLGVBQWdDLEVBQVUsTUFBb0I7UUFBOUQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUNoRixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEUsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUNyQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRTtnQkFDcEMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUM7WUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsV0FBVyxHQUFHLElBQUksQ0FB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QUM7SUFFTyxlQUFlLENBQUMsTUFBTTtRQUM1QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUFtQixFQUFFLFlBQTJCO1FBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDdEI7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsZ0JBQTRCLEVBQUUsTUFBa0I7UUFDN0UsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2YWxpZGF0ZVBhcmFtZXRlciB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IFBvUmVzcG9uc2VBcGkgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzL3BvLWh0dHAtY2xpZW50L2ludGVyZmFjZXMvcG8tcmVzcG9uc2UtYXBpLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvU2NoZW1hU2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2VydmljZXMvcG8tc2NoZW1hJztcclxuaW1wb3J0IHsgUG9TeW5jU2NoZW1hIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tc3luYy9pbnRlcmZhY2VzL3BvLXN5bmMtc2NoZW1hLmludGVyZmFjZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqXHJcbiAqIENsYXNzZSB1dGlsaXTDoXJpYSBwYXJhIGNvbnN0cnVpciBjb25zdWx0YXMgc29icmUgb3MgcmVnaXN0cm9zIGRlIHVtICpzY2hlbWEqLlxyXG4gKlxyXG4gKiBBIHV0aWxpemHDp8OjbyBkb3MgbcOpdG9kb3MgZGVzdGEgY2xhc3NlIMOpIGZlaXRhIGEgcGFydGlyIGRvIHJldG9ybm8gZG8gbcOpdG9kbyBgUG9FbnRpdHkuZmluZCgpYC4gUG9yIGV4ZW1wbG8sXHJcbiAqIHBhcmEgdXRpbGl6YXIgbyBtw6l0b2RvIGBQb1F1ZXJ5QnVpbGRlci5wYWdlKClgLCDDqSBuZWNlc3PDoXJpbzpcclxuICpcclxuICogYGBgIHR5cGVzY3JpcHRcclxuICogUG9TeW5jU2VydmljZS5nZXRNb2RlbCgnc2NoZW1hIG5hbWUnKS5maW5kKCkucGFnZSgyKS5leGVjKCk7XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBPIGBQb1F1ZXJ5QnVpbGRlcmAgZm9pIHByb2pldGFkbyBwYXJhIHF1ZSBvcyBzZXVzIG3DqXRvZG9zIHNlamFtXHJcbiAqIGNoYW1hZG9zIGVtIGNhc2NhdGEgZSBhbyBmaW5hbCBkZXNzZSBlbmNhZGVhbWVudG8gaW52b2NhciBvIG3DqXRvZG9cclxuICogYFBvUXVlcnlCdWlsZGVyLmV4ZWMoKWAgcGFyYSBxdWUgYSBidXNjYSBzZWphIGNvbmNsdcOtZGEuIFBvciBleGVtcGxvOlxyXG4gKlxyXG4gKiBgYGAgdHlwZXNjcmlwdFxyXG4gKiBQb1N5bmNTZXJ2aWNlXHJcbiAqICAgLmdldE1vZGVsKCdzY2hlbWEgbmFtZScpXHJcbiAqICAgLmZpbmQoKVxyXG4gKiAgIC5wYWdlKDIpXHJcbiAqICAgLnBhZ2VTaXplKDUpXHJcbiAqICAgLnNvcnQoKVxyXG4gKiAgIC5leGVjKCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFBvUXVlcnlCdWlsZGVyIHtcclxuICBwcml2YXRlIGZpZWxkczogc3RyaW5nO1xyXG4gIHByaXZhdGUgZmlsdGVyczogYW55O1xyXG5cclxuICBwcml2YXRlIF9saW1pdDogbnVtYmVyO1xyXG4gIHByaXZhdGUgX3BhZ2U6IG51bWJlcjtcclxuICBwcml2YXRlIF9wYWdlU2l6ZTogbnVtYmVyO1xyXG4gIHByaXZhdGUgX3NvcnQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb1NjaGVtYVNlcnZpY2U6IFBvU2NoZW1hU2VydmljZSwgcHJpdmF0ZSBzY2hlbWE6IFBvU3luY1NjaGVtYSkge1xyXG4gICAgdGhpcy5fcGFnZSA9IDE7XHJcbiAgICB0aGlzLmZpbHRlcnMgPSB7fTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFvIGZpbmFsIGRhIGNoYW1hZGEgZG9zIG3DqXRvZG9zIGRvIGBQb1F1ZXJ5QnVpbGRlcmAgdXRpbGl6YWRvcywgZXN0ZSBtw6l0b2RvIGRldmUgc2VyIGNoYW1hZG8gcGFyYSBxdWUgYSBidXNjYSBzZWphIGNvbmNsdcOtZGEuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFBvUmVzcG9uc2VBcGkgfCBvYmplY3Q+fSBSZWdpc3Ryb3MgZG8gKnNjaGVtYSogbmEgcXVhbCBmb2kgYXBsaWNhZG8gYSBjb25zdWx0YS5cclxuICAgKi9cclxuICBhc3luYyBleGVjKCk6IFByb21pc2U8UG9SZXNwb25zZUFwaSB8IG9iamVjdD4ge1xyXG4gICAgbGV0IHN0b3JhZ2VEYXRhID0gYXdhaXQgdGhpcy5wb1NjaGVtYVNlcnZpY2UuZ2V0QWxsKHRoaXMuc2NoZW1hLm5hbWUpO1xyXG5cclxuICAgIGlmIChzdG9yYWdlRGF0YSAmJiBzdG9yYWdlRGF0YS5sZW5ndGgpIHtcclxuICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuZmlsdGVycykubGVuZ3RoKSB7XHJcbiAgICAgICAgc3RvcmFnZURhdGEgPSB0aGlzLmFwcGx5RmlsdGVycyhzdG9yYWdlRGF0YSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZmllbGRzKSB7XHJcbiAgICAgICAgc3RvcmFnZURhdGEgPSB0aGlzLmFwcGx5RmllbGRzKHRoaXMuc2NoZW1hLmZpZWxkcywgc3RvcmFnZURhdGEpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLl9zb3J0KSB7XHJcbiAgICAgICAgc3RvcmFnZURhdGEgPSB0aGlzLm9yZGVyKHN0b3JhZ2VEYXRhLCB0aGlzLl9zb3J0KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuX2xpbWl0KSB7XHJcbiAgICAgICAgcmV0dXJuIHN0b3JhZ2VEYXRhWzBdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2luYXRlKHN0b3JhZ2VEYXRhKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBoYXNOZXh0OiBmYWxzZSxcclxuICAgICAgICBpdGVtczogW11cclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFwbGljYSBmaWx0cm9zIHNvYnJlIG9zIHJlZ2lzdHJvcywgYmFzZWFkb3Mgbm9zIGNhbXBvcyBlIHZhbG9yZXMgZGVmaW5pZG9zIGNvbW8gZmlsdHJvLiBQb3IgZXhlbXBsbzpcclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqIFBvUXVlcnlCdWlsZGVyLmZpbHRlcih7IG5hbWU6ICdNYXJpZScsIGFnZTogMjQgfSk7XHJcbiAgICogYGBgXHJcbiAgICogUmV0b3JuYSB0b2RvcyBvcyByZWdpc3Ryb3MgcXVlIGNvbnRlbmhhbSBhIHByb3ByaWVkYWRlIGBuYW1lYCBpZ3VhbCBhIE1hcmllIGUgYGFnZWAgaWd1YWwgYSAyNC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBmaWx0ZXIgT2JqZXRvIHF1ZSBjb250w6ltIG9zIGNhbXBvcyBlIHZhbG9yZXMgYSBzZXJlbSBmaWx0cmFkb3Mgbm8gKnNjaGVtYSouXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7UG9RdWVyeUJ1aWxkZXJ9IE9iamV0byBxdWUgcG9zc2liaWxpdGEgZW5jYWRlYXIgdW0gbm92byBtw6l0b2RvIGRvIGBQb1F1ZXJ5QnVpbGRlcmAuXHJcbiAgICovXHJcbiAgZmlsdGVyKGZpbHRlcj86IG9iamVjdCk6IFBvUXVlcnlCdWlsZGVyIHtcclxuICAgIGlmIChmaWx0ZXIgJiYgdHlwZW9mIGZpbHRlciA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgdGhpcy5maWx0ZXJzID0geyAuLi50aGlzLmZpbHRlcnMsIC4uLmZpbHRlciB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWx0ZXIgbXVzdCBiZSBhbiBvYmplY3QnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExpbWl0YSBvIG7Dum1lcm8gZGUgcmVnaXN0cm9zIHF1ZSBzZXLDo28gcmV0b3JuYWRvcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW1pdCBOw7ptZXJvIGRlIHJlZ2lzdHJvcyByZXRvcm5hZG9zLlxyXG4gICAqIEByZXR1cm5zIHtQb1F1ZXJ5QnVpbGRlcn0gT2JqZXRvIHF1ZSBwb3NzaWJpbGl0YSBlbmNhZGVhciB1bSBub3ZvIG3DqXRvZG8gZG8gYFBvUXVlcnlCdWlsZGVyYC5cclxuICAgKi9cclxuICBsaW1pdChsaW1pdDogbnVtYmVyKTogUG9RdWVyeUJ1aWxkZXIge1xyXG4gICAgdGhpcy5fbGltaXQgPSBsaW1pdDtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXNwZWNpZmljYSBhIHDDoWdpbmEgZGUgcmVnaXN0cm9zIHF1ZSBzZSBkZXNlamEgcmV0b3JuYXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gcGFnZSBOw7ptZXJvIGRhIHDDoWdpbmEuXHJcbiAgICogQHJldHVybnMge1BvUXVlcnlCdWlsZGVyfSBPYmpldG8gcXVlIHBvc3NpYmlsaXRhIGVuY2FkZWFyIHVtIG5vdm8gbcOpdG9kbyBkbyBgUG9RdWVyeUJ1aWxkZXJgLlxyXG4gICAqL1xyXG4gIHBhZ2UocGFnZTogbnVtYmVyKTogUG9RdWVyeUJ1aWxkZXIge1xyXG4gICAgdmFsaWRhdGVQYXJhbWV0ZXIoeyBwYWdlIH0pO1xyXG5cclxuICAgIHRoaXMuX3BhZ2UgPSBwYWdlO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgcXVhbnRvcyBlbGVtZW50b3Mgc2Vyw6NvIHJldG9ybmFkb3MgcG9yIHDDoWdpbmEuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gcGFnZVNpemUgTsO6bWVybyBkZSByZWdpc3Ryb3MgcG9yIHDDoWdpbmEuXHJcbiAgICogQHJldHVybnMge1BvUXVlcnlCdWlsZGVyfSBPYmpldG8gcXVlIHBvc3NpYmlsaXRhIGVuY2FkZWFyIHVtIG5vdm8gbcOpdG9kbyBkbyBgUG9RdWVyeUJ1aWxkZXJgLlxyXG4gICAqL1xyXG4gIHBhZ2VTaXplKHBhZ2VTaXplOiBudW1iZXIpOiBQb1F1ZXJ5QnVpbGRlciB7XHJcbiAgICB2YWxpZGF0ZVBhcmFtZXRlcih7IHBhZ2VTaXplIH0pO1xyXG5cclxuICAgIHRoaXMuX3BhZ2VTaXplID0gcGFnZVNpemU7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFV0aWxpemFkbyBwYXJhIGRlZmluaXIgcXVhaXMgY2FtcG9zIGRvICpzY2hlbWEqIHNlcsOjbyByZXRvcm5hZG9zIG5hIGNvbnN1bHRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZpZWxkcyBDYW1wb3MgcXVlIHNlcsOjbyByZXRvcm5hZG9zIG5vcyByZWdpc3Ryb3MuIEVzdGUgY2FtcG9zIGRldmVtIGVzdGFyIGRlbnRybyBkZVxyXG4gICAqIHVtYSAqc3RyaW5nKiBzZXBhcmFkb3MgcG9yIGVzcGHDp28gcG9kZW5kbyB1c2FyIG8gY2FyYWN0ZXJlIGAtYCBwYXJhIGV4Y2x1aXIgY2FtcG9zLlxyXG4gICAqIFBvciBleGVtcGxvLCBhIGRlZmluacOnw6NvIGFiYWl4bzpcclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqIFBvUXVlcnlCdWlsZGVyLnNlbGVjdCgnbmFtZSBhZ2UgYWRkcmVzcycpO1xyXG4gICAqIGBgYFxyXG4gICAqIElyw6EgcmV0b3JuYXIgYXBlbmFzIG9zIGNhbXBvcyBgbmFtZWAsIGBhZ2VgIGUgYGFkZHJlc3NgLiBQYXJhIG7Do28gcmV0b3JuYXIgdW0gY2FtcG8gb3UgbWFpcyBiYXN0YSBmYXplcjpcclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqIFBvUXVlcnlCdWlsZGVyLnNlbGVjdCgnLW5hbWUgLWFnZScpO1xyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogQHJldHVybnMge1BvUXVlcnlCdWlsZGVyfSBPYmpldG8gcXVlIHBvc3NpYmlsaXRhIGVuY2FkZWFyIHVtIG5vdm8gbcOpdG9kbyBkbyBgUG9RdWVyeUJ1aWxkZXJgLlxyXG4gICAqL1xyXG4gIHNlbGVjdChmaWVsZHM6IHN0cmluZyk6IFBvUXVlcnlCdWlsZGVyIHtcclxuICAgIHZhbGlkYXRlUGFyYW1ldGVyKHsgZmllbGRzIH0pO1xyXG5cclxuICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPcmRlbmEgb3MgcmVnaXN0cm9zIHBvciB1bSBjYW1wby5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWVsZCBDYW1wbyBhIHNlciBvcmRlbmFkby4gUGFyYSBvcmRlbmFyIGRlIGZvcm1hIGRlY3Jlc2NlbnRlIGJhc3RhIGNvbG9jYXIgbyBjYXJhY3RlcmUgYC1gXHJcbiAgICogbmEgZnJlbnRlIGRvIGNhbXBvLiBQb3IgZXhlbXBsbzpcclxuICAgKiBgYGBcclxuICAgKiBQb1F1ZXJ5QnVpbGRlci5zb3J0KCctbmFtZScpO1xyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogQHJldHVybnMge1BvUXVlcnlCdWlsZGVyfSBPYmpldG8gcXVlIHBvc3NpYmlsaXRhIGVuY2FkZWFyIHVtIG5vdm8gbcOpdG9kbyBkbyBgUG9RdWVyeUJ1aWxkZXJgLlxyXG4gICAqL1xyXG4gIHNvcnQoZmllbGQ6IHN0cmluZyk6IFBvUXVlcnlCdWlsZGVyIHtcclxuICAgIHZhbGlkYXRlUGFyYW1ldGVyKHsgZmllbGQgfSk7XHJcblxyXG4gICAgdGhpcy5fc29ydCA9IGZpZWxkO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFc3NhIGZ1bsOnw6NvIHNlcnZlIGNvbW8gYWxpYXMgcGFyYSBvIGBQb1F1ZXJ5QnVpbGRlci5maWx0ZXIoKWAuIMOJIHV0aWxpemFkYSBzb21lbnRlIHBhcmEgZGFyIG1haW9yIGxlZ2liaWxpZGFkZSBhbyBjw7NkaWdvLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtvYmplY3R9IGZpbHRlciBPYmpldG8gcXVlIGNvbnTDqW0gb3MgY2FtcG9zIGUgdmFsb3JlcyBhIHNlcmVtIGZpbHRyYWRvcyBubyAqc2NoZW1hKi5cclxuICAgKiBAcmV0dXJucyB7UG9RdWVyeUJ1aWxkZXJ9IE9iamV0byBxdWUgcG9zc2liaWxpdGEgZW5jYWRlYXIgdW0gbm92byBtw6l0b2RvIGRvIGBQb1F1ZXJ5QnVpbGRlcmAuXHJcbiAgICovXHJcbiAgd2hlcmUoZmlsdGVyOiBvYmplY3QpOiBQb1F1ZXJ5QnVpbGRlciB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoZmlsdGVyKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlGaWVsZHMoc2NoZW1hRmllbGRzOiBBcnJheTxhbnk+LCBkYXRhOiBBcnJheTxvYmplY3Q+KTogQXJyYXk8b2JqZWN0PiB7XHJcbiAgICBjb25zdCByZWNlaXZlZEZpZWxkcyA9IHRoaXMuZmllbGRzLnNwbGl0KCcgJyk7XHJcbiAgICBsZXQgcmVzdHJpY3RlZEZpZWxkcyA9IFtdO1xyXG4gICAgbGV0IHNlbGVjdGVkRmllbGRzID0gW107XHJcblxyXG4gICAgW3NlbGVjdGVkRmllbGRzLCByZXN0cmljdGVkRmllbGRzXSA9IHRoaXMuZ3JvdXBGaWVsZHMocmVjZWl2ZWRGaWVsZHMpO1xyXG5cclxuICAgIGlmICghc2VsZWN0ZWRGaWVsZHMubGVuZ3RoICYmIHJlc3RyaWN0ZWRGaWVsZHMubGVuZ3RoKSB7XHJcbiAgICAgIHNlbGVjdGVkRmllbGRzID0gWy4uLnNjaGVtYUZpZWxkc107XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlc3RyaWN0ZWRGaWVsZHMubGVuZ3RoKSB7XHJcbiAgICAgIHNlbGVjdGVkRmllbGRzID0gdGhpcy5yZW1vdmVSZXN0cmljdGVkRmllbGRzKHJlc3RyaWN0ZWRGaWVsZHMsIHNlbGVjdGVkRmllbGRzKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RlZEZpZWxkcyA9IHRoaXMucmVtb3ZlRHVwbGljYXRlKHNlbGVjdGVkRmllbGRzKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVGaWVsZHNEYXRhKGRhdGEsIHNlbGVjdGVkRmllbGRzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlGaWx0ZXJzKGRhdGE6IEFycmF5PG9iamVjdD4pOiBBcnJheTxvYmplY3Q+IHtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZmlsdGVycykuZm9yRWFjaChmaWx0ZXJLZXkgPT4ge1xyXG4gICAgICBkYXRhID0gZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtW2ZpbHRlcktleV0gPT09IHRoaXMuZmlsdGVyc1tmaWx0ZXJLZXldKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBncm91cEZpZWxkcyhyZWNlaXZlZEZpZWxkczogQXJyYXk8c3RyaW5nPik6IEFycmF5PEFycmF5PHN0cmluZz4+IHtcclxuICAgIGNvbnN0IHJlc3RyaWN0ZWRGaWVsZHMgPSBbXTtcclxuICAgIGNvbnN0IHNlbGVjdGVkRmllbGRzID0gW107XHJcblxyXG4gICAgcmVjZWl2ZWRGaWVsZHMuZm9yRWFjaChmaWVsZHMgPT4ge1xyXG4gICAgICBpZiAoZmllbGRzLnN0YXJ0c1dpdGgoJy0nKSkge1xyXG4gICAgICAgIHJlc3RyaWN0ZWRGaWVsZHMucHVzaChmaWVsZHMuc3Vic3RyaW5nKDEpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZWxlY3RlZEZpZWxkcy5wdXNoKGZpZWxkcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIFtzZWxlY3RlZEZpZWxkcywgcmVzdHJpY3RlZEZpZWxkc107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhZ2luYXRlKGRhdGE6IEFycmF5PGFueT4pOiB7IGhhc05leHQ6IGJvb2xlYW47IGl0ZW1zOiBBcnJheTxhbnk+IH0ge1xyXG4gICAgY29uc3QgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoO1xyXG4gICAgY29uc3QgcGFnZVNpemUgPSB0aGlzLl9wYWdlU2l6ZSB8fCBkYXRhTGVuZ3RoO1xyXG5cclxuICAgIGNvbnN0IHBhZ2VzID0gTWF0aC5jZWlsKGRhdGFMZW5ndGggLyBwYWdlU2l6ZSk7XHJcbiAgICBjb25zdCBiZWdpbiA9IHRoaXMuX3BhZ2UgKiBwYWdlU2l6ZSAtIHBhZ2VTaXplO1xyXG4gICAgY29uc3QgZW5kID0gYmVnaW4gKyBwYWdlU2l6ZTtcclxuXHJcbiAgICByZXR1cm4geyBoYXNOZXh0OiB0aGlzLl9wYWdlIDwgcGFnZXMsIGl0ZW1zOiBkYXRhLnNsaWNlKGJlZ2luLCBlbmQpIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9yZGVyKGRhdGE6IEFycmF5PGFueT4sIHNvcnRpbmdGaWVsZDogc3RyaW5nKTogQXJyYXk8YW55PiB7XHJcbiAgICBjb25zdCBkZXNjZW5kaW5nT3JkZXIgPSBzb3J0aW5nRmllbGQuc3RhcnRzV2l0aCgnLScpO1xyXG4gICAgc29ydGluZ0ZpZWxkID0gZGVzY2VuZGluZ09yZGVyID8gc29ydGluZ0ZpZWxkLnN1YnN0cigxKSA6IHNvcnRpbmdGaWVsZDtcclxuXHJcbiAgICByZXR1cm4gZGF0YS5zb3J0KChvcHRpb25BLCBvcHRpb25CKSA9PiB7XHJcbiAgICAgIGlmIChvcHRpb25BW3NvcnRpbmdGaWVsZF0gPiBvcHRpb25CW3NvcnRpbmdGaWVsZF0pIHtcclxuICAgICAgICByZXR1cm4gIWRlc2NlbmRpbmdPcmRlciA/IDEgOiAtMTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKG9wdGlvbkFbc29ydGluZ0ZpZWxkXSA8IG9wdGlvbkJbc29ydGluZ0ZpZWxkXSkge1xyXG4gICAgICAgIHJldHVybiAhZGVzY2VuZGluZ09yZGVyID8gLTEgOiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVEdXBsaWNhdGUoZmllbGRzKTogQXJyYXk8YW55PiB7XHJcbiAgICByZXR1cm4gZmllbGRzLmZpbHRlcigoaXRlbSwgcG9zaXRpb24pID0+IGZpZWxkcy5pbmRleE9mKGl0ZW0pID09PSBwb3NpdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZUZpZWxkc0RhdGEoZGF0YTogQXJyYXk8b2JqZWN0PiwgY2hvc2VuRmllbGRzOiBBcnJheTxzdHJpbmc+KTogQXJyYXk8b2JqZWN0PiB7XHJcbiAgICBkYXRhLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIE9iamVjdC5rZXlzKGl0ZW0pLmZvckVhY2goa2V5SXRlbSA9PiB7XHJcbiAgICAgICAgaWYgKCFjaG9zZW5GaWVsZHMuaW5jbHVkZXMoa2V5SXRlbSkpIHtcclxuICAgICAgICAgIGRlbGV0ZSBpdGVtW2tleUl0ZW1dO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVSZXN0cmljdGVkRmllbGRzKHJlc3RyaWN0ZWRGaWVsZHM6IEFycmF5PGFueT4sIGZpZWxkczogQXJyYXk8YW55Pikge1xyXG4gICAgcmV0dXJuIGZpZWxkcy5maWx0ZXIoZmllbGQgPT4gIXJlc3RyaWN0ZWRGaWVsZHMuaW5jbHVkZXMoZmllbGQpKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,16 +1,16 @@
1
- /**
2
- * @docsPrivate
3
- *
4
- * @description
5
- *
6
- * Método de requisição HTTP.
7
- */
8
- export var PoRequestType;
9
- (function (PoRequestType) {
10
- PoRequestType["GET"] = "get";
11
- PoRequestType["DELETE"] = "delete";
12
- PoRequestType["DIFF"] = "diff";
13
- PoRequestType["PATCH"] = "patch";
14
- PoRequestType["POST"] = "post";
15
- })(PoRequestType || (PoRequestType = {}));
1
+ /**
2
+ * @docsPrivate
3
+ *
4
+ * @description
5
+ *
6
+ * Método de requisição HTTP.
7
+ */
8
+ export var PoRequestType;
9
+ (function (PoRequestType) {
10
+ PoRequestType["GET"] = "get";
11
+ PoRequestType["DELETE"] = "delete";
12
+ PoRequestType["DIFF"] = "diff";
13
+ PoRequestType["PATCH"] = "patch";
14
+ PoRequestType["POST"] = "post";
15
+ })(PoRequestType || (PoRequestType = {}));
16
16
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcmVxdWVzdC10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvbW9kZWxzL3BvLXJlcXVlc3QtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE1BQU0sQ0FBTixJQUFZLGFBVVg7QUFWRCxXQUFZLGFBQWE7SUFDdkIsNEJBQVcsQ0FBQTtJQUVYLGtDQUFpQixDQUFBO0lBRWpCLDhCQUFhLENBQUE7SUFFYixnQ0FBZSxDQUFBO0lBRWYsOEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFWVyxhQUFhLEtBQWIsYUFBYSxRQVV4QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAZG9jc1ByaXZhdGVcclxuICpcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqXHJcbiAqIE3DqXRvZG8gZGUgcmVxdWlzacOnw6NvIEhUVFAuXHJcbiAqL1xyXG5cclxuZXhwb3J0IGVudW0gUG9SZXF1ZXN0VHlwZSB7XHJcbiAgR0VUID0gJ2dldCcsXHJcblxyXG4gIERFTEVURSA9ICdkZWxldGUnLFxyXG5cclxuICBESUZGID0gJ2RpZmYnLFxyXG5cclxuICBQQVRDSCA9ICdwYXRjaCcsXHJcblxyXG4gIFBPU1QgPSAncG9zdCdcclxufVxyXG4iXX0=
@@ -1,40 +1,40 @@
1
- import { NgModule } from '@angular/core';
2
- import { PoEventSourcingService } from './services/po-event-sourcing/po-event-sourcing.service';
3
- import { PoHttpClientService } from './services/po-http-client/po-http-client.service';
4
- import { PoNetworkService } from './services/po-network/po-network.service';
5
- import { PoSchemaDefinitionService } from './services/po-schema/po-schema-definition/po-schema-definition.service';
6
- import { PoSchemaService } from './services/po-schema/po-schema.service';
7
- import { PoSyncService } from './services/po-sync/po-sync.service';
8
- import * as i0 from "@angular/core";
9
- /**
10
- * @description
11
- *
12
- * Módulo do componente PoSync responsável pela sincronia de dados com backends
13
- */
14
- export class PoSyncModule {
15
- }
16
- PoSyncModule.ɵfac = function PoSyncModule_Factory(t) { return new (t || PoSyncModule)(); };
17
- PoSyncModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PoSyncModule });
18
- PoSyncModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
19
- PoEventSourcingService,
20
- PoNetworkService,
21
- PoSchemaDefinitionService,
22
- PoSchemaService,
23
- PoSyncService,
24
- PoHttpClientService
25
- ] });
26
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoSyncModule, [{
27
- type: NgModule,
28
- args: [{
29
- providers: [
30
- PoEventSourcingService,
31
- PoNetworkService,
32
- PoSchemaDefinitionService,
33
- PoSchemaService,
34
- PoSyncService,
35
- PoHttpClientService
36
- ],
37
- imports: []
38
- }]
39
- }], null, null); })();
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3luYy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvcG8tc3luYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUVuRTs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLFlBQVk7O3dFQUFaLFlBQVk7OERBQVosWUFBWTttRUFWWjtRQUNULHNCQUFzQjtRQUN0QixnQkFBZ0I7UUFDaEIseUJBQXlCO1FBQ3pCLGVBQWU7UUFDZixhQUFhO1FBQ2IsbUJBQW1CO0tBQ3BCO3VGQUdVLFlBQVk7Y0FYeEIsUUFBUTtlQUFDO2dCQUNSLFNBQVMsRUFBRTtvQkFDVCxzQkFBc0I7b0JBQ3RCLGdCQUFnQjtvQkFDaEIseUJBQXlCO29CQUN6QixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsbUJBQW1CO2lCQUNwQjtnQkFDRCxPQUFPLEVBQUUsRUFBRTthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFBvRXZlbnRTb3VyY2luZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BvLWV2ZW50LXNvdXJjaW5nL3BvLWV2ZW50LXNvdXJjaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb0h0dHBDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1odHRwLWNsaWVudC9wby1odHRwLWNsaWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9OZXR3b3JrU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tbmV0d29yay9wby1uZXR3b3JrLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb1NjaGVtYURlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1zY2hlbWEvcG8tc2NoZW1hLWRlZmluaXRpb24vcG8tc2NoZW1hLWRlZmluaXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFBvU2NoZW1hU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tc2NoZW1hL3BvLXNjaGVtYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9TeW5jU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tc3luYy9wby1zeW5jLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKlxyXG4gKiBNw7NkdWxvIGRvIGNvbXBvbmVudGUgUG9TeW5jIHJlc3BvbnPDoXZlbCBwZWxhIHNpbmNyb25pYSBkZSBkYWRvcyBjb20gYmFja2VuZHNcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBQb0V2ZW50U291cmNpbmdTZXJ2aWNlLFxyXG4gICAgUG9OZXR3b3JrU2VydmljZSxcclxuICAgIFBvU2NoZW1hRGVmaW5pdGlvblNlcnZpY2UsXHJcbiAgICBQb1NjaGVtYVNlcnZpY2UsXHJcbiAgICBQb1N5bmNTZXJ2aWNlLFxyXG4gICAgUG9IdHRwQ2xpZW50U2VydmljZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBvU3luY01vZHVsZSB7fVxyXG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { PoEventSourcingService } from './services/po-event-sourcing/po-event-sourcing.service';
3
+ import { PoHttpClientService } from './services/po-http-client/po-http-client.service';
4
+ import { PoNetworkService } from './services/po-network/po-network.service';
5
+ import { PoSchemaDefinitionService } from './services/po-schema/po-schema-definition/po-schema-definition.service';
6
+ import { PoSchemaService } from './services/po-schema/po-schema.service';
7
+ import { PoSyncService } from './services/po-sync/po-sync.service';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * @description
11
+ *
12
+ * Módulo do componente PoSync responsável pela sincronia de dados com backends
13
+ */
14
+ export class PoSyncModule {
15
+ static ɵfac = function PoSyncModule_Factory(t) { return new (t || PoSyncModule)(); };
16
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PoSyncModule });
17
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
18
+ PoEventSourcingService,
19
+ PoNetworkService,
20
+ PoSchemaDefinitionService,
21
+ PoSchemaService,
22
+ PoSyncService,
23
+ PoHttpClientService
24
+ ] });
25
+ }
26
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoSyncModule, [{
27
+ type: NgModule,
28
+ args: [{
29
+ providers: [
30
+ PoEventSourcingService,
31
+ PoNetworkService,
32
+ PoSchemaDefinitionService,
33
+ PoSchemaService,
34
+ PoSyncService,
35
+ PoHttpClientService
36
+ ],
37
+ imports: []
38
+ }]
39
+ }], null, null); })();
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3luYy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvcG8tc3luYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUVuRTs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLFlBQVk7c0VBQVosWUFBWTs0REFBWixZQUFZO2lFQVZaO1lBQ1Qsc0JBQXNCO1lBQ3RCLGdCQUFnQjtZQUNoQix5QkFBeUI7WUFDekIsZUFBZTtZQUNmLGFBQWE7WUFDYixtQkFBbUI7U0FDcEI7O3VGQUdVLFlBQVk7Y0FYeEIsUUFBUTtlQUFDO2dCQUNSLFNBQVMsRUFBRTtvQkFDVCxzQkFBc0I7b0JBQ3RCLGdCQUFnQjtvQkFDaEIseUJBQXlCO29CQUN6QixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsbUJBQW1CO2lCQUNwQjtnQkFDRCxPQUFPLEVBQUUsRUFBRTthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFBvRXZlbnRTb3VyY2luZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BvLWV2ZW50LXNvdXJjaW5nL3BvLWV2ZW50LXNvdXJjaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb0h0dHBDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1odHRwLWNsaWVudC9wby1odHRwLWNsaWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9OZXR3b3JrU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tbmV0d29yay9wby1uZXR3b3JrLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb1NjaGVtYURlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1zY2hlbWEvcG8tc2NoZW1hLWRlZmluaXRpb24vcG8tc2NoZW1hLWRlZmluaXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFBvU2NoZW1hU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tc2NoZW1hL3BvLXNjaGVtYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9TeW5jU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tc3luYy9wby1zeW5jLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKlxyXG4gKiBNw7NkdWxvIGRvIGNvbXBvbmVudGUgUG9TeW5jIHJlc3BvbnPDoXZlbCBwZWxhIHNpbmNyb25pYSBkZSBkYWRvcyBjb20gYmFja2VuZHNcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBQb0V2ZW50U291cmNpbmdTZXJ2aWNlLFxyXG4gICAgUG9OZXR3b3JrU2VydmljZSxcclxuICAgIFBvU2NoZW1hRGVmaW5pdGlvblNlcnZpY2UsXHJcbiAgICBQb1NjaGVtYVNlcnZpY2UsXHJcbiAgICBQb1N5bmNTZXJ2aWNlLFxyXG4gICAgUG9IdHRwQ2xpZW50U2VydmljZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBvU3luY01vZHVsZSB7fVxyXG4iXX0=
@@ -1,17 +1,17 @@
1
- /**
2
- * @docsPrivate
3
- *
4
- * Define as operações realizadas no sync.
5
- */
6
- export var PoEventSourcingOperation;
7
- (function (PoEventSourcingOperation) {
8
- // Operação de exclusão.
9
- PoEventSourcingOperation["Delete"] = "DELETE";
10
- // Operação de requisição HTTP.
11
- PoEventSourcingOperation["Http"] = "HTTP";
12
- // Operação de inserção.
13
- PoEventSourcingOperation["Insert"] = "INSERT";
14
- // Operação de alteração.
15
- PoEventSourcingOperation["Update"] = "UPDATE";
16
- })(PoEventSourcingOperation || (PoEventSourcingOperation = {}));
1
+ /**
2
+ * @docsPrivate
3
+ *
4
+ * Define as operações realizadas no sync.
5
+ */
6
+ export var PoEventSourcingOperation;
7
+ (function (PoEventSourcingOperation) {
8
+ // Operação de exclusão.
9
+ PoEventSourcingOperation["Delete"] = "DELETE";
10
+ // Operação de requisição HTTP.
11
+ PoEventSourcingOperation["Http"] = "HTTP";
12
+ // Operação de inserção.
13
+ PoEventSourcingOperation["Insert"] = "INSERT";
14
+ // Operação de alteração.
15
+ PoEventSourcingOperation["Update"] = "UPDATE";
16
+ })(PoEventSourcingOperation || (PoEventSourcingOperation = {}));
17
17
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZXZlbnQtc291cmNpbmctb3BlcmF0aW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tZXZlbnQtc291cmNpbmcvZW51bXMvcG8tZXZlbnQtc291cmNpbmctb3BlcmF0aW9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE1BQU0sQ0FBTixJQUFZLHdCQVlYO0FBWkQsV0FBWSx3QkFBd0I7SUFDbEMsd0JBQXdCO0lBQ3hCLDZDQUFpQixDQUFBO0lBRWpCLCtCQUErQjtJQUMvQix5Q0FBYSxDQUFBO0lBRWIsd0JBQXdCO0lBQ3hCLDZDQUFpQixDQUFBO0lBRWpCLHlCQUF5QjtJQUN6Qiw2Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBWlcsd0JBQXdCLEtBQXhCLHdCQUF3QixRQVluQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAZG9jc1ByaXZhdGVcclxuICpcclxuICogRGVmaW5lIGFzIG9wZXJhw6fDtWVzIHJlYWxpemFkYXMgbm8gc3luYy5cclxuICovXHJcblxyXG5leHBvcnQgZW51bSBQb0V2ZW50U291cmNpbmdPcGVyYXRpb24ge1xyXG4gIC8vIE9wZXJhw6fDo28gZGUgZXhjbHVzw6NvLlxyXG4gIERlbGV0ZSA9ICdERUxFVEUnLFxyXG5cclxuICAvLyBPcGVyYcOnw6NvIGRlIHJlcXVpc2nDp8OjbyBIVFRQLlxyXG4gIEh0dHAgPSAnSFRUUCcsXHJcblxyXG4gIC8vIE9wZXJhw6fDo28gZGUgaW5zZXLDp8Ojby5cclxuICBJbnNlcnQgPSAnSU5TRVJUJyxcclxuXHJcbiAgLy8gT3BlcmHDp8OjbyBkZSBhbHRlcmHDp8Ojby5cclxuICBVcGRhdGUgPSAnVVBEQVRFJ1xyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- export * from './po-event-sourcing.service';
2
- export * from './enums/po-event-sourcing-operation.enum';
3
- export * from './interfaces/po-event-sourcing-summary-item.interface';
1
+ export * from './po-event-sourcing.service';
2
+ export * from './enums/po-event-sourcing-operation.enum';
3
+ export * from './interfaces/po-event-sourcing-summary-item.interface';
4
4
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tZXZlbnQtc291cmNpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsdURBQXVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BvLWV2ZW50LXNvdXJjaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudW1zL3BvLWV2ZW50LXNvdXJjaW5nLW9wZXJhdGlvbi5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWV2ZW50LXNvdXJjaW5nLXN1bW1hcnktaXRlbS5pbnRlcmZhY2UnO1xyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZXZlbnQtc291cmNpbmctaXRlbS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tZXZlbnQtc291cmNpbmcvaW50ZXJmYWNlcy9wby1ldmVudC1zb3VyY2luZy1pdGVtLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9FdmVudFNvdXJjaW5nT3BlcmF0aW9uIH0gZnJvbSAnLi8uLi9lbnVtcy9wby1ldmVudC1zb3VyY2luZy1vcGVyYXRpb24uZW51bSc7XHJcbmltcG9ydCB7IFBvSHR0cFJlcXVlc3REYXRhIH0gZnJvbSAnLi4vLi4vcG8taHR0cC1jbGllbnQvaW50ZXJmYWNlcy9wby1odHRwLXJlcXVlc3QtZGF0YS5pbnRlcmZhY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKlxyXG4gKiBDbGFzc2UgcXVlIGlyw6EgbWFwZWFyIGFzIGluZm9ybWHDp8O1ZXMgZG9zIGBFdmVudFNvdXJjaW5nYCBnZXJhZG9zIHBlbGEgYXBsaWNhw6fDo28uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBvRXZlbnRTb3VyY2luZ0l0ZW0ge1xyXG4gIC8qKiBWYWxvciBudW3DqXJpY28gY29ycmVzcG9uZGVudGUgYW8gaG9yw6FyaW8gZGEgZGF0YSBlbSBxdWUgbyByZWdpc3RybyBmb2kgY3JpYWRvIGRlIGFjb3JkbyBjb20gbyBob3LDoXJpbyB1bml2ZXJzYWwuICovXHJcbiAgZGF0ZVRpbWU6IG51bWJlcjtcclxuXHJcbiAgLyoqIElkZW50aWZpY2Fkb3IgZG8gcmVnaXN0cm8uICovXHJcbiAgaWQ6IG51bWJlcjtcclxuXHJcbiAgLyoqIElkZW50aWZpY2Fkb3IgY3VzdG9taXphZG8gZG8gcmVnaXN0cm8uICovXHJcbiAgY3VzdG9tUmVxdWVzdElkPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBFc3BlY2lmaWNhIGEgb3BlcmHDp8OjbyBxdWUgZGV2ZXLDoSBzZXIgcmVhbGl6YWRhIG5hIEFQSS5cclxuICAgKi9cclxuICBvcGVyYXRpb246IFBvRXZlbnRTb3VyY2luZ09wZXJhdGlvbjtcclxuXHJcbiAgLyoqIE9iamV0byAqanNvbiogY29tIG9zIGRhZG9zIGRvIHJlZ2lzdHJvLlxyXG4gICAqXHJcbiAgICogPiBDYXNvIGEgb3BlcmHDp8OjbyBzZWphIGRvIHRpcG8gSFRUUCwgbyByZWdpc3RybyBkZXZlcsOhIHRlciBhIGFzc2luYXR1cmEgZGEgaW50ZXJmYWNlIGBQb0h0dHBPcGVyYXRpb25EYXRhYC5cclxuICAgKi9cclxuICByZWNvcmQ6IGFueSB8IFBvSHR0cFJlcXVlc3REYXRhO1xyXG5cclxuICAvKiogTm9tZSBkbyAqc2NoZW1hKiDDoCBxdWFsIHNlIHJlZmVyZSBvIGBFdmVudFNvdXJjaW5nYC4gKi9cclxuICBzY2hlbWE/OiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZXZlbnQtc291cmNpbmctc3VtbWFyeS1pdGVtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5bmMvc3JjL2xpYi9zZXJ2aWNlcy9wby1ldmVudC1zb3VyY2luZy9pbnRlcmZhY2VzL3BvLWV2ZW50LXNvdXJjaW5nLXN1bW1hcnktaXRlbS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvRXZlbnRTb3VyY2luZ09wZXJhdGlvbiB9IGZyb20gJy4uL2VudW1zL3BvLWV2ZW50LXNvdXJjaW5nLW9wZXJhdGlvbi5lbnVtJztcclxuXHJcbi8qKlxyXG4gKiBAZG9jc1ByaXZhdGVcclxuICpcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqXHJcbiAqIERlZmluZSBhcyBpbmZvcm1hw6fDtWVzIGRlIHVtIGV2ZW50byBwYXJhIHVtIGRldGVybWluYWRvIHJlZ2lzdHJvLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBQb0V2ZW50U291cmNpbmdTdW1tYXJ5SXRlbSB7XHJcbiAgLyoqIElkZW50aWZpY2Fkb3IgY3VzdG9taXphZG8gZG8gcmVnaXN0cm8uICovXHJcbiAgY3VzdG9tUmVxdWVzdElkOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBFc3BlY2lmaWNhIGEgb3BlcmHDp8OjbyBxdWUgZGV2ZXLDoSBzZXIgcmVhbGl6YWRhIG5hIEFQSS4gKi9cclxuICBvcGVyYXRpb246IFBvRXZlbnRTb3VyY2luZ09wZXJhdGlvbjtcclxuXHJcbiAgLyoqIE9iamV0byAqanNvbiogY29tIG9zIGRhZG9zIGRvIHJlZ2lzdHJvLiAqL1xyXG4gIHJlY29yZDogb2JqZWN0O1xyXG59XHJcbiJdfQ==