@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.
Files changed (145) hide show
  1. package/README.md +22 -22
  2. package/{esm2015/lib/index.js → esm2020/lib/index.mjs} +15 -15
  3. package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +6 -6
  4. package/{esm2015/lib/models/po-data-message.model.js → esm2020/lib/models/po-data-message.model.mjs} +57 -57
  5. package/esm2020/lib/models/po-data-transform.model.mjs +22 -0
  6. package/esm2020/lib/models/po-entity/po-entity.model.mjs +214 -0
  7. package/{esm2015/lib/models/po-event-sourcing-error-response.model.js → esm2020/lib/models/po-event-sourcing-error-response.model.mjs} +17 -17
  8. package/{esm2015/lib/models/po-network-status.model.js → esm2020/lib/models/po-network-status.model.mjs} +44 -44
  9. package/{esm2015/lib/models/po-network-type.enum.js → esm2020/lib/models/po-network-type.enum.mjs} +30 -30
  10. package/esm2020/lib/models/po-query-builder/po-query-builder.model.mjs +238 -0
  11. package/{esm2015/lib/models/po-request-type.enum.js → esm2020/lib/models/po-request-type.enum.mjs} +16 -16
  12. package/esm2020/lib/po-sync.module.mjs +45 -0
  13. 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
  14. package/{esm2015/lib/services/po-event-sourcing/index.js → esm2020/lib/services/po-event-sourcing/index.mjs} +4 -4
  15. package/esm2020/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.mjs +2 -0
  16. package/esm2020/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.mjs +2 -0
  17. package/esm2020/lib/services/po-event-sourcing/po-event-sourcing.service.mjs +372 -0
  18. 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
  19. package/esm2020/lib/services/po-http-client/interfaces/po-http-request-data.interface.mjs +2 -0
  20. package/esm2020/lib/services/po-http-client/interfaces/po-response-api.interface.mjs +2 -0
  21. package/esm2020/lib/services/po-http-client/po-http-client.service.mjs +148 -0
  22. 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
  23. package/esm2020/lib/services/po-network/po-network.service.mjs +58 -0
  24. package/{esm2015/lib/services/po-schema/index.js → esm2020/lib/services/po-schema/index.mjs} +4 -4
  25. package/esm2020/lib/services/po-schema/po-schema-definition/po-schema-definition.service.mjs +77 -0
  26. 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
  27. package/esm2020/lib/services/po-schema/po-schema.service.mjs +174 -0
  28. package/esm2020/lib/services/po-sync/interfaces/po-sync-config.interface.mjs +2 -0
  29. package/esm2020/lib/services/po-sync/interfaces/po-sync-field-options.interface.mjs +2 -0
  30. package/esm2020/lib/services/po-sync/interfaces/po-sync-response.interface.mjs +2 -0
  31. package/esm2020/lib/services/po-sync/interfaces/po-sync-schema.interface.mjs +2 -0
  32. package/esm2020/lib/services/po-sync/po-sync.service.mjs +325 -0
  33. package/{esm2015/lib/utils/utils.js → esm2020/lib/utils/utils.mjs} +63 -63
  34. package/esm2020/po-ui-ng-sync.mjs +5 -0
  35. package/{esm2015/public-api.js → esm2020/public-api.mjs} +2 -2
  36. package/fesm2015/{po-ui-ng-sync.js → po-ui-ng-sync.mjs} +2074 -2058
  37. package/fesm2015/po-ui-ng-sync.mjs.map +1 -0
  38. package/fesm2020/po-ui-ng-sync.mjs +2018 -0
  39. package/fesm2020/po-ui-ng-sync.mjs.map +1 -0
  40. package/lib/index.d.ts +14 -14
  41. package/lib/models/index.d.ts +5 -5
  42. package/lib/models/po-data-message.model.d.ts +46 -46
  43. package/lib/models/po-data-transform.model.d.ts +52 -52
  44. package/lib/models/po-entity/po-entity.model.d.ts +122 -122
  45. package/lib/models/po-event-sourcing-error-response.model.d.ts +20 -20
  46. package/lib/models/po-network-status.model.d.ts +25 -25
  47. package/lib/models/po-network-type.enum.d.ts +28 -28
  48. package/lib/models/po-query-builder/po-query-builder.model.d.ts +126 -126
  49. package/lib/models/po-request-type.enum.d.ts +14 -14
  50. package/lib/po-sync.module.d.ts +12 -7
  51. package/lib/services/po-event-sourcing/enums/po-event-sourcing-operation.enum.d.ts +11 -11
  52. package/lib/services/po-event-sourcing/index.d.ts +3 -3
  53. package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.d.ts +26 -26
  54. package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.d.ts +16 -16
  55. package/lib/services/po-event-sourcing/po-event-sourcing.service.d.ts +74 -71
  56. package/lib/services/po-http-client/interfaces/po-http-header-option.interface.d.ts +15 -15
  57. package/lib/services/po-http-client/interfaces/po-http-request-data.interface.d.ts +24 -24
  58. package/lib/services/po-http-client/interfaces/po-response-api.interface.d.ts +14 -14
  59. package/lib/services/po-http-client/po-http-client.service.d.ts +78 -75
  60. package/lib/services/po-http-client/po-http-request-type.enum.d.ts +23 -23
  61. package/lib/services/po-network/po-network.service.d.ts +36 -33
  62. package/lib/services/po-schema/index.d.ts +3 -3
  63. package/lib/services/po-schema/po-schema-definition/po-schema-definition.service.d.ts +51 -48
  64. package/lib/services/po-schema/po-schema-util/po-schema-util.model.d.ts +79 -79
  65. package/lib/services/po-schema/po-schema.service.d.ts +98 -95
  66. package/lib/services/po-sync/interfaces/po-sync-config.interface.d.ts +24 -24
  67. package/lib/services/po-sync/interfaces/po-sync-field-options.interface.d.ts +15 -15
  68. package/lib/services/po-sync/interfaces/po-sync-response.interface.d.ts +20 -20
  69. package/lib/services/po-sync/interfaces/po-sync-schema.interface.d.ts +37 -37
  70. package/lib/services/po-sync/po-sync.service.d.ts +162 -159
  71. package/lib/utils/utils.d.ts +36 -36
  72. package/package.json +30 -15
  73. package/po-ui-ng-sync-6.2.0.tgz +0 -0
  74. package/po-ui-ng-sync.d.ts +5 -8
  75. package/public-api.d.ts +1 -1
  76. package/schematics/README.md +169 -169
  77. package/schematics/collection.json +15 -15
  78. package/schematics/migrations.json +30 -25
  79. package/schematics/ng-add/index.d.ts +7 -7
  80. package/schematics/ng-add/index.js +33 -33
  81. package/schematics/ng-add/index.js.map +1 -1
  82. package/schematics/ng-add/index.spec.d.ts +1 -1
  83. package/schematics/ng-add/index.spec.js +62 -62
  84. package/schematics/ng-add/index.spec.js.map +1 -1
  85. package/schematics/ng-add/schema.json +7 -7
  86. package/schematics/ng-generate/schema/files/__path__/__name@dasherize__/__name@dasherize__.constants.ts.template +13 -13
  87. package/schematics/ng-generate/schema/index.d.ts +4 -4
  88. package/schematics/ng-generate/schema/index.js +12 -12
  89. package/schematics/ng-generate/schema/index.js.map +1 -1
  90. package/schematics/ng-generate/schema/index.spec.d.ts +1 -1
  91. package/schematics/ng-generate/schema/index.spec.js +44 -44
  92. package/schematics/ng-generate/schema/index.spec.js.map +1 -1
  93. package/schematics/ng-generate/schema/schema.d.ts +3 -3
  94. package/schematics/ng-generate/schema/schema.js +2 -2
  95. package/schematics/ng-generate/schema/schema.json +31 -31
  96. package/schematics/ng-update/v2/changes.d.ts +8 -8
  97. package/schematics/ng-update/v2/changes.js +20 -20
  98. package/schematics/ng-update/v2/index.d.ts +5 -5
  99. package/schematics/ng-update/v2/index.js +101 -101
  100. package/schematics/ng-update/v2/index.js.map +1 -1
  101. package/schematics/ng-update/v3/changes.d.ts +2 -2
  102. package/schematics/ng-update/v3/changes.js +14 -14
  103. package/schematics/ng-update/v3/index.d.ts +1 -1
  104. package/schematics/ng-update/v3/index.js +16 -16
  105. package/schematics/ng-update/v3/index.js.map +1 -1
  106. package/schematics/ng-update/v4/changes.d.ts +2 -2
  107. package/schematics/ng-update/v4/changes.js +14 -14
  108. package/schematics/ng-update/v4/index.d.ts +1 -1
  109. package/schematics/ng-update/v4/index.js +15 -15
  110. package/schematics/ng-update/v4/index.js.map +1 -1
  111. package/schematics/ng-update/v5/changes.d.ts +2 -2
  112. package/schematics/ng-update/v5/changes.js +13 -13
  113. package/schematics/ng-update/v5/index.d.ts +1 -1
  114. package/schematics/ng-update/v5/index.js +15 -15
  115. package/schematics/ng-update/v5/index.js.map +1 -1
  116. package/schematics/ng-update/v6/changes.d.ts +2 -0
  117. package/schematics/ng-update/v6/changes.js +14 -0
  118. package/schematics/ng-update/v6/changes.js.map +1 -0
  119. package/schematics/ng-update/v6/index.d.ts +1 -0
  120. package/schematics/ng-update/v6/index.js +16 -0
  121. package/schematics/ng-update/v6/index.js.map +1 -0
  122. package/bundles/po-ui-ng-sync.umd.js +0 -3002
  123. package/bundles/po-ui-ng-sync.umd.js.map +0 -1
  124. package/esm2015/lib/models/po-data-transform.model.js +0 -22
  125. package/esm2015/lib/models/po-entity/po-entity.model.js +0 -229
  126. package/esm2015/lib/models/po-query-builder/po-query-builder.model.js +0 -241
  127. package/esm2015/lib/po-sync.module.js +0 -31
  128. package/esm2015/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.js +0 -2
  129. package/esm2015/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.js +0 -2
  130. package/esm2015/lib/services/po-event-sourcing/po-event-sourcing.service.js +0 -411
  131. package/esm2015/lib/services/po-http-client/interfaces/po-http-request-data.interface.js +0 -2
  132. package/esm2015/lib/services/po-http-client/interfaces/po-response-api.interface.js +0 -2
  133. package/esm2015/lib/services/po-http-client/po-http-client.service.js +0 -147
  134. package/esm2015/lib/services/po-network/po-network.service.js +0 -58
  135. package/esm2015/lib/services/po-schema/po-schema-definition/po-schema-definition.service.js +0 -80
  136. package/esm2015/lib/services/po-schema/po-schema.service.js +0 -198
  137. package/esm2015/lib/services/po-sync/interfaces/po-sync-config.interface.js +0 -2
  138. package/esm2015/lib/services/po-sync/interfaces/po-sync-field-options.interface.js +0 -2
  139. package/esm2015/lib/services/po-sync/interfaces/po-sync-response.interface.js +0 -2
  140. package/esm2015/lib/services/po-sync/interfaces/po-sync-schema.interface.js +0 -2
  141. package/esm2015/lib/services/po-sync/po-sync.service.js +0 -336
  142. package/esm2015/po-ui-ng-sync.js +0 -9
  143. package/fesm2015/po-ui-ng-sync.js.map +0 -1
  144. package/po-ui-ng-sync-5.22.3.tgz +0 -0
  145. package/po-ui-ng-sync.metadata.json +0 -1
@@ -1,124 +1,124 @@
1
- /**
2
- * @docsPrivate
3
- *
4
- * @description
5
- *
6
- * Serviço utilitário para operações no PoSyncSchema.
7
- */
8
- export class PoSchemaUtil {
9
- /**
10
- * Verica se existem campos locais no *schema* informado.
11
- *
12
- * @param {PoSyncSchema} schema **Schema* a ser processado.
13
- *
14
- * @returns {boolean} Valor do tipo *boolean* que indica se existem campos locais no *schema* informado.
15
- */
16
- static containsLocalFields(schema) {
17
- if (schema.fields) {
18
- return !!schema.fields.find(field => typeof field === 'object' && field.local);
19
- }
20
- }
21
- /**
22
- * Retorna o valor atual do `lastSync` para determinado *schema*.
23
- *
24
- * @param {Array<PoSyncSchema>} storageSchemas Lista de *schemas* a serem pesquisados.
25
- * @param {string} schemaName Nome do *schema* que se deseja ler o lastSync.
26
- *
27
- * @returns {string} Retorna uma *string* com o valor da última sincronização.
28
- */
29
- static getLastSync(storageSchemas, schemaName) {
30
- if (storageSchemas) {
31
- const schemaFound = storageSchemas.find(schema => schema.name === schemaName);
32
- return schemaFound && schemaFound.lastSync ? schemaFound.lastSync : PoSchemaUtil.defaultLastSync;
33
- }
34
- return PoSchemaUtil.defaultLastSync;
35
- }
36
- /**
37
- * Retorna a lista de campos locais definidos no *schema*.
38
- *
39
- * @param {PoSyncSchema} schema **Schema* a ser processado.
40
- */
41
- static getLocalFieldNames(schema) {
42
- if (schema.fields) {
43
- return schema.fields.reduce((fieldsAccumulator, currentField) => {
44
- if (typeof currentField === 'object' && currentField.local) {
45
- fieldsAccumulator.push(currentField.name);
46
- }
47
- return fieldsAccumulator;
48
- }, []);
49
- }
50
- }
51
- /**
52
- * Retorna a lista de campos não locais definidos no *schema*.
53
- *
54
- * @param {PoSyncSchema} schema **Schema* a ser processado.
55
- */
56
- static getNonLocalFieldNames(schema) {
57
- if (schema.fields) {
58
- return schema.fields.reduce((fieldsAccumulator, currentField) => {
59
- if (typeof currentField === 'string' || !currentField.local) {
60
- fieldsAccumulator.push(typeof currentField === 'string' ? currentField : currentField.name);
61
- }
62
- return fieldsAccumulator;
63
- }, []);
64
- }
65
- }
66
- /**
67
- * Retorna o `id` referente ao registro do *schema* informado.
68
- *
69
- * @param {object} record Registro que será buscado o id.
70
- * @param {PoSyncSchema} schema **Schema* a ser processado.
71
- */
72
- static getRecordId(record, schema) {
73
- return record[schema.idField] || record[PoSchemaUtil.syncInternalIdFieldName];
74
- }
75
- /**
76
- * Retorna a url correspondente do `PoSyncSchema` dependendo do tipo da requisição `PoRequestType`.
77
- *
78
- * @param {PoSyncSchema} schema **Schema* a ser processado.
79
- * @param {PoRequestType} requestType Tipo da requisição.
80
- */
81
- static getUrl(schema, requestType) {
82
- return schema[`${requestType}UrlApi`];
83
- }
84
- /**
85
- * Compara se dois objetos são iguais baseado na lista de campos.
86
- *
87
- * @param {Array<string>} fields Lista de campos a serem considerados na comparação.
88
- * @param {any} model1 Objeto 1 a ser comparado.
89
- * @param {any} model2 Objeto 2 a ser comparado.
90
- */
91
- static isModelsEqual(fields, model1, model2) {
92
- if (fields) {
93
- return fields.every(field => JSON.stringify(model1[field]) === JSON.stringify(model2[field]));
94
- }
95
- }
96
- /**
97
- * Retorna uma lista com dois objetos referentes ao registro informado.
98
- * O primeiro é o registro com os campos que vão para o servidor e o segundo é com os campos locais.
99
- *
100
- * @param {PoSyncSchema} schema **Schema* do registro.
101
- * @param {object} record Registro que será realizada a separação dos campos locais e do servidor.
102
- */
103
- static separateSchemaFields(schema, record) {
104
- const localFields = PoSchemaUtil.getLocalFieldNames(schema);
105
- const localRecord = {};
106
- const serverRecord = {};
107
- Object.keys(record).forEach(field => {
108
- if (localFields.includes(field)) {
109
- localRecord[field] = record[field];
110
- }
111
- else {
112
- serverRecord[field] = record[field];
113
- }
114
- });
115
- return { serverRecord, localRecord };
116
- }
117
- }
118
- /** Valor `default` para o campo `lastSync`. */
119
- PoSchemaUtil.defaultLastSync = new Date(-8640000000000000).toISOString();
120
- /** Nome da chave do identificador interno do sync. */
121
- PoSchemaUtil.syncInternalIdFieldName = 'SyncInternalId';
122
- /** Nome da chave no `storage` para os Schemas. */
123
- PoSchemaUtil.syncSchemasName = 'SyncSchemas';
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2NoZW1hLXV0aWwubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tc2NoZW1hL3BvLXNjaGVtYS11dGlsL3BvLXNjaGVtYS11dGlsLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBVXZCOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFvQjtRQUNwRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hGO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQW1DLEVBQUUsVUFBa0I7UUFDL0UsSUFBSSxjQUFjLEVBQUU7WUFDbEIsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7WUFDOUUsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztTQUNsRztRQUNELE9BQU8sWUFBWSxDQUFDLGVBQWUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFvQjtRQUNuRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGlCQUFnQyxFQUFFLFlBQXlDLEVBQUUsRUFBRTtnQkFDMUcsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRTtvQkFDMUQsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDM0M7Z0JBQ0QsT0FBTyxpQkFBaUIsQ0FBQztZQUMzQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDUjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLHFCQUFxQixDQUFDLE1BQW9CO1FBQ3RELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsaUJBQWdDLEVBQUUsWUFBeUMsRUFBRSxFQUFFO2dCQUMxRyxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7b0JBQzNELGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM3RjtnQkFDRCxPQUFPLGlCQUFpQixDQUFDO1lBQzNCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNSO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFjLEVBQUUsTUFBb0I7UUFDNUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQW9CLEVBQUUsV0FBMEI7UUFDbkUsT0FBTyxNQUFNLENBQUMsR0FBRyxXQUFXLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQXFCLEVBQUUsTUFBVyxFQUFFLE1BQVc7UUFDekUsSUFBSSxNQUFNLEVBQUU7WUFDVixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvRjtJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsb0JBQW9CLENBQ2hDLE1BQW9CLEVBQ3BCLE1BQWM7UUFFZCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUV4QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQy9CLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEM7aUJBQU07Z0JBQ0wsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNyQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDOztBQS9IRCwrQ0FBK0M7QUFDeEIsNEJBQWUsR0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFFM0Ysc0RBQXNEO0FBQy9CLG9DQUF1QixHQUFXLGdCQUFnQixDQUFDO0FBRTFFLGtEQUFrRDtBQUMzQiw0QkFBZSxHQUFXLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvUmVxdWVzdFR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG8tcmVxdWVzdC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQb1N5bmNGaWVsZE9wdGlvbnMgfSBmcm9tICcuLi8uLi9wby1zeW5jL2ludGVyZmFjZXMvcG8tc3luYy1maWVsZC1vcHRpb25zLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvU3luY1NjaGVtYSB9IGZyb20gJy4uLy4uL3BvLXN5bmMvaW50ZXJmYWNlcy9wby1zeW5jLXNjaGVtYS5pbnRlcmZhY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkb2NzUHJpdmF0ZVxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICpcclxuICogU2VydmnDp28gdXRpbGl0w6FyaW8gcGFyYSBvcGVyYcOnw7VlcyBubyBQb1N5bmNTY2hlbWEuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgUG9TY2hlbWFVdGlsIHtcclxuICAvKiogVmFsb3IgYGRlZmF1bHRgIHBhcmEgbyBjYW1wbyBgbGFzdFN5bmNgLiAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdExhc3RTeW5jOiBzdHJpbmcgPSBuZXcgRGF0ZSgtODY0MDAwMDAwMDAwMDAwMCkudG9JU09TdHJpbmcoKTtcclxuXHJcbiAgLyoqIE5vbWUgZGEgY2hhdmUgZG8gaWRlbnRpZmljYWRvciBpbnRlcm5vIGRvIHN5bmMuICovXHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBzeW5jSW50ZXJuYWxJZEZpZWxkTmFtZTogc3RyaW5nID0gJ1N5bmNJbnRlcm5hbElkJztcclxuXHJcbiAgLyoqIE5vbWUgZGEgY2hhdmUgbm8gYHN0b3JhZ2VgIHBhcmEgb3MgU2NoZW1hcy4gKi9cclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHN5bmNTY2hlbWFzTmFtZTogc3RyaW5nID0gJ1N5bmNTY2hlbWFzJztcclxuXHJcbiAgLyoqXHJcbiAgICogVmVyaWNhIHNlIGV4aXN0ZW0gY2FtcG9zIGxvY2FpcyBubyAqc2NoZW1hKiBpbmZvcm1hZG8uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1BvU3luY1NjaGVtYX0gc2NoZW1hICoqU2NoZW1hKiBhIHNlciBwcm9jZXNzYWRvLlxyXG4gICAqXHJcbiAgICogQHJldHVybnMge2Jvb2xlYW59IFZhbG9yIGRvIHRpcG8gKmJvb2xlYW4qIHF1ZSBpbmRpY2Egc2UgZXhpc3RlbSBjYW1wb3MgbG9jYWlzIG5vICpzY2hlbWEqIGluZm9ybWFkby5cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIGNvbnRhaW5zTG9jYWxGaWVsZHMoc2NoZW1hOiBQb1N5bmNTY2hlbWEpOiBib29sZWFuIHtcclxuICAgIGlmIChzY2hlbWEuZmllbGRzKSB7XHJcbiAgICAgIHJldHVybiAhIXNjaGVtYS5maWVsZHMuZmluZChmaWVsZCA9PiB0eXBlb2YgZmllbGQgPT09ICdvYmplY3QnICYmIGZpZWxkLmxvY2FsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldG9ybmEgbyB2YWxvciBhdHVhbCBkbyBgbGFzdFN5bmNgIHBhcmEgZGV0ZXJtaW5hZG8gKnNjaGVtYSouXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0FycmF5PFBvU3luY1NjaGVtYT59IHN0b3JhZ2VTY2hlbWFzIExpc3RhIGRlICpzY2hlbWFzKiBhIHNlcmVtIHBlc3F1aXNhZG9zLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFOYW1lIE5vbWUgZG8gKnNjaGVtYSogcXVlIHNlIGRlc2VqYSBsZXIgbyBsYXN0U3luYy5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldG9ybmEgdW1hICpzdHJpbmcqIGNvbSBvIHZhbG9yIGRhIMO6bHRpbWEgc2luY3Jvbml6YcOnw6NvLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TGFzdFN5bmMoc3RvcmFnZVNjaGVtYXM6IEFycmF5PFBvU3luY1NjaGVtYT4sIHNjaGVtYU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoc3RvcmFnZVNjaGVtYXMpIHtcclxuICAgICAgY29uc3Qgc2NoZW1hRm91bmQgPSBzdG9yYWdlU2NoZW1hcy5maW5kKHNjaGVtYSA9PiBzY2hlbWEubmFtZSA9PT0gc2NoZW1hTmFtZSk7XHJcbiAgICAgIHJldHVybiBzY2hlbWFGb3VuZCAmJiBzY2hlbWFGb3VuZC5sYXN0U3luYyA/IHNjaGVtYUZvdW5kLmxhc3RTeW5jIDogUG9TY2hlbWFVdGlsLmRlZmF1bHRMYXN0U3luYztcclxuICAgIH1cclxuICAgIHJldHVybiBQb1NjaGVtYVV0aWwuZGVmYXVsdExhc3RTeW5jO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0b3JuYSBhIGxpc3RhIGRlIGNhbXBvcyBsb2NhaXMgZGVmaW5pZG9zIG5vICpzY2hlbWEqLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtQb1N5bmNTY2hlbWF9IHNjaGVtYSAqKlNjaGVtYSogYSBzZXIgcHJvY2Vzc2Fkby5cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIGdldExvY2FsRmllbGROYW1lcyhzY2hlbWE6IFBvU3luY1NjaGVtYSk6IEFycmF5PHN0cmluZz4ge1xyXG4gICAgaWYgKHNjaGVtYS5maWVsZHMpIHtcclxuICAgICAgcmV0dXJuIHNjaGVtYS5maWVsZHMucmVkdWNlKChmaWVsZHNBY2N1bXVsYXRvcjogQXJyYXk8c3RyaW5nPiwgY3VycmVudEZpZWxkOiBzdHJpbmcgfCBQb1N5bmNGaWVsZE9wdGlvbnMpID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRGaWVsZCA9PT0gJ29iamVjdCcgJiYgY3VycmVudEZpZWxkLmxvY2FsKSB7XHJcbiAgICAgICAgICBmaWVsZHNBY2N1bXVsYXRvci5wdXNoKGN1cnJlbnRGaWVsZC5uYW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZpZWxkc0FjY3VtdWxhdG9yO1xyXG4gICAgICB9LCBbXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRvcm5hIGEgbGlzdGEgZGUgY2FtcG9zIG7Do28gbG9jYWlzIGRlZmluaWRvcyBubyAqc2NoZW1hKi5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UG9TeW5jU2NoZW1hfSBzY2hlbWEgKipTY2hlbWEqIGEgc2VyIHByb2Nlc3NhZG8uXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBnZXROb25Mb2NhbEZpZWxkTmFtZXMoc2NoZW1hOiBQb1N5bmNTY2hlbWEpOiBBcnJheTxzdHJpbmc+IHtcclxuICAgIGlmIChzY2hlbWEuZmllbGRzKSB7XHJcbiAgICAgIHJldHVybiBzY2hlbWEuZmllbGRzLnJlZHVjZSgoZmllbGRzQWNjdW11bGF0b3I6IEFycmF5PHN0cmluZz4sIGN1cnJlbnRGaWVsZDogc3RyaW5nIHwgUG9TeW5jRmllbGRPcHRpb25zKSA9PiB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RmllbGQgPT09ICdzdHJpbmcnIHx8ICFjdXJyZW50RmllbGQubG9jYWwpIHtcclxuICAgICAgICAgIGZpZWxkc0FjY3VtdWxhdG9yLnB1c2godHlwZW9mIGN1cnJlbnRGaWVsZCA9PT0gJ3N0cmluZycgPyBjdXJyZW50RmllbGQgOiBjdXJyZW50RmllbGQubmFtZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmaWVsZHNBY2N1bXVsYXRvcjtcclxuICAgICAgfSwgW10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0b3JuYSBvIGBpZGAgcmVmZXJlbnRlIGFvIHJlZ2lzdHJvIGRvICpzY2hlbWEqIGluZm9ybWFkby5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7b2JqZWN0fSByZWNvcmQgUmVnaXN0cm8gcXVlIHNlcsOhIGJ1c2NhZG8gbyBpZC5cclxuICAgKiBAcGFyYW0ge1BvU3luY1NjaGVtYX0gc2NoZW1hICoqU2NoZW1hKiBhIHNlciBwcm9jZXNzYWRvLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UmVjb3JkSWQocmVjb3JkOiBvYmplY3QsIHNjaGVtYTogUG9TeW5jU2NoZW1hKSB7XHJcbiAgICByZXR1cm4gcmVjb3JkW3NjaGVtYS5pZEZpZWxkXSB8fCByZWNvcmRbUG9TY2hlbWFVdGlsLnN5bmNJbnRlcm5hbElkRmllbGROYW1lXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldG9ybmEgYSB1cmwgY29ycmVzcG9uZGVudGUgZG8gYFBvU3luY1NjaGVtYWAgZGVwZW5kZW5kbyBkbyB0aXBvIGRhIHJlcXVpc2nDp8OjbyBgUG9SZXF1ZXN0VHlwZWAuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1BvU3luY1NjaGVtYX0gc2NoZW1hICoqU2NoZW1hKiBhIHNlciBwcm9jZXNzYWRvLlxyXG4gICAqIEBwYXJhbSB7UG9SZXF1ZXN0VHlwZX0gcmVxdWVzdFR5cGUgVGlwbyBkYSByZXF1aXNpw6fDo28uXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBnZXRVcmwoc2NoZW1hOiBQb1N5bmNTY2hlbWEsIHJlcXVlc3RUeXBlOiBQb1JlcXVlc3RUeXBlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzY2hlbWFbYCR7cmVxdWVzdFR5cGV9VXJsQXBpYF07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb21wYXJhIHNlIGRvaXMgb2JqZXRvcyBzw6NvIGlndWFpcyBiYXNlYWRvIG5hIGxpc3RhIGRlIGNhbXBvcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gZmllbGRzIExpc3RhIGRlIGNhbXBvcyBhIHNlcmVtIGNvbnNpZGVyYWRvcyBuYSBjb21wYXJhw6fDo28uXHJcbiAgICogQHBhcmFtIHthbnl9IG1vZGVsMSBPYmpldG8gMSBhIHNlciBjb21wYXJhZG8uXHJcbiAgICogQHBhcmFtIHthbnl9IG1vZGVsMiBPYmpldG8gMiBhIHNlciBjb21wYXJhZG8uXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBpc01vZGVsc0VxdWFsKGZpZWxkczogQXJyYXk8c3RyaW5nPiwgbW9kZWwxOiBhbnksIG1vZGVsMjogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoZmllbGRzKSB7XHJcbiAgICAgIHJldHVybiBmaWVsZHMuZXZlcnkoZmllbGQgPT4gSlNPTi5zdHJpbmdpZnkobW9kZWwxW2ZpZWxkXSkgPT09IEpTT04uc3RyaW5naWZ5KG1vZGVsMltmaWVsZF0pKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldG9ybmEgdW1hIGxpc3RhIGNvbSBkb2lzIG9iamV0b3MgcmVmZXJlbnRlcyBhbyByZWdpc3RybyBpbmZvcm1hZG8uXHJcbiAgICogTyBwcmltZWlybyDDqSBvIHJlZ2lzdHJvIGNvbSBvcyBjYW1wb3MgcXVlIHbDo28gcGFyYSBvIHNlcnZpZG9yIGUgbyBzZWd1bmRvIMOpIGNvbSBvcyBjYW1wb3MgbG9jYWlzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtQb1N5bmNTY2hlbWF9IHNjaGVtYSAqKlNjaGVtYSogZG8gcmVnaXN0cm8uXHJcbiAgICogQHBhcmFtIHtvYmplY3R9IHJlY29yZCBSZWdpc3RybyBxdWUgc2Vyw6EgcmVhbGl6YWRhIGEgc2VwYXJhw6fDo28gZG9zIGNhbXBvcyBsb2NhaXMgZSBkbyBzZXJ2aWRvci5cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIHNlcGFyYXRlU2NoZW1hRmllbGRzKFxyXG4gICAgc2NoZW1hOiBQb1N5bmNTY2hlbWEsXHJcbiAgICByZWNvcmQ6IG9iamVjdFxyXG4gICk6IHsgc2VydmVyUmVjb3JkOiBvYmplY3Q7IGxvY2FsUmVjb3JkOiBvYmplY3QgfSB7XHJcbiAgICBjb25zdCBsb2NhbEZpZWxkcyA9IFBvU2NoZW1hVXRpbC5nZXRMb2NhbEZpZWxkTmFtZXMoc2NoZW1hKTtcclxuICAgIGNvbnN0IGxvY2FsUmVjb3JkID0ge307XHJcbiAgICBjb25zdCBzZXJ2ZXJSZWNvcmQgPSB7fTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyhyZWNvcmQpLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICBpZiAobG9jYWxGaWVsZHMuaW5jbHVkZXMoZmllbGQpKSB7XHJcbiAgICAgICAgbG9jYWxSZWNvcmRbZmllbGRdID0gcmVjb3JkW2ZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXJ2ZXJSZWNvcmRbZmllbGRdID0gcmVjb3JkW2ZpZWxkXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHsgc2VydmVyUmVjb3JkLCBsb2NhbFJlY29yZCB9O1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ /**
2
+ * @docsPrivate
3
+ *
4
+ * @description
5
+ *
6
+ * Serviço utilitário para operações no PoSyncSchema.
7
+ */
8
+ export class PoSchemaUtil {
9
+ /**
10
+ * Verica se existem campos locais no *schema* informado.
11
+ *
12
+ * @param {PoSyncSchema} schema **Schema* a ser processado.
13
+ *
14
+ * @returns {boolean} Valor do tipo *boolean* que indica se existem campos locais no *schema* informado.
15
+ */
16
+ static containsLocalFields(schema) {
17
+ if (schema.fields) {
18
+ return !!schema.fields.find(field => typeof field === 'object' && field.local);
19
+ }
20
+ }
21
+ /**
22
+ * Retorna o valor atual do `lastSync` para determinado *schema*.
23
+ *
24
+ * @param {Array<PoSyncSchema>} storageSchemas Lista de *schemas* a serem pesquisados.
25
+ * @param {string} schemaName Nome do *schema* que se deseja ler o lastSync.
26
+ *
27
+ * @returns {string} Retorna uma *string* com o valor da última sincronização.
28
+ */
29
+ static getLastSync(storageSchemas, schemaName) {
30
+ if (storageSchemas) {
31
+ const schemaFound = storageSchemas.find(schema => schema.name === schemaName);
32
+ return schemaFound && schemaFound.lastSync ? schemaFound.lastSync : PoSchemaUtil.defaultLastSync;
33
+ }
34
+ return PoSchemaUtil.defaultLastSync;
35
+ }
36
+ /**
37
+ * Retorna a lista de campos locais definidos no *schema*.
38
+ *
39
+ * @param {PoSyncSchema} schema **Schema* a ser processado.
40
+ */
41
+ static getLocalFieldNames(schema) {
42
+ if (schema.fields) {
43
+ return schema.fields.reduce((fieldsAccumulator, currentField) => {
44
+ if (typeof currentField === 'object' && currentField.local) {
45
+ fieldsAccumulator.push(currentField.name);
46
+ }
47
+ return fieldsAccumulator;
48
+ }, []);
49
+ }
50
+ }
51
+ /**
52
+ * Retorna a lista de campos não locais definidos no *schema*.
53
+ *
54
+ * @param {PoSyncSchema} schema **Schema* a ser processado.
55
+ */
56
+ static getNonLocalFieldNames(schema) {
57
+ if (schema.fields) {
58
+ return schema.fields.reduce((fieldsAccumulator, currentField) => {
59
+ if (typeof currentField === 'string' || !currentField.local) {
60
+ fieldsAccumulator.push(typeof currentField === 'string' ? currentField : currentField.name);
61
+ }
62
+ return fieldsAccumulator;
63
+ }, []);
64
+ }
65
+ }
66
+ /**
67
+ * Retorna o `id` referente ao registro do *schema* informado.
68
+ *
69
+ * @param {object} record Registro que será buscado o id.
70
+ * @param {PoSyncSchema} schema **Schema* a ser processado.
71
+ */
72
+ static getRecordId(record, schema) {
73
+ return record[schema.idField] || record[PoSchemaUtil.syncInternalIdFieldName];
74
+ }
75
+ /**
76
+ * Retorna a url correspondente do `PoSyncSchema` dependendo do tipo da requisição `PoRequestType`.
77
+ *
78
+ * @param {PoSyncSchema} schema **Schema* a ser processado.
79
+ * @param {PoRequestType} requestType Tipo da requisição.
80
+ */
81
+ static getUrl(schema, requestType) {
82
+ return schema[`${requestType}UrlApi`];
83
+ }
84
+ /**
85
+ * Compara se dois objetos são iguais baseado na lista de campos.
86
+ *
87
+ * @param {Array<string>} fields Lista de campos a serem considerados na comparação.
88
+ * @param {any} model1 Objeto 1 a ser comparado.
89
+ * @param {any} model2 Objeto 2 a ser comparado.
90
+ */
91
+ static isModelsEqual(fields, model1, model2) {
92
+ if (fields) {
93
+ return fields.every(field => JSON.stringify(model1[field]) === JSON.stringify(model2[field]));
94
+ }
95
+ }
96
+ /**
97
+ * Retorna uma lista com dois objetos referentes ao registro informado.
98
+ * O primeiro é o registro com os campos que vão para o servidor e o segundo é com os campos locais.
99
+ *
100
+ * @param {PoSyncSchema} schema **Schema* do registro.
101
+ * @param {object} record Registro que será realizada a separação dos campos locais e do servidor.
102
+ */
103
+ static separateSchemaFields(schema, record) {
104
+ const localFields = PoSchemaUtil.getLocalFieldNames(schema);
105
+ const localRecord = {};
106
+ const serverRecord = {};
107
+ Object.keys(record).forEach(field => {
108
+ if (localFields.includes(field)) {
109
+ localRecord[field] = record[field];
110
+ }
111
+ else {
112
+ serverRecord[field] = record[field];
113
+ }
114
+ });
115
+ return { serverRecord, localRecord };
116
+ }
117
+ }
118
+ /** Valor `default` para o campo `lastSync`. */
119
+ PoSchemaUtil.defaultLastSync = new Date(-8640000000000000).toISOString();
120
+ /** Nome da chave do identificador interno do sync. */
121
+ PoSchemaUtil.syncInternalIdFieldName = 'SyncInternalId';
122
+ /** Nome da chave no `storage` para os Schemas. */
123
+ PoSchemaUtil.syncSchemasName = 'SyncSchemas';
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2NoZW1hLXV0aWwubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tc2NoZW1hL3BvLXNjaGVtYS11dGlsL3BvLXNjaGVtYS11dGlsLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBVXZCOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFvQjtRQUNwRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hGO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQW1DLEVBQUUsVUFBa0I7UUFDL0UsSUFBSSxjQUFjLEVBQUU7WUFDbEIsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7WUFDOUUsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztTQUNsRztRQUNELE9BQU8sWUFBWSxDQUFDLGVBQWUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFvQjtRQUNuRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGlC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b250ZW50IjpbImltcG9ydCB7IFBvUmVxdWVzdFR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG8tcmVxdWVzdC10eXBlLmVudW0nO1xuaW1wb3J0IHsgUG9TeW5jRmllbGRPcHRpb25zIH0gZnJvbSAnLi4vLi4vcG8tc3luYy9pbnRlcmZhY2VzL3BvLXN5bmMtZmllbGQtb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9TeW5jU2NoZW1hIH0gZnJvbSAnLi4vLi4vcG8tc3luYy9pbnRlcmZhY2VzL3BvLXN5bmMtc2NoZW1hLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogU2VydmnDp28gdXRpbGl0w6FyaW8gcGFyYSBvcGVyYcOnw7VlcyBubyBQb1N5bmNTY2hlbWEuXG4gKi9cbmV4cG9ydCBjbGFzcyBQb1NjaGVtYVV0aWwge1xuICAvKiogVmFsb3IgYGRlZmF1bHRgIHBhcmEgbyBjYW1wbyBgbGFzdFN5bmNgLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXN0U3luYzogc3RyaW5nID0gbmV3IERhdGUoLTg2NDAwMDAwMDAwMDAwMDApLnRvSVNPU3RyaW5nKCk7XG5cbiAgLyoqIE5vbWUgZGEgY2hhdmUgZG8gaWRlbnRpZmljYWRvciBpbnRlcm5vIGRvIHN5bmMuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgc3luY0ludGVybmFsSWRGaWVsZE5hbWU6IHN0cmluZyA9ICdTeW5jSW50ZXJuYWxJZCc7XG5cbiAgLyoqIE5vbWUgZGEgY2hhdmUgbm8gYHN0b3JhZ2VgIHBhcmEgb3MgU2NoZW1hcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBzeW5jU2NoZW1hc05hbWU6IHN0cmluZyA9ICdTeW5jU2NoZW1hcyc7XG5cbiAgLyoqXG4gICAqIFZlcmljYSBzZSBleGlzdGVtIGNhbXBvcyBsb2NhaXMgbm8gKnNjaGVtYSogaW5mb3JtYWRvLlxuICAgKlxuICAgKiBAcGFyYW0ge1BvU3luY1NjaGVtYX0gc2NoZW1hICoqU2NoZW1hKiBhIHNlciBwcm9jZXNzYWRvLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVmFsb3IgZG8gdGlwbyAqYm9vbGVhbiogcXVlIGluZGljYSBzZSBleGlzdGVtIGNhbXBvcyBsb2NhaXMgbm8gKnNjaGVtYSogaW5mb3JtYWRvLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb250YWluc0xvY2FsRmllbGRzKHNjaGVtYTogUG9TeW5jU2NoZW1hKTogYm9vbGVhbiB7XG4gICAgaWYgKHNjaGVtYS5maWVsZHMpIHtcbiAgICAgIHJldHVybiAhIXNjaGVtYS5maWVsZHMuZmluZChmaWVsZCA9PiB0eXBlb2YgZmllbGQgPT09ICdvYmplY3QnICYmIGZpZWxkLmxvY2FsKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSBvIHZhbG9yIGF0dWFsIGRvIGBsYXN0U3luY2AgcGFyYSBkZXRlcm1pbmFkbyAqc2NoZW1hKi5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxQb1N5bmNTY2hlbWE+fSBzdG9yYWdlU2NoZW1hcyBMaXN0YSBkZSAqc2NoZW1hcyogYSBzZXJlbSBwZXNxdWlzYWRvcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNjaGVtYU5hbWUgTm9tZSBkbyAqc2NoZW1hKiBxdWUgc2UgZGVzZWphIGxlciBvIGxhc3RTeW5jLlxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXRvcm5hIHVtYSAqc3RyaW5nKiBjb20gbyB2YWxvciBkYSDDumx0aW1hIHNpbmNyb25pemHDp8Ojby5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TGFzdFN5bmMoc3RvcmFnZVNjaGVtYXM6IEFycmF5PFBvU3luY1NjaGVtYT4sIHNjaGVtYU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHN0b3JhZ2VTY2hlbWFzKSB7XG4gICAgICBjb25zdCBzY2hlbWFGb3VuZCA9IHN0b3JhZ2VTY2hlbWFzLmZpbmQoc2NoZW1hID0+IHNjaGVtYS5uYW1lID09PSBzY2hlbWFOYW1lKTtcbiAgICAgIHJldHVybiBzY2hlbWFGb3VuZCAmJiBzY2hlbWFGb3VuZC5sYXN0U3luYyA/IHNjaGVtYUZvdW5kLmxhc3RTeW5jIDogUG9TY2hlbWFVdGlsLmRlZmF1bHRMYXN0U3luYztcbiAgICB9XG4gICAgcmV0dXJuIFBvU2NoZW1hVXRpbC5kZWZhdWx0TGFzdFN5bmM7XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSBhIGxpc3RhIGRlIGNhbXBvcyBsb2NhaXMgZGVmaW5pZG9zIG5vICpzY2hlbWEqLlxuICAgKlxuICAgKiBAcGFyYW0ge1BvU3luY1NjaGVtYX0gc2NoZW1hICoqU2NoZW1hKiBhIHNlciBwcm9jZXNzYWRvLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRMb2NhbEZpZWxkTmFtZXMoc2NoZW1hOiBQb1N5bmNTY2hlbWEpOiBBcnJheTxzdHJpbmc+IHtcbiAgICBpZiAoc2NoZW1hLmZpZWxkcykge1xuICAgICAgcmV0dXJuIHNjaGVtYS5maWVsZHMucmVkdWNlKChmaWVsZHNBY2N1bXVsYXRvcjogQXJyYXk8c3RyaW5nPiwgY3VycmVudEZpZWxkOiBzdHJpbmcgfCBQb1N5bmNGaWVsZE9wdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RmllbGQgPT09ICdvYmplY3QnICYmIGN1cnJlbnRGaWVsZC5sb2NhbCkge1xuICAgICAgICAgIGZpZWxkc0FjY3VtdWxhdG9yLnB1c2goY3VycmVudEZpZWxkLm5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWVsZHNBY2N1bXVsYXRvcjtcbiAgICAgIH0sIFtdKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSBhIGxpc3RhIGRlIGNhbXBvcyBuw6NvIGxvY2FpcyBkZWZpbmlkb3Mgbm8gKnNjaGVtYSouXG4gICAqXG4gICAqIEBwYXJhbSB7UG9TeW5jU2NoZW1hfSBzY2hlbWEgKipTY2hlbWEqIGEgc2VyIHByb2Nlc3NhZG8uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldE5vbkxvY2FsRmllbGROYW1lcyhzY2hlbWE6IFBvU3luY1NjaGVtYSk6IEFycmF5PHN0cmluZz4ge1xuICAgIGlmIChzY2hlbWEuZmllbGRzKSB7XG4gICAgICByZXR1cm4gc2NoZW1hLmZpZWxkcy5yZWR1Y2UoKGZpZWxkc0FjY3VtdWxhdG9yOiBBcnJheTxzdHJpbmc+LCBjdXJyZW50RmllbGQ6IHN0cmluZyB8IFBvU3luY0ZpZWxkT3B0aW9ucykgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRGaWVsZCA9PT0gJ3N0cmluZycgfHwgIWN1cnJlbnRGaWVsZC5sb2NhbCkge1xuICAgICAgICAgIGZpZWxkc0FjY3VtdWxhdG9yLnB1c2godHlwZW9mIGN1cnJlbnRGaWVsZCA9PT0gJ3N0cmluZycgPyBjdXJyZW50RmllbGQgOiBjdXJyZW50RmllbGQubmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpZWxkc0FjY3VtdWxhdG9yO1xuICAgICAgfSwgW10pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRvcm5hIG8gYGlkYCByZWZlcmVudGUgYW8gcmVnaXN0cm8gZG8gKnNjaGVtYSogaW5mb3JtYWRvLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gcmVjb3JkIFJlZ2lzdHJvIHF1ZSBzZXLDoSBidXNjYWRvIG8gaWQuXG4gICAqIEBwYXJhbSB7UG9TeW5jU2NoZW1hfSBzY2hlbWEgKipTY2hlbWEqIGEgc2VyIHByb2Nlc3NhZG8uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldFJlY29yZElkKHJlY29yZDogb2JqZWN0LCBzY2hlbWE6IFBvU3luY1NjaGVtYSkge1xuICAgIHJldHVybiByZWNvcmRbc2NoZW1hLmlkRmllbGRdIHx8IHJlY29yZFtQb1NjaGVtYVV0aWwuc3luY0ludGVybmFsSWRGaWVsZE5hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldG9ybmEgYSB1cmwgY29ycmVzcG9uZGVudGUgZG8gYFBvU3luY1NjaGVtYWAgZGVwZW5kZW5kbyBkbyB0aXBvIGRhIHJlcXVpc2nDp8OjbyBgUG9SZXF1ZXN0VHlwZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9TeW5jU2NoZW1hfSBzY2hlbWEgKipTY2hlbWEqIGEgc2VyIHByb2Nlc3NhZG8uXG4gICAqIEBwYXJhbSB7UG9SZXF1ZXN0VHlwZX0gcmVxdWVzdFR5cGUgVGlwbyBkYSByZXF1aXNpw6fDo28uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldFVybChzY2hlbWE6IFBvU3luY1NjaGVtYSwgcmVxdWVzdFR5cGU6IFBvUmVxdWVzdFR5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBzY2hlbWFbYCR7cmVxdWVzdFR5cGV9VXJsQXBpYF07XG4gIH1cblxuICAvKipcbiAgICogQ29tcGFyYSBzZSBkb2lzIG9iamV0b3Mgc8OjbyBpZ3VhaXMgYmFzZWFkbyBuYSBsaXN0YSBkZSBjYW1wb3MuXG4gICAqXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gZmllbGRzIExpc3RhIGRlIGNhbXBvcyBhIHNlcmVtIGNvbnNpZGVyYWRvcyBuYSBjb21wYXJhw6fDo28uXG4gICAqIEBwYXJhbSB7YW55fSBtb2RlbDEgT2JqZXRvIDEgYSBzZXIgY29tcGFyYWRvLlxuICAgKiBAcGFyYW0ge2FueX0gbW9kZWwyIE9iamV0byAyIGEgc2VyIGNvbXBhcmFkby5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNNb2RlbHNFcXVhbChmaWVsZHM6IEFycmF5PHN0cmluZz4sIG1vZGVsMTogYW55LCBtb2RlbDI6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChmaWVsZHMpIHtcbiAgICAgIHJldHVybiBmaWVsZHMuZXZlcnkoZmllbGQgPT4gSlNPTi5zdHJpbmdpZnkobW9kZWwxW2ZpZWxkXSkgPT09IEpTT04uc3RyaW5naWZ5KG1vZGVsMltmaWVsZF0pKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSB1bWEgbGlzdGEgY29tIGRvaXMgb2JqZXRvcyByZWZlcmVudGVzIGFvIHJlZ2lzdHJvIGluZm9ybWFkby5cbiAgICogTyBwcmltZWlybyDDqSBvIHJlZ2lzdHJvIGNvbSBvcyBjYW1wb3MgcXVlIHbDo28gcGFyYSBvIHNlcnZpZG9yIGUgbyBzZWd1bmRvIMOpIGNvbSBvcyBjYW1wb3MgbG9jYWlzLlxuICAgKlxuICAgKiBAcGFyYW0ge1BvU3luY1NjaGVtYX0gc2NoZW1hICoqU2NoZW1hKiBkbyByZWdpc3Ryby5cbiAgICogQHBhcmFtIHtvYmplY3R9IHJlY29yZCBSZWdpc3RybyBxdWUgc2Vyw6EgcmVhbGl6YWRhIGEgc2VwYXJhw6fDo28gZG9zIGNhbXBvcyBsb2NhaXMgZSBkbyBzZXJ2aWRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2VwYXJhdGVTY2hlbWFGaWVsZHMoXG4gICAgc2NoZW1hOiBQb1N5bmNTY2hlbWEsXG4gICAgcmVjb3JkOiBvYmplY3RcbiAgKTogeyBzZXJ2ZXJSZWNvcmQ6IG9iamVjdDsgbG9jYWxSZWNvcmQ6IG9iamVjdCB9IHtcbiAgICBjb25zdCBsb2NhbEZpZWxkcyA9IFBvU2NoZW1hVXRpbC5nZXRMb2NhbEZpZWxkTmFtZXMoc2NoZW1hKTtcbiAgICBjb25zdCBsb2NhbFJlY29yZCA9IHt9O1xuICAgIGNvbnN0IHNlcnZlclJlY29yZCA9IHt9O1xuXG4gICAgT2JqZWN0LmtleXMocmVjb3JkKS5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgIGlmIChsb2NhbEZpZWxkcy5pbmNsdWRlcyhmaWVsZCkpIHtcbiAgICAgICAgbG9jYWxSZWNvcmRbZmllbGRdID0gcmVjb3JkW2ZpZWxkXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlcnZlclJlY29yZFtmaWVsZF0gPSByZWNvcmRbZmllbGRdO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHsgc2VydmVyUmVjb3JkLCBsb2NhbFJlY29yZCB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,174 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { PoSchemaUtil } from './po-schema-util/po-schema-util.model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./po-schema-definition/po-schema-definition.service";
5
+ import * as i2 from "@po-ui/ng-storage";
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
+ async create(schema, newRecord) {
52
+ const id = PoSchemaUtil.getRecordId(newRecord, schema);
53
+ return this.save(schema, newRecord, id);
54
+ }
55
+ /**
56
+ * Destrói as chaves do *storage* que contém os registros dos *schemas*.
57
+ *
58
+ * @returns {Promise<void>} Promessa que é resolvida quando as chaves referentes aos *schemas* forem destruídas.
59
+ */
60
+ async destroySchemasRecords() {
61
+ const schemas = await this.poSchemaDefinitionService.getAll();
62
+ const storageKeys = await this.poStorage.keys();
63
+ for (const key of storageKeys) {
64
+ const schemaKey = schemas.find(schema => PoSchemaService.isSchemaKey(key, schema.name));
65
+ if (schemaKey) {
66
+ const id = PoSchemaService.getIdByRecordKey(key);
67
+ await this.remove(schemaKey.name, id);
68
+ }
69
+ }
70
+ }
71
+ /**
72
+ * Retorna o registro referente ao *schema* informado.
73
+ *
74
+ * @param {string} schemaName Nome do *schema*.
75
+ * @param {any} recordId Id do registro.
76
+ */
77
+ async get(schemaName, recordId) {
78
+ const isLocalRecord = true;
79
+ const localRecord = await this.getRecord(schemaName, recordId, isLocalRecord);
80
+ const record = await this.getRecord(schemaName, recordId);
81
+ return Object.assign(record, localRecord);
82
+ }
83
+ /**
84
+ * Retorna todos os registros referente ao *schema* informado.
85
+ *
86
+ * @param {string} schemaName Nome do *schema*.
87
+ */
88
+ async getAll(schemaName) {
89
+ const storageKeys = await this.poStorage.keys();
90
+ const schemaRecords = [];
91
+ for (const key of storageKeys) {
92
+ if (PoSchemaService.isSchemaKey(key, schemaName)) {
93
+ const id = PoSchemaService.getIdByRecordKey(key);
94
+ schemaRecords.push(await this.get(schemaName, id));
95
+ }
96
+ }
97
+ return schemaRecords;
98
+ }
99
+ /**
100
+ * Aguarda a liberação do recurso limitado, posteriormente o envolve em um comportamento
101
+ * de bloqueio e desbloqueio.
102
+ *
103
+ * @param {Function} limitedResource Função que será envolvida no comportamento de bloqueio e desbloqueio.
104
+ */
105
+ limitedCallWrap(limitedResource) {
106
+ return this.poStorage.limitedCallWrap(limitedResource);
107
+ }
108
+ /**
109
+ * Remove um registro de um *schema* informado.
110
+ *
111
+ * @param {string} schemaName Nome do *schema*.
112
+ * @param {any} recordId Id do registro.
113
+ */
114
+ async remove(schemaName, recordId) {
115
+ const recordKey = PoSchemaService.getRecordKey(schemaName, recordId);
116
+ const localRecordKey = PoSchemaService.getRecordKey(schemaName, recordId, true);
117
+ await this.poStorage.remove(recordKey);
118
+ await this.poStorage.remove(localRecordKey);
119
+ }
120
+ /**
121
+ * Atualiza um registro de um *schema* informado.
122
+ *
123
+ * @param {PoSyncSchema} schema **Schema* referente ao registro que será alterado.
124
+ * @param {object} record Registro que será atualizado.
125
+ * @param {any} recordId Id do registro que deseja ser alterado. Deve ser utilizado em casos em que o id foi alterado.
126
+ */
127
+ async update(schema, record, recordId) {
128
+ const id = PoSchemaUtil.getRecordId(record, schema);
129
+ if (recordId) {
130
+ record = await this.updateRecordId(schema.name, record, recordId);
131
+ }
132
+ return this.save(schema, record, id);
133
+ }
134
+ /**
135
+ * Atualiza todos os registros de um *schema*.
136
+ *
137
+ * @param {PoSyncSchema} schema **Schema* referente aos registros que serão alterados.
138
+ * @param {Array<object>} records Lista de registros que serão alterados.
139
+ */
140
+ async updateAll(schema, records) {
141
+ for (const record of records) {
142
+ await this.update(schema, record);
143
+ }
144
+ }
145
+ async getRecord(schemaName, recordId, isLocalRecord = false) {
146
+ return (await this.poStorage.get(PoSchemaService.getRecordKey(schemaName, recordId, isLocalRecord))) || {};
147
+ }
148
+ async save(schema, record, recordId) {
149
+ const { serverRecord, localRecord } = PoSchemaUtil.separateSchemaFields(schema, record);
150
+ const recordKey = PoSchemaService.getRecordKey(schema.name, recordId);
151
+ await this.poStorage.set(recordKey, serverRecord);
152
+ await this.saveLocalFields(schema.name, localRecord, recordId);
153
+ return record;
154
+ }
155
+ async saveLocalFields(schemaName, localFields, recordId) {
156
+ const containsLocalFields = Object.keys(localFields).length;
157
+ if (containsLocalFields) {
158
+ const localRecordKey = PoSchemaService.getRecordKey(schemaName, recordId, true);
159
+ await this.poStorage.set(localRecordKey, localFields);
160
+ }
161
+ }
162
+ async updateRecordId(schemaName, record, recordId) {
163
+ const isLocalRecord = true;
164
+ const localRecord = await this.getRecord(schemaName, recordId, isLocalRecord);
165
+ await this.remove(schemaName, recordId);
166
+ return Object.assign(record, localRecord);
167
+ }
168
+ }
169
+ PoSchemaService.ɵfac = function PoSchemaService_Factory(t) { return new (t || PoSchemaService)(i0.ɵɵinject(i1.PoSchemaDefinitionService), i0.ɵɵinject(i2.PoStorageService)); };
170
+ PoSchemaService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PoSchemaService, factory: PoSchemaService.ɵfac });
171
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoSchemaService, [{
172
+ type: Injectable
173
+ }], function () { return [{ type: i1.PoSchemaDefinitionService }, { type: i2.PoStorageService }]; }, null); })();
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2NoZW1hLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tc2NoZW1hL3BvLXNjaGVtYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7O0FBR3JFOzs7Ozs7R0FNRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQW9CLHlCQUFvRCxFQUFVLFNBQTJCO1FBQXpGLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFHLENBQUM7SUFFakg7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUMvQyxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBa0IsRUFBRSxRQUFhLEVBQUUsYUFBc0IsS0FBSztRQUN4RixPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLFVBQVUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ3RGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBWSxFQUFFLFVBQWtCO1FBQ3pELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQUMs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QVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xELE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUvRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxVQUFrQixFQUFFLFdBQW1CLEVBQUUsUUFBUTtRQUM3RSxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRTVELElBQUksbUJBQW1CLEVBQUU7WUFDdkIsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hGLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRO1FBQ3ZELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQztRQUUzQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM5RSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXhDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7OEVBbkxVLGVBQWU7cUVBQWYsZUFBZSxXQUFmLGVBQWU7dUZBQWYsZUFBZTtjQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb1N0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQHBvLXVpL25nLXN0b3JhZ2UnO1xuXG5pbXBvcnQgeyBQb1NjaGVtYURlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9wby1zY2hlbWEtZGVmaW5pdGlvbi9wby1zY2hlbWEtZGVmaW5pdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFBvU2NoZW1hVXRpbCB9IGZyb20gJy4vcG8tc2NoZW1hLXV0aWwvcG8tc2NoZW1hLXV0aWwubW9kZWwnO1xuaW1wb3J0IHsgUG9TeW5jU2NoZW1hIH0gZnJvbSAnLi4vcG8tc3luYy9pbnRlcmZhY2VzL3BvLXN5bmMtc2NoZW1hLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogU2VydmnDp28gcXVlIHJlYWxpemEgYXMgb3BlcmHDp8O1ZXMgbm9zIGBzY2hlbWFzYC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBvU2NoZW1hU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9TY2hlbWFEZWZpbml0aW9uU2VydmljZTogUG9TY2hlbWFEZWZpbml0aW9uU2VydmljZSwgcHJpdmF0ZSBwb1N0b3JhZ2U6IFBvU3RvcmFnZVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIFJldG9ybmEgbyBpZCBhIHBhcnRpciBkZSB1bWEgY2hhdmUgZGUgdW0gKnNjaGVtYSouXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFLZXkgQ2hhdmUgZG8gKnNjaGVtYSogZW0gcXVlIHNlcsOhIHJlYWxpemFkYSBhIGJ1c2NhIGRvIGlkLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0SWRCeVJlY29yZEtleShzY2hlbWFLZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNjaGVtYUtleS5zcGxpdCgnOicpWzFdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldG9ybmEgYSBjaGF2ZSBkbyAqc2NoZW1hKiBpbmZvcm1hZG8uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFOYW1lIE5vbWUgZG8gKnNjaGVtYSouXG4gICAqIEBwYXJhbSB7YW55fSByZWNvcmRJZCBJZCBkbyByZWdpc3Ryby5cbiAgICogQHBhcmFtIHtib29sZWFufSBpc0xvY2FsS2V5IEluZGljYSBzZSDDqSB1bWEgY2hhdmUgbG9jYWwuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRSZWNvcmRLZXkoc2NoZW1hTmFtZTogc3RyaW5nLCByZWNvcmRJZDogYW55LCBpc0xvY2FsS2V5OiBib29sZWFuID0gZmFsc2UpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc0xvY2FsS2V5ID8gYCR7c2NoZW1hTmFtZX1fbG9jYWw6JHtyZWNvcmRJZH1gIDogYCR7c2NoZW1hTmFtZX06JHtyZWNvcmRJZH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNlIG8gZGFkbyBpbmZvcm1hZG8gw6kgdW1hIGNoYXZlIGRlIHVtICpzY2hlbWEqLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGF0YSBEYWRvIHF1ZSBzZXLDoSB2ZXJpZmljYWRvIHNlIMOpIHVtYSBjaGF2ZSBkZSB1bSAqc2NoZW1hKi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNjaGVtYU5hbWUgTm9tZSBkbyAqc2NoZW1hKi5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGlzU2NoZW1hS2V5KGRhdGE6IHN0cmluZywgc2NoZW1hTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGRhdGEgPyBkYXRhLnN0YXJ0c1dpdGgoYCR7c2NoZW1hTmFtZX06YCkgOiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmlhIHVtIG5vdm8gcmVnaXN0cm8gcGFyYSBvICpzY2hlbWEqIGluZm9ybWFkby5cbiAgICpcbiAgICogQHBhcmFtIHtQb1N5bmNTY2hlbWF9IHNjaGVtYSAqKlNjaGVtYSogZW0gcXVlIHNlcsOhIGNyaWFkbyBvIHJlZ2lzdHJvLlxuICAgKiBAcGFyYW0ge29iamVjdH0gbmV3UmVjb3JkIFJlZ2lzdHJvIHF1ZSBzZXLDoSBjcmlhZG8uXG4gICAqL1xuICBhc3luYyBjcmVhdGUoc2NoZW1hOiBQb1N5bmNTY2hlbWEsIG5ld1JlY29yZDogb2JqZWN0KTogUHJvbWlzZTxvYmplY3Q+IHtcbiAgICBjb25zdCBpZCA9IFBvU2NoZW1hVXRpbC5nZXRSZWNvcmRJZChuZXdSZWNvcmQsIHNjaGVtYSk7XG4gICAgcmV0dXJuIHRoaXMuc2F2ZShzY2hlbWEsIG5ld1JlY29yZCwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryw7NpIGFzIGNoYXZlcyBkbyAqc3RvcmFnZSogcXVlIGNvbnTDqW0gb3MgcmVnaXN0cm9zIGRvcyAqc2NoZW1hcyouXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBQcm9tZXNzYSBxdWUgw6kgcmVzb2x2aWRhIHF1YW5kbyBhcyBjaGF2ZXMgcmVmZXJlbnRlcyBhb3MgKnNjaGVtYXMqIGZvcmVtIGRlc3RydcOtZGFzLlxuICAgKi9cbiAgYXN5bmMgZGVzdHJveVNjaGVtYXNSZWNvcmRzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNjaGVtYXMgPSBhd2FpdCB0aGlzLnBvU2NoZW1hRGVmaW5pdGlvblNlcnZpY2UuZ2V0QWxsKCk7XG4gICAgY29uc3Qgc3RvcmFnZUtleXMgPSBhd2FpdCB0aGlzLnBvU3RvcmFnZS5rZXlzKCk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBzdG9yYWdlS2V5cykge1xuICAgICAgY29uc3Qgc2NoZW1hS2V5ID0gc2NoZW1hcy5maW5kKHNjaGVtYSA9PiBQb1NjaGVtYVNlcnZpY2UuaXNTY2hlbWFLZXkoa2V5LCBzY2hlbWEubmFtZSkpO1xuXG4gICAgICBpZiAoc2NoZW1hS2V5KSB7XG4gICAgICAgIGNvbnN0IGlkID0gUG9TY2hlbWFTZXJ2aWNlLmdldElkQnlSZWNvcmRLZXkoa2V5KTtcbiAgICAgICAgYXdhaXQgdGhpcy5yZW1vdmUoc2NoZW1hS2V5Lm5hbWUsIGlkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSBvIHJlZ2lzdHJvIHJlZmVyZW50ZSBhbyAqc2NoZW1hKiBpbmZvcm1hZG8uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFOYW1lIE5vbWUgZG8gKnNjaGVtYSouXG4gICAqIEBwYXJhbSB7YW55fSByZWNvcmRJZCBJZCBkbyByZWdpc3Ryby5cbiAgICovXG4gIGFzeW5jIGdldChzY2hlbWFOYW1lOiBzdHJpbmcsIHJlY29yZElkOiBhbnkpOiBQcm9taXNlPG9iamVjdD4ge1xuICAgIGNvbnN0IGlzTG9jYWxSZWNvcmQgPSB0cnVlO1xuICAgIGNvbnN0IGxvY2FsUmVjb3JkID0gYXdhaXQgdGhpcy5nZXRSZWNvcmQoc2NoZW1hTmFtZSwgcmVjb3JkSWQsIGlzTG9jYWxSZWNvcmQpO1xuICAgIGNvbnN0IHJlY29yZCA9IGF3YWl0IHRoaXMuZ2V0UmVjb3JkKHNjaGVtYU5hbWUsIHJlY29yZElkKTtcblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHJlY29yZCwgbG9jYWxSZWNvcmQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldG9ybmEgdG9kb3Mgb3MgcmVnaXN0cm9zIHJlZmVyZW50ZSBhbyAqc2NoZW1hKiBpbmZvcm1hZG8uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFOYW1lIE5vbWUgZG8gKnNjaGVtYSouXG4gICAqL1xuICBhc3luYyBnZXRBbGwoc2NoZW1hTmFtZTogc3RyaW5nKTogUHJvbWlzZTxBcnJheTxvYmplY3Q+PiB7XG4gICAgY29uc3Qgc3RvcmFnZUtleXMgPSBhd2FpdCB0aGlzLnBvU3RvcmFnZS5rZXlzKCk7XG4gICAgY29uc3Qgc2NoZW1hUmVjb3JkcyA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBrZXkgb2Ygc3RvcmFnZUtleXMpIHtcbiAgICAgIGlmIChQb1NjaGVtYVNlcnZpY2UuaXNTY2hlbWFLZXkoa2V5LCBzY2hlbWFOYW1lKSkge1xuICAgICAgICBjb25zdCBpZCA9IFBvU2NoZW1hU2VydmljZS5nZXRJZEJ5UmVjb3JkS2V5KGtleSk7XG4gICAgICAgIHNjaGVtYVJlY29yZHMucHVzaChhd2FpdCB0aGlzLmdldChzY2hlbWFOYW1lLCBpZCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzY2hlbWFSZWNvcmRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFndWFyZGEgYSBsaWJlcmHDp8OjbyBkbyByZWN1cnNvIGxpbWl0YWRvLCBwb3N0ZXJpb3JtZW50ZSBvIGVudm9sdmUgZW0gdW0gY29tcG9ydGFtZW50b1xuICAgKiBkZSBibG9xdWVpbyBlIGRlc2Jsb3F1ZWlvLlxuICAgKlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBsaW1pdGVkUmVzb3VyY2UgRnVuw6fDo28gcXVlIHNlcsOhIGVudm9sdmlkYSBubyBjb21wb3J0YW1lbnRvIGRlIGJsb3F1ZWlvIGUgZGVzYmxvcXVlaW8uXG4gICAqL1xuICBsaW1pdGVkQ2FsbFdyYXAobGltaXRlZFJlc291cmNlOiBGdW5jdGlvbik6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMucG9TdG9yYWdlLmxpbWl0ZWRDYWxsV3JhcChsaW1pdGVkUmVzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB1bSByZWdpc3RybyBkZSB1bSAqc2NoZW1hKiBpbmZvcm1hZG8uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFOYW1lIE5vbWUgZG8gKnNjaGVtYSouXG4gICAqIEBwYXJhbSB7YW55fSByZWNvcmRJZCBJZCBkbyByZWdpc3Ryby5cbiAgICovXG4gIGFzeW5jIHJlbW92ZShzY2hlbWFOYW1lOiBzdHJpbmcsIHJlY29yZElkOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHJlY29yZEtleSA9IFBvU2NoZW1hU2VydmljZS5nZXRSZWNvcmRLZXkoc2NoZW1hTmFtZSwgcmVjb3JkSWQpO1xuICAgIGNvbnN0IGxvY2FsUmVjb3JkS2V5ID0gUG9TY2hlbWFTZXJ2aWNlLmdldFJlY29yZEtleShzY2hlbWFOYW1lLCByZWNvcmRJZCwgdHJ1ZSk7XG5cbiAgICBhd2FpdCB0aGlzLnBvU3RvcmFnZS5yZW1vdmUocmVjb3JkS2V5KTtcbiAgICBhd2FpdCB0aGlzLnBvU3RvcmFnZS5yZW1vdmUobG9jYWxSZWNvcmRLZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dWFsaXphIHVtIHJlZ2lzdHJvIGRlIHVtICpzY2hlbWEqIGluZm9ybWFkby5cbiAgICpcbiAgICogQHBhcmFtIHtQb1N5bmNTY2hlbWF9IHNjaGVtYSAqKlNjaGVtYSogcmVmZXJlbnRlIGFvIHJlZ2lzdHJvIHF1ZSBzZXLDoSBhbHRlcmFkby5cbiAgICogQHBhcmFtIHtvYmplY3R9IHJlY29yZCBSZWdpc3RybyBxdWUgc2Vyw6EgYXR1YWxpemFkby5cbiAgICogQHBhcmFtIHthbnl9IHJlY29yZElkIElkIGRvIHJlZ2lzdHJvIHF1ZSBkZXNlamEgc2VyIGFsdGVyYWRvLiBEZXZlIHNlciB1dGlsaXphZG8gZW0gY2Fzb3MgZW0gcXVlIG8gaWQgZm9pIGFsdGVyYWRvLlxuICAgKi9cbiAgYXN5bmMgdXBkYXRlKHNjaGVtYTogUG9TeW5jU2NoZW1hLCByZWNvcmQ6IG9iamVjdCwgcmVjb3JkSWQ/OiBhbnkpOiBQcm9taXNlPG9iamVjdD4ge1xuICAgIGNvbnN0IGlkID0gUG9TY2hlbWFVdGlsLmdldFJlY29yZElkKHJlY29yZCwgc2NoZW1hKTtcblxuICAgIGlmIChyZWNvcmRJZCkge1xuICAgICAgcmVjb3JkID0gYXdhaXQgdGhpcy51cGRhdGVSZWNvcmRJZChzY2hlbWEubmFtZSwgcmVjb3JkLCByZWNvcmRJZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2F2ZShzY2hlbWEsIHJlY29yZCwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dWFsaXphIHRvZG9zIG9zIHJlZ2lzdHJvcyBkZSB1bSAqc2NoZW1hKi5cbiAgICpcbiAgICogQHBhcmFtIHtQb1N5bmNTY2hlbWF9IHNjaGVtYSAqKlNjaGVtYSogcmVmZXJlbnRlIGFvcyByZWdpc3Ryb3MgcXVlIHNlcsOjbyBhbHRlcmFkb3MuXG4gICAqIEBwYXJhbSB7QXJyYXk8b2JqZWN0Pn0gcmVjb3JkcyBMaXN0YSBkZSByZWdpc3Ryb3MgcXVlIHNlcsOjbyBhbHRlcmFkb3MuXG4gICAqL1xuICBhc3luYyB1cGRhdGVBbGwoc2NoZW1hOiBQb1N5bmNTY2hlbWEsIHJlY29yZHM6IEFycmF5PG9iamVjdD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICBhd2FpdCB0aGlzLnVwZGF0ZShzY2hlbWEsIHJlY29yZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRSZWNvcmQoc2NoZW1hTmFtZSwgcmVjb3JkSWQsIGlzTG9jYWxSZWNvcmQgPSBmYWxzZSk6IFByb21pc2U8b2JqZWN0PiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLnBvU3RvcmFnZS5nZXQoUG9TY2hlbWFTZXJ2aWNlLmdldFJlY29yZEtleShzY2hlbWFOYW1lLCByZWNvcmRJZCwgaXNMb2NhbFJlY29yZCkpKSB8fCB7fTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2F2ZShzY2hlbWE6IFBvU3luY1NjaGVtYSwgcmVjb3JkOiBvYmplY3QsIHJlY29yZElkOiBhbnkpIHtcbiAgICBjb25zdCB7IHNlcnZlclJlY29yZCwgbG9jYWxSZWNvcmQgfSA9IFBvU2NoZW1hVXRpbC5zZXBhcmF0ZVNjaGVtYUZpZWxkcyhzY2hlbWEsIHJlY29yZCk7XG4gICAgY29uc3QgcmVjb3JkS2V5ID0gUG9TY2hlbWFTZXJ2aWNlLmdldFJlY29yZEtleShzY2hlbWEubmFtZSwgcmVjb3JkSWQpO1xuXG4gICAgYXdhaXQgdGhpcy5wb1N0b3JhZ2Uuc2V0KHJlY29yZEtleSwgc2VydmVyUmVjb3JkKTtcbiAgICBhd2FpdCB0aGlzLnNhdmVMb2NhbEZpZWxkcyhzY2hlbWEubmFtZSwgbG9jYWxSZWNvcmQsIHJlY29yZElkKTtcblxuICAgIHJldHVybiByZWNvcmQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNhdmVMb2NhbEZpZWxkcyhzY2hlbWFOYW1lOiBzdHJpbmcsIGxvY2FsRmllbGRzOiBvYmplY3QsIHJlY29yZElkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29udGFpbnNMb2NhbEZpZWxkcyA9IE9iamVjdC5rZXlzKGxvY2FsRmllbGRzKS5sZW5ndGg7XG5cbiAgICBpZiAoY29udGFpbnNMb2NhbEZpZWxkcykge1xuICAgICAgY29uc3QgbG9jYWxSZWNvcmRLZXkgPSBQb1NjaGVtYVNlcnZpY2UuZ2V0UmVjb3JkS2V5KHNjaGVtYU5hbWUsIHJlY29yZElkLCB0cnVlKTtcbiAgICAgIGF3YWl0IHRoaXMucG9TdG9yYWdlLnNldChsb2NhbFJlY29yZEtleSwgbG9jYWxGaWVsZHMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlUmVjb3JkSWQoc2NoZW1hTmFtZSwgcmVjb3JkLCByZWNvcmRJZCkge1xuICAgIGNvbnN0IGlzTG9jYWxSZWNvcmQgPSB0cnVlO1xuXG4gICAgY29uc3QgbG9jYWxSZWNvcmQgPSBhd2FpdCB0aGlzLmdldFJlY29yZChzY2hlbWFOYW1lLCByZWNvcmRJZCwgaXNMb2NhbFJlY29yZCk7XG4gICAgYXdhaXQgdGhpcy5yZW1vdmUoc2NoZW1hTmFtZSwgcmVjb3JkSWQpO1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ocmVjb3JkLCBsb2NhbFJlY29yZCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3luYy1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3luYy9zcmMvbGliL3NlcnZpY2VzL3BvLXN5bmMvaW50ZXJmYWNlcy9wby1zeW5jLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvRGF0YVRyYW5zZm9ybSB9IGZyb20gJy4vLi4vLi4vLi4vbW9kZWxzL3BvLWRhdGEtdHJhbnNmb3JtLm1vZGVsJztcbmltcG9ydCB7IFBvTmV0d29ya1R5cGUgfSBmcm9tICcuLy4uLy4uLy4uL21vZGVscy9wby1uZXR3b3JrLXR5cGUuZW51bSc7XG5cbi8qKlxuICogQHVzZWRCeSBQb1N5bmNTZXJ2aWNlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogSW50ZXJmYWNlIHBhcmEgYSBkZWZpbmnDp8OjbyBkYXMgY29uZmlndXJhw6fDtWVzIGRvIHNpbmNyb25pc21vLlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9TeW5jQ29uZmlnIHtcbiAgLyoqXG4gICAqIENsYXNzZSB1c2FkYSBwYXJhIGEgdHJhc2Zvcm1hw6fDo28gZG9zIGRhZG9zIG5hcyByZXF1aXNpw6fDtWVzLlxuICAgKlxuICAgKiA+IFZlamEgbWFpcyBkZXRhbGhlcyBlbSBbRnVuZGFtZW50b3MgZG8gUE8gU3luYyAtIEFkYXB0YW5kbyBhIHJlc3Bvc3RhIGRhIEFQSSBwYXJhIG8gcGFkcsOjbyBkbyBQTyBVSV0oL2d1aWRlcy9zeW5jLWZ1bmRhbWVudGFscykuXG4gICAqL1xuICBkYXRhVHJhbnNmb3JtPzogUG9EYXRhVHJhbnNmb3JtO1xuXG4gIC8qKlxuICAgKiBUZW1wbyBlbSBzZWd1bmRvcyBkbyBzaWNyb25pc21vIHBlcmnDs2RpY28uXG4gICAqIENhc28gbsOjbyBzZWphIGRlZmluaWRvLCBvIHNpbmNyb25pc21vIHBlcmnDs2RpY28gZXN0YXLDoSBkZXNhYmlsaXRhZG8uXG4gICAqL1xuICBwZXJpb2Q/OiBudW1iZXI7XG5cbiAgLyoqIFRpcG9zIGRlIGNvbmV4w7VlcyBwZXJtaXRpZGFzIHBhcmEgbyBzaW5jcm9uaXNtby4gKi9cbiAgdHlwZTogUG9OZXR3b3JrVHlwZSB8IEFycmF5PFBvTmV0d29ya1R5cGU+O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3luYy1maWVsZC1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5bmMvc3JjL2xpYi9zZXJ2aWNlcy9wby1zeW5jL2ludGVyZmFjZXMvcG8tc3luYy1maWVsZC1vcHRpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAdXNlZEJ5IFBvU3luY1NlcnZpY2VcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBJbnRlcmZhY2UgcXVlIGlyw6EgbWFwZWFyIGFzIGNvbmZpZ3VyYcOnw7VlcyBkb3MgY2FtcG9zIGRvIGBQb1N5bmNTY2hlbWFgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvU3luY0ZpZWxkT3B0aW9ucyB7XG4gIC8qKiBQcm9wcmllZGFkZSBxdWUgaW5mb3JtYSBvIG5vbWUgZG8gY2FtcG8uICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKiogUHJvcHJpZWRhZGUgcXVlIGluZm9ybWEgc2UgbyBjYW1wbyBzZXLDoSBhcGVuYXMgcGFyYSBhcm1hemVuYW1lbnRvIGxvY2FsXG4gICAqIG91IHNlIGRldmUgc2VyIGVudmlhZG8gcGFyYSBvIHNlcnZpZG9yLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWw/OiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3luYy1yZXNwb25zZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeW5jL3NyYy9saWIvc2VydmljZXMvcG8tc3luYy9pbnRlcmZhY2VzL3BvLXN5bmMtcmVzcG9uc2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBQb0V2ZW50U291cmNpbmdFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3BvLWV2ZW50LXNvdXJjaW5nLWVycm9yLXJlc3BvbnNlLm1vZGVsJztcbmltcG9ydCB7IFBvSHR0cFJlcXVlc3REYXRhIH0gZnJvbSAnLi4vLi4vcG8taHR0cC1jbGllbnQvaW50ZXJmYWNlcy9wby1odHRwLXJlcXVlc3QtZGF0YS5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEB1c2VkQnkgUG9TeW5jU2VydmljZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIERlZmluZSBhIHJlc3Bvc3RhIGRvcyBldmVudG9zIGVudmlhZG9zIGFvIHNlcnZpZG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvU3luY1Jlc3BvbnNlIHtcbiAgLyoqIElkZW50aWZpY2Fkb3IgZG8gZXZlbnRvIG5hIGZpbGEuICovXG4gIGlkOiBudW1iZXI7XG5cbiAgLyoqIElkZW50aWZpY2Fkb3IgY3VzdG9taXphZG8gZG8gcmVnaXN0cm8uICovXG4gIGN1c3RvbVJlcXVlc3RJZD86IHN0cmluZztcblxuICAvKiogRGFkb3MgZGEgcmVxdWlzacOnw6NvLiAqL1xuICByZXF1ZXN0OiBQb0h0dHBSZXF1ZXN0RGF0YTtcblxuICAvKiogUmVzcG9zdGEgcmV0b3JuYWRhIGFww7NzIGEgdGVudGF0aXZhIGRlIGVudmlvIHBhcmEgbyBzZXJ2aWRvci4gKi9cbiAgcmVzcG9uc2U6IEh0dHBSZXNwb25zZTxPYmplY3Q+IHwgSHR0cEVycm9yUmVzcG9uc2UgfCBQb0V2ZW50U291cmNpbmdFcnJvclJlc3BvbnNlO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3luYy1zY2hlbWEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3luYy9zcmMvbGliL3NlcnZpY2VzL3BvLXN5bmMvaW50ZXJmYWNlcy9wby1zeW5jLXNjaGVtYS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvU3luY0ZpZWxkT3B0aW9ucyB9IGZyb20gJy4vcG8tc3luYy1maWVsZC1vcHRpb25zLmludGVyZmFjZSc7XG5cbi8qKlxuICogQHVzZWRCeSBQb1N5bmNTZXJ2aWNlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogSW50ZXJmYWNlIHF1ZSBpcsOhIG1hcGVhciBhcyBpbmZvcm1hw6fDtWVzIGRvcyByZWN1cnNvcywgcHJpbmNpcGFsbWVudGUgc3VhIG9yaWdlbSBlIGFzIGluZm9ybWHDp8O1ZXMgcXVlIHNlcsOjbyByZXRvcm5hZGFzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvU3luY1NjaGVtYSB7XG4gIC8qKiBOb21lIGRhIHByb3ByaWVkYWRlIHF1ZSBpbmZvcm1hIGEgZGF0YSBkZSBjcmlhw6fDo28gZG8gcmVnaXN0cm8uICovXG4gIHJlYWRvbmx5IGNyZWF0ZWRBdEZpZWxkPzogc3RyaW5nO1xuXG4gIC8qKiBOb21lIGRhIHByb3ByaWVkYWRlIHF1ZSBpbmZvcm1hIGEgZGF0YSBkZSBkZWxlw6fDo28uICovXG4gIHJlYWRvbmx5IGRlbGV0ZWRBdEZpZWxkPzogc3RyaW5nO1xuXG4gIC8qKiBOb21lIGRhIHByb3ByaWVkYWRlIHF1ZSBpbmZvcm1hIHNlIG8gcmVnaXN0cm8gZm9pIGV4Y2x1w61kby4gKi9cbiAgcmVhZG9ubHkgZGVsZXRlZEZpZWxkOiBzdHJpbmc7XG5cbiAgLyoqIEVuZGVyZcOnbyBkbyBlbmRwb2ludCBwYXJhIGV4Y2x1aXIgcmVnaXN0cm9zLiAqL1xuICByZWFkb25seSBkZWxldGVVcmxBcGk/OiBzdHJpbmc7XG5cbiAgLyoqIEVuZGVyZcOnbyBkbyBlbmRwb2ludCBxdWUgcHJvdmVyw6EgYXBlbmFzIGRhZG9zIGFsdGVyYWRvcyBubyBzZXJ2aWRvci4gKi9cbiAgcmVhZG9ubHkgZGlmZlVybEFwaTogc3RyaW5nO1xuXG4gIC8qKiBDYW1wb3MgcXVlIHNlcsOjbyByZXRvcm5hZG9zIHBlbGEgQVBJLiAqL1xuICByZWFkb25seSBmaWVsZHM6IEFycmF5PHN0cmluZyB8IFBvU3luY0ZpZWxkT3B0aW9ucz47XG5cbiAgLyoqIEVuZGVyZcOnbyBkbyBlbmRwb2ludCBxdWUgdXRpbGl6YSBvIG3DqXRvZG8gR0VUIHF1ZSBwcm92ZXLDoSBvcyBkYWRvcy4gKi9cbiAgcmVhZG9ubHkgZ2V0VXJsQXBpOiBzdHJpbmc7XG5cbiAgLyoqIE5vbWUgZGEgcHJvcHJpZWRhZGUgcmVmZXJlbnRlIGFvIGlkZW50aWZpY2Fkb3Igw7puaWNvIHBhcmEgb3MgaXRlbnMgZG8gKnNjaGVtYSouICovXG4gIHJlYWRvbmx5IGlkRmllbGQ6IHN0cmluZztcblxuICAvKiogSWRlbnRpZmnDp8OjbyBwYXJhIHJlcHJlc2VudGFyIG8gKnNjaGVtYSouICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKiogUXVhbnRpZGFkZSBkZSBpdGVucyBwb3IgcMOhZ2luYSBxdWUgc2Vyw6EgZW52aWFkbyBwZWxhIEFQSS4gKi9cbiAgcmVhZG9ubHkgcGFnZVNpemU6IG51bWJlcjtcblxuICAvKiogRW5kZXJlw6dvIGRvIGVuZHBvaW50IHF1ZSB1dGlsaXphIG8gbcOpdG9kbyBQVVQgcGFyYSBhdHVhbGl6YXIgcmVnaXN0cm9zLiAqL1xuICByZWFkb25seSBwYXRjaFVybEFwaT86IHN0cmluZztcblxuICAvKiogRW5kZXJlw6dvIGRvIGVuZHBvaW50IHF1ZSB1dGlsaXphIG8gbcOpdG9kbyBQT1NUIHBhcmEgaW5jbHVpciBvcyByZWdpc3Ryb3MuICovXG4gIHJlYWRvbmx5IHBvc3RVcmxBcGk/OiBzdHJpbmc7XG5cbiAgLyoqIE5vbWUgZGEgcHJvcHJpZWRhZGUgcXVlIGluZm9ybWEgYSBkYXRhIGRlIGF0dWFsaXphw6fDo28gZG8gcmVnaXN0cm8uICovXG4gIHJlYWRvbmx5IHVwZGF0ZWRBdEZpZWxkPzogc3RyaW5nO1xuXG4gIC8vIERhdGEvSG9yYSBkYSDDumx0aW1hIHZleiBxdWUgYSBzaW5jcm9uaWEgYWNvbnRlY2V1IHBhcmEgZXNzZSAqc2NoZW1hKi5cbiAgbGFzdFN5bmM/OiBzdHJpbmc7XG59XG4iXX0=