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

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 (159) hide show
  1. package/dist/cachingBackend/index.js +304 -380
  2. package/dist/cachingBackend/index.js.map +1 -1
  3. package/dist/convertors/fromBackend/afm/result.js +3 -3
  4. package/dist/convertors/fromBackend/afm/result.js.map +1 -1
  5. package/dist/customBackend/execution.js +77 -92
  6. package/dist/customBackend/execution.js.map +1 -1
  7. package/dist/customBackend/index.js +78 -114
  8. package/dist/customBackend/index.js.map +1 -1
  9. package/dist/customBackend/workspace.js +39 -40
  10. package/dist/customBackend/workspace.js.map +1 -1
  11. package/dist/decoratedBackend/attributes.js +21 -22
  12. package/dist/decoratedBackend/attributes.js.map +1 -1
  13. package/dist/decoratedBackend/catalog.js +38 -50
  14. package/dist/decoratedBackend/catalog.js.map +1 -1
  15. package/dist/decoratedBackend/dashboards.js +61 -62
  16. package/dist/decoratedBackend/dashboards.js.map +1 -1
  17. package/dist/decoratedBackend/elements.js +47 -70
  18. package/dist/decoratedBackend/elements.js.map +1 -1
  19. package/dist/decoratedBackend/execution.js +62 -79
  20. package/dist/decoratedBackend/execution.js.map +1 -1
  21. package/dist/decoratedBackend/index.js +90 -104
  22. package/dist/decoratedBackend/index.js.map +1 -1
  23. package/dist/decoratedBackend/securitySettings.js +7 -8
  24. package/dist/decoratedBackend/securitySettings.js.map +1 -1
  25. package/dist/decoratedBackend/workspaceSettings.js +12 -26
  26. package/dist/decoratedBackend/workspaceSettings.js.map +1 -1
  27. package/dist/dummyBackend/index.js +347 -391
  28. package/dist/dummyBackend/index.js.map +1 -1
  29. package/dist/eventingBackend/index.js +42 -49
  30. package/dist/eventingBackend/index.js.map +1 -1
  31. package/dist/ldmFactories/builder.js +14 -16
  32. package/dist/ldmFactories/builder.js.map +1 -1
  33. package/dist/ldmFactories/catalog/attributeFactory.js +22 -32
  34. package/dist/ldmFactories/catalog/attributeFactory.js.map +1 -1
  35. package/dist/ldmFactories/catalog/dateDatasetFactory.js +25 -41
  36. package/dist/ldmFactories/catalog/dateDatasetFactory.js.map +1 -1
  37. package/dist/ldmFactories/catalog/factFactory.js +11 -19
  38. package/dist/ldmFactories/catalog/factFactory.js.map +1 -1
  39. package/dist/ldmFactories/catalog/groupFactory.js +14 -27
  40. package/dist/ldmFactories/catalog/groupFactory.js.map +1 -1
  41. package/dist/ldmFactories/catalog/measureFactory.js +15 -25
  42. package/dist/ldmFactories/catalog/measureFactory.js.map +1 -1
  43. package/dist/ldmFactories/dashboard/insightWidgetFactory.js +20 -27
  44. package/dist/ldmFactories/dashboard/insightWidgetFactory.js.map +1 -1
  45. package/dist/ldmFactories/dashboard/kpiWidgetFactory.js +24 -34
  46. package/dist/ldmFactories/dashboard/kpiWidgetFactory.js.map +1 -1
  47. package/dist/ldmFactories/dashboard/widgetFactory.js +20 -39
  48. package/dist/ldmFactories/dashboard/widgetFactory.js.map +1 -1
  49. package/dist/ldmFactories/metadata/attributeFactory.js +13 -21
  50. package/dist/ldmFactories/metadata/attributeFactory.js.map +1 -1
  51. package/dist/ldmFactories/metadata/dashboardFactory.js +7 -15
  52. package/dist/ldmFactories/metadata/dashboardFactory.js.map +1 -1
  53. package/dist/ldmFactories/metadata/dataSetFactory.js +7 -15
  54. package/dist/ldmFactories/metadata/dataSetFactory.js.map +1 -1
  55. package/dist/ldmFactories/metadata/displayFormFactory.js +13 -21
  56. package/dist/ldmFactories/metadata/displayFormFactory.js.map +1 -1
  57. package/dist/ldmFactories/metadata/factFactory.js +7 -15
  58. package/dist/ldmFactories/metadata/factFactory.js.map +1 -1
  59. package/dist/ldmFactories/metadata/factory.js +17 -23
  60. package/dist/ldmFactories/metadata/factory.js.map +1 -1
  61. package/dist/ldmFactories/metadata/measureFactory.js +13 -21
  62. package/dist/ldmFactories/metadata/measureFactory.js.map +1 -1
  63. package/dist/ldmFactories/metadata/variableFactory.js +7 -15
  64. package/dist/ldmFactories/metadata/variableFactory.js.map +1 -1
  65. package/dist/normalizingBackend/index.js +71 -96
  66. package/dist/normalizingBackend/index.js.map +1 -1
  67. package/dist/normalizingBackend/normalizer.d.ts.map +1 -1
  68. package/dist/normalizingBackend/normalizer.js +130 -138
  69. package/dist/normalizingBackend/normalizer.js.map +1 -1
  70. package/dist/toolkit/auth.js +47 -60
  71. package/dist/toolkit/auth.js.map +1 -1
  72. package/dist/toolkit/execution.js +40 -52
  73. package/dist/toolkit/execution.js.map +1 -1
  74. package/dist/toolkit/paging.js +77 -146
  75. package/dist/toolkit/paging.js.map +1 -1
  76. package/dist/toolkit/pluginUrlValidation.js +9 -9
  77. package/dist/toolkit/pluginUrlValidation.js.map +1 -1
  78. package/dist/workspaceSettingsBackend/index.js +23 -46
  79. package/dist/workspaceSettingsBackend/index.js.map +1 -1
  80. package/esm/cachingBackend/index.js +281 -358
  81. package/esm/cachingBackend/index.js.map +1 -1
  82. package/esm/convertors/fromBackend/afm/result.js +3 -3
  83. package/esm/convertors/fromBackend/afm/result.js.map +1 -1
  84. package/esm/customBackend/execution.js +72 -89
  85. package/esm/customBackend/execution.js.map +1 -1
  86. package/esm/customBackend/index.js +75 -112
  87. package/esm/customBackend/index.js.map +1 -1
  88. package/esm/customBackend/workspace.js +37 -39
  89. package/esm/customBackend/workspace.js.map +1 -1
  90. package/esm/decoratedBackend/attributes.js +21 -23
  91. package/esm/decoratedBackend/attributes.js.map +1 -1
  92. package/esm/decoratedBackend/catalog.js +36 -51
  93. package/esm/decoratedBackend/catalog.js.map +1 -1
  94. package/esm/decoratedBackend/dashboards.js +61 -63
  95. package/esm/decoratedBackend/dashboards.js.map +1 -1
  96. package/esm/decoratedBackend/elements.js +47 -73
  97. package/esm/decoratedBackend/elements.js.map +1 -1
  98. package/esm/decoratedBackend/execution.js +60 -81
  99. package/esm/decoratedBackend/execution.js.map +1 -1
  100. package/esm/decoratedBackend/index.js +88 -103
  101. package/esm/decoratedBackend/index.js.map +1 -1
  102. package/esm/decoratedBackend/securitySettings.js +7 -9
  103. package/esm/decoratedBackend/securitySettings.js.map +1 -1
  104. package/esm/decoratedBackend/workspaceSettings.js +12 -27
  105. package/esm/decoratedBackend/workspaceSettings.js.map +1 -1
  106. package/esm/dummyBackend/index.js +342 -387
  107. package/esm/dummyBackend/index.js.map +1 -1
  108. package/esm/eventingBackend/index.js +37 -45
  109. package/esm/eventingBackend/index.js.map +1 -1
  110. package/esm/ldmFactories/builder.js +14 -17
  111. package/esm/ldmFactories/builder.js.map +1 -1
  112. package/esm/ldmFactories/catalog/attributeFactory.js +15 -27
  113. package/esm/ldmFactories/catalog/attributeFactory.js.map +1 -1
  114. package/esm/ldmFactories/catalog/dateDatasetFactory.js +18 -37
  115. package/esm/ldmFactories/catalog/dateDatasetFactory.js.map +1 -1
  116. package/esm/ldmFactories/catalog/factFactory.js +5 -15
  117. package/esm/ldmFactories/catalog/factFactory.js.map +1 -1
  118. package/esm/ldmFactories/catalog/groupFactory.js +11 -27
  119. package/esm/ldmFactories/catalog/groupFactory.js.map +1 -1
  120. package/esm/ldmFactories/catalog/measureFactory.js +9 -21
  121. package/esm/ldmFactories/catalog/measureFactory.js.map +1 -1
  122. package/esm/ldmFactories/dashboard/insightWidgetFactory.js +16 -25
  123. package/esm/ldmFactories/dashboard/insightWidgetFactory.js.map +1 -1
  124. package/esm/ldmFactories/dashboard/kpiWidgetFactory.js +19 -31
  125. package/esm/ldmFactories/dashboard/kpiWidgetFactory.js.map +1 -1
  126. package/esm/ldmFactories/dashboard/widgetFactory.js +19 -39
  127. package/esm/ldmFactories/dashboard/widgetFactory.js.map +1 -1
  128. package/esm/ldmFactories/metadata/attributeFactory.js +9 -19
  129. package/esm/ldmFactories/metadata/attributeFactory.js.map +1 -1
  130. package/esm/ldmFactories/metadata/dashboardFactory.js +3 -13
  131. package/esm/ldmFactories/metadata/dashboardFactory.js.map +1 -1
  132. package/esm/ldmFactories/metadata/dataSetFactory.js +3 -13
  133. package/esm/ldmFactories/metadata/dataSetFactory.js.map +1 -1
  134. package/esm/ldmFactories/metadata/displayFormFactory.js +9 -19
  135. package/esm/ldmFactories/metadata/displayFormFactory.js.map +1 -1
  136. package/esm/ldmFactories/metadata/factFactory.js +3 -13
  137. package/esm/ldmFactories/metadata/factFactory.js.map +1 -1
  138. package/esm/ldmFactories/metadata/factory.js +16 -23
  139. package/esm/ldmFactories/metadata/factory.js.map +1 -1
  140. package/esm/ldmFactories/metadata/measureFactory.js +9 -19
  141. package/esm/ldmFactories/metadata/measureFactory.js.map +1 -1
  142. package/esm/ldmFactories/metadata/variableFactory.js +3 -13
  143. package/esm/ldmFactories/metadata/variableFactory.js.map +1 -1
  144. package/esm/normalizingBackend/index.js +64 -90
  145. package/esm/normalizingBackend/index.js.map +1 -1
  146. package/esm/normalizingBackend/normalizer.d.ts.map +1 -1
  147. package/esm/normalizingBackend/normalizer.js +125 -136
  148. package/esm/normalizingBackend/normalizer.js.map +1 -1
  149. package/esm/toolkit/auth.js +47 -63
  150. package/esm/toolkit/auth.js.map +1 -1
  151. package/esm/toolkit/execution.js +38 -53
  152. package/esm/toolkit/execution.js.map +1 -1
  153. package/esm/toolkit/paging.js +72 -144
  154. package/esm/toolkit/paging.js.map +1 -1
  155. package/esm/toolkit/pluginUrlValidation.js +8 -8
  156. package/esm/toolkit/pluginUrlValidation.js.map +1 -1
  157. package/esm/workspaceSettingsBackend/index.js +19 -43
  158. package/esm/workspaceSettingsBackend/index.js.map +1 -1
  159. package/package.json +7 -6
@@ -1,4 +1,3 @@
1
- import { __awaiter, __generator } from "tslib";
2
1
  // (C) 2019-2021 GoodData Corporation
3
2
  import { NotSupported, } from "@gooddata/sdk-backend-spi";
4
3
  /**
@@ -14,80 +13,69 @@ import { NotSupported, } from "@gooddata/sdk-backend-spi";
14
13
  *
15
14
  * @internal
16
15
  */
17
- var AuthProviderCallGuard = /** @class */ (function () {
18
- function AuthProviderCallGuard(realProvider) {
19
- var _this = this;
16
+ export class AuthProviderCallGuard {
17
+ constructor(realProvider) {
20
18
  this.realProvider = realProvider;
21
- this.reset = function () {
22
- _this.principal = undefined;
19
+ this.reset = () => {
20
+ this.principal = undefined;
23
21
  };
24
22
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
25
- this.initializeClient = function (client) {
23
+ this.initializeClient = (client) => {
26
24
  var _a, _b;
27
- (_b = (_a = _this.realProvider).initializeClient) === null || _b === void 0 ? void 0 : _b.call(_a, client);
25
+ (_b = (_a = this.realProvider).initializeClient) === null || _b === void 0 ? void 0 : _b.call(_a, client);
28
26
  };
29
- this.onNotAuthenticated = function (context, error) {
27
+ this.onNotAuthenticated = (context, error) => {
30
28
  var _a, _b;
31
- (_b = (_a = _this.realProvider).onNotAuthenticated) === null || _b === void 0 ? void 0 : _b.call(_a, context, error);
29
+ (_b = (_a = this.realProvider).onNotAuthenticated) === null || _b === void 0 ? void 0 : _b.call(_a, context, error);
32
30
  };
33
- this.authenticate = function (context) {
34
- if (_this.principal) {
35
- return Promise.resolve(_this.principal);
31
+ this.authenticate = (context) => {
32
+ if (this.principal) {
33
+ return Promise.resolve(this.principal);
36
34
  }
37
- if (_this.inflightRequest) {
38
- return _this.inflightRequest;
35
+ if (this.inflightRequest) {
36
+ return this.inflightRequest;
39
37
  }
40
- _this.inflightRequest = _this.realProvider
38
+ this.inflightRequest = this.realProvider
41
39
  .authenticate(context)
42
- .then(function (res) {
43
- _this.principal = res;
44
- _this.inflightRequest = undefined;
40
+ .then((res) => {
41
+ this.principal = res;
42
+ this.inflightRequest = undefined;
45
43
  return res;
46
44
  })
47
- .catch(function (err) {
48
- _this.inflightRequest = undefined;
45
+ .catch((err) => {
46
+ this.inflightRequest = undefined;
49
47
  throw err;
50
48
  });
51
- return _this.inflightRequest;
49
+ return this.inflightRequest;
52
50
  };
53
51
  }
54
- AuthProviderCallGuard.prototype.getCurrentPrincipal = function (context) {
52
+ getCurrentPrincipal(context) {
55
53
  return this.realProvider.getCurrentPrincipal(context);
56
- };
57
- AuthProviderCallGuard.prototype.deauthenticate = function (context) {
58
- return __awaiter(this, void 0, void 0, function () {
59
- return __generator(this, function (_a) {
60
- return [2 /*return*/, this.realProvider.deauthenticate(context)];
61
- });
62
- });
63
- };
64
- return AuthProviderCallGuard;
65
- }());
66
- export { AuthProviderCallGuard };
54
+ }
55
+ async deauthenticate(context) {
56
+ return this.realProvider.deauthenticate(context);
57
+ }
58
+ }
67
59
  /**
68
60
  * This implementation serves as a Null object for IAuthProviderCallGuard.
69
61
  *
70
62
  * @internal
71
63
  */
72
- var NoopAuthProvider = /** @class */ (function () {
73
- function NoopAuthProvider() {
74
- }
75
- NoopAuthProvider.prototype.authenticate = function (_context) {
64
+ export class NoopAuthProvider {
65
+ authenticate(_context) {
76
66
  throw new NotSupported("NoopAuthProvider does not support authenticate");
77
- };
78
- NoopAuthProvider.prototype.getCurrentPrincipal = function (_context) {
67
+ }
68
+ getCurrentPrincipal(_context) {
79
69
  throw new NotSupported("NoopAuthProvider does not support getCurrentPrincipal");
80
- };
81
- NoopAuthProvider.prototype.deauthenticate = function (_context) {
70
+ }
71
+ deauthenticate(_context) {
82
72
  throw new NotSupported("NoopAuthProvider does not support deauthenticate");
83
- };
84
- NoopAuthProvider.prototype.reset = function () {
73
+ }
74
+ reset() {
85
75
  throw new NotSupported("NoopAuthProvider does not support reset");
86
- };
87
- return NoopAuthProvider;
88
- }());
89
- export { NoopAuthProvider };
90
- export var AnonymousUser = {
76
+ }
77
+ }
78
+ export const AnonymousUser = {
91
79
  userId: "anonymous",
92
80
  };
93
81
  /**
@@ -95,22 +83,18 @@ export var AnonymousUser = {
95
83
  *
96
84
  * @public
97
85
  */
98
- var AnonymousAuthProvider = /** @class */ (function () {
99
- function AnonymousAuthProvider() {
100
- }
101
- AnonymousAuthProvider.prototype.authenticate = function (_context) {
86
+ export class AnonymousAuthProvider {
87
+ authenticate(_context) {
102
88
  return Promise.resolve(AnonymousUser);
103
- };
104
- AnonymousAuthProvider.prototype.getCurrentPrincipal = function (_context) {
89
+ }
90
+ getCurrentPrincipal(_context) {
105
91
  return Promise.resolve(AnonymousUser);
106
- };
107
- AnonymousAuthProvider.prototype.deauthenticate = function (_context) {
92
+ }
93
+ deauthenticate(_context) {
108
94
  return Promise.resolve();
109
- };
110
- AnonymousAuthProvider.prototype.reset = function () {
95
+ }
96
+ reset() {
111
97
  return;
112
- };
113
- return AnonymousAuthProvider;
114
- }());
115
- export { AnonymousAuthProvider };
98
+ }
99
+ }
116
100
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/toolkit/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/toolkit/auth.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAKH,YAAY,GAEf,MAAM,2BAA2B,CAAC;AA6CnC;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,qBAAqB;IAI9B,YAA6B,YAAqC;QAArC,iBAAY,GAAZ,YAAY,CAAyB;QAE3D,UAAK,GAAG,GAAS,EAAE;YACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC,CAAC;QAEF,6EAA6E;QACtE,qBAAgB,GAAG,CAAC,MAAW,EAAQ,EAAE;;YAC5C,MAAA,MAAA,IAAI,CAAC,YAAY,EAAC,gBAAgB,mDAAG,MAAM,EAAE;QACjD,CAAC,CAAC;QAEK,uBAAkB,GAAG,CAAC,OAA+B,EAAE,KAAuB,EAAQ,EAAE;;YAC3F,MAAA,MAAA,IAAI,CAAC,YAAY,EAAC,kBAAkB,mDAAG,OAAO,EAAE,KAAK,EAAE;QAC3D,CAAC,CAAC;QAEK,iBAAY,GAAG,CAAC,OAA+B,EAAoC,EAAE;YACxF,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1C;YAED,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,OAAO,IAAI,CAAC,eAAe,CAAC;aAC/B;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY;iBACnC,YAAY,CAAC,OAAO,CAAC;iBACrB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACV,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;gBAEjC,OAAO,GAAG,CAAC;YACf,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;gBAEjC,MAAM,GAAG,CAAC;YACd,CAAC,CAAC,CAAC;YAEP,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC,CAAC;IAvCmE,CAAC;IAyC/D,mBAAmB,CAAC,OAA+B;QACtD,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAA+B;QACvD,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAClB,YAAY,CAAC,QAAgC;QAChD,MAAM,IAAI,YAAY,CAAC,gDAAgD,CAAC,CAAC;IAC7E,CAAC;IAEM,mBAAmB,CAAC,QAAgC;QACvD,MAAM,IAAI,YAAY,CAAC,uDAAuD,CAAC,CAAC;IACpF,CAAC;IAEM,cAAc,CAAC,QAAgC;QAClD,MAAM,IAAI,YAAY,CAAC,kDAAkD,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK;QACR,MAAM,IAAI,YAAY,CAAC,yCAAyC,CAAC,CAAC;IACtE,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,aAAa,GAA4B;IAClD,MAAM,EAAE,WAAW;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IACvB,YAAY,CAAC,QAAgC;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAEM,mBAAmB,CAAC,QAAgC;QACvD,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc,CAAC,QAAgC;QAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK;QACR,OAAO;IACX,CAAC;CACJ"}
@@ -1,5 +1,4 @@
1
1
  // (C) 2019-2020 GoodData Corporation
2
- import { __extends } from "tslib";
3
2
  import { defaultDimensionsGenerator, defWithDimensions, newDefForBuckets, newDefForInsight, newDefForItems, isInsight, } from "@gooddata/sdk-model";
4
3
  import { DecoratedExecutionFactory } from "../decoratedBackend/execution";
5
4
  /**
@@ -15,28 +14,26 @@ import { DecoratedExecutionFactory } from "../decoratedBackend/execution";
15
14
  *
16
15
  * @internal
17
16
  */
18
- var AbstractExecutionFactory = /** @class */ (function () {
19
- function AbstractExecutionFactory(workspace) {
17
+ export class AbstractExecutionFactory {
18
+ constructor(workspace) {
20
19
  this.workspace = workspace;
21
20
  }
22
- AbstractExecutionFactory.prototype.forItems = function (items, filters) {
23
- var def = defWithDimensions(newDefForItems(this.workspace, items, filters), defaultDimensionsGenerator);
21
+ forItems(items, filters) {
22
+ const def = defWithDimensions(newDefForItems(this.workspace, items, filters), defaultDimensionsGenerator);
24
23
  return this.forDefinition(def);
25
- };
26
- AbstractExecutionFactory.prototype.forBuckets = function (buckets, filters) {
27
- var def = defWithDimensions(newDefForBuckets(this.workspace, buckets, filters), defaultDimensionsGenerator);
24
+ }
25
+ forBuckets(buckets, filters) {
26
+ const def = defWithDimensions(newDefForBuckets(this.workspace, buckets, filters), defaultDimensionsGenerator);
28
27
  return this.forDefinition(def);
29
- };
30
- AbstractExecutionFactory.prototype.forInsight = function (insight, filters) {
31
- var def = defWithDimensions(newDefForInsight(this.workspace, insight, filters), defaultDimensionsGenerator);
28
+ }
29
+ forInsight(insight, filters) {
30
+ const def = defWithDimensions(newDefForInsight(this.workspace, insight, filters), defaultDimensionsGenerator);
32
31
  return this.forDefinition(def);
33
- };
34
- AbstractExecutionFactory.prototype.forInsightByRef = function (insight, filters) {
32
+ }
33
+ forInsightByRef(insight, filters) {
35
34
  return this.forInsight(insight, filters);
36
- };
37
- return AbstractExecutionFactory;
38
- }());
39
- export { AbstractExecutionFactory };
35
+ }
36
+ }
40
37
  /**
41
38
  * This implementation of execution factory allows transparent injection of fixed set of filters to all
42
39
  * executions started through it.
@@ -46,33 +43,24 @@ export { AbstractExecutionFactory };
46
43
  *
47
44
  * @internal
48
45
  */
49
- var ExecutionFactoryWithFixedFilters = /** @class */ (function (_super) {
50
- __extends(ExecutionFactoryWithFixedFilters, _super);
51
- function ExecutionFactoryWithFixedFilters(decorated, filters) {
52
- if (filters === void 0) { filters = []; }
53
- var _this = _super.call(this, decorated) || this;
54
- _this.filters = filters;
55
- return _this;
46
+ export class ExecutionFactoryWithFixedFilters extends DecoratedExecutionFactory {
47
+ constructor(decorated, filters = []) {
48
+ super(decorated);
49
+ this.filters = filters;
50
+ }
51
+ forItems(items, filters = []) {
52
+ return super.forItems(items, this.filters.concat(filters));
56
53
  }
57
- ExecutionFactoryWithFixedFilters.prototype.forItems = function (items, filters) {
58
- if (filters === void 0) { filters = []; }
59
- return _super.prototype.forItems.call(this, items, this.filters.concat(filters));
60
- };
61
- ExecutionFactoryWithFixedFilters.prototype.forBuckets = function (buckets, filters) {
62
- if (filters === void 0) { filters = []; }
63
- return _super.prototype.forBuckets.call(this, buckets, this.filters.concat(filters));
64
- };
65
- ExecutionFactoryWithFixedFilters.prototype.forInsight = function (insight, filters) {
66
- if (filters === void 0) { filters = []; }
67
- return _super.prototype.forInsight.call(this, insight, this.filters.concat(filters));
68
- };
69
- ExecutionFactoryWithFixedFilters.prototype.forInsightByRef = function (insight, filters) {
70
- if (filters === void 0) { filters = []; }
71
- return _super.prototype.forInsightByRef.call(this, insight, this.filters.concat(filters));
72
- };
73
- return ExecutionFactoryWithFixedFilters;
74
- }(DecoratedExecutionFactory));
75
- export { ExecutionFactoryWithFixedFilters };
54
+ forBuckets(buckets, filters = []) {
55
+ return super.forBuckets(buckets, this.filters.concat(filters));
56
+ }
57
+ forInsight(insight, filters = []) {
58
+ return super.forInsight(insight, this.filters.concat(filters));
59
+ }
60
+ forInsightByRef(insight, filters = []) {
61
+ return super.forInsightByRef(insight, this.filters.concat(filters));
62
+ }
63
+ }
76
64
  /**
77
65
  * This implementation of execution factory will transparently upgrade any `forInsight` execution
78
66
  * to `forInsightByRef` execution IF the argument to `forInsight` is actually a persisted insight (`IInsight` which
@@ -80,18 +68,15 @@ export { ExecutionFactoryWithFixedFilters };
80
68
  *
81
69
  * @internal
82
70
  */
83
- var ExecutionFactoryUpgradingToExecByReference = /** @class */ (function (_super) {
84
- __extends(ExecutionFactoryUpgradingToExecByReference, _super);
85
- function ExecutionFactoryUpgradingToExecByReference(decorated) {
86
- return _super.call(this, decorated) || this;
71
+ export class ExecutionFactoryUpgradingToExecByReference extends DecoratedExecutionFactory {
72
+ constructor(decorated) {
73
+ super(decorated);
87
74
  }
88
- ExecutionFactoryUpgradingToExecByReference.prototype.forInsight = function (insight, filters) {
75
+ forInsight(insight, filters) {
89
76
  if (isInsight(insight)) {
90
77
  return this.forInsightByRef(insight, filters);
91
78
  }
92
- return _super.prototype.forInsight.call(this, insight, filters);
93
- };
94
- return ExecutionFactoryUpgradingToExecByReference;
95
- }(DecoratedExecutionFactory));
96
- export { ExecutionFactoryUpgradingToExecByReference };
79
+ return super.forInsight(insight, filters);
80
+ }
81
+ }
97
82
  //# sourceMappingURL=execution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/toolkit/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/toolkit/execution.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAEH,0BAA0B,EAC1B,iBAAiB,EAIjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EAEd,SAAS,GAEZ,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;;;;;;;;;;;GAYG;AACH,MAAM,OAAgB,wBAAwB;IAC1C,YAA+B,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAI7C,QAAQ,CAAC,KAA4B,EAAE,OAA2B;QACrE,MAAM,GAAG,GAAG,iBAAiB,CACzB,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EAC9C,0BAA0B,CAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,OAAkB,EAAE,OAA2B;QAC7D,MAAM,GAAG,GAAG,iBAAiB,CACzB,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAClD,0BAA0B,CAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,OAA2B,EAAE,OAA2B;QACtE,MAAM,GAAG,GAAG,iBAAiB,CACzB,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAClD,0BAA0B,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;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,gCAAiC,SAAQ,yBAAyB;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;AAED;;;;;;GAMG;AACH,MAAM,OAAO,0CAA2C,SAAQ,yBAAyB;IACrF,YAAY,SAA4B;QACpC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAEM,UAAU,CAAC,OAA2B,EAAE,OAA2B;QACtE,IAAI,SAAS,CAAC,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"}
@@ -1,4 +1,3 @@
1
- import { __awaiter, __generator, __spreadArrays } from "tslib";
2
1
  import invariant from "ts-invariant";
3
2
  import range from "lodash/range";
4
3
  import flatMap from "lodash/flatMap";
@@ -9,13 +8,11 @@ import isNil from "lodash/isNil";
9
8
  *
10
9
  * @internal
11
10
  */
12
- var InMemoryPaging = /** @class */ (function () {
13
- function InMemoryPaging(allItems, limit, offset) {
14
- if (limit === void 0) { limit = 50; }
15
- if (offset === void 0) { offset = 0; }
11
+ export class InMemoryPaging {
12
+ constructor(allItems, limit = 50, offset = 0) {
16
13
  this.allItems = allItems;
17
- invariant(offset >= 0, "paging offset must be non-negative, got: " + offset);
18
- invariant(limit > 0, "limit must be a positive number, got: " + limit);
14
+ invariant(offset >= 0, `paging offset must be non-negative, got: ${offset}`);
15
+ invariant(limit > 0, `limit must be a positive number, got: ${limit}`);
19
16
  // this will naturally return empty items if at the end of data; limit will always be positive
20
17
  this.items = allItems.slice(offset, offset + limit);
21
18
  // offset is at most at the end of all available elements
@@ -24,152 +21,83 @@ var InMemoryPaging = /** @class */ (function () {
24
21
  this.limit = limit;
25
22
  this.totalCount = allItems.length;
26
23
  }
27
- InMemoryPaging.prototype.next = function () {
28
- return __awaiter(this, void 0, void 0, function () {
29
- return __generator(this, function (_a) {
30
- if (this.items.length === 0) {
31
- return [2 /*return*/, this];
32
- }
33
- return [2 /*return*/, new InMemoryPaging(this.allItems, this.limit, this.offset + this.items.length)];
34
- });
35
- });
36
- };
37
- InMemoryPaging.prototype.goTo = function (pageIndex) {
38
- return __awaiter(this, void 0, void 0, function () {
39
- return __generator(this, function (_a) {
40
- if (this.items.length === 0) {
41
- return [2 /*return*/, this];
42
- }
43
- return [2 /*return*/, new InMemoryPaging(this.allItems, this.limit, pageIndex * this.items.length)];
44
- });
45
- });
46
- };
47
- InMemoryPaging.prototype.all = function () {
48
- return __awaiter(this, void 0, void 0, function () {
49
- return __generator(this, function (_a) {
50
- return [2 /*return*/, __spreadArrays(this.allItems)];
51
- });
52
- });
53
- };
54
- InMemoryPaging.prototype.allSorted = function (compareFn) {
55
- return __awaiter(this, void 0, void 0, function () {
56
- return __generator(this, function (_a) {
57
- return [2 /*return*/, __spreadArrays(this.allItems).sort(compareFn)];
58
- });
59
- });
60
- };
61
- return InMemoryPaging;
62
- }());
63
- export { InMemoryPaging };
24
+ async next() {
25
+ if (this.items.length === 0) {
26
+ return this;
27
+ }
28
+ return new InMemoryPaging(this.allItems, this.limit, this.offset + this.items.length);
29
+ }
30
+ async goTo(pageIndex) {
31
+ if (this.items.length === 0) {
32
+ return this;
33
+ }
34
+ return new InMemoryPaging(this.allItems, this.limit, pageIndex * this.items.length);
35
+ }
36
+ async all() {
37
+ return [...this.allItems];
38
+ }
39
+ async allSorted(compareFn) {
40
+ return [...this.allItems].sort(compareFn);
41
+ }
42
+ }
64
43
  /**
65
44
  * Common implementation of the {@link @gooddata/sdk-backend-spi#IPagedResource} for the server-side paging.
66
45
  *
67
46
  * @internal
68
47
  */
69
- var ServerPaging = /** @class */ (function () {
70
- function ServerPaging(getData, limit, offset, totalCount, items) {
71
- var _this = this;
72
- if (limit === void 0) { limit = 50; }
73
- if (offset === void 0) { offset = 0; }
48
+ export class ServerPaging {
49
+ constructor(getData, limit = 50, offset = 0, totalCount, items) {
74
50
  this.getData = getData;
75
51
  this.limit = limit;
76
52
  this.offset = offset;
77
53
  this.totalCount = totalCount;
78
54
  this.items = items;
79
- this.next = function () { return __awaiter(_this, void 0, void 0, function () {
80
- var pageData;
81
- return __generator(this, function (_a) {
82
- switch (_a.label) {
83
- case 0:
84
- // No items = we are on the last page.
85
- if (this.items.length === 0) {
86
- return [2 /*return*/, this];
87
- }
88
- // We are on the last page with the items - return empty result for the next page immediately
89
- if (this.items.length < this.limit || this.offset + this.items.length === this.totalCount) {
90
- return [2 /*return*/, new ServerPaging(this.getData, this.limit, this.offset + this.limit, this.totalCount, [])];
91
- }
92
- return [4 /*yield*/, this.getData({ limit: this.limit, offset: this.offset + this.limit })];
93
- case 1:
94
- pageData = _a.sent();
95
- return [2 /*return*/, new ServerPaging(this.getData, this.limit, this.offset + this.limit, pageData.totalCount, pageData.items)];
96
- }
97
- });
98
- }); };
99
- this.goTo = function (pageIndex) { return __awaiter(_this, void 0, void 0, function () {
100
- var offset, pageData;
101
- return __generator(this, function (_a) {
102
- switch (_a.label) {
103
- case 0:
104
- offset = pageIndex * this.limit;
105
- return [4 /*yield*/, this.getData({ limit: this.limit, offset: offset })];
106
- case 1:
107
- pageData = _a.sent();
108
- return [2 /*return*/, new ServerPaging(this.getData, this.limit, offset, pageData.totalCount, pageData.items)];
109
- }
110
- });
111
- }); };
112
- this.all = function () { return __awaiter(_this, void 0, void 0, function () {
113
- var results, maxRequests, allPagesToLoad, pagesToLoad, loadedPages;
114
- var _this = this;
115
- return __generator(this, function (_a) {
116
- switch (_a.label) {
117
- case 0:
118
- results = [];
119
- maxRequests = 6;
120
- allPagesToLoad = range(0, this.totalCount / this.limit);
121
- // if the paged resource is already at the 0 offset, use it directly to save a duplicate request
122
- if (this.offset === 0) {
123
- results.push.apply(results, this.items);
124
- allPagesToLoad.shift();
125
- }
126
- _a.label = 1;
127
- case 1:
128
- if (!(allPagesToLoad.length > 0)) return [3 /*break*/, 3];
129
- pagesToLoad = allPagesToLoad.slice(0, maxRequests);
130
- allPagesToLoad.splice(0, maxRequests);
131
- return [4 /*yield*/, Promise.all(pagesToLoad.map(function (page) { return _this.goTo(page); }))];
132
- case 2:
133
- loadedPages = _a.sent();
134
- results.push.apply(results, flatMap(loadedPages, function (page) { return page.items; }));
135
- return [3 /*break*/, 1];
136
- case 3: return [2 /*return*/, results];
137
- }
138
- });
139
- }); };
140
- this.allSorted = function (compareFn) { return __awaiter(_this, void 0, void 0, function () {
141
- var all;
142
- return __generator(this, function (_a) {
143
- switch (_a.label) {
144
- case 0: return [4 /*yield*/, this.all()];
145
- case 1:
146
- all = _a.sent();
147
- return [2 /*return*/, all.sort(compareFn)];
148
- }
149
- });
150
- }); };
55
+ this.next = async () => {
56
+ // No items = we are on the last page.
57
+ if (this.items.length === 0) {
58
+ return this;
59
+ }
60
+ // We are on the last page with the items - return empty result for the next page immediately
61
+ if (this.items.length < this.limit || this.offset + this.items.length === this.totalCount) {
62
+ return new ServerPaging(this.getData, this.limit, this.offset + this.limit, this.totalCount, []);
63
+ }
64
+ const pageData = await this.getData({ limit: this.limit, offset: this.offset + this.limit });
65
+ return new ServerPaging(this.getData, this.limit, this.offset + this.limit, pageData.totalCount, pageData.items);
66
+ };
67
+ this.goTo = async (pageIndex) => {
68
+ const offset = pageIndex * this.limit;
69
+ const pageData = await this.getData({ limit: this.limit, offset });
70
+ return new ServerPaging(this.getData, this.limit, offset, pageData.totalCount, pageData.items);
71
+ };
72
+ this.all = async () => {
73
+ const results = [];
74
+ const maxRequests = 6;
75
+ const allPagesToLoad = range(0, this.totalCount / this.limit);
76
+ // if the paged resource is already at the 0 offset, use it directly to save a duplicate request
77
+ if (this.offset === 0) {
78
+ results.push(...this.items);
79
+ allPagesToLoad.shift();
80
+ }
81
+ while (allPagesToLoad.length > 0) {
82
+ const pagesToLoad = allPagesToLoad.slice(0, maxRequests);
83
+ allPagesToLoad.splice(0, maxRequests);
84
+ const loadedPages = await Promise.all(pagesToLoad.map((page) => this.goTo(page)));
85
+ results.push(...flatMap(loadedPages, (page) => page.items));
86
+ }
87
+ return results;
88
+ };
89
+ this.allSorted = async (compareFn) => {
90
+ const all = await this.all();
91
+ return all.sort(compareFn);
92
+ };
93
+ }
94
+ static async for(getData, limit = 50, offset = 0) {
95
+ invariant(offset >= 0, `paging offset must be non-negative, got: ${offset}`);
96
+ invariant(limit > 0, `limit must be a positive number, got: ${limit}`);
97
+ const { totalCount, items } = await getData({ limit, offset });
98
+ // must use isNil, totalCount: 0 is a valid case (e.g. when searching for a nonsensical string)
99
+ invariant(!isNil(totalCount), `total count must be specified, got: ${totalCount}`);
100
+ return new ServerPaging(getData, limit, offset, totalCount, items);
151
101
  }
152
- ServerPaging.for = function (getData, limit, offset) {
153
- if (limit === void 0) { limit = 50; }
154
- if (offset === void 0) { offset = 0; }
155
- return __awaiter(this, void 0, void 0, function () {
156
- var _a, totalCount, items;
157
- return __generator(this, function (_b) {
158
- switch (_b.label) {
159
- case 0:
160
- invariant(offset >= 0, "paging offset must be non-negative, got: " + offset);
161
- invariant(limit > 0, "limit must be a positive number, got: " + limit);
162
- return [4 /*yield*/, getData({ limit: limit, offset: offset })];
163
- case 1:
164
- _a = _b.sent(), totalCount = _a.totalCount, items = _a.items;
165
- // must use isNil, totalCount: 0 is a valid case (e.g. when searching for a nonsensical string)
166
- invariant(!isNil(totalCount), "total count must be specified, got: " + totalCount);
167
- return [2 /*return*/, new ServerPaging(getData, limit, offset, totalCount, items)];
168
- }
169
- });
170
- });
171
- };
172
- return ServerPaging;
173
- }());
174
- export { ServerPaging };
102
+ }
175
103
  //# sourceMappingURL=paging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paging.js","sourceRoot":"","sources":["../../src/toolkit/paging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paging.js","sourceRoot":"","sources":["../../src/toolkit/paging.ts"],"names":[],"mappings":"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"}
@@ -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
  }