@dereekb/dbx-core 9.20.17 → 9.20.19

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.
@@ -1,5 +1,5 @@
1
1
  import { map } from 'rxjs';
2
- import { setIncludes } from '@dereekb/util';
2
+ import { setIncludes, asArray } from '@dereekb/util';
3
3
  import { makeAuthTransitionHook } from './hook';
4
4
  /**
5
5
  * This hook redirects to the configured default state when a user:
@@ -21,11 +21,38 @@ export function enableHasAuthRoleHook(transitionService, config) {
21
21
  makeDecisionsObs(transition, authService) {
22
22
  const targetState = transition.targetState();
23
23
  const data = targetState.state().data;
24
- const requiredRoles = new Set(data.authRoles);
25
- return authService.authRoles$.pipe(map((x) => setIncludes(x, requiredRoles, data.authRolesMode)));
24
+ let mapFn = hasAuthRoleDecisionPipe(data);
25
+ return authService.authRoles$.pipe(mapFn);
26
26
  }
27
27
  });
28
28
  // Register the "requires auth" hook with the TransitionsService
29
29
  transitionService.onBefore(isSecureCriteria, assertHasAuthRole, { priority: 100 });
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5ob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL3JvdXRlci9wcm92aWRlci91aXJvdXRlci9yb2xlLmhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQWtELFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RixPQUFPLEVBQThFLHNCQUFzQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBcUI1SDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxpQkFBb0MsRUFBRSxNQUE2QjtJQUN2RyxvRkFBb0Y7SUFDcEYsTUFBTSxnQkFBZ0IsR0FBc0I7UUFDMUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQTRDLENBQUM7WUFDakUsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN2QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7S0FDRixDQUFDO0lBRUYsTUFBTSxpQkFBaUIsR0FBcUIsc0JBQXNCLENBQUM7UUFDakUsR0FBRyxNQUFNLENBQUMsT0FBTztRQUNqQixnQkFBZ0IsQ0FBQyxVQUFzQixFQUFFLFdBQTJCO1lBQ2xFLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksR0FBeUIsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQztZQUM1RCxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEQsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEcsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILGdFQUFnRTtJQUNoRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoUm9sZSwgU2V0SW5jbHVkZXNNb2RlLCBBcnJheU9yVmFsdWUsIE1heWJlLCBzZXRJbmNsdWRlcyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgVHJhbnNpdGlvblNlcnZpY2UsIFRyYW5zaXRpb25Ib29rRm4sIFRyYW5zaXRpb24sIEhvb2tNYXRjaENyaXRlcmlhIH0gZnJvbSAnQHVpcm91dGVyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4QXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoVHJhbnNpdGlvbkRlY2lzaW9uLCBBdXRoVHJhbnNpdGlvbkhvb2tPcHRpb25zLCBBdXRoVHJhbnNpdGlvblN0YXRlRGF0YSwgbWFrZUF1dGhUcmFuc2l0aW9uSG9vayB9IGZyb20gJy4vaG9vayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzQXV0aFJvbGVIb29rQ29uZmlnIHtcbiAgb3B0aW9uczogQXV0aFRyYW5zaXRpb25Ib29rT3B0aW9ucztcbn1cblxuLyoqXG4gKiBVSVJvdXRlciBTdGF0ZSBkYXRhIHdpdGggY29uZmlndXJhdGlvbiBmb3IgdGhlIGhhc0F1dGhSb2xlSG9vay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXNBdXRoUm9sZVN0YXRlRGF0YSBleHRlbmRzIEF1dGhUcmFuc2l0aW9uU3RhdGVEYXRhIHtcbiAgLyoqXG4gICAqIEF1dGggcm9sZXMgbWFya2VkIGZvciB0aGlzIHN0YXRlXG4gICAqL1xuICBhdXRoUm9sZXM6IEFycmF5T3JWYWx1ZTxBdXRoUm9sZT47XG5cbiAgLyoqXG4gICAqIEhvdyB0byB1c2UgdGhlIGFib3ZlIGF1dGggcm9sZXMuIFRoaXMgZGVmYXVsdHMgdG8gJ2FsbCcgYnkgZGVmYXVsdC5cbiAgICovXG4gIGF1dGhSb2xlc01vZGU/OiBTZXRJbmNsdWRlc01vZGU7XG59XG5cbi8qKlxuICogVGhpcyBob29rIHJlZGlyZWN0cyB0byB0aGUgY29uZmlndXJlZCBkZWZhdWx0IHN0YXRlIHdoZW4gYSB1c2VyOlxuICpcbiAqIC0gZG9lcyBub3QgaGF2ZSBhbiBhbGxvd2VkIHN0YXRlXG4gKiAtIGhhcyBhIGRpc2FsbG93ZWQgc3RhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuYWJsZUhhc0F1dGhSb2xlSG9vayh0cmFuc2l0aW9uU2VydmljZTogVHJhbnNpdGlvblNlcnZpY2UsIGNvbmZpZzogSGFzQXV0aFJvbGVIb29rQ29uZmlnKTogdm9pZCB7XG4gIC8vIE1hdGNoZXMgaWYgdGhlIGRlc3RpbmF0aW9uIHN0YXRlJ3MgZGF0YSBwcm9wZXJ0eSBoYXMgYSB0cnV0aHkgJ2lzU2VjdXJlJyBwcm9wZXJ0eVxuICBjb25zdCBpc1NlY3VyZUNyaXRlcmlhOiBIb29rTWF0Y2hDcml0ZXJpYSA9IHtcbiAgICBlbnRlcmluZzogKHN0YXRlKSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gc3RhdGU/LmRhdGEgYXMgTWF5YmU8UGFydGlhbDxIYXNBdXRoUm9sZVN0YXRlRGF0YT4+O1xuICAgICAgY29uc3QgbWF0Y2ggPSBCb29sZWFuKGRhdGE/LmF1dGhSb2xlcyk7XG4gICAgICByZXR1cm4gbWF0Y2g7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGFzc2VydEhhc0F1dGhSb2xlOiBUcmFuc2l0aW9uSG9va0ZuID0gbWFrZUF1dGhUcmFuc2l0aW9uSG9vayh7XG4gICAgLi4uY29uZmlnLm9wdGlvbnMsXG4gICAgbWFrZURlY2lzaW9uc09icyh0cmFuc2l0aW9uOiBUcmFuc2l0aW9uLCBhdXRoU2VydmljZTogRGJ4QXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPEF1dGhUcmFuc2l0aW9uRGVjaXNpb24+IHtcbiAgICAgIGNvbnN0IHRhcmdldFN0YXRlID0gdHJhbnNpdGlvbi50YXJnZXRTdGF0ZSgpO1xuICAgICAgY29uc3QgZGF0YTogSGFzQXV0aFJvbGVTdGF0ZURhdGEgPSB0YXJnZXRTdGF0ZS5zdGF0ZSgpLmRhdGE7XG4gICAgICBjb25zdCByZXF1aXJlZFJvbGVzID0gbmV3IFNldDxBdXRoUm9sZT4oZGF0YS5hdXRoUm9sZXMpO1xuICAgICAgcmV0dXJuIGF1dGhTZXJ2aWNlLmF1dGhSb2xlcyQucGlwZShtYXAoKHgpID0+IHNldEluY2x1ZGVzKHgsIHJlcXVpcmVkUm9sZXMsIGRhdGEuYXV0aFJvbGVzTW9kZSkpKTtcbiAgICB9XG4gIH0pO1xuXG4gIC8vIFJlZ2lzdGVyIHRoZSBcInJlcXVpcmVzIGF1dGhcIiBob29rIHdpdGggdGhlIFRyYW5zaXRpb25zU2VydmljZVxuICB0cmFuc2l0aW9uU2VydmljZS5vbkJlZm9yZShpc1NlY3VyZUNyaXRlcmlhLCBhc3NlcnRIYXNBdXRoUm9sZSwgeyBwcmlvcml0eTogMTAwIH0pO1xufVxuIl19
31
+ export function hasAuthRoleDecisionPipe(stateData) {
32
+ const authRolesMode = stateData.authRolesMode || 'all';
33
+ const authRoleConfigs = asArray(stateData.authRoles).map((x) => {
34
+ let config;
35
+ if (typeof x === 'string') {
36
+ config = {
37
+ authRoles: x,
38
+ authRolesMode: 'any'
39
+ };
40
+ }
41
+ else {
42
+ config = x;
43
+ }
44
+ return {
45
+ requiredRoles: new Set(config.authRoles),
46
+ authRolesMode: config.authRolesMode
47
+ };
48
+ });
49
+ let mapFn;
50
+ if (authRolesMode === 'any') {
51
+ mapFn = map((x) => authRoleConfigs.findIndex((y) => setIncludes(x, y.requiredRoles, y.authRolesMode)) !== -1); // find the first match
52
+ }
53
+ else {
54
+ mapFn = map((x) => authRoleConfigs.findIndex((y) => !setIncludes(x, y.requiredRoles, y.authRolesMode)) === -1); // find the first failed match
55
+ }
56
+ return mapFn;
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5ob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL3JvdXRlci9wcm92aWRlci91aXJvdXRlci9yb2xlLmhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBZ0MsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFrRCxXQUFXLEVBQUUsT0FBTyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBR2xILE9BQU8sRUFBOEUsc0JBQXNCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFzQzVIOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLGlCQUFvQyxFQUFFLE1BQTZCO0lBQ3ZHLG9GQUFvRjtJQUNwRixNQUFNLGdCQUFnQixHQUFzQjtRQUMxQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNsQixNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsSUFBNEMsQ0FBQztZQUNqRSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztLQUNGLENBQUM7SUFFRixNQUFNLGlCQUFpQixHQUFxQixzQkFBc0IsQ0FBQztRQUNqRSxHQUFHLE1BQU0sQ0FBQyxPQUFPO1FBQ2pCLGdCQUFnQixDQUFDLFVBQXNCLEVBQUUsV0FBMkI7WUFDbEUsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdDLE1BQU0sSUFBSSxHQUF5QixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQzVELElBQUksS0FBSyxHQUEyQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsRixPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSCxnRUFBZ0U7SUFDaEUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDckYsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxTQUErQjtJQUNyRSxNQUFNLGFBQWEsR0FBb0IsU0FBUyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUM7SUFFeEUsTUFBTSxlQUFlLEdBQXVDLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDakcsSUFBSSxNQUFrQyxDQUFDO1FBRXZDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ3pCLE1BQU0sR0FBRztnQkFDUCxTQUFTLEVBQUUsQ0FBQztnQkFDWixhQUFhLEVBQUUsS0FBSzthQUNyQixDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDWjtRQUVELE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxHQUFHLENBQVcsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNsRCxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWE7U0FDcEMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxLQUE2QyxDQUFDO0lBRWxELElBQUksYUFBYSxLQUFLLEtBQUssRUFBRTtRQUMzQixLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtLQUN2STtTQUFNO1FBQ0wsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUE4QjtLQUMvSTtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFJvbGUsIFNldEluY2x1ZGVzTW9kZSwgQXJyYXlPclZhbHVlLCBNYXliZSwgc2V0SW5jbHVkZXMsIGFzQXJyYXksIEF1dGhSb2xlU2V0IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBUcmFuc2l0aW9uU2VydmljZSwgVHJhbnNpdGlvbkhvb2tGbiwgVHJhbnNpdGlvbiwgSG9va01hdGNoQ3JpdGVyaWEgfSBmcm9tICdAdWlyb3V0ZXIvY29yZSc7XG5pbXBvcnQgeyBEYnhBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhUcmFuc2l0aW9uRGVjaXNpb24sIEF1dGhUcmFuc2l0aW9uSG9va09wdGlvbnMsIEF1dGhUcmFuc2l0aW9uU3RhdGVEYXRhLCBtYWtlQXV0aFRyYW5zaXRpb25Ib29rIH0gZnJvbSAnLi9ob29rJztcblxuZXhwb3J0IGludGVyZmFjZSBIYXNBdXRoUm9sZUhvb2tDb25maWcge1xuICByZWFkb25seSBvcHRpb25zOiBBdXRoVHJhbnNpdGlvbkhvb2tPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhc0F1dGhSb2xlU3RhdGVSb2xlQ29uZmlnIHtcbiAgLyoqXG4gICAqIEF1dGggcm9sZXMgbWFya2VkIGZvciB0aGlzIHN0YXRlXG4gICAqL1xuICByZWFkb25seSBhdXRoUm9sZXM6IEFycmF5T3JWYWx1ZTxBdXRoUm9sZT47XG4gIC8qKlxuICAgKiBIb3cgdG8gdXNlIHRoZSBhYm92ZSBhdXRoIHJvbGVzLiBUaGlzIGRlZmF1bHRzIHRvICdhbGwnIGJ5IGRlZmF1bHQuXG4gICAqL1xuICByZWFkb25seSBhdXRoUm9sZXNNb2RlPzogU2V0SW5jbHVkZXNNb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZEhhc0F1dGhSb2xlU3RhdGVSb2xlQ29uZmlnIHtcbiAgLyoqXG4gICAqIEF1dGggcm9sZXMgbWFya2VkIGZvciB0aGlzIHN0YXRlXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlZFJvbGVzOiBTZXQ8QXV0aFJvbGU+O1xuICAvKipcbiAgICogSG93IHRvIHVzZSB0aGUgYWJvdmUgYXV0aCByb2xlcy4gVGhpcyBkZWZhdWx0cyB0byAnYWxsJyBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aFJvbGVzTW9kZT86IFNldEluY2x1ZGVzTW9kZTtcbn1cblxuLyoqXG4gKiBVSVJvdXRlciBTdGF0ZSBkYXRhIHdpdGggY29uZmlndXJhdGlvbiBmb3IgdGhlIGhhc0F1dGhSb2xlSG9vay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXNBdXRoUm9sZVN0YXRlRGF0YSBleHRlbmRzIEF1dGhUcmFuc2l0aW9uU3RhdGVEYXRhLCBQaWNrPEhhc0F1dGhSb2xlU3RhdGVSb2xlQ29uZmlnLCAnYXV0aFJvbGVzTW9kZSc+IHtcbiAgLyoqXG4gICAqIEF1dGggcm9sZXMgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhSb2xlczogQXJyYXlPclZhbHVlPEF1dGhSb2xlIHwgSGFzQXV0aFJvbGVTdGF0ZVJvbGVDb25maWc+O1xufVxuXG4vKipcbiAqIFRoaXMgaG9vayByZWRpcmVjdHMgdG8gdGhlIGNvbmZpZ3VyZWQgZGVmYXVsdCBzdGF0ZSB3aGVuIGEgdXNlcjpcbiAqXG4gKiAtIGRvZXMgbm90IGhhdmUgYW4gYWxsb3dlZCBzdGF0ZVxuICogLSBoYXMgYSBkaXNhbGxvd2VkIHN0YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVIYXNBdXRoUm9sZUhvb2sodHJhbnNpdGlvblNlcnZpY2U6IFRyYW5zaXRpb25TZXJ2aWNlLCBjb25maWc6IEhhc0F1dGhSb2xlSG9va0NvbmZpZyk6IHZvaWQge1xuICAvLyBNYXRjaGVzIGlmIHRoZSBkZXN0aW5hdGlvbiBzdGF0ZSdzIGRhdGEgcHJvcGVydHkgaGFzIGEgdHJ1dGh5ICdpc1NlY3VyZScgcHJvcGVydHlcbiAgY29uc3QgaXNTZWN1cmVDcml0ZXJpYTogSG9va01hdGNoQ3JpdGVyaWEgPSB7XG4gICAgZW50ZXJpbmc6IChzdGF0ZSkgPT4ge1xuICAgICAgY29uc3QgZGF0YSA9IHN0YXRlPy5kYXRhIGFzIE1heWJlPFBhcnRpYWw8SGFzQXV0aFJvbGVTdGF0ZURhdGE+PjtcbiAgICAgIGNvbnN0IG1hdGNoID0gQm9vbGVhbihkYXRhPy5hdXRoUm9sZXMpO1xuICAgICAgcmV0dXJuIG1hdGNoO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBhc3NlcnRIYXNBdXRoUm9sZTogVHJhbnNpdGlvbkhvb2tGbiA9IG1ha2VBdXRoVHJhbnNpdGlvbkhvb2soe1xuICAgIC4uLmNvbmZpZy5vcHRpb25zLFxuICAgIG1ha2VEZWNpc2lvbnNPYnModHJhbnNpdGlvbjogVHJhbnNpdGlvbiwgYXV0aFNlcnZpY2U6IERieEF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoVHJhbnNpdGlvbkRlY2lzaW9uPiB7XG4gICAgICBjb25zdCB0YXJnZXRTdGF0ZSA9IHRyYW5zaXRpb24udGFyZ2V0U3RhdGUoKTtcbiAgICAgIGNvbnN0IGRhdGE6IEhhc0F1dGhSb2xlU3RhdGVEYXRhID0gdGFyZ2V0U3RhdGUuc3RhdGUoKS5kYXRhO1xuICAgICAgbGV0IG1hcEZuOiBPcGVyYXRvckZ1bmN0aW9uPEF1dGhSb2xlU2V0LCBib29sZWFuPiA9IGhhc0F1dGhSb2xlRGVjaXNpb25QaXBlKGRhdGEpO1xuICAgICAgcmV0dXJuIGF1dGhTZXJ2aWNlLmF1dGhSb2xlcyQucGlwZShtYXBGbik7XG4gICAgfVxuICB9KTtcblxuICAvLyBSZWdpc3RlciB0aGUgXCJyZXF1aXJlcyBhdXRoXCIgaG9vayB3aXRoIHRoZSBUcmFuc2l0aW9uc1NlcnZpY2VcbiAgdHJhbnNpdGlvblNlcnZpY2Uub25CZWZvcmUoaXNTZWN1cmVDcml0ZXJpYSwgYXNzZXJ0SGFzQXV0aFJvbGUsIHsgcHJpb3JpdHk6IDEwMCB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0F1dGhSb2xlRGVjaXNpb25QaXBlKHN0YXRlRGF0YTogSGFzQXV0aFJvbGVTdGF0ZURhdGEpOiBPcGVyYXRvckZ1bmN0aW9uPEF1dGhSb2xlU2V0LCBib29sZWFuPiB7XG4gIGNvbnN0IGF1dGhSb2xlc01vZGU6IFNldEluY2x1ZGVzTW9kZSA9IHN0YXRlRGF0YS5hdXRoUm9sZXNNb2RlIHx8ICdhbGwnO1xuXG4gIGNvbnN0IGF1dGhSb2xlQ29uZmlnczogUGFyc2VkSGFzQXV0aFJvbGVTdGF0ZVJvbGVDb25maWdbXSA9IGFzQXJyYXkoc3RhdGVEYXRhLmF1dGhSb2xlcykubWFwKCh4KSA9PiB7XG4gICAgbGV0IGNvbmZpZzogSGFzQXV0aFJvbGVTdGF0ZVJvbGVDb25maWc7XG5cbiAgICBpZiAodHlwZW9mIHggPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25maWcgPSB7XG4gICAgICAgIGF1dGhSb2xlczogeCxcbiAgICAgICAgYXV0aFJvbGVzTW9kZTogJ2FueSdcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZyA9IHg7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcXVpcmVkUm9sZXM6IG5ldyBTZXQ8QXV0aFJvbGU+KGNvbmZpZy5hdXRoUm9sZXMpLFxuICAgICAgYXV0aFJvbGVzTW9kZTogY29uZmlnLmF1dGhSb2xlc01vZGVcbiAgICB9O1xuICB9KTtcblxuICBsZXQgbWFwRm46IE9wZXJhdG9yRnVuY3Rpb248QXV0aFJvbGVTZXQsIGJvb2xlYW4+O1xuXG4gIGlmIChhdXRoUm9sZXNNb2RlID09PSAnYW55Jykge1xuICAgIG1hcEZuID0gbWFwKCh4KSA9PiBhdXRoUm9sZUNvbmZpZ3MuZmluZEluZGV4KCh5KSA9PiBzZXRJbmNsdWRlcyh4LCB5LnJlcXVpcmVkUm9sZXMsIHkuYXV0aFJvbGVzTW9kZSkpICE9PSAtMSk7IC8vIGZpbmQgdGhlIGZpcnN0IG1hdGNoXG4gIH0gZWxzZSB7XG4gICAgbWFwRm4gPSBtYXAoKHgpID0+IGF1dGhSb2xlQ29uZmlncy5maW5kSW5kZXgoKHkpID0+ICFzZXRJbmNsdWRlcyh4LCB5LnJlcXVpcmVkUm9sZXMsIHkuYXV0aFJvbGVzTW9kZSkpID09PSAtMSk7IC8vIGZpbmQgdGhlIGZpcnN0IGZhaWxlZCBtYXRjaFxuICB9XG5cbiAgcmV0dXJuIG1hcEZuO1xufVxuIl19
@@ -5,7 +5,7 @@ import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoadin
5
5
  import * as i1 from 'rxjs';
6
6
  import { switchMap, first, BehaviorSubject, combineLatest, distinctUntilChanged, filter, Subject, debounce, interval, throttle, exhaustMap, mergeMap, map, shareReplay, EMPTY, withLatestFrom, of, startWith, delay, tap, catchError, firstValueFrom, takeUntil, Observable } from 'rxjs';
7
7
  import * as i1$6 from '@dereekb/util';
8
- import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtilityInstance, reduceBooleansWithOrFn, getValueFromGetter, toReadableError, isGetter, setIncludes, isAllowed, maybeSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, asArray, defaultForwardFunctionFactory, mergeArrays, filterMaybeValues, mergeArrayOrValueIntoArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
8
+ import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtilityInstance, reduceBooleansWithOrFn, getValueFromGetter, toReadableError, isGetter, asArray, setIncludes, isAllowed, maybeSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, defaultForwardFunctionFactory, mergeArrays, filterMaybeValues, mergeArrayOrValueIntoArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
9
9
  import { ComponentStore } from '@ngrx/component-store';
10
10
  import { CommonModule, formatDate } from '@angular/common';
11
11
  import * as i1$3 from '@ngrx/effects';
@@ -1984,12 +1984,39 @@ function enableHasAuthRoleHook(transitionService, config) {
1984
1984
  const assertHasAuthRole = makeAuthTransitionHook(Object.assign(Object.assign({}, config.options), { makeDecisionsObs(transition, authService) {
1985
1985
  const targetState = transition.targetState();
1986
1986
  const data = targetState.state().data;
1987
- const requiredRoles = new Set(data.authRoles);
1988
- return authService.authRoles$.pipe(map((x) => setIncludes(x, requiredRoles, data.authRolesMode)));
1987
+ let mapFn = hasAuthRoleDecisionPipe(data);
1988
+ return authService.authRoles$.pipe(mapFn);
1989
1989
  } }));
1990
1990
  // Register the "requires auth" hook with the TransitionsService
1991
1991
  transitionService.onBefore(isSecureCriteria, assertHasAuthRole, { priority: 100 });
1992
1992
  }
1993
+ function hasAuthRoleDecisionPipe(stateData) {
1994
+ const authRolesMode = stateData.authRolesMode || 'all';
1995
+ const authRoleConfigs = asArray(stateData.authRoles).map((x) => {
1996
+ let config;
1997
+ if (typeof x === 'string') {
1998
+ config = {
1999
+ authRoles: x,
2000
+ authRolesMode: 'any'
2001
+ };
2002
+ }
2003
+ else {
2004
+ config = x;
2005
+ }
2006
+ return {
2007
+ requiredRoles: new Set(config.authRoles),
2008
+ authRolesMode: config.authRolesMode
2009
+ };
2010
+ });
2011
+ let mapFn;
2012
+ if (authRolesMode === 'any') {
2013
+ mapFn = map((x) => authRoleConfigs.findIndex((y) => setIncludes(x, y.requiredRoles, y.authRolesMode)) !== -1); // find the first match
2014
+ }
2015
+ else {
2016
+ mapFn = map((x) => authRoleConfigs.findIndex((y) => !setIncludes(x, y.requiredRoles, y.authRolesMode)) === -1); // find the first failed match
2017
+ }
2018
+ return mapFn;
2019
+ }
1993
2020
 
1994
2021
  /**
1995
2022
  * This hook redirects to the configured default state when a user:
@@ -5033,5 +5060,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5033
5060
  * Generated bundle index. Do not edit.
5034
5061
  */
5035
5062
 
5036
- export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueOnTriggerDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AnchorType, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_ONBOARDING_APP_CONTEXT_STATE, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_VALUE, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_VALUE, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMachineAsService, DbxActionContextMapDirective, DbxActionContextMapDirectiveSourceInstance, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionDisabledOnSuccessDirective, DbxActionEnforceModifiedDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHandlerInstance, DbxActionHasSuccessDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionValueDirective, DbxActionValueOnTriggerInstance, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterModule, DbxAppAuthRouterService, DbxAppAuthRouterStateModule, DbxAppAuthRoutes, DbxAppAuthStateModule, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthNotAnyRolesDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouteParamDefaultRedirectInstance, DbxRouteParamReaderInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxStorageModule, DbxUIRouterService, FilterSourceDirective, FullLocalStorageObject, InstantStorageAccessor, LimitedStorageAccessor, LockSetComponentStore, MemoryStorageObject, MinutesStringPipe, NO_AUTH_USER_IDENTIFIER, PrettyJsonPipe, SecondaryActionContextStoreSource, SimpleStorageAccessor, SimpleStorageAccessorFactory, StorageAccessor, StringStorageAccessor, StringifySimpleStorageAccessorConverter, TimeDistanceCountdownPipe, TimeDistancePipe, ToJsDatePipe, ToMinutesPipe, WrapperSimpleStorageAccessorDelegate, actionContextHasNoErrorAndIsModifiedAndCanTrigger, actionContextIsModifiedAndCanTrigger, actionContextStoreSourceInstanceFactory, actionContextStoreSourceMachineFactory, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, dbxActionValueStreamDirective, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, isActionContextDisabled, isActionContextEnabled, isDisabledActionContextState, isIdleActionState, isLatestSuccessfulRoute, isSegueRef, isSegueRefActive, isSegueRefActiveFunction, isSegueRefActiveOnTransitionSuccess, isWorkingActionState, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, onRouterTransitionEventType, onRouterTransitionSuccessEvent, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxButton, provideDbxInjectionContext, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, tapDetectChanges, tapSafeMarkForCheck, useActionStore };
5063
+ export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueOnTriggerDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AnchorType, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_ONBOARDING_APP_CONTEXT_STATE, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_VALUE, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_VALUE, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMachineAsService, DbxActionContextMapDirective, DbxActionContextMapDirectiveSourceInstance, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionDisabledOnSuccessDirective, DbxActionEnforceModifiedDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHandlerInstance, DbxActionHasSuccessDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionValueDirective, DbxActionValueOnTriggerInstance, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterModule, DbxAppAuthRouterService, DbxAppAuthRouterStateModule, DbxAppAuthRoutes, DbxAppAuthStateModule, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthNotAnyRolesDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouteParamDefaultRedirectInstance, DbxRouteParamReaderInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxStorageModule, DbxUIRouterService, FilterSourceDirective, FullLocalStorageObject, InstantStorageAccessor, LimitedStorageAccessor, LockSetComponentStore, MemoryStorageObject, MinutesStringPipe, NO_AUTH_USER_IDENTIFIER, PrettyJsonPipe, SecondaryActionContextStoreSource, SimpleStorageAccessor, SimpleStorageAccessorFactory, StorageAccessor, StringStorageAccessor, StringifySimpleStorageAccessorConverter, TimeDistanceCountdownPipe, TimeDistancePipe, ToJsDatePipe, ToMinutesPipe, WrapperSimpleStorageAccessorDelegate, actionContextHasNoErrorAndIsModifiedAndCanTrigger, actionContextIsModifiedAndCanTrigger, actionContextStoreSourceInstanceFactory, actionContextStoreSourceMachineFactory, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, dbxActionValueStreamDirective, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, hasAuthRoleDecisionPipe, isActionContextDisabled, isActionContextEnabled, isDisabledActionContextState, isIdleActionState, isLatestSuccessfulRoute, isSegueRef, isSegueRefActive, isSegueRefActiveFunction, isSegueRefActiveOnTransitionSuccess, isWorkingActionState, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, onRouterTransitionEventType, onRouterTransitionSuccessEvent, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxButton, provideDbxInjectionContext, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, tapDetectChanges, tapSafeMarkForCheck, useActionStore };
5037
5064
  //# sourceMappingURL=dereekb-dbx-core.mjs.map