@gooddata/sdk-backend-base 8.13.0-alpha.9 → 9.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/cachingBackend/index.d.ts +2 -2
  2. package/dist/cachingBackend/index.d.ts.map +1 -1
  3. package/dist/cachingBackend/index.js +310 -386
  4. package/dist/cachingBackend/index.js.map +1 -1
  5. package/dist/convertors/fromBackend/afm/result.d.ts +1 -1
  6. package/dist/convertors/fromBackend/afm/result.d.ts.map +1 -1
  7. package/dist/convertors/fromBackend/afm/result.js +3 -3
  8. package/dist/convertors/fromBackend/afm/result.js.map +1 -1
  9. package/dist/customBackend/config.d.ts +9 -9
  10. package/dist/customBackend/config.d.ts.map +1 -1
  11. package/dist/customBackend/execution.js +77 -92
  12. package/dist/customBackend/execution.js.map +1 -1
  13. package/dist/customBackend/index.d.ts +1 -1
  14. package/dist/customBackend/index.d.ts.map +1 -1
  15. package/dist/customBackend/index.js +78 -114
  16. package/dist/customBackend/index.js.map +1 -1
  17. package/dist/customBackend/workspace.js +39 -40
  18. package/dist/customBackend/workspace.js.map +1 -1
  19. package/dist/decoratedBackend/attributes.js +21 -22
  20. package/dist/decoratedBackend/attributes.js.map +1 -1
  21. package/dist/decoratedBackend/catalog.d.ts +1 -1
  22. package/dist/decoratedBackend/catalog.d.ts.map +1 -1
  23. package/dist/decoratedBackend/catalog.js +38 -50
  24. package/dist/decoratedBackend/catalog.js.map +1 -1
  25. package/dist/decoratedBackend/dashboards.js +61 -62
  26. package/dist/decoratedBackend/dashboards.js.map +1 -1
  27. package/dist/decoratedBackend/elements.js +47 -70
  28. package/dist/decoratedBackend/elements.js.map +1 -1
  29. package/dist/decoratedBackend/execution.d.ts +2 -1
  30. package/dist/decoratedBackend/execution.d.ts.map +1 -1
  31. package/dist/decoratedBackend/execution.js +63 -79
  32. package/dist/decoratedBackend/execution.js.map +1 -1
  33. package/dist/decoratedBackend/index.d.ts +7 -7
  34. package/dist/decoratedBackend/index.d.ts.map +1 -1
  35. package/dist/decoratedBackend/index.js +91 -105
  36. package/dist/decoratedBackend/index.js.map +1 -1
  37. package/dist/decoratedBackend/securitySettings.js +7 -8
  38. package/dist/decoratedBackend/securitySettings.js.map +1 -1
  39. package/dist/decoratedBackend/workspaceSettings.js +12 -26
  40. package/dist/decoratedBackend/workspaceSettings.js.map +1 -1
  41. package/dist/dummyBackend/index.d.ts +1 -1
  42. package/dist/dummyBackend/index.d.ts.map +1 -1
  43. package/dist/dummyBackend/index.js +369 -397
  44. package/dist/dummyBackend/index.js.map +1 -1
  45. package/dist/eventingBackend/index.d.ts +1 -1
  46. package/dist/eventingBackend/index.d.ts.map +1 -1
  47. package/dist/eventingBackend/index.js +44 -51
  48. package/dist/eventingBackend/index.js.map +1 -1
  49. package/dist/index.js +2 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/ldmFactories/builder.d.ts +4 -4
  52. package/dist/ldmFactories/builder.d.ts.map +1 -1
  53. package/dist/ldmFactories/builder.js +15 -16
  54. package/dist/ldmFactories/builder.js.map +1 -1
  55. package/dist/ldmFactories/catalog/attributeFactory.js +27 -36
  56. package/dist/ldmFactories/catalog/attributeFactory.js.map +1 -1
  57. package/dist/ldmFactories/catalog/dateDatasetFactory.js +33 -47
  58. package/dist/ldmFactories/catalog/dateDatasetFactory.js.map +1 -1
  59. package/dist/ldmFactories/catalog/factFactory.js +14 -21
  60. package/dist/ldmFactories/catalog/factFactory.js.map +1 -1
  61. package/dist/ldmFactories/catalog/groupFactory.js +15 -27
  62. package/dist/ldmFactories/catalog/groupFactory.js.map +1 -1
  63. package/dist/ldmFactories/catalog/measureFactory.js +18 -27
  64. package/dist/ldmFactories/catalog/measureFactory.js.map +1 -1
  65. package/dist/ldmFactories/dashboard/insightWidgetFactory.js +22 -28
  66. package/dist/ldmFactories/dashboard/insightWidgetFactory.js.map +1 -1
  67. package/dist/ldmFactories/dashboard/kpiWidgetFactory.js +26 -35
  68. package/dist/ldmFactories/dashboard/kpiWidgetFactory.js.map +1 -1
  69. package/dist/ldmFactories/dashboard/widgetFactory.js +20 -39
  70. package/dist/ldmFactories/dashboard/widgetFactory.js.map +1 -1
  71. package/dist/ldmFactories/metadata/attributeFactory.js +14 -21
  72. package/dist/ldmFactories/metadata/attributeFactory.js.map +1 -1
  73. package/dist/ldmFactories/metadata/dashboardFactory.js +8 -15
  74. package/dist/ldmFactories/metadata/dashboardFactory.js.map +1 -1
  75. package/dist/ldmFactories/metadata/dataSetFactory.js +8 -15
  76. package/dist/ldmFactories/metadata/dataSetFactory.js.map +1 -1
  77. package/dist/ldmFactories/metadata/displayFormFactory.js +14 -21
  78. package/dist/ldmFactories/metadata/displayFormFactory.js.map +1 -1
  79. package/dist/ldmFactories/metadata/factFactory.js +8 -15
  80. package/dist/ldmFactories/metadata/factFactory.js.map +1 -1
  81. package/dist/ldmFactories/metadata/factory.js +17 -23
  82. package/dist/ldmFactories/metadata/factory.js.map +1 -1
  83. package/dist/ldmFactories/metadata/measureFactory.js +14 -21
  84. package/dist/ldmFactories/metadata/measureFactory.js.map +1 -1
  85. package/dist/ldmFactories/metadata/variableFactory.js +8 -15
  86. package/dist/ldmFactories/metadata/variableFactory.js.map +1 -1
  87. package/dist/normalizingBackend/index.d.ts +2 -2
  88. package/dist/normalizingBackend/index.d.ts.map +1 -1
  89. package/dist/normalizingBackend/index.js +79 -103
  90. package/dist/normalizingBackend/index.js.map +1 -1
  91. package/dist/normalizingBackend/normalizer.d.ts +2 -2
  92. package/dist/normalizingBackend/normalizer.d.ts.map +1 -1
  93. package/dist/normalizingBackend/normalizer.js +153 -160
  94. package/dist/normalizingBackend/normalizer.js.map +1 -1
  95. package/dist/toolkit/auth.d.ts +2 -2
  96. package/dist/toolkit/auth.d.ts.map +1 -1
  97. package/dist/toolkit/auth.js +47 -60
  98. package/dist/toolkit/auth.js.map +1 -1
  99. package/dist/toolkit/backend.d.ts +1 -1
  100. package/dist/toolkit/backend.d.ts.map +1 -1
  101. package/dist/toolkit/execution.js +41 -53
  102. package/dist/toolkit/execution.js.map +1 -1
  103. package/dist/toolkit/paging.d.ts +1 -1
  104. package/dist/toolkit/paging.d.ts.map +1 -1
  105. package/dist/toolkit/paging.js +77 -146
  106. package/dist/toolkit/paging.js.map +1 -1
  107. package/dist/toolkit/pluginUrlValidation.js +9 -9
  108. package/dist/toolkit/pluginUrlValidation.js.map +1 -1
  109. package/dist/workspaceSettingsBackend/index.d.ts +3 -3
  110. package/dist/workspaceSettingsBackend/index.d.ts.map +1 -1
  111. package/dist/workspaceSettingsBackend/index.js +23 -46
  112. package/dist/workspaceSettingsBackend/index.js.map +1 -1
  113. package/esm/cachingBackend/index.d.ts +2 -2
  114. package/esm/cachingBackend/index.d.ts.map +1 -1
  115. package/esm/cachingBackend/index.js +281 -358
  116. package/esm/cachingBackend/index.js.map +1 -1
  117. package/esm/convertors/fromBackend/afm/result.d.ts +1 -1
  118. package/esm/convertors/fromBackend/afm/result.d.ts.map +1 -1
  119. package/esm/convertors/fromBackend/afm/result.js +3 -3
  120. package/esm/convertors/fromBackend/afm/result.js.map +1 -1
  121. package/esm/customBackend/config.d.ts +9 -9
  122. package/esm/customBackend/config.d.ts.map +1 -1
  123. package/esm/customBackend/execution.js +72 -89
  124. package/esm/customBackend/execution.js.map +1 -1
  125. package/esm/customBackend/index.d.ts +1 -1
  126. package/esm/customBackend/index.d.ts.map +1 -1
  127. package/esm/customBackend/index.js +75 -112
  128. package/esm/customBackend/index.js.map +1 -1
  129. package/esm/customBackend/workspace.js +37 -39
  130. package/esm/customBackend/workspace.js.map +1 -1
  131. package/esm/decoratedBackend/attributes.js +21 -23
  132. package/esm/decoratedBackend/attributes.js.map +1 -1
  133. package/esm/decoratedBackend/catalog.d.ts +1 -1
  134. package/esm/decoratedBackend/catalog.d.ts.map +1 -1
  135. package/esm/decoratedBackend/catalog.js +36 -51
  136. package/esm/decoratedBackend/catalog.js.map +1 -1
  137. package/esm/decoratedBackend/dashboards.js +61 -63
  138. package/esm/decoratedBackend/dashboards.js.map +1 -1
  139. package/esm/decoratedBackend/elements.js +47 -73
  140. package/esm/decoratedBackend/elements.js.map +1 -1
  141. package/esm/decoratedBackend/execution.d.ts +2 -1
  142. package/esm/decoratedBackend/execution.d.ts.map +1 -1
  143. package/esm/decoratedBackend/execution.js +61 -81
  144. package/esm/decoratedBackend/execution.js.map +1 -1
  145. package/esm/decoratedBackend/index.d.ts +7 -7
  146. package/esm/decoratedBackend/index.d.ts.map +1 -1
  147. package/esm/decoratedBackend/index.js +88 -103
  148. package/esm/decoratedBackend/index.js.map +1 -1
  149. package/esm/decoratedBackend/securitySettings.js +7 -9
  150. package/esm/decoratedBackend/securitySettings.js.map +1 -1
  151. package/esm/decoratedBackend/workspaceSettings.js +12 -27
  152. package/esm/decoratedBackend/workspaceSettings.js.map +1 -1
  153. package/esm/dummyBackend/index.d.ts +1 -1
  154. package/esm/dummyBackend/index.d.ts.map +1 -1
  155. package/esm/dummyBackend/index.js +358 -387
  156. package/esm/dummyBackend/index.js.map +1 -1
  157. package/esm/eventingBackend/index.d.ts +1 -1
  158. package/esm/eventingBackend/index.d.ts.map +1 -1
  159. package/esm/eventingBackend/index.js +37 -45
  160. package/esm/eventingBackend/index.js.map +1 -1
  161. package/esm/ldmFactories/builder.d.ts +4 -4
  162. package/esm/ldmFactories/builder.d.ts.map +1 -1
  163. package/esm/ldmFactories/builder.js +14 -17
  164. package/esm/ldmFactories/builder.js.map +1 -1
  165. package/esm/ldmFactories/catalog/attributeFactory.js +15 -27
  166. package/esm/ldmFactories/catalog/attributeFactory.js.map +1 -1
  167. package/esm/ldmFactories/catalog/dateDatasetFactory.js +18 -37
  168. package/esm/ldmFactories/catalog/dateDatasetFactory.js.map +1 -1
  169. package/esm/ldmFactories/catalog/factFactory.js +5 -15
  170. package/esm/ldmFactories/catalog/factFactory.js.map +1 -1
  171. package/esm/ldmFactories/catalog/groupFactory.js +11 -27
  172. package/esm/ldmFactories/catalog/groupFactory.js.map +1 -1
  173. package/esm/ldmFactories/catalog/measureFactory.js +9 -21
  174. package/esm/ldmFactories/catalog/measureFactory.js.map +1 -1
  175. package/esm/ldmFactories/dashboard/insightWidgetFactory.js +16 -25
  176. package/esm/ldmFactories/dashboard/insightWidgetFactory.js.map +1 -1
  177. package/esm/ldmFactories/dashboard/kpiWidgetFactory.js +19 -31
  178. package/esm/ldmFactories/dashboard/kpiWidgetFactory.js.map +1 -1
  179. package/esm/ldmFactories/dashboard/widgetFactory.js +19 -39
  180. package/esm/ldmFactories/dashboard/widgetFactory.js.map +1 -1
  181. package/esm/ldmFactories/metadata/attributeFactory.js +9 -19
  182. package/esm/ldmFactories/metadata/attributeFactory.js.map +1 -1
  183. package/esm/ldmFactories/metadata/dashboardFactory.js +3 -13
  184. package/esm/ldmFactories/metadata/dashboardFactory.js.map +1 -1
  185. package/esm/ldmFactories/metadata/dataSetFactory.js +3 -13
  186. package/esm/ldmFactories/metadata/dataSetFactory.js.map +1 -1
  187. package/esm/ldmFactories/metadata/displayFormFactory.js +9 -19
  188. package/esm/ldmFactories/metadata/displayFormFactory.js.map +1 -1
  189. package/esm/ldmFactories/metadata/factFactory.js +3 -13
  190. package/esm/ldmFactories/metadata/factFactory.js.map +1 -1
  191. package/esm/ldmFactories/metadata/factory.js +16 -23
  192. package/esm/ldmFactories/metadata/factory.js.map +1 -1
  193. package/esm/ldmFactories/metadata/measureFactory.js +9 -19
  194. package/esm/ldmFactories/metadata/measureFactory.js.map +1 -1
  195. package/esm/ldmFactories/metadata/variableFactory.js +3 -13
  196. package/esm/ldmFactories/metadata/variableFactory.js.map +1 -1
  197. package/esm/normalizingBackend/index.d.ts +2 -2
  198. package/esm/normalizingBackend/index.d.ts.map +1 -1
  199. package/esm/normalizingBackend/index.js +65 -90
  200. package/esm/normalizingBackend/index.js.map +1 -1
  201. package/esm/normalizingBackend/normalizer.d.ts +2 -2
  202. package/esm/normalizingBackend/normalizer.d.ts.map +1 -1
  203. package/esm/normalizingBackend/normalizer.js +128 -138
  204. package/esm/normalizingBackend/normalizer.js.map +1 -1
  205. package/esm/toolkit/auth.d.ts +2 -2
  206. package/esm/toolkit/auth.d.ts.map +1 -1
  207. package/esm/toolkit/auth.js +47 -63
  208. package/esm/toolkit/auth.js.map +1 -1
  209. package/esm/toolkit/backend.d.ts +1 -1
  210. package/esm/toolkit/backend.d.ts.map +1 -1
  211. package/esm/toolkit/execution.js +38 -53
  212. package/esm/toolkit/execution.js.map +1 -1
  213. package/esm/toolkit/paging.d.ts +1 -1
  214. package/esm/toolkit/paging.d.ts.map +1 -1
  215. package/esm/toolkit/paging.js +72 -144
  216. package/esm/toolkit/paging.js.map +1 -1
  217. package/esm/toolkit/pluginUrlValidation.js +8 -8
  218. package/esm/toolkit/pluginUrlValidation.js.map +1 -1
  219. package/esm/tsdoc-metadata.json +1 -1
  220. package/esm/workspaceSettingsBackend/index.d.ts +3 -3
  221. package/esm/workspaceSettingsBackend/index.d.ts.map +1 -1
  222. package/esm/workspaceSettingsBackend/index.js +19 -43
  223. package/esm/workspaceSettingsBackend/index.js.map +1 -1
  224. package/package.json +15 -15
@@ -1,19 +1,19 @@
1
1
  // (C) 2021 GoodData Corporation
2
2
  import { sanitizeUrl } from "@braintree/sanitize-url";
3
- var AboutBlank = "about:blank";
3
+ const AboutBlank = "about:blank";
4
4
  function validateUrl(url, messagePrefix) {
5
- var sanitized = sanitizeUrl(url);
5
+ const sanitized = sanitizeUrl(url);
6
6
  if (url !== sanitized) {
7
7
  // sanitized URL being different from the input means there was something fishy with the URL
8
8
  if (sanitized === AboutBlank) {
9
9
  // sanitization about return about:blank in case the url contains javascript/vbscript/data schemas
10
- return messagePrefix + " contains invalid schema; possible XSS detected";
10
+ return `${messagePrefix} contains invalid schema; possible XSS detected`;
11
11
  }
12
- return messagePrefix + " contains invalid characters";
12
+ return `${messagePrefix} contains invalid characters`;
13
13
  }
14
14
  // explicitly check for '/.' and '/..'
15
15
  if (url.search(/\/\.+/) > -1) {
16
- return messagePrefix + " contains reserved filename characters";
16
+ return `${messagePrefix} contains reserved filename characters`;
17
17
  }
18
18
  return undefined;
19
19
  }
@@ -28,16 +28,16 @@ export function validatePluginUrlIsSane(url) {
28
28
  var _a;
29
29
  try {
30
30
  // ensure URL is valid and is https
31
- var parsedUrl = new URL(url);
31
+ const parsedUrl = new URL(url);
32
32
  if (parsedUrl.protocol !== "https:") {
33
- return "url does not use https";
33
+ return `url does not use https`;
34
34
  }
35
35
  }
36
36
  catch (e) {
37
37
  return "url is malformed";
38
38
  }
39
39
  // validate URL as is; then decode from percent-encoded URL and do one more round with the same validations
40
- var validationError = (_a = validateUrl(url, "url")) !== null && _a !== void 0 ? _a : validateUrl(decodeURIComponent(url), "decoded url");
40
+ const validationError = (_a = validateUrl(url, "url")) !== null && _a !== void 0 ? _a : validateUrl(decodeURIComponent(url), "decoded url");
41
41
  if (validationError) {
42
42
  return validationError;
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pluginUrlValidation.js","sourceRoot":"","sources":["../../src/toolkit/pluginUrlValidation.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,IAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,SAAS,WAAW,CAAC,GAAW,EAAE,aAAqB;IACnD,IAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,GAAG,KAAK,SAAS,EAAE;QACnB,4FAA4F;QAC5F,IAAI,SAAS,KAAK,UAAU,EAAE;YAC1B,kGAAkG;YAClG,OAAU,aAAa,oDAAiD,CAAC;SAC5E;QAED,OAAU,aAAa,iCAA8B,CAAC;KACzD;IAED,sCAAsC;IACtC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;QAC1B,OAAU,aAAa,2CAAwC,CAAC;KACnE;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAW;;IAC/C,IAAI;QACA,mCAAmC;QACnC,IAAM,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,IAAM,eAAe,SAAG,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"}
1
+ {"version":3,"file":"pluginUrlValidation.js","sourceRoot":"","sources":["../../src/toolkit/pluginUrlValidation.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,SAAS,WAAW,CAAC,GAAW,EAAE,aAAqB;IACnD,MAAM,SAAS,GAAG,WAAW,CAAC,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,MAAM,UAAU,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"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.20.1"
8
+ "packageVersion": "7.34.4"
9
9
  }
10
10
  ]
11
11
  }
@@ -5,19 +5,19 @@ import { ISettings } from "@gooddata/sdk-model";
5
5
  *
6
6
  * @beta
7
7
  */
8
- export declare type SettingsWrapper = (settings: IWorkspaceSettings) => IWorkspaceSettings;
8
+ export type SettingsWrapper = (settings: IWorkspaceSettings) => IWorkspaceSettings;
9
9
  /**
10
10
  * Adjusts current user config
11
11
  *
12
12
  * @beta
13
13
  */
14
- export declare type CurrentUserSettingsWrapper = (settings: IUserWorkspaceSettings) => IUserWorkspaceSettings;
14
+ export type CurrentUserSettingsWrapper = (settings: IUserWorkspaceSettings) => IUserWorkspaceSettings;
15
15
  /**
16
16
  * Adjusts both workspace and user settings
17
17
  *
18
18
  * @beta
19
19
  */
20
- export declare type CommonSettingsWrapper = (settings: ISettings) => ISettings;
20
+ export type CommonSettingsWrapper = (settings: ISettings) => ISettings;
21
21
  /**
22
22
  * Specifies workspace settings and current user settings to be adjusted by the decorator.
23
23
  *
@@ -1 +1 @@
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,oBAAY,eAAe,GAAG,CAAC,QAAQ,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;AAEnF;;;;GAIG;AACH,oBAAY,0BAA0B,GAAG,CAAC,QAAQ,EAAE,sBAAsB,KAAK,sBAAsB,CAAC;AAEtG;;;;GAIG;AACH,oBAAY,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
+ {"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,50 +1,26 @@
1
- import { __assign, __awaiter, __extends, __generator } from "tslib";
2
1
  // (C) 2021-2022 GoodData Corporation
3
2
  import identity from "lodash/identity";
4
3
  import { decoratedBackend } from "../decoratedBackend";
5
4
  import { DecoratedWorkspaceSettingsService } from "../decoratedBackend/workspaceSettings";
6
- var WithModifiedWorkspaceSettingsService = /** @class */ (function (_super) {
7
- __extends(WithModifiedWorkspaceSettingsService, _super);
8
- function WithModifiedWorkspaceSettingsService(decorated, settingsWrapper, currentUserSettingsWrapper, commonSettingsSetter) {
9
- var _this = _super.call(this, decorated) || this;
10
- _this.settingsWrapper = settingsWrapper;
11
- _this.currentUserSettingsWrapper = currentUserSettingsWrapper;
12
- _this.commonSettingsSetter = commonSettingsSetter;
13
- return _this;
5
+ class WithModifiedWorkspaceSettingsService extends DecoratedWorkspaceSettingsService {
6
+ constructor(decorated, settingsWrapper, currentUserSettingsWrapper, commonSettingsSetter) {
7
+ super(decorated);
8
+ this.settingsWrapper = settingsWrapper;
9
+ this.currentUserSettingsWrapper = currentUserSettingsWrapper;
10
+ this.commonSettingsSetter = commonSettingsSetter;
14
11
  }
15
- WithModifiedWorkspaceSettingsService.prototype.getSettings = function () {
16
- return __awaiter(this, void 0, void 0, function () {
17
- var settings;
18
- return __generator(this, function (_a) {
19
- switch (_a.label) {
20
- case 0: return [4 /*yield*/, this.decorated.getSettings()];
21
- case 1:
22
- settings = _a.sent();
23
- return [2 /*return*/, this.settingsWrapper(__assign(__assign({}, settings), this.commonSettingsSetter(settings)))];
24
- }
25
- });
26
- });
27
- };
28
- WithModifiedWorkspaceSettingsService.prototype.getSettingsForCurrentUser = function () {
29
- return __awaiter(this, void 0, void 0, function () {
30
- var currentUserSettings;
31
- return __generator(this, function (_a) {
32
- switch (_a.label) {
33
- case 0: return [4 /*yield*/, this.decorated.getSettingsForCurrentUser()];
34
- case 1:
35
- currentUserSettings = _a.sent();
36
- return [2 /*return*/, this.currentUserSettingsWrapper(__assign(__assign({}, currentUserSettings), this.commonSettingsSetter(currentUserSettings)))];
37
- }
38
- });
39
- });
40
- };
41
- return WithModifiedWorkspaceSettingsService;
42
- }(DecoratedWorkspaceSettingsService));
12
+ async getSettings() {
13
+ const settings = await this.decorated.getSettings();
14
+ return this.settingsWrapper(Object.assign(Object.assign({}, settings), this.commonSettingsSetter(settings)));
15
+ }
16
+ async getSettingsForCurrentUser() {
17
+ const currentUserSettings = await this.decorated.getSettingsForCurrentUser();
18
+ return this.currentUserSettingsWrapper(Object.assign(Object.assign({}, currentUserSettings), this.commonSettingsSetter(currentUserSettings)));
19
+ }
20
+ }
43
21
  function customWorkspaceSettings(config) {
44
- var emptySettingsSetter = function () { return ({}); };
45
- return function (original) {
46
- return new WithModifiedWorkspaceSettingsService(original, config.settingsWrapper || identity, config.currentUserSettingsWrapper || identity, config.commonSettingsWrapper || emptySettingsSetter);
47
- };
22
+ const emptySettingsSetter = () => ({});
23
+ return (original) => new WithModifiedWorkspaceSettingsService(original, config.settingsWrapper || identity, config.currentUserSettingsWrapper || identity, config.commonSettingsWrapper || emptySettingsSetter);
48
24
  }
49
25
  /**
50
26
  * Adjusts workspace configs and current user configs from the real backend.
@@ -55,7 +31,7 @@ function customWorkspaceSettings(config) {
55
31
  * @beta
56
32
  */
57
33
  export function withCustomWorkspaceSettings(realBackend, config) {
58
- var workspaceSettings = customWorkspaceSettings(config);
59
- return decoratedBackend(realBackend, { workspaceSettings: workspaceSettings });
34
+ const workspaceSettings = customWorkspaceSettings(config);
35
+ return decoratedBackend(realBackend, { workspaceSettings });
60
36
  }
61
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspaceSettingsBackend/index.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAQvC,OAAO,EAAE,gBAAgB,EAAqC,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAuB1F;IAAmD,wDAAiC;IAChF,8CACI,SAAoC,EAC3B,eAAgC,EAChC,0BAAsD,EACtD,oBAA2C;QAJxD,YAMI,kBAAM,SAAS,CAAC,SACnB;QALY,qBAAe,GAAf,eAAe,CAAiB;QAChC,gCAA0B,GAA1B,0BAA0B,CAA4B;QACtD,0BAAoB,GAApB,oBAAoB,CAAuB;;IAGxD,CAAC;IAEK,0DAAW,GAAjB;;;;;4BACqB,qBAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAA;;wBAA7C,QAAQ,GAAG,SAAkC;wBACnD,sBAAO,IAAI,CAAC,eAAe,uBACpB,QAAQ,GACR,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EACxC,EAAC;;;;KACN;IAEK,wEAAyB,GAA/B;;;;;4BACgC,qBAAM,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,EAAA;;wBAAtE,mBAAmB,GAAG,SAAgD;wBAC5E,sBAAO,IAAI,CAAC,0BAA0B,uBAC/B,mBAAmB,GACnB,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,EACnD,EAAC;;;;KACN;IACL,2CAAC;AAAD,CAAC,AAzBD,CAAmD,iCAAiC,GAyBnF;AAED,SAAS,uBAAuB,CAAC,MAAsC;IACnE,IAAM,mBAAmB,GAAG,cAAM,OAAA,CAAC,EAAE,CAAC,EAAJ,CAAI,CAAC;IACvC,OAAO,UAAC,QAAmC;QACvC,OAAA,IAAI,oCAAoC,CACpC,QAAQ,EACR,MAAM,CAAC,eAAe,IAAI,QAAQ,EAClC,MAAM,CAAC,0BAA0B,IAAI,QAAQ,EAC7C,MAAM,CAAC,qBAAqB,IAAI,mBAAmB,CACtD;IALD,CAKC,CAAC;AACV,CAAC;AA0BD;;;;;;;GAOG;AAEH,MAAM,UAAU,2BAA2B,CACvC,WAA+B,EAC/B,MAAsC;IAEtC,IAAM,iBAAiB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,gBAAgB,CAAC,WAAW,EAAE,EAAE,iBAAiB,mBAAA,EAAE,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspaceSettingsBackend/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAQvC,OAAO,EAAE,gBAAgB,EAAqC,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAuB1F,MAAM,oCAAqC,SAAQ,iCAAiC;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,QAAQ,EAClC,MAAM,CAAC,0BAA0B,IAAI,QAAQ,EAC7C,MAAM,CAAC,qBAAqB,IAAI,mBAAmB,CACtD,CAAC;AACV,CAAC;AA0BD;;;;;;;GAOG;AAEH,MAAM,UAAU,2BAA2B,CACvC,WAA+B,EAC/B,MAAsC;IAEtC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,gBAAgB,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAChE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-backend-base",
3
- "version": "8.13.0-alpha.9",
3
+ "version": "9.0.0-alpha.2",
4
4
  "author": "GoodData",
5
5
  "description": "GoodData.UI SDK - Base for backend implementations",
6
6
  "repository": {
@@ -30,28 +30,28 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@braintree/sanitize-url": "^6.0.0",
33
- "@gooddata/sdk-backend-spi": "^8.13.0-alpha.9",
34
- "@gooddata/sdk-model": "^8.13.0-alpha.9",
35
- "@gooddata/util": "^8.13.0-alpha.9",
36
33
  "json-stable-stringify": "^1.0.1",
37
34
  "lodash": "^4.17.19",
38
35
  "spark-md5": "^3.0.0",
39
36
  "ts-invariant": "^0.7.3",
40
- "tslib": "^2.0.0",
41
- "uuid": "^8.3.2"
37
+ "tslib": "^2.5.0",
38
+ "uuid": "^8.3.2",
39
+ "lru-cache": "^8.0.4",
40
+ "@gooddata/sdk-backend-spi": "9.0.0-alpha.2",
41
+ "@gooddata/util": "9.0.0-alpha.2",
42
+ "@gooddata/sdk-model": "9.0.0-alpha.2"
42
43
  },
43
44
  "devDependencies": {
44
45
  "@gooddata/eslint-config": "^4.1.0",
45
- "@gooddata/reference-workspace": "^8.13.0-alpha.9",
46
46
  "@microsoft/api-documenter": "^7.17.0",
47
47
  "@microsoft/api-extractor": "^7.20.0",
48
- "@types/jest": "^27.0.1",
48
+ "@types/jest": "^29.5.1",
49
49
  "@types/json-stable-stringify": "^1.0.32",
50
50
  "@types/lodash": "^4.14.158",
51
51
  "@types/spark-md5": "^3.0.1",
52
52
  "@types/uuid": "^8.3.4",
53
- "@typescript-eslint/eslint-plugin": "^5.45.0",
54
- "@typescript-eslint/parser": "^5.45.0",
53
+ "@typescript-eslint/eslint-plugin": "^5.57.1",
54
+ "@typescript-eslint/parser": "^5.57.1",
55
55
  "concurrently": "^6.0.2",
56
56
  "dependency-cruiser": "^10.1.1",
57
57
  "eslint": "^8.25.0",
@@ -63,11 +63,12 @@
63
63
  "eslint-plugin-regexp": "^1.9.0",
64
64
  "eslint-plugin-sonarjs": "^0.16.0",
65
65
  "eslint-plugin-tsdoc": "^0.2.14",
66
- "jest": "^27.5.1",
66
+ "jest": "^29.5.0",
67
67
  "jest-junit": "^3.0.0",
68
68
  "prettier": "~2.5.0",
69
- "ts-jest": "^27.0.5",
70
- "typescript": "4.0.2"
69
+ "ts-jest": "^29.1.0",
70
+ "typescript": "5.0.2",
71
+ "@gooddata/reference-workspace": "9.0.0-alpha.2"
71
72
  },
72
73
  "scripts": {
73
74
  "clean": "rm -rf ci dist esm coverage *.log && jest --clearCache",
@@ -87,6 +88,5 @@
87
88
  "dep-cruiser-ci": "depcruise --validate .dependency-cruiser.js --output-type err-long src/",
88
89
  "validate": "npm run dep-cruiser && npm run eslint && npm run prettier-check",
89
90
  "validate-ci": "npm run dep-cruiser-ci && npm run eslint-ci && npm run prettier-check"
90
- },
91
- "readme": "# Analytical Backend SPI - infrastructure and foundations\n\n[![npm version](https://img.shields.io/npm/v/@gooddata/sdk-backend-base)](https://www.npmjs.com/@gooddata/sdk-backend-base) \n[![npm monthly downloads](https://img.shields.io/npm/dm/@gooddata/sdk-backend-base)](https://npmcharts.com/compare/@gooddata/sdk-backend-base?minimal=true) \n![typescript](https://img.shields.io/badge/typescript-first-blue?logo=typescript)\n\nThis package is a part of the [GoodData.UI SDK](https://sdk.gooddata.com/gooddata-ui/docs/about_gooddataui.html).\nTo learn more, check [the source monorepo](https://github.com/gooddata/gooddata-ui-sdk).\n\nThis package contains foundational, reusable code useful for building new or decorating existing\n[Analytical Backend](https://www.npmjs.com/package/@gooddata/sdk-backend-spi) implementations. This is lower-level, infrastructural code which may be useful\nwhen building larger, more complex applications.\n\nThe notable contents of this package are documented below.\n\n## Backend Decorators\n\nLow level infrastructure to build your own Analytical Backend decorators. The decorators are used\nto seamlessly enrich existing backend implementation with additional functionality - without\nthe need to touch the backend implementation itself.\n\nSee code comments in [base classes](src/decoratedBackend/index.ts) for further documentation on how\nto create your own decorators. Or additionally look at existing decorator implementations for\ninspiration.\n\n## Eventing Backend\n\nThis decorator allows you to enhance any backend implementation with support for eventing. The eventing\nis at the moment limited to the execution part of the Analytical Backend SPI.\n\nBackend decorated with eventing can be created as follows:\n\n```typescript\nimport { IAnalyticalBackend } from \"@gooddata/sdk-backend-spi\";\nimport { IExecutionDefinition, IDataView } from \"@gooddata/sdk-model\";\nimport { withEventing } from \"@gooddata/sdk-backend-base\";\n\nconst realBackendImplementation = ...;\nconst enhancedBackend: IAnalyticalBackend = withEventing(realBackendImplementation, {\n beforeExecute: (def: IExecutionDefinition) => {\n console.log(\"about to trigger execution with definition:\", def);\n },\n successfulResultReadAll: (dataView: IDataView) => {\n console.log(\"retrieved all data for backend execution\");\n }\n});\n```\n\nYou can then pass the `enhancedBackend` to the various React components offered by the SDK and be\nnotified.\n\n## Normalizing Backend\n\nThis decorator addresses the fact that two execution definitions may lead semantically same results but differ just\nin view-only details or technicalities. Before the execution is sent to the underlying backend this decorator will:\n\n- Strip alias, measure format and title from measures\n- Strip alias from attributes\n- Remove any noop filters\n- Normalize local identifiers\n\nThe normalized execution is sent to the backend and before the results and data are passed back to the caller code,\nthe decorator performs denormalization and restores the original values all in the right places in the result and\ndata structures. To the caller, all of this optimization remains transparent and everything looks like the original\nexecution actually executed.\n\n```typescript\nimport { IAnalyticalBackend } from \"@gooddata/sdk-backend-spi\";\nimport { withNormalization } from \"@gooddata/sdk-backend-base\";\n\nconst realBackendImplementation = ...;\nconst enhancedBackend: IAnalyticalBackend = withNormalization(realBackendImplementation);\n```\n\n## Caching Backend\n\nThis decorator implements a naive client-side execution result caching with bounded cache size.\nThe execution results will be evicted only if cache limits are reached using LRU policy. Browser ‘Refresh’ cleans the cache.\n\nIf your app must deliver a snappy experience without too many loading indicators AND the data freshness is not a\ncritical requirement, then this decorator can speed your application immensely.\n\n```typescript\nimport { IAnalyticalBackend } from \"@gooddata/sdk-backend-spi\";\nimport { withCaching, RecommendedCachingConfiguration } from \"@gooddata/sdk-backend-base\";\n\nconst realBackendImplementation = ...;\nconst enhancedBackend: IAnalyticalBackend = withCaching(realBackendImplementation, RecommendedCachingConfiguration);\n```\n\nThe withCaching accepts configuration which you need to use to tweak the size of the different caches. You can use RecommendedCachingConfiguration\navailable in this package.\n\nThe caching plays well with normalization:\n\n```typescript\nimport { IAnalyticalBackend } from \"@gooddata/sdk-backend-spi\";\nimport { withCaching, withNormalization, RecommendedCachingConfiguration } from \"@gooddata/sdk-backend-base\";\n\nconst realBackendImplementation = ...;\nconst enhancedBackend: IAnalyticalBackend = withNormalization(withCaching(realBackendImplementation, RecommendedCachingConfiguration));\n```\n\nThis way the normalization first wipes any differences that are unimportant for the backend, effectively dispatching\njust the really unique executions to the underlying backend - the caching decorator. This greatly increases client-side\ncache hits for applications that dynamically change view-only properties of LDM objects.\n\n## License\n\n(C) 2017-2022 GoodData Corporation\n\nThis project is under MIT License. See [LICENSE](https://github.com/gooddata/gooddata-ui-sdk/blob/master/libs/sdk-backend-base/LICENSE).\n"
91
+ }
92
92
  }