@veloceapps/sdk 9.0.0-19 → 9.0.0-20

Sign up to get free protection for your applications and to get access to all the features.
@@ -2097,68 +2097,57 @@ class ConfigurationStateService {
2097
2097
  this.executedFunctions = {};
2098
2098
  this.configurationService.reset();
2099
2099
  }
2100
- execute$(req, forceSubscriptions) {
2101
- const fullRequest = cloneDeep(req);
2102
- if (fullRequest.actions?.length || forceSubscriptions) {
2103
- for (const subscription of Object.values(this.subscriptions)) {
2104
- fullRequest.selectors = assign(fullRequest.selectors, subscription.request.selectors);
2105
- }
2106
- }
2107
- let execution$;
2108
- if (this.isStatefulConfiguration) {
2109
- execution$ = this.executeStateful$(fullRequest);
2110
- }
2111
- else {
2112
- execution$ = this.executeStateless$(fullRequest);
2113
- }
2114
- return execution$.pipe(tap$1(result => this.handleSelectorsResponse(result.selectors)));
2115
- }
2116
- handleSelectorsResponse(selectors) {
2117
- Object.entries(selectors).forEach(([requestId, selectorResult]) => {
2118
- if (!selectorResult.success) {
2119
- this.toastService.add({ severity: ToastType.error, summary: selectorResult.errorMessage });
2120
- }
2121
- const subscription$ = this.subscriptions[requestId]?.data$;
2122
- if (subscription$) {
2123
- subscription$.next(selectorResult);
2124
- }
2125
- });
2100
+ execute$(exec) {
2101
+ const request = this.execToRequest(exec);
2102
+ return this.executeRequest$(request).pipe(map$1(result => {
2103
+ // Keep only requested results
2104
+ const actualSelectors = Object.entries(result.selectors).reduce((trunk, [requestId, result]) => {
2105
+ if (exec.selectors?.[requestId]) {
2106
+ trunk[requestId] = result;
2107
+ }
2108
+ return trunk;
2109
+ }, {});
2110
+ return actualSelectors;
2111
+ }));
2126
2112
  }
2127
2113
  dispatch$(actionName, inputData = {}) {
2128
- return this.execute$({ actions: [{ apiName: actionName, inputData, ownerId: this.ownerId }] });
2114
+ const exec = {
2115
+ actions: [{ name: actionName, inputData }],
2116
+ };
2117
+ const request = this.execToRequest(exec);
2118
+ return this.executeRequest$(request);
2129
2119
  }
2130
2120
  select$(selectorName, inputData = {}) {
2131
2121
  const requestId = UUID.UUID();
2132
- return this.execute$({
2122
+ const request = this.execToRequest({
2133
2123
  selectors: {
2134
2124
  [requestId]: {
2135
- apiName: selectorName,
2125
+ name: selectorName,
2136
2126
  inputData,
2137
- ownerId: this.ownerId,
2138
2127
  },
2139
2128
  },
2140
- }).pipe(map$1(response => response.selectors[requestId]));
2129
+ });
2130
+ return this.executeRequest$(request).pipe(map$1(response => response.selectors[requestId]));
2141
2131
  }
2142
2132
  subscribe$(selectorName, inputData = {}, options) {
2143
2133
  const requestId = UUID.UUID();
2144
2134
  let subscription = this.subscriptions[requestId];
2145
2135
  if (!subscription) {
2146
- const request = {
2136
+ const request = this.execToRequest({
2147
2137
  selectors: {
2148
2138
  [requestId]: {
2149
- apiName: selectorName,
2139
+ name: selectorName,
2150
2140
  inputData,
2151
- ownerId: this.ownerId,
2152
2141
  },
2153
2142
  },
2154
- };
2143
+ });
2155
2144
  subscription = {
2156
2145
  request,
2157
2146
  data$: new BehaviorSubject(this.NOT_INITIALIZED),
2158
2147
  };
2159
2148
  this.subscriptions[requestId] = subscription;
2160
2149
  if (!options?.cold) {
2161
- this.execute$(request).subscribe();
2150
+ this.executeRequest$(request).subscribe();
2162
2151
  }
2163
2152
  }
2164
2153
  return subscription.data$.pipe(filter$1(data => data != this.NOT_INITIALIZED), map$1(data => data), distinctUntilChanged(), finalize(() => {
@@ -2260,6 +2249,47 @@ class ConfigurationStateService {
2260
2249
  initStateless$() {
2261
2250
  return this.configurationService.configure().pipe(map$1(() => undefined));
2262
2251
  }
2252
+ execToRequest(exec) {
2253
+ return {
2254
+ actions: exec.actions?.map(action => ({
2255
+ apiName: action.name,
2256
+ ownerId: this.ownerId,
2257
+ inputData: action.inputData ?? {},
2258
+ })),
2259
+ selectors: exec.selectors &&
2260
+ Object.entries(exec.selectors).reduce((trunk, [key, selector]) => ({
2261
+ ...trunk,
2262
+ [key]: { apiName: selector.name, ownerId: this.ownerId, inputData: selector.inputData ?? {} },
2263
+ }), {}),
2264
+ };
2265
+ }
2266
+ handleSelectorsResponse(selectors) {
2267
+ Object.entries(selectors).forEach(([requestId, selectorResult]) => {
2268
+ if (!selectorResult.success) {
2269
+ this.toastService.add({ severity: ToastType.error, summary: selectorResult.errorMessage });
2270
+ }
2271
+ const subscription$ = this.subscriptions[requestId]?.data$;
2272
+ if (subscription$) {
2273
+ subscription$.next(selectorResult);
2274
+ }
2275
+ });
2276
+ }
2277
+ executeRequest$(req, forceSubscriptions) {
2278
+ const fullRequest = cloneDeep(req);
2279
+ if (fullRequest.actions?.length || forceSubscriptions) {
2280
+ for (const subscription of Object.values(this.subscriptions)) {
2281
+ fullRequest.selectors = assign(fullRequest.selectors, subscription.request.selectors);
2282
+ }
2283
+ }
2284
+ let execution$;
2285
+ if (this.isStatefulConfiguration) {
2286
+ execution$ = this.executeStateful$(fullRequest);
2287
+ }
2288
+ else {
2289
+ execution$ = this.executeStateless$(fullRequest);
2290
+ }
2291
+ return execution$.pipe(tap$1(result => this.handleSelectorsResponse(result.selectors)));
2292
+ }
2263
2293
  executeStateless$(request) {
2264
2294
  this.executionInProgress$.next(true);
2265
2295
  return of(undefined).pipe(switchMap(() => {