@gooddata/sdk-backend-base 9.0.0-alpha.9 → 9.0.0-beta.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 (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 +18 -4
  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,88 +0,0 @@
1
- "use strict";
2
- // (C) 2019-2020 GoodData Corporation
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ExecutionFactoryUpgradingToExecByReference = exports.ExecutionFactoryWithFixedFilters = exports.AbstractExecutionFactory = void 0;
5
- const sdk_model_1 = require("@gooddata/sdk-model");
6
- const execution_1 = require("../decoratedBackend/execution");
7
- /**
8
- * Abstract base class that can be extended to implement concrete execution factories for different
9
- * backend implementations.
10
- *
11
- * This class implements the convenience methods which do not need to change in implementations.
12
- *
13
- * Note: the `forInsightByRef` is implemented as fallback to freeform execution done by `forInsight`. The
14
- * rationale is that most backends do not support that anyway so it is a safe default behavior. If the backend
15
- * supports execute-by-reference, then overload the method with your own implementation (see sdk-backend-bear for
16
- * inspiration)
17
- *
18
- * @internal
19
- */
20
- class AbstractExecutionFactory {
21
- constructor(workspace) {
22
- this.workspace = workspace;
23
- }
24
- forItems(items, filters) {
25
- const def = (0, sdk_model_1.defWithDimensions)((0, sdk_model_1.newDefForItems)(this.workspace, items, filters), sdk_model_1.defaultDimensionsGenerator);
26
- return this.forDefinition(def);
27
- }
28
- forBuckets(buckets, filters) {
29
- const def = (0, sdk_model_1.defWithDimensions)((0, sdk_model_1.newDefForBuckets)(this.workspace, buckets, filters), sdk_model_1.defaultDimensionsGenerator);
30
- return this.forDefinition(def);
31
- }
32
- forInsight(insight, filters) {
33
- const def = (0, sdk_model_1.defWithDimensions)((0, sdk_model_1.newDefForInsight)(this.workspace, insight, filters), sdk_model_1.defaultDimensionsGenerator);
34
- return this.forDefinition(def);
35
- }
36
- forInsightByRef(insight, filters) {
37
- return this.forInsight(insight, filters);
38
- }
39
- }
40
- exports.AbstractExecutionFactory = AbstractExecutionFactory;
41
- /**
42
- * This implementation of execution factory allows transparent injection of fixed set of filters to all
43
- * executions started through it.
44
- *
45
- * This factory will not perform any filter merging. All it does is ensure some filters are always passed
46
- * to the underlying factory. The responsibility to do the filter merging lies in the underlying factory.
47
- *
48
- * @internal
49
- */
50
- class ExecutionFactoryWithFixedFilters extends execution_1.DecoratedExecutionFactory {
51
- constructor(decorated, filters = []) {
52
- super(decorated);
53
- this.filters = filters;
54
- }
55
- forItems(items, filters = []) {
56
- return super.forItems(items, this.filters.concat(filters));
57
- }
58
- forBuckets(buckets, filters = []) {
59
- return super.forBuckets(buckets, this.filters.concat(filters));
60
- }
61
- forInsight(insight, filters = []) {
62
- return super.forInsight(insight, this.filters.concat(filters));
63
- }
64
- forInsightByRef(insight, filters = []) {
65
- return super.forInsightByRef(insight, this.filters.concat(filters));
66
- }
67
- }
68
- exports.ExecutionFactoryWithFixedFilters = ExecutionFactoryWithFixedFilters;
69
- /**
70
- * This implementation of execution factory will transparently upgrade any `forInsight` execution
71
- * to `forInsightByRef` execution IF the argument to `forInsight` is actually a persisted insight (`IInsight` which
72
- * is subtype of `IInsightDefinition`).
73
- *
74
- * @internal
75
- */
76
- class ExecutionFactoryUpgradingToExecByReference extends execution_1.DecoratedExecutionFactory {
77
- constructor(decorated) {
78
- super(decorated);
79
- }
80
- forInsight(insight, filters) {
81
- if ((0, sdk_model_1.isInsight)(insight)) {
82
- return this.forInsightByRef(insight, filters);
83
- }
84
- return super.forInsight(insight, filters);
85
- }
86
- }
87
- exports.ExecutionFactoryUpgradingToExecByReference = ExecutionFactoryUpgradingToExecByReference;
88
- //# sourceMappingURL=execution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/toolkit/execution.ts"],"names":[],"mappings":";AAAA,qCAAqC;;;AAErC,mDAa6B;AAG7B,6DAA0E;AAE1E;;;;;;;;;;;;GAYG;AACH,MAAsB,wBAAwB;IAC1C,YAA+B,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAI7C,QAAQ,CAAC,KAA4B,EAAE,OAA2B;QACrE,MAAM,GAAG,GAAG,IAAA,6BAAiB,EACzB,IAAA,0BAAc,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EAC9C,sCAA0B,CAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,OAAkB,EAAE,OAA2B;QAC7D,MAAM,GAAG,GAAG,IAAA,6BAAiB,EACzB,IAAA,4BAAgB,EAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAClD,sCAA0B,CAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,OAA2B,EAAE,OAA2B;QACtE,MAAM,GAAG,GAAG,IAAA,6BAAiB,EACzB,IAAA,4BAAgB,EAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAClD,sCAA0B,CAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,eAAe,CAAC,OAAiB,EAAE,OAA2B;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACJ;AAnCD,4DAmCC;AAED;;;;;;;;GAQG;AACH,MAAa,gCAAiC,SAAQ,qCAAyB;IAC3E,YAAY,SAA4B,EAAmB,UAA6B,EAAE;QACtF,KAAK,CAAC,SAAS,CAAC,CAAC;QADsC,YAAO,GAAP,OAAO,CAAwB;IAE1F,CAAC;IAEM,QAAQ,CAAC,KAA4B,EAAE,UAA6B,EAAE;QACzE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEM,UAAU,CAAC,OAAkB,EAAE,UAA6B,EAAE;QACjE,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAEM,UAAU,CAAC,OAA2B,EAAE,UAA6B,EAAE;QAC1E,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAEM,eAAe,CAAC,OAAiB,EAAE,UAA6B,EAAE;QACrE,OAAO,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;CACJ;AApBD,4EAoBC;AAED;;;;;;GAMG;AACH,MAAa,0CAA2C,SAAQ,qCAAyB;IACrF,YAAY,SAA4B;QACpC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAEM,UAAU,CAAC,OAA2B,EAAE,OAA2B;QACtE,IAAI,IAAA,qBAAS,EAAC,OAAO,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACjD;QAED,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACJ;AAZD,gGAYC"}
@@ -1,52 +0,0 @@
1
- import { IPagedResource } from "@gooddata/sdk-backend-spi";
2
- /**
3
- * This implementation of {@link @gooddata/sdk-backend-spi#IPagedResource} pages over a list of items
4
- * provided at construction time. The paging is done using pre-configured page limit and starts at particular offset.
5
- *
6
- * @internal
7
- */
8
- export declare class InMemoryPaging<T> implements IPagedResource<T> {
9
- protected readonly allItems: T[];
10
- readonly items: T[];
11
- readonly limit: number;
12
- readonly offset: number;
13
- readonly totalCount: number;
14
- constructor(allItems: T[], limit?: number, offset?: number);
15
- next(): Promise<IPagedResource<T>>;
16
- goTo(pageIndex: number): Promise<IPagedResource<T>>;
17
- all(): Promise<T[]>;
18
- allSorted(compareFn: (a: T, b: T) => number): Promise<T[]>;
19
- }
20
- /**
21
- * @internal
22
- */
23
- export interface IServerPagingResult<T> {
24
- items: T[];
25
- totalCount: number;
26
- }
27
- /**
28
- * @internal
29
- */
30
- export type IServerPagingParams = {
31
- offset: number;
32
- limit: number;
33
- };
34
- /**
35
- * Common implementation of the {@link @gooddata/sdk-backend-spi#IPagedResource} for the server-side paging.
36
- *
37
- * @internal
38
- */
39
- export declare class ServerPaging<T> implements IPagedResource<T> {
40
- protected readonly getData: (pagingParams: IServerPagingParams) => Promise<IServerPagingResult<T>>;
41
- readonly limit: number;
42
- readonly offset: number;
43
- readonly totalCount: number;
44
- readonly items: T[];
45
- static for<TItem>(getData: (pagingParams: IServerPagingParams) => Promise<IServerPagingResult<TItem>>, limit?: number, offset?: number): Promise<IPagedResource<TItem>>;
46
- constructor(getData: (pagingParams: IServerPagingParams) => Promise<IServerPagingResult<T>>, limit: number, offset: number, totalCount: number, items: T[]);
47
- next: () => Promise<IPagedResource<T>>;
48
- goTo: (pageIndex: number) => Promise<IPagedResource<T>>;
49
- all: () => Promise<T[]>;
50
- allSorted: (compareFn: (a: T, b: T) => number) => Promise<T[]>;
51
- }
52
- //# sourceMappingURL=paging.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paging.d.ts","sourceRoot":"","sources":["../../src/toolkit/paging.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAM3D;;;;;GAKG;AACH,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IAM3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE;IAL5C,SAAgB,KAAK,EAAE,CAAC,EAAE,CAAC;IAC3B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEJ,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,SAAK,EAAE,MAAM,SAAI;IAevD,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAQlC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAQnD,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAInB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAG1E;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAY,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IAejD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;aAClF,KAAK;aACL,MAAM;aACN,UAAU,EAAE,MAAM;aAClB,KAAK,EAAE,CAAC,EAAE;WAlBV,GAAG,CAAC,KAAK,EACzB,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EACnF,KAAK,SAAK,EACV,MAAM,SAAI,GACX,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAUV,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAClF,KAAK,QAAK,EACV,MAAM,QAAI,EACV,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,CAAC,EAAE;IAGvB,IAAI,QAAa,QAAQ,eAAe,CAAC,CAAC,CAAC,CAmBhD;IAEK,IAAI,cAAqB,MAAM,KAAG,QAAQ,eAAe,CAAC,CAAC,CAAC,CAIjE;IAEK,GAAG,QAAa,QAAQ,CAAC,EAAE,CAAC,CAmBjC;IAEK,SAAS,kBAAyB,CAAC,KAAK,CAAC,KAAK,MAAM,KAAG,QAAQ,CAAC,EAAE,CAAC,CAGxE;CACL"}
@@ -1,109 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ServerPaging = exports.InMemoryPaging = void 0;
4
- const tslib_1 = require("tslib");
5
- const ts_invariant_1 = tslib_1.__importDefault(require("ts-invariant"));
6
- const range_1 = tslib_1.__importDefault(require("lodash/range"));
7
- const flatMap_1 = tslib_1.__importDefault(require("lodash/flatMap"));
8
- const isNil_1 = tslib_1.__importDefault(require("lodash/isNil"));
9
- /**
10
- * This implementation of {@link @gooddata/sdk-backend-spi#IPagedResource} pages over a list of items
11
- * provided at construction time. The paging is done using pre-configured page limit and starts at particular offset.
12
- *
13
- * @internal
14
- */
15
- class InMemoryPaging {
16
- constructor(allItems, limit = 50, offset = 0) {
17
- this.allItems = allItems;
18
- (0, ts_invariant_1.default)(offset >= 0, `paging offset must be non-negative, got: ${offset}`);
19
- (0, ts_invariant_1.default)(limit > 0, `limit must be a positive number, got: ${limit}`);
20
- // this will naturally return empty items if at the end of data; limit will always be positive
21
- this.items = allItems.slice(offset, offset + limit);
22
- // offset is at most at the end of all available elements
23
- this.offset = Math.min(offset, allItems.length);
24
- // limit is always kept as-requested
25
- this.limit = limit;
26
- this.totalCount = allItems.length;
27
- }
28
- async next() {
29
- if (this.items.length === 0) {
30
- return this;
31
- }
32
- return new InMemoryPaging(this.allItems, this.limit, this.offset + this.items.length);
33
- }
34
- async goTo(pageIndex) {
35
- if (this.items.length === 0) {
36
- return this;
37
- }
38
- return new InMemoryPaging(this.allItems, this.limit, pageIndex * this.items.length);
39
- }
40
- async all() {
41
- return [...this.allItems];
42
- }
43
- async allSorted(compareFn) {
44
- return [...this.allItems].sort(compareFn);
45
- }
46
- }
47
- exports.InMemoryPaging = InMemoryPaging;
48
- /**
49
- * Common implementation of the {@link @gooddata/sdk-backend-spi#IPagedResource} for the server-side paging.
50
- *
51
- * @internal
52
- */
53
- class ServerPaging {
54
- static async for(getData, limit = 50, offset = 0) {
55
- (0, ts_invariant_1.default)(offset >= 0, `paging offset must be non-negative, got: ${offset}`);
56
- (0, ts_invariant_1.default)(limit > 0, `limit must be a positive number, got: ${limit}`);
57
- const { totalCount, items } = await getData({ limit, offset });
58
- // must use isNil, totalCount: 0 is a valid case (e.g. when searching for a nonsensical string)
59
- (0, ts_invariant_1.default)(!(0, isNil_1.default)(totalCount), `total count must be specified, got: ${totalCount}`);
60
- return new ServerPaging(getData, limit, offset, totalCount, items);
61
- }
62
- constructor(getData, limit = 50, offset = 0, totalCount, items) {
63
- this.getData = getData;
64
- this.limit = limit;
65
- this.offset = offset;
66
- this.totalCount = totalCount;
67
- this.items = items;
68
- this.next = async () => {
69
- // No items = we are on the last page.
70
- if (this.items.length === 0) {
71
- return this;
72
- }
73
- // We are on the last page with the items - return empty result for the next page immediately
74
- if (this.items.length < this.limit || this.offset + this.items.length === this.totalCount) {
75
- return new ServerPaging(this.getData, this.limit, this.offset + this.limit, this.totalCount, []);
76
- }
77
- const pageData = await this.getData({ limit: this.limit, offset: this.offset + this.limit });
78
- return new ServerPaging(this.getData, this.limit, this.offset + this.limit, pageData.totalCount, pageData.items);
79
- };
80
- this.goTo = async (pageIndex) => {
81
- const offset = pageIndex * this.limit;
82
- const pageData = await this.getData({ limit: this.limit, offset });
83
- return new ServerPaging(this.getData, this.limit, offset, pageData.totalCount, pageData.items);
84
- };
85
- this.all = async () => {
86
- const results = [];
87
- const maxRequests = 6;
88
- const allPagesToLoad = (0, range_1.default)(0, this.totalCount / this.limit);
89
- // if the paged resource is already at the 0 offset, use it directly to save a duplicate request
90
- if (this.offset === 0) {
91
- results.push(...this.items);
92
- allPagesToLoad.shift();
93
- }
94
- while (allPagesToLoad.length > 0) {
95
- const pagesToLoad = allPagesToLoad.slice(0, maxRequests);
96
- allPagesToLoad.splice(0, maxRequests);
97
- const loadedPages = await Promise.all(pagesToLoad.map((page) => this.goTo(page)));
98
- results.push(...(0, flatMap_1.default)(loadedPages, (page) => page.items));
99
- }
100
- return results;
101
- };
102
- this.allSorted = async (compareFn) => {
103
- const all = await this.all();
104
- return all.sort(compareFn);
105
- };
106
- }
107
- }
108
- exports.ServerPaging = ServerPaging;
109
- //# sourceMappingURL=paging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paging.js","sourceRoot":"","sources":["../../src/toolkit/paging.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Performs validation of dashboard plugin URL. This is purely client-side and checks that the URL does
3
- * not contain invalid characters and contains correct protocol.
4
- *
5
- * @param url - url to validate
6
- * @alpha
7
- */
8
- export declare function validatePluginUrlIsSane(url: string): string | undefined;
9
- //# sourceMappingURL=pluginUrlValidation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pluginUrlValidation.d.ts","sourceRoot":"","sources":["../../src/toolkit/pluginUrlValidation.ts"],"names":[],"mappings":"AA0BA;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmBvE"}
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validatePluginUrlIsSane = void 0;
4
- // (C) 2021 GoodData Corporation
5
- const sanitize_url_1 = require("@braintree/sanitize-url");
6
- const AboutBlank = "about:blank";
7
- function validateUrl(url, messagePrefix) {
8
- const sanitized = (0, sanitize_url_1.sanitizeUrl)(url);
9
- if (url !== sanitized) {
10
- // sanitized URL being different from the input means there was something fishy with the URL
11
- if (sanitized === AboutBlank) {
12
- // sanitization about return about:blank in case the url contains javascript/vbscript/data schemas
13
- return `${messagePrefix} contains invalid schema; possible XSS detected`;
14
- }
15
- return `${messagePrefix} contains invalid characters`;
16
- }
17
- // explicitly check for '/.' and '/..'
18
- if (url.search(/\/\.+/) > -1) {
19
- return `${messagePrefix} contains reserved filename characters`;
20
- }
21
- return undefined;
22
- }
23
- /**
24
- * Performs validation of dashboard plugin URL. This is purely client-side and checks that the URL does
25
- * not contain invalid characters and contains correct protocol.
26
- *
27
- * @param url - url to validate
28
- * @alpha
29
- */
30
- function validatePluginUrlIsSane(url) {
31
- var _a;
32
- try {
33
- // ensure URL is valid and is https
34
- const parsedUrl = new URL(url);
35
- if (parsedUrl.protocol !== "https:") {
36
- return `url does not use https`;
37
- }
38
- }
39
- catch (e) {
40
- return "url is malformed";
41
- }
42
- // validate URL as is; then decode from percent-encoded URL and do one more round with the same validations
43
- const validationError = (_a = validateUrl(url, "url")) !== null && _a !== void 0 ? _a : validateUrl(decodeURIComponent(url), "decoded url");
44
- if (validationError) {
45
- return validationError;
46
- }
47
- return undefined;
48
- }
49
- exports.validatePluginUrlIsSane = validatePluginUrlIsSane;
50
- //# sourceMappingURL=pluginUrlValidation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pluginUrlValidation.js","sourceRoot":"","sources":["../../src/toolkit/pluginUrlValidation.ts"],"names":[],"mappings":";;;AAAA,gCAAgC;AAChC,0DAAsD;AAEtD,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,SAAS,WAAW,CAAC,GAAW,EAAE,aAAqB;IACnD,MAAM,SAAS,GAAG,IAAA,0BAAW,EAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,GAAG,KAAK,SAAS,EAAE;QACnB,4FAA4F;QAC5F,IAAI,SAAS,KAAK,UAAU,EAAE;YAC1B,kGAAkG;YAClG,OAAO,GAAG,aAAa,iDAAiD,CAAC;SAC5E;QAED,OAAO,GAAG,aAAa,8BAA8B,CAAC;KACzD;IAED,sCAAsC;IACtC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;QAC1B,OAAO,GAAG,aAAa,wCAAwC,CAAC;KACnE;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,GAAW;;IAC/C,IAAI;QACA,mCAAmC;QACnC,MAAM,SAAS,GAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACjC,OAAO,wBAAwB,CAAC;SACnC;KACJ;IAAC,OAAO,CAAM,EAAE;QACb,OAAO,kBAAkB,CAAC;KAC7B;IAED,2GAA2G;IAC3G,MAAM,eAAe,GAAG,MAAA,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,mCAAI,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;IAEvG,IAAI,eAAe,EAAE;QACjB,OAAO,eAAe,CAAC;KAC1B;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAnBD,0DAmBC"}
@@ -1,53 +0,0 @@
1
- import { IAnalyticalBackend, IUserWorkspaceSettings, IWorkspaceSettings } from "@gooddata/sdk-backend-spi";
2
- import { ISettings } from "@gooddata/sdk-model";
3
- /**
4
- * Adjusts workspace config
5
- *
6
- * @beta
7
- */
8
- export type SettingsWrapper = (settings: IWorkspaceSettings) => IWorkspaceSettings;
9
- /**
10
- * Adjusts current user config
11
- *
12
- * @beta
13
- */
14
- export type CurrentUserSettingsWrapper = (settings: IUserWorkspaceSettings) => IUserWorkspaceSettings;
15
- /**
16
- * Adjusts both workspace and user settings
17
- *
18
- * @beta
19
- */
20
- export type CommonSettingsWrapper = (settings: ISettings) => ISettings;
21
- /**
22
- * Specifies workspace settings and current user settings to be adjusted by the decorator.
23
- *
24
- * @beta
25
- */
26
- export interface WorkspaceSettingsConfiguration {
27
- /**
28
- * Transforms both workspace settings and user settings obtained from the real backend. Can add,
29
- * remove or alter settings or provide a completely new settings.
30
- * Execution of this wrapper precedes execution of the specific wrappers for user and workspace settings
31
- */
32
- commonSettingsWrapper?: CommonSettingsWrapper;
33
- /**
34
- * Transforms workspace settings obtained from the real backend. Can add, remove or alter settings
35
- * or provide a completely new settings
36
- */
37
- settingsWrapper?: SettingsWrapper;
38
- /**
39
- * Transforms user settings obtained from the real backend. Can add, remove or alter settings
40
- * or provide a completely new settings
41
- */
42
- currentUserSettingsWrapper?: CurrentUserSettingsWrapper;
43
- }
44
- /**
45
- * Adjusts workspace configs and current user configs from the real backend.
46
- *
47
- * @remarks see {@link WorkspaceSettingsConfiguration} properties for more information.
48
- * @param realBackend - real backend to decorate with custom workspace settings
49
- * @param config - workspace configs configuration
50
- * @beta
51
- */
52
- export declare function withCustomWorkspaceSettings(realBackend: IAnalyticalBackend, config: WorkspaceSettingsConfiguration): IAnalyticalBackend;
53
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspaceSettingsBackend/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIhD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;AAEnF;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,sBAAsB,KAAK,sBAAsB,CAAC;AAEtG;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC;AAwCvE;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC3C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CAC3D;AAED;;;;;;;GAOG;AAEH,wBAAgB,2BAA2B,CACvC,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,8BAA8B,GACvC,kBAAkB,CAGpB"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withCustomWorkspaceSettings = void 0;
4
- const tslib_1 = require("tslib");
5
- // (C) 2021-2022 GoodData Corporation
6
- const identity_1 = tslib_1.__importDefault(require("lodash/identity"));
7
- const decoratedBackend_1 = require("../decoratedBackend");
8
- const workspaceSettings_1 = require("../decoratedBackend/workspaceSettings");
9
- class WithModifiedWorkspaceSettingsService extends workspaceSettings_1.DecoratedWorkspaceSettingsService {
10
- constructor(decorated, settingsWrapper, currentUserSettingsWrapper, commonSettingsSetter) {
11
- super(decorated);
12
- this.settingsWrapper = settingsWrapper;
13
- this.currentUserSettingsWrapper = currentUserSettingsWrapper;
14
- this.commonSettingsSetter = commonSettingsSetter;
15
- }
16
- async getSettings() {
17
- const settings = await this.decorated.getSettings();
18
- return this.settingsWrapper(Object.assign(Object.assign({}, settings), this.commonSettingsSetter(settings)));
19
- }
20
- async getSettingsForCurrentUser() {
21
- const currentUserSettings = await this.decorated.getSettingsForCurrentUser();
22
- return this.currentUserSettingsWrapper(Object.assign(Object.assign({}, currentUserSettings), this.commonSettingsSetter(currentUserSettings)));
23
- }
24
- }
25
- function customWorkspaceSettings(config) {
26
- const emptySettingsSetter = () => ({});
27
- return (original) => new WithModifiedWorkspaceSettingsService(original, config.settingsWrapper || identity_1.default, config.currentUserSettingsWrapper || identity_1.default, config.commonSettingsWrapper || emptySettingsSetter);
28
- }
29
- /**
30
- * Adjusts workspace configs and current user configs from the real backend.
31
- *
32
- * @remarks see {@link WorkspaceSettingsConfiguration} properties for more information.
33
- * @param realBackend - real backend to decorate with custom workspace settings
34
- * @param config - workspace configs configuration
35
- * @beta
36
- */
37
- function withCustomWorkspaceSettings(realBackend, config) {
38
- const workspaceSettings = customWorkspaceSettings(config);
39
- return (0, decoratedBackend_1.decoratedBackend)(realBackend, { workspaceSettings });
40
- }
41
- exports.withCustomWorkspaceSettings = withCustomWorkspaceSettings;
42
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspaceSettingsBackend/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC,uEAAuC;AAQvC,0DAA0F;AAC1F,6EAA0F;AAuB1F,MAAM,oCAAqC,SAAQ,qDAAiC;IAChF,YACI,SAAoC,EAC3B,eAAgC,EAChC,0BAAsD,EACtD,oBAA2C;QAEpD,KAAK,CAAC,SAAS,CAAC,CAAC;QAJR,oBAAe,GAAf,eAAe,CAAiB;QAChC,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,yBAAoB,GAApB,oBAAoB,CAAuB;IAGxD,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC,eAAe,iCACpB,QAAQ,GACR,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EACxC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC3B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC,0BAA0B,iCAC/B,mBAAmB,GACnB,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,EACnD,CAAC;IACP,CAAC;CACJ;AAED,SAAS,uBAAuB,CAAC,MAAsC;IACnE,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,QAAmC,EAAE,EAAE,CAC3C,IAAI,oCAAoC,CACpC,QAAQ,EACR,MAAM,CAAC,eAAe,IAAI,kBAAQ,EAClC,MAAM,CAAC,0BAA0B,IAAI,kBAAQ,EAC7C,MAAM,CAAC,qBAAqB,IAAI,mBAAmB,CACtD,CAAC;AACV,CAAC;AA0BD;;;;;;;GAOG;AAEH,SAAgB,2BAA2B,CACvC,WAA+B,EAC/B,MAAsC;IAEtC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,IAAA,mCAAgB,EAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAChE,CAAC;AAND,kEAMC"}