@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.
- package/core/modules/configuration/services/configuration-state.service.d.ts +5 -3
- package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +67 -37
- package/fesm2015/veloceapps-sdk-core.mjs +73 -38
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +66 -36
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/package.json +1 -1
@@ -2097,68 +2097,57 @@ class ConfigurationStateService {
|
|
2097
2097
|
this.executedFunctions = {};
|
2098
2098
|
this.configurationService.reset();
|
2099
2099
|
}
|
2100
|
-
execute$(
|
2101
|
-
const
|
2102
|
-
|
2103
|
-
|
2104
|
-
|
2105
|
-
|
2106
|
-
|
2107
|
-
|
2108
|
-
|
2109
|
-
|
2110
|
-
|
2111
|
-
|
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
|
-
|
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
|
-
|
2122
|
+
const request = this.execToRequest({
|
2133
2123
|
selectors: {
|
2134
2124
|
[requestId]: {
|
2135
|
-
|
2125
|
+
name: selectorName,
|
2136
2126
|
inputData,
|
2137
|
-
ownerId: this.ownerId,
|
2138
2127
|
},
|
2139
2128
|
},
|
2140
|
-
})
|
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
|
-
|
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.
|
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(() => {
|