@gooddata/sdk-backend-base 9.0.0-alpha.3 → 9.0.0-alpha.30

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 (281) hide show
  1. package/esm/cachingBackend/index.js +14 -14
  2. package/esm/cachingBackend/index.js.map +1 -1
  3. package/esm/customBackend/config.d.ts +2 -2
  4. package/esm/customBackend/config.d.ts.map +1 -1
  5. package/esm/customBackend/execution.d.ts +2 -2
  6. package/esm/customBackend/execution.d.ts.map +1 -1
  7. package/esm/customBackend/execution.js +2 -2
  8. package/esm/customBackend/execution.js.map +1 -1
  9. package/esm/customBackend/index.d.ts +3 -3
  10. package/esm/customBackend/index.d.ts.map +1 -1
  11. package/esm/customBackend/index.js +2 -2
  12. package/esm/customBackend/index.js.map +1 -1
  13. package/esm/customBackend/workspace.d.ts +1 -1
  14. package/esm/customBackend/workspace.d.ts.map +1 -1
  15. package/esm/customBackend/workspace.js +1 -1
  16. package/esm/customBackend/workspace.js.map +1 -1
  17. package/esm/decoratedBackend/catalog.js +1 -1
  18. package/esm/decoratedBackend/catalog.js.map +1 -1
  19. package/esm/decoratedBackend/execution.js +1 -1
  20. package/esm/decoratedBackend/execution.js.map +1 -1
  21. package/esm/decoratedBackend/index.js +1 -1
  22. package/esm/decoratedBackend/index.js.map +1 -1
  23. package/esm/dummyBackend/index.js +3 -3
  24. package/esm/dummyBackend/index.js.map +1 -1
  25. package/esm/eventingBackend/index.js +3 -3
  26. package/esm/eventingBackend/index.js.map +1 -1
  27. package/esm/index.d.ts +37 -37
  28. package/esm/index.d.ts.map +1 -1
  29. package/esm/index.js +35 -35
  30. package/esm/index.js.map +1 -1
  31. package/esm/ldmFactories/catalog/attributeFactory.d.ts +4 -4
  32. package/esm/ldmFactories/catalog/attributeFactory.d.ts.map +1 -1
  33. package/esm/ldmFactories/catalog/attributeFactory.js +5 -5
  34. package/esm/ldmFactories/catalog/attributeFactory.js.map +1 -1
  35. package/esm/ldmFactories/catalog/dateDatasetFactory.d.ts +4 -4
  36. package/esm/ldmFactories/catalog/dateDatasetFactory.d.ts.map +1 -1
  37. package/esm/ldmFactories/catalog/dateDatasetFactory.js +5 -5
  38. package/esm/ldmFactories/catalog/dateDatasetFactory.js.map +1 -1
  39. package/esm/ldmFactories/catalog/factFactory.d.ts +3 -3
  40. package/esm/ldmFactories/catalog/factFactory.d.ts.map +1 -1
  41. package/esm/ldmFactories/catalog/factFactory.js +4 -4
  42. package/esm/ldmFactories/catalog/factFactory.js.map +1 -1
  43. package/esm/ldmFactories/catalog/groupFactory.d.ts +1 -1
  44. package/esm/ldmFactories/catalog/groupFactory.d.ts.map +1 -1
  45. package/esm/ldmFactories/catalog/groupFactory.js +2 -2
  46. package/esm/ldmFactories/catalog/groupFactory.js.map +1 -1
  47. package/esm/ldmFactories/catalog/measureFactory.d.ts +3 -3
  48. package/esm/ldmFactories/catalog/measureFactory.d.ts.map +1 -1
  49. package/esm/ldmFactories/catalog/measureFactory.js +4 -4
  50. package/esm/ldmFactories/catalog/measureFactory.js.map +1 -1
  51. package/esm/ldmFactories/dashboard/insightWidgetFactory.d.ts +2 -2
  52. package/esm/ldmFactories/dashboard/insightWidgetFactory.d.ts.map +1 -1
  53. package/esm/ldmFactories/dashboard/insightWidgetFactory.js +2 -2
  54. package/esm/ldmFactories/dashboard/insightWidgetFactory.js.map +1 -1
  55. package/esm/ldmFactories/dashboard/kpiWidgetFactory.d.ts +2 -2
  56. package/esm/ldmFactories/dashboard/kpiWidgetFactory.d.ts.map +1 -1
  57. package/esm/ldmFactories/dashboard/kpiWidgetFactory.js +3 -3
  58. package/esm/ldmFactories/dashboard/kpiWidgetFactory.js.map +1 -1
  59. package/esm/ldmFactories/dashboard/widgetFactory.d.ts +1 -1
  60. package/esm/ldmFactories/dashboard/widgetFactory.d.ts.map +1 -1
  61. package/esm/ldmFactories/dashboard/widgetFactory.js +1 -1
  62. package/esm/ldmFactories/dashboard/widgetFactory.js.map +1 -1
  63. package/esm/ldmFactories/metadata/attributeFactory.d.ts +2 -2
  64. package/esm/ldmFactories/metadata/attributeFactory.d.ts.map +1 -1
  65. package/esm/ldmFactories/metadata/attributeFactory.js +3 -3
  66. package/esm/ldmFactories/metadata/attributeFactory.js.map +1 -1
  67. package/esm/ldmFactories/metadata/dashboardFactory.d.ts +2 -2
  68. package/esm/ldmFactories/metadata/dashboardFactory.d.ts.map +1 -1
  69. package/esm/ldmFactories/metadata/dashboardFactory.js +3 -3
  70. package/esm/ldmFactories/metadata/dashboardFactory.js.map +1 -1
  71. package/esm/ldmFactories/metadata/dataSetFactory.d.ts +2 -2
  72. package/esm/ldmFactories/metadata/dataSetFactory.d.ts.map +1 -1
  73. package/esm/ldmFactories/metadata/dataSetFactory.js +3 -3
  74. package/esm/ldmFactories/metadata/dataSetFactory.js.map +1 -1
  75. package/esm/ldmFactories/metadata/displayFormFactory.d.ts +2 -2
  76. package/esm/ldmFactories/metadata/displayFormFactory.d.ts.map +1 -1
  77. package/esm/ldmFactories/metadata/displayFormFactory.js +3 -3
  78. package/esm/ldmFactories/metadata/displayFormFactory.js.map +1 -1
  79. package/esm/ldmFactories/metadata/factFactory.d.ts +2 -2
  80. package/esm/ldmFactories/metadata/factFactory.d.ts.map +1 -1
  81. package/esm/ldmFactories/metadata/factFactory.js +3 -3
  82. package/esm/ldmFactories/metadata/factFactory.js.map +1 -1
  83. package/esm/ldmFactories/metadata/factory.d.ts +1 -1
  84. package/esm/ldmFactories/metadata/factory.d.ts.map +1 -1
  85. package/esm/ldmFactories/metadata/factory.js +1 -1
  86. package/esm/ldmFactories/metadata/factory.js.map +1 -1
  87. package/esm/ldmFactories/metadata/measureFactory.d.ts +2 -2
  88. package/esm/ldmFactories/metadata/measureFactory.d.ts.map +1 -1
  89. package/esm/ldmFactories/metadata/measureFactory.js +3 -3
  90. package/esm/ldmFactories/metadata/measureFactory.js.map +1 -1
  91. package/esm/ldmFactories/metadata/variableFactory.d.ts +2 -2
  92. package/esm/ldmFactories/metadata/variableFactory.d.ts.map +1 -1
  93. package/esm/ldmFactories/metadata/variableFactory.js +3 -3
  94. package/esm/ldmFactories/metadata/variableFactory.js.map +1 -1
  95. package/esm/normalizingBackend/index.d.ts +1 -1
  96. package/esm/normalizingBackend/index.d.ts.map +1 -1
  97. package/esm/normalizingBackend/index.js +4 -4
  98. package/esm/normalizingBackend/index.js.map +1 -1
  99. package/esm/normalizingBackend/normalizer.d.ts +2 -0
  100. package/esm/normalizingBackend/normalizer.d.ts.map +1 -1
  101. package/esm/normalizingBackend/normalizer.js +20 -6
  102. package/esm/normalizingBackend/normalizer.js.map +1 -1
  103. package/{dist → esm}/sdk-backend-base.d.ts +2 -0
  104. package/esm/toolkit/execution.d.ts +1 -1
  105. package/esm/toolkit/execution.d.ts.map +1 -1
  106. package/esm/toolkit/execution.js +1 -1
  107. package/esm/toolkit/execution.js.map +1 -1
  108. package/esm/toolkit/paging.js +4 -4
  109. package/esm/toolkit/paging.js.map +1 -1
  110. package/esm/tsdoc-metadata.json +1 -1
  111. package/esm/workspaceSettingsBackend/index.js +3 -3
  112. package/esm/workspaceSettingsBackend/index.js.map +1 -1
  113. package/package.json +25 -35
  114. package/dist/cachingBackend/index.d.ts +0 -230
  115. package/dist/cachingBackend/index.d.ts.map +0 -1
  116. package/dist/cachingBackend/index.js +0 -579
  117. package/dist/cachingBackend/index.js.map +0 -1
  118. package/dist/convertors/fromBackend/afm/result.d.ts +0 -18
  119. package/dist/convertors/fromBackend/afm/result.d.ts.map +0 -1
  120. package/dist/convertors/fromBackend/afm/result.js +0 -28
  121. package/dist/convertors/fromBackend/afm/result.js.map +0 -1
  122. package/dist/customBackend/config.d.ts +0 -151
  123. package/dist/customBackend/config.d.ts.map +0 -1
  124. package/dist/customBackend/config.js +0 -3
  125. package/dist/customBackend/config.js.map +0 -1
  126. package/dist/customBackend/execution.d.ts +0 -14
  127. package/dist/customBackend/execution.d.ts.map +0 -1
  128. package/dist/customBackend/execution.js +0 -139
  129. package/dist/customBackend/execution.js.map +0 -1
  130. package/dist/customBackend/index.d.ts +0 -47
  131. package/dist/customBackend/index.d.ts.map +0 -1
  132. package/dist/customBackend/index.js +0 -150
  133. package/dist/customBackend/index.js.map +0 -1
  134. package/dist/customBackend/workspace.d.ts +0 -29
  135. package/dist/customBackend/workspace.d.ts.map +0 -1
  136. package/dist/customBackend/workspace.js +0 -78
  137. package/dist/customBackend/workspace.js.map +0 -1
  138. package/dist/decoratedBackend/attributes.d.ts +0 -19
  139. package/dist/decoratedBackend/attributes.d.ts.map +0 -1
  140. package/dist/decoratedBackend/attributes.js +0 -41
  141. package/dist/decoratedBackend/attributes.js.map +0 -1
  142. package/dist/decoratedBackend/catalog.d.ts +0 -46
  143. package/dist/decoratedBackend/catalog.d.ts.map +0 -1
  144. package/dist/decoratedBackend/catalog.js +0 -70
  145. package/dist/decoratedBackend/catalog.js.map +0 -1
  146. package/dist/decoratedBackend/dashboards.d.ts +0 -40
  147. package/dist/decoratedBackend/dashboards.d.ts.map +0 -1
  148. package/dist/decoratedBackend/dashboards.js +0 -101
  149. package/dist/decoratedBackend/dashboards.js.map +0 -1
  150. package/dist/decoratedBackend/elements.d.ts +0 -66
  151. package/dist/decoratedBackend/elements.d.ts.map +0 -1
  152. package/dist/decoratedBackend/elements.js +0 -81
  153. package/dist/decoratedBackend/elements.js.map +0 -1
  154. package/dist/decoratedBackend/execution.d.ts +0 -107
  155. package/dist/decoratedBackend/execution.d.ts.map +0 -1
  156. package/dist/decoratedBackend/execution.js +0 -152
  157. package/dist/decoratedBackend/execution.js.map +0 -1
  158. package/dist/decoratedBackend/index.d.ts +0 -54
  159. package/dist/decoratedBackend/index.d.ts.map +0 -1
  160. package/dist/decoratedBackend/index.js +0 -181
  161. package/dist/decoratedBackend/index.js.map +0 -1
  162. package/dist/decoratedBackend/securitySettings.d.ts +0 -12
  163. package/dist/decoratedBackend/securitySettings.d.ts.map +0 -1
  164. package/dist/decoratedBackend/securitySettings.js +0 -21
  165. package/dist/decoratedBackend/securitySettings.js.map +0 -1
  166. package/dist/decoratedBackend/workspaceSettings.d.ts +0 -12
  167. package/dist/decoratedBackend/workspaceSettings.d.ts.map +0 -1
  168. package/dist/decoratedBackend/workspaceSettings.js +0 -22
  169. package/dist/decoratedBackend/workspaceSettings.js.map +0 -1
  170. package/dist/dummyBackend/index.d.ts +0 -62
  171. package/dist/dummyBackend/index.d.ts.map +0 -1
  172. package/dist/dummyBackend/index.js +0 -729
  173. package/dist/dummyBackend/index.js.map +0 -1
  174. package/dist/eventingBackend/index.d.ts +0 -74
  175. package/dist/eventingBackend/index.d.ts.map +0 -1
  176. package/dist/eventingBackend/index.js +0 -84
  177. package/dist/eventingBackend/index.js.map +0 -1
  178. package/dist/index.d.ts +0 -48
  179. package/dist/index.d.ts.map +0 -1
  180. package/dist/index.js +0 -117
  181. package/dist/index.js.map +0 -1
  182. package/dist/ldmFactories/builder.d.ts +0 -75
  183. package/dist/ldmFactories/builder.d.ts.map +0 -1
  184. package/dist/ldmFactories/builder.js +0 -59
  185. package/dist/ldmFactories/builder.js.map +0 -1
  186. package/dist/ldmFactories/catalog/attributeFactory.d.ts +0 -27
  187. package/dist/ldmFactories/catalog/attributeFactory.d.ts.map +0 -1
  188. package/dist/ldmFactories/catalog/attributeFactory.js +0 -63
  189. package/dist/ldmFactories/catalog/attributeFactory.js.map +0 -1
  190. package/dist/ldmFactories/catalog/dateDatasetFactory.d.ts +0 -44
  191. package/dist/ldmFactories/catalog/dateDatasetFactory.d.ts.map +0 -1
  192. package/dist/ldmFactories/catalog/dateDatasetFactory.js +0 -87
  193. package/dist/ldmFactories/catalog/dateDatasetFactory.js.map +0 -1
  194. package/dist/ldmFactories/catalog/factFactory.d.ts +0 -22
  195. package/dist/ldmFactories/catalog/factFactory.d.ts.map +0 -1
  196. package/dist/ldmFactories/catalog/factFactory.js +0 -38
  197. package/dist/ldmFactories/catalog/factFactory.js.map +0 -1
  198. package/dist/ldmFactories/catalog/groupFactory.d.ts +0 -38
  199. package/dist/ldmFactories/catalog/groupFactory.d.ts.map +0 -1
  200. package/dist/ldmFactories/catalog/groupFactory.js +0 -47
  201. package/dist/ldmFactories/catalog/groupFactory.js.map +0 -1
  202. package/dist/ldmFactories/catalog/measureFactory.d.ts +0 -23
  203. package/dist/ldmFactories/catalog/measureFactory.d.ts.map +0 -1
  204. package/dist/ldmFactories/catalog/measureFactory.js +0 -45
  205. package/dist/ldmFactories/catalog/measureFactory.js.map +0 -1
  206. package/dist/ldmFactories/dashboard/insightWidgetFactory.d.ts +0 -31
  207. package/dist/ldmFactories/dashboard/insightWidgetFactory.d.ts.map +0 -1
  208. package/dist/ldmFactories/dashboard/insightWidgetFactory.js +0 -45
  209. package/dist/ldmFactories/dashboard/insightWidgetFactory.js.map +0 -1
  210. package/dist/ldmFactories/dashboard/kpiWidgetFactory.d.ts +0 -34
  211. package/dist/ldmFactories/dashboard/kpiWidgetFactory.d.ts.map +0 -1
  212. package/dist/ldmFactories/dashboard/kpiWidgetFactory.js +0 -55
  213. package/dist/ldmFactories/dashboard/kpiWidgetFactory.js.map +0 -1
  214. package/dist/ldmFactories/dashboard/widgetFactory.d.ts +0 -31
  215. package/dist/ldmFactories/dashboard/widgetFactory.d.ts.map +0 -1
  216. package/dist/ldmFactories/dashboard/widgetFactory.js +0 -29
  217. package/dist/ldmFactories/dashboard/widgetFactory.js.map +0 -1
  218. package/dist/ldmFactories/metadata/attributeFactory.d.ts +0 -24
  219. package/dist/ldmFactories/metadata/attributeFactory.d.ts.map +0 -1
  220. package/dist/ldmFactories/metadata/attributeFactory.js +0 -44
  221. package/dist/ldmFactories/metadata/attributeFactory.js.map +0 -1
  222. package/dist/ldmFactories/metadata/dashboardFactory.d.ts +0 -21
  223. package/dist/ldmFactories/metadata/dashboardFactory.d.ts.map +0 -1
  224. package/dist/ldmFactories/metadata/dashboardFactory.js +0 -28
  225. package/dist/ldmFactories/metadata/dashboardFactory.js.map +0 -1
  226. package/dist/ldmFactories/metadata/dataSetFactory.d.ts +0 -21
  227. package/dist/ldmFactories/metadata/dataSetFactory.d.ts.map +0 -1
  228. package/dist/ldmFactories/metadata/dataSetFactory.js +0 -28
  229. package/dist/ldmFactories/metadata/dataSetFactory.js.map +0 -1
  230. package/dist/ldmFactories/metadata/displayFormFactory.d.ts +0 -24
  231. package/dist/ldmFactories/metadata/displayFormFactory.d.ts.map +0 -1
  232. package/dist/ldmFactories/metadata/displayFormFactory.js +0 -40
  233. package/dist/ldmFactories/metadata/displayFormFactory.js.map +0 -1
  234. package/dist/ldmFactories/metadata/factFactory.d.ts +0 -21
  235. package/dist/ldmFactories/metadata/factFactory.d.ts.map +0 -1
  236. package/dist/ldmFactories/metadata/factFactory.js +0 -28
  237. package/dist/ldmFactories/metadata/factFactory.js.map +0 -1
  238. package/dist/ldmFactories/metadata/factory.d.ts +0 -74
  239. package/dist/ldmFactories/metadata/factory.d.ts.map +0 -1
  240. package/dist/ldmFactories/metadata/factory.js +0 -43
  241. package/dist/ldmFactories/metadata/factory.js.map +0 -1
  242. package/dist/ldmFactories/metadata/measureFactory.d.ts +0 -24
  243. package/dist/ldmFactories/metadata/measureFactory.d.ts.map +0 -1
  244. package/dist/ldmFactories/metadata/measureFactory.js +0 -40
  245. package/dist/ldmFactories/metadata/measureFactory.js.map +0 -1
  246. package/dist/ldmFactories/metadata/variableFactory.d.ts +0 -21
  247. package/dist/ldmFactories/metadata/variableFactory.d.ts.map +0 -1
  248. package/dist/ldmFactories/metadata/variableFactory.js +0 -28
  249. package/dist/ldmFactories/metadata/variableFactory.js.map +0 -1
  250. package/dist/normalizingBackend/index.d.ts +0 -46
  251. package/dist/normalizingBackend/index.d.ts.map +0 -1
  252. package/dist/normalizingBackend/index.js +0 -174
  253. package/dist/normalizingBackend/index.js.map +0 -1
  254. package/dist/normalizingBackend/normalizer.d.ts +0 -131
  255. package/dist/normalizingBackend/normalizer.d.ts.map +0 -1
  256. package/dist/normalizingBackend/normalizer.js +0 -352
  257. package/dist/normalizingBackend/normalizer.js.map +0 -1
  258. package/dist/toolkit/auth.d.ts +0 -83
  259. package/dist/toolkit/auth.d.ts.map +0 -1
  260. package/dist/toolkit/auth.js +0 -106
  261. package/dist/toolkit/auth.js.map +0 -1
  262. package/dist/toolkit/backend.d.ts +0 -8
  263. package/dist/toolkit/backend.d.ts.map +0 -1
  264. package/dist/toolkit/backend.js +0 -3
  265. package/dist/toolkit/backend.js.map +0 -1
  266. package/dist/toolkit/execution.d.ts +0 -54
  267. package/dist/toolkit/execution.d.ts.map +0 -1
  268. package/dist/toolkit/execution.js +0 -88
  269. package/dist/toolkit/execution.js.map +0 -1
  270. package/dist/toolkit/paging.d.ts +0 -52
  271. package/dist/toolkit/paging.d.ts.map +0 -1
  272. package/dist/toolkit/paging.js +0 -109
  273. package/dist/toolkit/paging.js.map +0 -1
  274. package/dist/toolkit/pluginUrlValidation.d.ts +0 -9
  275. package/dist/toolkit/pluginUrlValidation.d.ts.map +0 -1
  276. package/dist/toolkit/pluginUrlValidation.js +0 -50
  277. package/dist/toolkit/pluginUrlValidation.js.map +0 -1
  278. package/dist/workspaceSettingsBackend/index.d.ts +0 -53
  279. package/dist/workspaceSettingsBackend/index.d.ts.map +0 -1
  280. package/dist/workspaceSettingsBackend/index.js +0 -42
  281. package/dist/workspaceSettingsBackend/index.js.map +0 -1
@@ -1,579 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withCaching = exports.RecommendedCachingConfiguration = void 0;
4
- const tslib_1 = require("tslib");
5
- const decoratedBackend_1 = require("../decoratedBackend");
6
- const lru_cache_1 = tslib_1.__importDefault(require("lru-cache"));
7
- const securitySettings_1 = require("../decoratedBackend/securitySettings");
8
- const execution_1 = require("../decoratedBackend/execution");
9
- const catalog_1 = require("../decoratedBackend/catalog");
10
- const elements_1 = require("../decoratedBackend/elements");
11
- const json_stable_stringify_1 = tslib_1.__importDefault(require("json-stable-stringify"));
12
- const compact_1 = tslib_1.__importDefault(require("lodash/compact"));
13
- const first_1 = tslib_1.__importDefault(require("lodash/first"));
14
- const flow_1 = tslib_1.__importDefault(require("lodash/flow"));
15
- const identity_1 = tslib_1.__importDefault(require("lodash/identity"));
16
- const ts_invariant_1 = tslib_1.__importDefault(require("ts-invariant"));
17
- const partition_1 = tslib_1.__importDefault(require("lodash/partition"));
18
- const spark_md5_1 = tslib_1.__importDefault(require("spark-md5"));
19
- const sdk_model_1 = require("@gooddata/sdk-model");
20
- const attributes_1 = require("../decoratedBackend/attributes");
21
- const workspaceSettings_1 = require("../decoratedBackend/workspaceSettings");
22
- //
23
- // Execution caching
24
- //
25
- class WithExecutionCaching extends execution_1.DecoratedPreparedExecution {
26
- constructor(decorated, ctx) {
27
- super(decorated);
28
- this.ctx = ctx;
29
- this.execute = async () => {
30
- const cacheKey = this.fingerprint();
31
- const cache = this.ctx.caches.execution;
32
- let cacheEntry = cache.get(cacheKey);
33
- if (!cacheEntry) {
34
- const result = super
35
- .execute()
36
- .then((res) => {
37
- return new WithExecutionResultCaching(res, this.createNew, this.ctx);
38
- })
39
- .catch((e) => {
40
- cache.delete(cacheKey);
41
- throw e;
42
- });
43
- cacheEntry = { result };
44
- cache.set(cacheKey, cacheEntry);
45
- }
46
- return new DefinitionSanitizingExecutionResult(await cacheEntry.result, this.createNew, this.definition);
47
- };
48
- this.createNew = (decorated) => {
49
- return new WithExecutionCaching(decorated, this.ctx);
50
- };
51
- }
52
- }
53
- /**
54
- * This DataView decorator makes sure that definition used in it is the same as the definition in the result.
55
- *
56
- * See the usage of this class in {@link DefinitionSanitizingExecutionResult} for more.
57
- */
58
- class DefinitionSanitizingDataView extends execution_1.DecoratedDataView {
59
- constructor(decorated, result) {
60
- super(decorated, result);
61
- this.definition = result.definition;
62
- }
63
- }
64
- /**
65
- * This ExecutionResult decorator makes sure that definitions used throughout the result are set
66
- * to the definitionOverride provided. This is useful with caching because different definitions may yield
67
- * the same cache key, but having the proper definition in the returned execution result is critical:
68
- * the definitions in the result must match the one which was used to request it.
69
- * This however is not always the case when using cached results, so we need to ensure it explicitly.
70
- *
71
- * See the usage of this class in {@link WithExecutionCaching} for more.
72
- */
73
- class DefinitionSanitizingExecutionResult extends execution_1.DecoratedExecutionResult {
74
- constructor(decorated, wrapper, definitionOverride) {
75
- super(decorated, wrapper);
76
- this.readAll = async () => {
77
- return this.withSanitizedDefinition(await super.readAll());
78
- };
79
- this.readWindow = async (offset, size) => {
80
- return this.withSanitizedDefinition(await super.readWindow(offset, size));
81
- };
82
- this.withSanitizedDefinition = (original) => {
83
- return new DefinitionSanitizingDataView(original, this);
84
- };
85
- this.definition = definitionOverride;
86
- }
87
- }
88
- function windowKey(offset, size) {
89
- return `o(${offset.join(",")})_s(${size.join(",")})`;
90
- }
91
- class WithExecutionResultCaching extends execution_1.DecoratedExecutionResult {
92
- constructor(decorated, wrapper, ctx) {
93
- super(decorated, wrapper);
94
- this.ctx = ctx;
95
- this.readAll = () => {
96
- if (!this.allData) {
97
- this.allData = super.readAll().catch((e) => {
98
- this.allData = undefined;
99
- throw e;
100
- });
101
- }
102
- return this.allData;
103
- };
104
- this.readWindow = (offset, size) => {
105
- if (!this.windows) {
106
- return super.readWindow(offset, size);
107
- }
108
- const cacheKey = windowKey(offset, size);
109
- let window = this.windows.get(cacheKey);
110
- if (!window) {
111
- window = super.readWindow(offset, size).catch((e) => {
112
- if (this.windows) {
113
- this.windows.delete(cacheKey);
114
- }
115
- throw e;
116
- });
117
- this.windows.set(cacheKey, window);
118
- }
119
- return window;
120
- };
121
- if (cachingEnabled(this.ctx.config.maxResultWindows)) {
122
- this.windows = new lru_cache_1.default({ max: this.ctx.config.maxResultWindows });
123
- }
124
- }
125
- }
126
- //
127
- // Catalog caching
128
- //
129
- function optionsKey(options) {
130
- return (0, json_stable_stringify_1.default)(options);
131
- }
132
- class WithCatalogCaching extends catalog_1.DecoratedWorkspaceCatalogFactory {
133
- constructor(decorated, ctx) {
134
- super(decorated);
135
- this.ctx = ctx;
136
- this.load = () => {
137
- const cache = this.getOrCreateWorkspaceEntry(this.workspace).catalogForOptions;
138
- const cacheKey = optionsKey(this.options);
139
- let catalog = cache.get(cacheKey);
140
- if (!catalog) {
141
- catalog = super.load().catch((e) => {
142
- cache.delete(cacheKey);
143
- throw e;
144
- });
145
- cache.set(cacheKey, catalog);
146
- }
147
- return catalog;
148
- };
149
- this.createNew = (decorated) => {
150
- return new WithCatalogCaching(decorated, this.ctx);
151
- };
152
- this.getOrCreateWorkspaceEntry = (workspace) => {
153
- const cache = this.ctx.caches.workspaceCatalogs;
154
- let cacheEntry = cache.get(workspace);
155
- if (!cacheEntry) {
156
- cacheEntry = {
157
- catalogForOptions: new lru_cache_1.default({
158
- max: this.ctx.config.maxCatalogOptions,
159
- }),
160
- };
161
- cache.set(workspace, cacheEntry);
162
- }
163
- return cacheEntry;
164
- };
165
- }
166
- }
167
- //
168
- // Organization security settings caching
169
- //
170
- function validUrlInContextKey(url, context) {
171
- return `${context}_${(0, json_stable_stringify_1.default)(url)}`;
172
- }
173
- class WithSecuritySettingsCaching extends securitySettings_1.DecoratedSecuritySettingsService {
174
- constructor(decorated, ctx) {
175
- super(decorated);
176
- this.ctx = ctx;
177
- this.isUrlValid = (url, context) => {
178
- const cache = this.getOrCreateSecuritySettingsEntry(this.scope).valid;
179
- const cacheKey = validUrlInContextKey(url, context);
180
- let result = cache.get(cacheKey);
181
- if (!result) {
182
- result = super.isUrlValid(url, context).catch((e) => {
183
- cache.delete(cacheKey);
184
- throw e;
185
- });
186
- cache.set(cacheKey, result);
187
- }
188
- return result;
189
- };
190
- this.isDashboardPluginUrlValid = (url, workspace) => {
191
- const scope = `plugins_${workspace}`;
192
- const cache = this.getOrCreateSecuritySettingsEntry(scope).valid;
193
- let result = cache.get(url);
194
- if (!result) {
195
- result = super.isDashboardPluginUrlValid(url, workspace).catch((e) => {
196
- cache.delete(url);
197
- throw e;
198
- });
199
- cache.set(url, result);
200
- }
201
- return result;
202
- };
203
- this.getOrCreateSecuritySettingsEntry = (scope) => {
204
- const cache = this.ctx.caches.securitySettings;
205
- let cacheEntry = cache.get(scope);
206
- if (!cacheEntry) {
207
- cacheEntry = {
208
- valid: new lru_cache_1.default({
209
- max: this.ctx.config.maxSecuritySettingsOrgUrls,
210
- ttl: this.ctx.config.maxSecuritySettingsOrgUrlsAge,
211
- }),
212
- };
213
- cache.set(scope, cacheEntry);
214
- }
215
- return cacheEntry;
216
- };
217
- }
218
- }
219
- class WithWorkspaceSettingsCaching extends workspaceSettings_1.DecoratedWorkspaceSettingsService {
220
- constructor(decorated, ctx, workspace) {
221
- super(decorated);
222
- this.ctx = ctx;
223
- this.workspace = workspace;
224
- this.getSettings = () => {
225
- const cache = this.getOrCreateWorkspaceEntry(this.workspace).workspaceSettings;
226
- const cacheKey = this.workspace;
227
- let workspaceSettings = cache.get(cacheKey);
228
- if (!workspaceSettings) {
229
- workspaceSettings = super.getSettings().catch((e) => {
230
- cache.delete(cacheKey);
231
- throw e;
232
- });
233
- cache.set(cacheKey, workspaceSettings);
234
- }
235
- return workspaceSettings;
236
- };
237
- this.getOrCreateWorkspaceEntry = (workspace) => {
238
- const cache = this.ctx.caches.workspaceSettings;
239
- let cacheEntry = cache.get(workspace);
240
- if (!cacheEntry) {
241
- cacheEntry = {
242
- userWorkspaceSettings: new lru_cache_1.default({
243
- max: this.ctx.config.maxWorkspaceSettings,
244
- }),
245
- workspaceSettings: new lru_cache_1.default({
246
- max: this.ctx.config.maxWorkspaceSettings,
247
- }),
248
- };
249
- cache.set(workspace, cacheEntry);
250
- }
251
- return cacheEntry;
252
- };
253
- }
254
- getSettingsForCurrentUser() {
255
- const cache = this.getOrCreateWorkspaceEntry(this.workspace).userWorkspaceSettings;
256
- const cacheKey = this.workspace; // we assume that the current user does not change over the life span of the backend instance
257
- let userWorkspaceSettings = cache.get(cacheKey);
258
- if (!userWorkspaceSettings) {
259
- userWorkspaceSettings = super.getSettingsForCurrentUser().catch((e) => {
260
- cache.delete(cacheKey);
261
- throw e;
262
- });
263
- cache.set(cacheKey, userWorkspaceSettings);
264
- }
265
- return userWorkspaceSettings;
266
- }
267
- async setLocale(locale) {
268
- return super.setLocale(locale);
269
- }
270
- }
271
- //
272
- // Attributes caching
273
- //
274
- function refMatchesMdObject(ref, mdObject, type) {
275
- return ((0, sdk_model_1.areObjRefsEqual)(ref, mdObject.ref) ||
276
- (0, sdk_model_1.areObjRefsEqual)(ref, (0, sdk_model_1.idRef)(mdObject.id, type)) ||
277
- (0, sdk_model_1.areObjRefsEqual)(ref, (0, sdk_model_1.uriRef)(mdObject.uri)));
278
- }
279
- const firstDefined = (0, flow_1.default)(compact_1.default, first_1.default);
280
- function elementsCacheKey(ref, settings) {
281
- return new spark_md5_1.default().append((0, sdk_model_1.objRefToString)(ref)).append((0, json_stable_stringify_1.default)(settings)).end();
282
- }
283
- function getOrCreateAttributeCache(ctx, workspace) {
284
- const cache = ctx.caches.workspaceAttributes;
285
- let cacheEntry = cache.get(workspace);
286
- if (!cacheEntry) {
287
- cacheEntry = {
288
- displayForms: new lru_cache_1.default({
289
- max: ctx.config.maxAttributeDisplayFormsPerWorkspace,
290
- }),
291
- attributesByDisplayForms: new lru_cache_1.default({
292
- max: ctx.config.maxAttributesPerWorkspace,
293
- }),
294
- attributeElementResults: cachingEnabled(ctx.config.maxAttributeElementResultsPerWorkspace)
295
- ? new lru_cache_1.default({
296
- max: ctx.config.maxAttributeElementResultsPerWorkspace,
297
- })
298
- : undefined,
299
- };
300
- cache.set(workspace, cacheEntry);
301
- }
302
- return cacheEntry;
303
- }
304
- class CachedElementsQuery extends elements_1.DecoratedElementsQuery {
305
- constructor(decorated, ctx, workspace, ref, settings = {}) {
306
- super(decorated, settings);
307
- this.ctx = ctx;
308
- this.workspace = workspace;
309
- this.ref = ref;
310
- this.query = async () => {
311
- var _a;
312
- const canCache = !((_a = this.settings.options) === null || _a === void 0 ? void 0 : _a.filter);
313
- if (!canCache) {
314
- return super.query();
315
- }
316
- const cache = getOrCreateAttributeCache(this.ctx, this.workspace).attributeElementResults;
317
- (0, ts_invariant_1.default)(cache, "inconsistent attribute element cache config");
318
- const cacheKey = elementsCacheKey(this.ref, this.settings);
319
- let result = cache.get(cacheKey);
320
- if (!result) {
321
- result = super.query().catch((e) => {
322
- cache.delete(cacheKey);
323
- throw e;
324
- });
325
- cache.set(cacheKey, result);
326
- }
327
- return result;
328
- };
329
- }
330
- createNew(decorated, settings) {
331
- return new CachedElementsQuery(decorated, this.ctx, this.workspace, this.ref, settings);
332
- }
333
- }
334
- class CachedElementsQueryFactory extends elements_1.DecoratedElementsQueryFactory {
335
- constructor(decorated, ctx, workspace) {
336
- super(decorated);
337
- this.ctx = ctx;
338
- this.workspace = workspace;
339
- }
340
- forDisplayForm(ref) {
341
- const decorated = this.decorated.forDisplayForm(ref);
342
- return new CachedElementsQuery(decorated, this.ctx, this.workspace, ref);
343
- }
344
- }
345
- class WithAttributesCaching extends attributes_1.DecoratedWorkspaceAttributesService {
346
- constructor(decorated, ctx, workspace) {
347
- super(decorated);
348
- this.ctx = ctx;
349
- this.workspace = workspace;
350
- this.getAttributeDisplayForm = (ref) => {
351
- const cache = getOrCreateAttributeCache(this.ctx, this.workspace).displayForms;
352
- const idCacheKey = (0, sdk_model_1.isIdentifierRef)(ref) ? ref.identifier : undefined;
353
- const uriCacheKey = (0, sdk_model_1.isUriRef)(ref) ? ref.uri : undefined;
354
- let cacheItem = firstDefined([idCacheKey, uriCacheKey].map((key) => key && cache.get(key)));
355
- if (!cacheItem) {
356
- cacheItem = super.getAttributeDisplayForm(ref).catch((e) => {
357
- if (idCacheKey) {
358
- cache.delete(idCacheKey);
359
- }
360
- if (uriCacheKey) {
361
- cache.delete(uriCacheKey);
362
- }
363
- throw e;
364
- });
365
- if (idCacheKey) {
366
- cache.set(idCacheKey, cacheItem);
367
- }
368
- if (uriCacheKey) {
369
- cache.set(uriCacheKey, cacheItem);
370
- }
371
- }
372
- return cacheItem;
373
- };
374
- this.getAttributeDisplayForms = async (refs) => {
375
- const cache = getOrCreateAttributeCache(this.ctx, this.workspace).displayForms;
376
- // grab a reference to the cache results as soon as possible in case they would get evicted while loading the ones with missing data in cache
377
- // then would might not be able to call cache.get again and be guaranteed to get the data
378
- const refsWithCacheResults = refs.map((ref) => {
379
- const idCacheKey = (0, sdk_model_1.isIdentifierRef)(ref) ? ref.identifier : undefined;
380
- const uriCacheKey = (0, sdk_model_1.isUriRef)(ref) ? ref.uri : undefined;
381
- const cacheHit = firstDefined([idCacheKey, uriCacheKey].map((key) => key && cache.get(key)));
382
- return { ref, cacheHit };
383
- });
384
- const [withCacheHits, withoutCacheHits] = (0, partition_1.default)(refsWithCacheResults, ({ cacheHit }) => !!cacheHit);
385
- const refsToLoad = withoutCacheHits.map((item) => item.ref);
386
- const [alreadyInCache, loadedFromServer] = await Promise.all([
387
- // await the stuff from cache, we need the data available (we cannot just return the promises)
388
- Promise.all(withCacheHits.map((item) => item.cacheHit)),
389
- // load items not in cache using the bulk operation
390
- this.decorated.getAttributeDisplayForms(refsToLoad),
391
- ]);
392
- // save newly loaded to cache for future reference
393
- loadedFromServer.forEach((loaded) => {
394
- const promisifiedResult = Promise.resolve(loaded);
395
- // save the cache item for both types of refs
396
- cache.set(loaded.id, promisifiedResult);
397
- cache.set(loaded.uri, promisifiedResult);
398
- });
399
- const loadedRefs = loadedFromServer.map((item) => item.ref);
400
- const outputRefs = this.ctx.capabilities.allowsInconsistentRelations
401
- ? skipMissingReferences(refs, refsToLoad, loadedRefs)
402
- : refs;
403
- // reconstruct the original ordering
404
- const candidates = [...loadedFromServer, ...alreadyInCache];
405
- return outputRefs.map((ref) => {
406
- const match = candidates.find((item) => refMatchesMdObject(ref, item, "displayForm"));
407
- // if this bombs, some data got lost in the process
408
- (0, ts_invariant_1.default)(match);
409
- return match;
410
- });
411
- };
412
- this.getAttributeByDisplayForm = async (ref) => {
413
- const cache = getOrCreateAttributeCache(this.ctx, this.workspace).attributesByDisplayForms;
414
- const idCacheKey = (0, sdk_model_1.isIdentifierRef)(ref) ? ref.identifier : undefined;
415
- const uriCacheKey = (0, sdk_model_1.isUriRef)(ref) ? ref.uri : undefined;
416
- let cacheItem = firstDefined([idCacheKey, uriCacheKey].map((key) => key && cache.get(key)));
417
- if (!cacheItem) {
418
- // eslint-disable-next-line sonarjs/no-identical-functions
419
- cacheItem = super.getAttributeByDisplayForm(ref).catch((e) => {
420
- if (idCacheKey) {
421
- cache.delete(idCacheKey);
422
- }
423
- if (uriCacheKey) {
424
- cache.delete(uriCacheKey);
425
- }
426
- throw e;
427
- });
428
- if (idCacheKey) {
429
- cache.set(idCacheKey, cacheItem);
430
- }
431
- if (uriCacheKey) {
432
- cache.set(uriCacheKey, cacheItem);
433
- }
434
- }
435
- return cacheItem;
436
- };
437
- }
438
- elements() {
439
- const decorated = this.decorated.elements();
440
- return cachingEnabled(this.ctx.config.maxAttributeElementResultsPerWorkspace)
441
- ? new CachedElementsQueryFactory(decorated, this.ctx, this.workspace)
442
- : decorated;
443
- }
444
- }
445
- //
446
- //
447
- //
448
- function cachedExecutions(ctx) {
449
- return (original) => new execution_1.DecoratedExecutionFactory(original, (execution) => new WithExecutionCaching(execution, ctx));
450
- }
451
- function cachedCatalog(ctx) {
452
- return (original) => new WithCatalogCaching(original, ctx);
453
- }
454
- function cachedSecuritySettings(ctx) {
455
- return (original) => new WithSecuritySettingsCaching(original, ctx);
456
- }
457
- function cachedWorkspaceSettings(ctx) {
458
- return (original, workspace) => new WithWorkspaceSettingsCaching(original, ctx, workspace);
459
- }
460
- function cachedAttributes(ctx) {
461
- return (original, workspace) => new WithAttributesCaching(original, ctx, workspace);
462
- }
463
- function cachingEnabled(desiredSize) {
464
- return desiredSize !== undefined && desiredSize > 0;
465
- }
466
- function cacheControl(ctx) {
467
- const control = {
468
- resetExecutions: () => {
469
- var _a;
470
- (_a = ctx.caches.execution) === null || _a === void 0 ? void 0 : _a.clear();
471
- },
472
- resetCatalogs: () => {
473
- var _a;
474
- (_a = ctx.caches.workspaceCatalogs) === null || _a === void 0 ? void 0 : _a.clear();
475
- },
476
- resetSecuritySettings: () => {
477
- var _a;
478
- (_a = ctx.caches.securitySettings) === null || _a === void 0 ? void 0 : _a.clear();
479
- },
480
- resetAttributes: () => {
481
- var _a;
482
- (_a = ctx.caches.workspaceAttributes) === null || _a === void 0 ? void 0 : _a.clear();
483
- },
484
- resetWorkspaceSettings: () => {
485
- var _a;
486
- (_a = ctx.caches.workspaceSettings) === null || _a === void 0 ? void 0 : _a.clear();
487
- },
488
- resetAll: () => {
489
- control.resetExecutions();
490
- control.resetCatalogs();
491
- control.resetSecuritySettings();
492
- control.resetAttributes();
493
- control.resetWorkspaceSettings();
494
- },
495
- };
496
- return control;
497
- }
498
- function assertPositiveOrUndefined(value, valueName) {
499
- (0, ts_invariant_1.default)(value === undefined || value > 0, `${valueName} to cache must be positive or undefined, got: ${value}`);
500
- }
501
- /**
502
- * These are the recommended settings for the backend caching.
503
- *
504
- * @remarks
505
- * For more information on what the options mean see {@link CachingConfiguration}.
506
- *
507
- * @public
508
- */
509
- exports.RecommendedCachingConfiguration = {
510
- maxExecutions: 10,
511
- maxResultWindows: 5,
512
- maxCatalogs: 1,
513
- maxCatalogOptions: 50,
514
- maxSecuritySettingsOrgs: 3,
515
- maxSecuritySettingsOrgUrls: 100,
516
- maxSecuritySettingsOrgUrlsAge: 300000,
517
- maxAttributeWorkspaces: 1,
518
- maxAttributeDisplayFormsPerWorkspace: 100,
519
- maxAttributesPerWorkspace: 100,
520
- maxAttributeElementResultsPerWorkspace: 100,
521
- maxWorkspaceSettings: 1,
522
- };
523
- /**
524
- * Adds caching layer on top of an existing analytical backend instance. It is currently possible to cache
525
- * results of executions and the workspace LDM catalog.
526
- *
527
- * @remarks see {@link CachingConfiguration} properties for more information.
528
- * @param realBackend - real backend to decorate with caching
529
- * @param config - caching configuration. {@link RecommendedCachingConfiguration} can be used
530
- * @public
531
- */
532
- function withCaching(realBackend, config) {
533
- assertPositiveOrUndefined(config.maxCatalogOptions, "maxCatalogOptions");
534
- assertPositiveOrUndefined(config.maxSecuritySettingsOrgUrls, "maxSecuritySettingsOrgUrls");
535
- assertPositiveOrUndefined(config.maxSecuritySettingsOrgUrlsAge, "maxSecuritySettingsOrgUrlsAge");
536
- const execCaching = cachingEnabled(config.maxExecutions);
537
- const catalogCaching = cachingEnabled(config.maxCatalogs);
538
- const securitySettingsCaching = cachingEnabled(config.maxSecuritySettingsOrgs);
539
- const attributeCaching = cachingEnabled(config.maxAttributeWorkspaces);
540
- const workspaceSettingsCaching = cachingEnabled(config.maxWorkspaceSettings);
541
- const ctx = {
542
- caches: {
543
- execution: execCaching ? new lru_cache_1.default({ max: config.maxExecutions }) : undefined,
544
- workspaceCatalogs: catalogCaching ? new lru_cache_1.default({ max: config.maxCatalogs }) : undefined,
545
- securitySettings: securitySettingsCaching
546
- ? new lru_cache_1.default({ max: config.maxSecuritySettingsOrgs })
547
- : undefined,
548
- workspaceAttributes: attributeCaching
549
- ? new lru_cache_1.default({ max: config.maxAttributeWorkspaces })
550
- : undefined,
551
- workspaceSettings: workspaceSettingsCaching
552
- ? new lru_cache_1.default({ max: config.maxWorkspaceSettings })
553
- : undefined,
554
- },
555
- config,
556
- capabilities: realBackend.capabilities,
557
- };
558
- const execution = execCaching ? cachedExecutions(ctx) : identity_1.default;
559
- const catalog = catalogCaching ? cachedCatalog(ctx) : identity_1.default;
560
- const securitySettings = securitySettingsCaching ? cachedSecuritySettings(ctx) : identity_1.default;
561
- const attributes = attributeCaching ? cachedAttributes(ctx) : identity_1.default;
562
- const workspaceSettings = workspaceSettingsCaching ? cachedWorkspaceSettings(ctx) : identity_1.default;
563
- if (config.onCacheReady) {
564
- config.onCacheReady(cacheControl(ctx));
565
- }
566
- return (0, decoratedBackend_1.decoratedBackend)(realBackend, {
567
- execution,
568
- catalog,
569
- securitySettings,
570
- attributes,
571
- workspaceSettings,
572
- });
573
- }
574
- exports.withCaching = withCaching;
575
- function skipMissingReferences(requestedRefs, refsToLoad, refsLoadedFromServer) {
576
- const missingRefs = refsToLoad.filter((ref) => !refsLoadedFromServer.some((loadedRef) => (0, sdk_model_1.areObjRefsEqual)(loadedRef, ref)));
577
- return requestedRefs.filter((inputRef) => !missingRefs.some((missingRef) => (0, sdk_model_1.areObjRefsEqual)(missingRef, inputRef)));
578
- }
579
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cachingBackend/index.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { IPostProcessing, IResultHeader } from "@gooddata/sdk-model";
2
- /**
3
- * @public
4
- */
5
- export type ResultHeaderTransformer = (resultHeader: IResultHeader, postProcessing?: IPostProcessing) => IResultHeader;
6
- /**
7
- * Transforms the result headers in an AFM execution result.
8
- *
9
- * @param resultHeaders - Execution result headers to be transformed.
10
- * @param resultHeaderTransformer - The transformation function to be called to transform each result header.
11
- * @param postProcessing - Contains any configuration that should be used during transformation.
12
- * @returns The transformed result headers if resultHeaderTransformer has a value,
13
- * or resultHeaders is returned if resultHeaderTransformer does not have any value.
14
- *
15
- * @public
16
- */
17
- export declare function transformResultHeaders(resultHeaders: IResultHeader[][][], resultHeaderTransformer?: ResultHeaderTransformer, postProcessing?: IPostProcessing): IResultHeader[][][];
18
- //# sourceMappingURL=result.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../../src/convertors/fromBackend/afm/result.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAClC,YAAY,EAAE,aAAa,EAC3B,cAAc,CAAC,EAAE,eAAe,KAC/B,aAAa,CAAC;AAEnB;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAClC,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE,EAClC,uBAAuB,CAAC,EAAE,uBAAuB,EACjD,cAAc,CAAC,EAAE,eAAe,GACjC,aAAa,EAAE,EAAE,EAAE,CAWrB"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformResultHeaders = void 0;
4
- /**
5
- * Transforms the result headers in an AFM execution result.
6
- *
7
- * @param resultHeaders - Execution result headers to be transformed.
8
- * @param resultHeaderTransformer - The transformation function to be called to transform each result header.
9
- * @param postProcessing - Contains any configuration that should be used during transformation.
10
- * @returns The transformed result headers if resultHeaderTransformer has a value,
11
- * or resultHeaders is returned if resultHeaderTransformer does not have any value.
12
- *
13
- * @public
14
- */
15
- function transformResultHeaders(resultHeaders, resultHeaderTransformer, postProcessing) {
16
- if (!resultHeaderTransformer) {
17
- return resultHeaders;
18
- }
19
- return resultHeaders.map((resultHeaders1) => {
20
- return resultHeaders1.map((resultHeaders2) => {
21
- return resultHeaders2.map((resultHeader) => {
22
- return resultHeaderTransformer(resultHeader, postProcessing);
23
- });
24
- });
25
- });
26
- }
27
- exports.transformResultHeaders = transformResultHeaders;
28
- //# sourceMappingURL=result.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../../src/convertors/fromBackend/afm/result.ts"],"names":[],"mappings":";;;AAWA;;;;;;;;;;GAUG;AACH,SAAgB,sBAAsB,CAClC,aAAkC,EAClC,uBAAiD,EACjD,cAAgC;IAEhC,IAAI,CAAC,uBAAuB,EAAE;QAC1B,OAAO,aAAa,CAAC;KACxB;IACD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,cAAiC,EAAE,EAAE;QAC3D,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,cAA+B,EAAE,EAAE;YAC1D,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,YAA2B,EAAE,EAAE;gBACtD,OAAO,uBAAuB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAfD,wDAeC"}