@dereekb/dbx-core 9.5.4 → 9.6.1
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.
- package/esm2020/lib/auth/router/provider/uirouter/hook.mjs +5 -5
- package/esm2020/lib/router/router/transition/transition.rxjs.mjs +3 -3
- package/fesm2015/dereekb-dbx-core.mjs +5 -5
- package/fesm2015/dereekb-dbx-core.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-core.mjs +5 -5
- package/fesm2020/dereekb-dbx-core.mjs.map +1 -1
- package/lib/auth/router/provider/uirouter/hook.d.ts +5 -1
- package/package.json +4 -4
|
@@ -7,7 +7,7 @@ import { timeoutStartWith } from '@dereekb/rxjs';
|
|
|
7
7
|
* This generates a TransitionHookFn that can be used with redirecting routes.
|
|
8
8
|
*/
|
|
9
9
|
export function makeAuthTransitionHook(config) {
|
|
10
|
-
const { defaultRedirectTarget, errorRedirectTarget = defaultRedirectTarget } = config;
|
|
10
|
+
const { defaultRedirectTarget, errorRedirectTarget = defaultRedirectTarget, timeoutTime = 1000 } = config;
|
|
11
11
|
// https://ui-router.github.io/ng2/docs/latest/modules/transition.html#hookresult
|
|
12
12
|
const assertIsAuthenticated = (transition) => {
|
|
13
13
|
const injector = transition.injector();
|
|
@@ -46,8 +46,8 @@ export function makeAuthTransitionHook(config) {
|
|
|
46
46
|
return redirectToObs;
|
|
47
47
|
}
|
|
48
48
|
const resultObs = decisionObs.pipe(
|
|
49
|
-
// after
|
|
50
|
-
timeoutStartWith(false,
|
|
49
|
+
// after the timeoutTime seconds of no transition working, redirect with a false decision
|
|
50
|
+
timeoutStartWith(false, timeoutTime), first(), switchMap((decision) => {
|
|
51
51
|
if (typeof decision === 'boolean') {
|
|
52
52
|
if (decision) {
|
|
53
53
|
return of(true);
|
|
@@ -61,11 +61,11 @@ export function makeAuthTransitionHook(config) {
|
|
|
61
61
|
return of($state.target(asSegueRefString(segueRef.ref), segueRef.refParams, segueRef.refOptions));
|
|
62
62
|
}
|
|
63
63
|
}), catchError((x) => {
|
|
64
|
-
console.warn(
|
|
64
|
+
console.warn(`Encountered error in auth transition hook. Attempting redirect to ${errorRedirectTarget}.`, x);
|
|
65
65
|
return of($state.target(errorRedirectTarget, { location: true })); // Redirect to home
|
|
66
66
|
}));
|
|
67
67
|
return firstValueFrom(resultObs);
|
|
68
68
|
};
|
|
69
69
|
return assertIsAuthenticated;
|
|
70
70
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYXV0aC9yb3V0ZXIvcHJvdmlkZXIvdWlyb3V0ZXIvaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekYsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBZ0MsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUE0QixrQkFBa0IsRUFBRSxRQUFRLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBOENqRDs7R0FFRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUFnQztJQUNyRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEdBQUcscUJBQXFCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFdEYsaUZBQWlGO0lBQ2pGLE1BQU0scUJBQXFCLEdBQXFCLENBQUMsVUFBc0IsRUFBYyxFQUFFO1FBQ3JGLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFdBQVcsR0FBbUIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBaUIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDNUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFL0UsU0FBUyxXQUFXO1lBQ2xCLE1BQU0sU0FBUyxHQUE0QixVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2pGLE1BQU0sVUFBVSxHQUFHLFNBQVMsRUFBRSxVQUFVLENBQUM7WUFFekMsSUFBSSxhQUFxQyxDQUFDO1lBRTFDLElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksU0FBMEQsQ0FBQztnQkFFL0QsSUFBSSxRQUFRLENBQStCLFVBQVUsQ0FBQyxFQUFFO29CQUN0RCxTQUFTLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxFQUFFLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQXVDLENBQUMsQ0FBQztpQkFDeEg7cUJBQU07b0JBQ0wsU0FBUyxHQUFHLEVBQUUsQ0FBQyxVQUEwQyxDQUFDLENBQUM7aUJBQzVEO2dCQUVELGFBQWEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxhQUFrRCxFQUFFLEVBQUU7b0JBQ3pELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFFM0MsSUFBSSxjQUFjLENBQUM7b0JBQ25CLElBQUksY0FBYyxDQUFDO29CQUVuQixJQUFJLFFBQVEsRUFBRTt3QkFDWixjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQzt3QkFDOUIsY0FBYyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7cUJBQ3JDO29CQUVELElBQUksQ0FBQyxjQUFjLEVBQUU7d0JBQ25CLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztxQkFDeEM7b0JBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLENBQ0gsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLGFBQWEsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7YUFDMUQ7WUFFRCxPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLElBQUk7UUFDaEMsNEVBQTRFO1FBQzVFLGdCQUFnQixDQUFDLEtBQStCLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUM1RCxLQUFLLEVBQUUsRUFDUCxTQUFTLENBQUMsQ0FBQyxRQUFnQyxFQUEwQixFQUFFO1lBQ3JFLElBQUksT0FBTyxRQUFRLEtBQUssU0FBUyxFQUFFO2dCQUNqQyxJQUFJLFFBQVEsRUFBRTtvQkFDWixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDakI7cUJBQU07b0JBQ0wsT0FBTyxXQUFXLEVBQUUsQ0FBQztpQkFDdEI7YUFDRjtpQkFBTTtnQkFDTCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxTQUFzQixFQUFFLFFBQVEsQ0FBQyxVQUErQixDQUFDLENBQUMsQ0FBQzthQUNySTtRQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyw0Q0FBNEMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5RCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtRQUN4RixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsT0FBTyxjQUFjLENBQUMsU0FBUyxDQUFlLENBQUM7SUFDakQsQ0FBQyxDQUFDO0lBRUYsT0FBTyxxQkFBcUIsQ0FBQztBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNpdGlvbkhvb2tGbiwgVHJhbnNpdGlvbiwgSG9va1Jlc3VsdCwgU3RhdGVTZXJ2aWNlLCBVSUluamVjdG9yLCBUcmFuc2l0aW9uT3B0aW9ucywgUmF3UGFyYW1zIH0gZnJvbSAnQHVpcm91dGVyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBmaXJzdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGFzU2VndWVSZWYsIGFzU2VndWVSZWZTdHJpbmcsIFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbmsgfSBmcm9tICcuLy4uLy4uLy4uLy4uL3JvdXRlci9zZWd1ZSc7XG5pbXBvcnQgeyBEYnhBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEZhY3RvcnlXaXRoUmVxdWlyZWRJbnB1dCwgZ2V0VmFsdWVGcm9tR2V0dGVyLCBpc0dldHRlciwgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0aW1lb3V0U3RhcnRXaXRoIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbi8qKlxuICogYXV0aFRyYW5zaXRpb25Ib29rRm4oKSBjb25maWd1cmF0aW9uLiBUaGUgdmFsdWVzIGFyZSBoYW5kbGVkIGFzOlxuICogLSB0cnVlOiBjb250aW51ZSB0byB0aGUgc3RhdGUuXG4gKiAtIGZhbHNlOiByZWRpcmVjdCB0byB0aGUgbG9naW4gcGFnZS5cbiAqIC0gU3RhdGVPck5hbWU6IHJlZGlyZWN0IHRvIHRoZSB0YXJnZXQgcGFnZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgdHlwZSBBdXRoVHJhbnNpdGlvbkRlY2lzaW9uID0gdHJ1ZSB8IGZhbHNlIHwgU2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluaztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoVHJhbnNpdGlvbkRlY2lzaW9uR2V0dGVySW5wdXQge1xuICByZWFkb25seSB0cmFuc2l0aW9uOiBUcmFuc2l0aW9uO1xuICByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3I7XG4gIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBEYnhBdXRoU2VydmljZTtcbn1cblxuZXhwb3J0IHR5cGUgQXV0aFRyYW5zaXRpb25SZWRpcmVjdFRhcmdldCA9IE9ic2VydmFibGU8TWF5YmU8U2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluaz4+O1xuZXhwb3J0IHR5cGUgQXV0aFRyYW5zaXRpb25SZWRpcmVjdFRhcmdldEdldHRlciA9IEZhY3RvcnlXaXRoUmVxdWlyZWRJbnB1dDxBdXRoVHJhbnNpdGlvblJlZGlyZWN0VGFyZ2V0LCBBdXRoVHJhbnNpdGlvbkRlY2lzaW9uR2V0dGVySW5wdXQ+O1xuZXhwb3J0IHR5cGUgQXV0aFRyYW5zaXRpb25SZWRpcmVjdFRhcmdldE9yR2V0dGVyID0gTWF5YmU8U2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluaz4gfCBBdXRoVHJhbnNpdGlvblJlZGlyZWN0VGFyZ2V0R2V0dGVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhUcmFuc2l0aW9uSG9va09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHN0YXRlIHRvIHJlZGlyZWN0IHRoZSB1c2VyIHRvIHdoZW4gdGhlaXIgYXV0aCBmYWlscy5cbiAgICovXG4gIGRlZmF1bHRSZWRpcmVjdFRhcmdldDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgdG8gcmVkaXJlY3QgdGhlIHVzZXIgdG8uIERlZmF1bHRzIHRvIGRlZmF1bHRSZWRpcmVjdFRhcmdldC5cbiAgICovXG4gIGVycm9yUmVkaXJlY3RUYXJnZXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFRyYW5zaXRpb25Ib29rQ29uZmlnIGV4dGVuZHMgQXV0aFRyYW5zaXRpb25Ib29rT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSBkZWNpc2lvbiBvYnNlcnZhYmxlIGZvciB0aGUgdHJhbnNpdGlvbiB0aGF0IGRlY2lkZXMgd2hldGhlciBvciBub3QgdG8gcmVkaXJlY3Qgb3IgY29udGludWUuXG4gICAqL1xuICBtYWtlRGVjaXNpb25zT2JzOiAodHJhbnNpdGlvbjogVHJhbnNpdGlvbiwgYXV0aFNlcnZpY2U6IERieEF1dGhTZXJ2aWNlLCBpbmplY3RvcjogVUlJbmplY3RvcikgPT4gT2JzZXJ2YWJsZTxBdXRoVHJhbnNpdGlvbkRlY2lzaW9uPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoVHJhbnNpdGlvblN0YXRlRGF0YSB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBnZXR0ZXIvZGVjaXNpb24gbWFrZXIgd2hlbiBhIHJvbGUgbmVlZHMgdG8gYmVcbiAgICovXG4gIHJlZGlyZWN0VG8/OiBBdXRoVHJhbnNpdGlvblJlZGlyZWN0VGFyZ2V0T3JHZXR0ZXI7XG59XG5cbi8qKlxuICogVGhpcyBnZW5lcmF0ZXMgYSBUcmFuc2l0aW9uSG9va0ZuIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCByZWRpcmVjdGluZyByb3V0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlQXV0aFRyYW5zaXRpb25Ib29rKGNvbmZpZzogQXV0aFRyYW5zaXRpb25Ib29rQ29uZmlnKTogVHJhbnNpdGlvbkhvb2tGbiB7XG4gIGNvbnN0IHsgZGVmYXVsdFJlZGlyZWN0VGFyZ2V0LCBlcnJvclJlZGlyZWN0VGFyZ2V0ID0gZGVmYXVsdFJlZGlyZWN0VGFyZ2V0IH0gPSBjb25maWc7XG5cbiAgLy8gaHR0cHM6Ly91aS1yb3V0ZXIuZ2l0aHViLmlvL25nMi9kb2NzL2xhdGVzdC9tb2R1bGVzL3RyYW5zaXRpb24uaHRtbCNob29rcmVzdWx0XG4gIGNvbnN0IGFzc2VydElzQXV0aGVudGljYXRlZDogVHJhbnNpdGlvbkhvb2tGbiA9ICh0cmFuc2l0aW9uOiBUcmFuc2l0aW9uKTogSG9va1Jlc3VsdCA9PiB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSB0cmFuc2l0aW9uLmluamVjdG9yKCk7XG4gICAgY29uc3QgYXV0aFNlcnZpY2U6IERieEF1dGhTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KERieEF1dGhTZXJ2aWNlKTtcbiAgICBjb25zdCAkc3RhdGU6IFN0YXRlU2VydmljZSA9IHRyYW5zaXRpb24ucm91dGVyLnN0YXRlU2VydmljZTtcbiAgICBjb25zdCBkZWNpc2lvbk9icyA9IGNvbmZpZy5tYWtlRGVjaXNpb25zT2JzKHRyYW5zaXRpb24sIGF1dGhTZXJ2aWNlLCBpbmplY3Rvcik7XG5cbiAgICBmdW5jdGlvbiByZWRpcmVjdE91dCgpOiBPYnNlcnZhYmxlPEhvb2tSZXN1bHQ+IHtcbiAgICAgIGNvbnN0IHN0YXRlRGF0YTogQXV0aFRyYW5zaXRpb25TdGF0ZURhdGEgPSB0cmFuc2l0aW9uLnRhcmdldFN0YXRlKCkuc3RhdGUoKS5kYXRhO1xuICAgICAgY29uc3QgcmVkaXJlY3RUbyA9IHN0YXRlRGF0YT8ucmVkaXJlY3RUbztcblxuICAgICAgbGV0IHJlZGlyZWN0VG9PYnM6IE9ic2VydmFibGU8SG9va1Jlc3VsdD47XG5cbiAgICAgIGlmIChyZWRpcmVjdFRvKSB7XG4gICAgICAgIGxldCByZXN1bHRPYnM6IE9ic2VydmFibGU8TWF5YmU8U2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluaz4+O1xuXG4gICAgICAgIGlmIChpc0dldHRlcjxBdXRoVHJhbnNpdGlvblJlZGlyZWN0VGFyZ2V0PihyZWRpcmVjdFRvKSkge1xuICAgICAgICAgIHJlc3VsdE9icyA9IGdldFZhbHVlRnJvbUdldHRlcihyZWRpcmVjdFRvLCB7IGF1dGhTZXJ2aWNlLCBpbmplY3RvciwgdHJhbnNpdGlvbiB9IGFzIEF1dGhUcmFuc2l0aW9uRGVjaXNpb25HZXR0ZXJJbnB1dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0T2JzID0gb2YocmVkaXJlY3RUbyBhcyBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlZGlyZWN0VG9PYnMgPSByZXN1bHRPYnMucGlwZShcbiAgICAgICAgICBtYXAoKGlucHV0U3RhdGVSZWY6IE1heWJlPFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbms+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZVJlZiA9IGFzU2VndWVSZWYoaW5wdXRTdGF0ZVJlZik7XG5cbiAgICAgICAgICAgIGxldCByZWRpcmVjdFRhcmdldDtcbiAgICAgICAgICAgIGxldCByZWRpcmVjdFBhcmFtcztcblxuICAgICAgICAgICAgaWYgKHN0YXRlUmVmKSB7XG4gICAgICAgICAgICAgIHJlZGlyZWN0VGFyZ2V0ID0gc3RhdGVSZWYucmVmO1xuICAgICAgICAgICAgICByZWRpcmVjdFBhcmFtcyA9IHN0YXRlUmVmLnJlZlBhcmFtcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFyZWRpcmVjdFRhcmdldCkge1xuICAgICAgICAgICAgICByZWRpcmVjdFRhcmdldCA9IGRlZmF1bHRSZWRpcmVjdFRhcmdldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuICRzdGF0ZS50YXJnZXQocmVkaXJlY3RUYXJnZXQsIHJlZGlyZWN0UGFyYW1zKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVkaXJlY3RUb09icyA9IG9mKCRzdGF0ZS50YXJnZXQoZGVmYXVsdFJlZGlyZWN0VGFyZ2V0KSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZWRpcmVjdFRvT2JzO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdE9icyA9IGRlY2lzaW9uT2JzLnBpcGUoXG4gICAgICAvLyBhZnRlciAxMCBzZWNvbmRzIG9mIG5vIHRyYW5zaXRpb24gd29ya2luZywgcmVkaXJlY3Qgd2l0aCBhIGZhbHNlIGRlY2lzaW9uXG4gICAgICB0aW1lb3V0U3RhcnRXaXRoKGZhbHNlIGFzIEF1dGhUcmFuc2l0aW9uRGVjaXNpb24sIDEwICogMTAwMCksXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3dpdGNoTWFwKChkZWNpc2lvbjogQXV0aFRyYW5zaXRpb25EZWNpc2lvbik6IE9ic2VydmFibGU8SG9va1Jlc3VsdD4gPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGRlY2lzaW9uID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICBpZiAoZGVjaXNpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJlZGlyZWN0T3V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHNlZ3VlUmVmID0gYXNTZWd1ZVJlZihkZWNpc2lvbik7XG4gICAgICAgICAgcmV0dXJuIG9mKCRzdGF0ZS50YXJnZXQoYXNTZWd1ZVJlZlN0cmluZyhzZWd1ZVJlZi5yZWYpLCBzZWd1ZVJlZi5yZWZQYXJhbXMgYXMgUmF3UGFyYW1zLCBzZWd1ZVJlZi5yZWZPcHRpb25zIGFzIFRyYW5zaXRpb25PcHRpb25zKSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoeCkgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0VuY291bnRlcmVkIGVycm9yIGluIGF1dGggdHJhbnNpdGlvbiBob29rLicsIHgpO1xuICAgICAgICByZXR1cm4gb2YoJHN0YXRlLnRhcmdldChlcnJvclJlZGlyZWN0VGFyZ2V0LCB7IGxvY2F0aW9uOiB0cnVlIH0pKTsgLy8gUmVkaXJlY3QgdG8gaG9tZVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHJlc3VsdE9icykgYXMgSG9va1Jlc3VsdDtcbiAgfTtcblxuICByZXR1cm4gYXNzZXJ0SXNBdXRoZW50aWNhdGVkO1xufVxuIl19
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYXV0aC9yb3V0ZXIvcHJvdmlkZXIvdWlyb3V0ZXIvaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekYsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBZ0MsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUE0QixrQkFBa0IsRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBRTVHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1EakQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBZ0M7SUFDckUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixHQUFHLHFCQUFxQixFQUFFLFdBQVcsR0FBRyxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFMUcsaUZBQWlGO0lBQ2pGLE1BQU0scUJBQXFCLEdBQXFCLENBQUMsVUFBc0IsRUFBYyxFQUFFO1FBQ3JGLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFdBQVcsR0FBbUIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBaUIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDNUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFL0UsU0FBUyxXQUFXO1lBQ2xCLE1BQU0sU0FBUyxHQUE0QixVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2pGLE1BQU0sVUFBVSxHQUFHLFNBQVMsRUFBRSxVQUFVLENBQUM7WUFFekMsSUFBSSxhQUFxQyxDQUFDO1lBRTFDLElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksU0FBMEQsQ0FBQztnQkFFL0QsSUFBSSxRQUFRLENBQStCLFVBQVUsQ0FBQyxFQUFFO29CQUN0RCxTQUFTLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxFQUFFLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQXVDLENBQUMsQ0FBQztpQkFDeEg7cUJBQU07b0JBQ0wsU0FBUyxHQUFHLEVBQUUsQ0FBQyxVQUEwQyxDQUFDLENBQUM7aUJBQzVEO2dCQUVELGFBQWEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxhQUFrRCxFQUFFLEVBQUU7b0JBQ3pELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFFM0MsSUFBSSxjQUFjLENBQUM7b0JBQ25CLElBQUksY0FBYyxDQUFDO29CQUVuQixJQUFJLFFBQVEsRUFBRTt3QkFDWixjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQzt3QkFDOUIsY0FBYyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7cUJBQ3JDO29CQUVELElBQUksQ0FBQyxjQUFjLEVBQUU7d0JBQ25CLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztxQkFDeEM7b0JBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLENBQ0gsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLGFBQWEsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7YUFDMUQ7WUFFRCxPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLElBQUk7UUFDaEMseUZBQXlGO1FBQ3pGLGdCQUFnQixDQUFDLEtBQStCLEVBQUUsV0FBVyxDQUFDLEVBQzlELEtBQUssRUFBRSxFQUNQLFNBQVMsQ0FBQyxDQUFDLFFBQWdDLEVBQTBCLEVBQUU7WUFDckUsSUFBSSxPQUFPLFFBQVEsS0FBSyxTQUFTLEVBQUU7Z0JBQ2pDLElBQUksUUFBUSxFQUFFO29CQUNaLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNqQjtxQkFBTTtvQkFDTCxPQUFPLFdBQVcsRUFBRSxDQUFDO2lCQUN0QjthQUNGO2lCQUFNO2dCQUNMLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdEMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLFNBQXNCLEVBQUUsUUFBUSxDQUFDLFVBQStCLENBQUMsQ0FBQyxDQUFDO2FBQ3JJO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLHFFQUFxRSxtQkFBbUIsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdHLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CO1FBQ3hGLENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixPQUFPLGNBQWMsQ0FBQyxTQUFTLENBQWUsQ0FBQztJQUNqRCxDQUFDLENBQUM7SUFFRixPQUFPLHFCQUFxQixDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2l0aW9uSG9va0ZuLCBUcmFuc2l0aW9uLCBIb29rUmVzdWx0LCBTdGF0ZVNlcnZpY2UsIFVJSW5qZWN0b3IsIFRyYW5zaXRpb25PcHRpb25zLCBSYXdQYXJhbXMgfSBmcm9tICdAdWlyb3V0ZXIvY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIGZpcnN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXNTZWd1ZVJlZiwgYXNTZWd1ZVJlZlN0cmluZywgU2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluayB9IGZyb20gJy4vLi4vLi4vLi4vLi4vcm91dGVyL3NlZ3VlJztcbmltcG9ydCB7IERieEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmFjdG9yeVdpdGhSZXF1aXJlZElucHV0LCBnZXRWYWx1ZUZyb21HZXR0ZXIsIGlzR2V0dGVyLCBNYXliZSwgTWlsbGlzZWNvbmRzIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGltZW91dFN0YXJ0V2l0aCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG4vKipcbiAqIGF1dGhUcmFuc2l0aW9uSG9va0ZuKCkgY29uZmlndXJhdGlvbi4gVGhlIHZhbHVlcyBhcmUgaGFuZGxlZCBhczpcbiAqIC0gdHJ1ZTogY29udGludWUgdG8gdGhlIHN0YXRlLlxuICogLSBmYWxzZTogcmVkaXJlY3QgdG8gdGhlIGxvZ2luIHBhZ2UuXG4gKiAtIFN0YXRlT3JOYW1lOiByZWRpcmVjdCB0byB0aGUgdGFyZ2V0IHBhZ2UgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IHR5cGUgQXV0aFRyYW5zaXRpb25EZWNpc2lvbiA9IHRydWUgfCBmYWxzZSB8IFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbms7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFRyYW5zaXRpb25EZWNpc2lvbkdldHRlcklucHV0IHtcbiAgcmVhZG9ubHkgdHJhbnNpdGlvbjogVHJhbnNpdGlvbjtcbiAgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yO1xuICByZWFkb25seSBhdXRoU2VydmljZTogRGJ4QXV0aFNlcnZpY2U7XG59XG5cbmV4cG9ydCB0eXBlIEF1dGhUcmFuc2l0aW9uUmVkaXJlY3RUYXJnZXQgPSBPYnNlcnZhYmxlPE1heWJlPFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbms+PjtcbmV4cG9ydCB0eXBlIEF1dGhUcmFuc2l0aW9uUmVkaXJlY3RUYXJnZXRHZXR0ZXIgPSBGYWN0b3J5V2l0aFJlcXVpcmVkSW5wdXQ8QXV0aFRyYW5zaXRpb25SZWRpcmVjdFRhcmdldCwgQXV0aFRyYW5zaXRpb25EZWNpc2lvbkdldHRlcklucHV0PjtcbmV4cG9ydCB0eXBlIEF1dGhUcmFuc2l0aW9uUmVkaXJlY3RUYXJnZXRPckdldHRlciA9IE1heWJlPFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbms+IHwgQXV0aFRyYW5zaXRpb25SZWRpcmVjdFRhcmdldEdldHRlcjtcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoVHJhbnNpdGlvbkhvb2tPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzdGF0ZSB0byByZWRpcmVjdCB0aGUgdXNlciB0byB3aGVuIHRoZWlyIGF1dGggZmFpbHMuXG4gICAqL1xuICBkZWZhdWx0UmVkaXJlY3RUYXJnZXQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXRlIHRvIHJlZGlyZWN0IHRoZSB1c2VyIHRvLiBEZWZhdWx0cyB0byBkZWZhdWx0UmVkaXJlY3RUYXJnZXQuXG4gICAqL1xuICBlcnJvclJlZGlyZWN0VGFyZ2V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaW1lb3V0IHRpbWUgZm9yIHRoZSBkZWNpc2lvbiBvYnMuIERlZmF1bHRzIHRvIDEwMDBtcy5cbiAgICovXG4gIHRpbWVvdXRUaW1lPzogTWlsbGlzZWNvbmRzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhUcmFuc2l0aW9uSG9va0NvbmZpZyBleHRlbmRzIEF1dGhUcmFuc2l0aW9uSG9va09wdGlvbnMge1xuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgZGVjaXNpb24gb2JzZXJ2YWJsZSBmb3IgdGhlIHRyYW5zaXRpb24gdGhhdCBkZWNpZGVzIHdoZXRoZXIgb3Igbm90IHRvIHJlZGlyZWN0IG9yIGNvbnRpbnVlLlxuICAgKi9cbiAgbWFrZURlY2lzaW9uc09iczogKHRyYW5zaXRpb246IFRyYW5zaXRpb24sIGF1dGhTZXJ2aWNlOiBEYnhBdXRoU2VydmljZSwgaW5qZWN0b3I6IFVJSW5qZWN0b3IpID0+IE9ic2VydmFibGU8QXV0aFRyYW5zaXRpb25EZWNpc2lvbj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFRyYW5zaXRpb25TdGF0ZURhdGEge1xuICAvKipcbiAgICogT3B0aW9uYWwgZ2V0dGVyL2RlY2lzaW9uIG1ha2VyIHdoZW4gYSByb2xlIG5lZWRzIHRvIGJlXG4gICAqL1xuICByZWRpcmVjdFRvPzogQXV0aFRyYW5zaXRpb25SZWRpcmVjdFRhcmdldE9yR2V0dGVyO1xufVxuXG4vKipcbiAqIFRoaXMgZ2VuZXJhdGVzIGEgVHJhbnNpdGlvbkhvb2tGbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggcmVkaXJlY3Rpbmcgcm91dGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZUF1dGhUcmFuc2l0aW9uSG9vayhjb25maWc6IEF1dGhUcmFuc2l0aW9uSG9va0NvbmZpZyk6IFRyYW5zaXRpb25Ib29rRm4ge1xuICBjb25zdCB7IGRlZmF1bHRSZWRpcmVjdFRhcmdldCwgZXJyb3JSZWRpcmVjdFRhcmdldCA9IGRlZmF1bHRSZWRpcmVjdFRhcmdldCwgdGltZW91dFRpbWUgPSAxMDAwIH0gPSBjb25maWc7XG5cbiAgLy8gaHR0cHM6Ly91aS1yb3V0ZXIuZ2l0aHViLmlvL25nMi9kb2NzL2xhdGVzdC9tb2R1bGVzL3RyYW5zaXRpb24uaHRtbCNob29rcmVzdWx0XG4gIGNvbnN0IGFzc2VydElzQXV0aGVudGljYXRlZDogVHJhbnNpdGlvbkhvb2tGbiA9ICh0cmFuc2l0aW9uOiBUcmFuc2l0aW9uKTogSG9va1Jlc3VsdCA9PiB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSB0cmFuc2l0aW9uLmluamVjdG9yKCk7XG4gICAgY29uc3QgYXV0aFNlcnZpY2U6IERieEF1dGhTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KERieEF1dGhTZXJ2aWNlKTtcbiAgICBjb25zdCAkc3RhdGU6IFN0YXRlU2VydmljZSA9IHRyYW5zaXRpb24ucm91dGVyLnN0YXRlU2VydmljZTtcbiAgICBjb25zdCBkZWNpc2lvbk9icyA9IGNvbmZpZy5tYWtlRGVjaXNpb25zT2JzKHRyYW5zaXRpb24sIGF1dGhTZXJ2aWNlLCBpbmplY3Rvcik7XG5cbiAgICBmdW5jdGlvbiByZWRpcmVjdE91dCgpOiBPYnNlcnZhYmxlPEhvb2tSZXN1bHQ+IHtcbiAgICAgIGNvbnN0IHN0YXRlRGF0YTogQXV0aFRyYW5zaXRpb25TdGF0ZURhdGEgPSB0cmFuc2l0aW9uLnRhcmdldFN0YXRlKCkuc3RhdGUoKS5kYXRhO1xuICAgICAgY29uc3QgcmVkaXJlY3RUbyA9IHN0YXRlRGF0YT8ucmVkaXJlY3RUbztcblxuICAgICAgbGV0IHJlZGlyZWN0VG9PYnM6IE9ic2VydmFibGU8SG9va1Jlc3VsdD47XG5cbiAgICAgIGlmIChyZWRpcmVjdFRvKSB7XG4gICAgICAgIGxldCByZXN1bHRPYnM6IE9ic2VydmFibGU8TWF5YmU8U2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluaz4+O1xuXG4gICAgICAgIGlmIChpc0dldHRlcjxBdXRoVHJhbnNpdGlvblJlZGlyZWN0VGFyZ2V0PihyZWRpcmVjdFRvKSkge1xuICAgICAgICAgIHJlc3VsdE9icyA9IGdldFZhbHVlRnJvbUdldHRlcihyZWRpcmVjdFRvLCB7IGF1dGhTZXJ2aWNlLCBpbmplY3RvciwgdHJhbnNpdGlvbiB9IGFzIEF1dGhUcmFuc2l0aW9uRGVjaXNpb25HZXR0ZXJJbnB1dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0T2JzID0gb2YocmVkaXJlY3RUbyBhcyBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlZGlyZWN0VG9PYnMgPSByZXN1bHRPYnMucGlwZShcbiAgICAgICAgICBtYXAoKGlucHV0U3RhdGVSZWY6IE1heWJlPFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbms+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZVJlZiA9IGFzU2VndWVSZWYoaW5wdXRTdGF0ZVJlZik7XG5cbiAgICAgICAgICAgIGxldCByZWRpcmVjdFRhcmdldDtcbiAgICAgICAgICAgIGxldCByZWRpcmVjdFBhcmFtcztcblxuICAgICAgICAgICAgaWYgKHN0YXRlUmVmKSB7XG4gICAgICAgICAgICAgIHJlZGlyZWN0VGFyZ2V0ID0gc3RhdGVSZWYucmVmO1xuICAgICAgICAgICAgICByZWRpcmVjdFBhcmFtcyA9IHN0YXRlUmVmLnJlZlBhcmFtcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFyZWRpcmVjdFRhcmdldCkge1xuICAgICAgICAgICAgICByZWRpcmVjdFRhcmdldCA9IGRlZmF1bHRSZWRpcmVjdFRhcmdldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuICRzdGF0ZS50YXJnZXQocmVkaXJlY3RUYXJnZXQsIHJlZGlyZWN0UGFyYW1zKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVkaXJlY3RUb09icyA9IG9mKCRzdGF0ZS50YXJnZXQoZGVmYXVsdFJlZGlyZWN0VGFyZ2V0KSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZWRpcmVjdFRvT2JzO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdE9icyA9IGRlY2lzaW9uT2JzLnBpcGUoXG4gICAgICAvLyBhZnRlciB0aGUgdGltZW91dFRpbWUgc2Vjb25kcyBvZiBubyB0cmFuc2l0aW9uIHdvcmtpbmcsIHJlZGlyZWN0IHdpdGggYSBmYWxzZSBkZWNpc2lvblxuICAgICAgdGltZW91dFN0YXJ0V2l0aChmYWxzZSBhcyBBdXRoVHJhbnNpdGlvbkRlY2lzaW9uLCB0aW1lb3V0VGltZSksXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3dpdGNoTWFwKChkZWNpc2lvbjogQXV0aFRyYW5zaXRpb25EZWNpc2lvbik6IE9ic2VydmFibGU8SG9va1Jlc3VsdD4gPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGRlY2lzaW9uID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICBpZiAoZGVjaXNpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJlZGlyZWN0T3V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHNlZ3VlUmVmID0gYXNTZWd1ZVJlZihkZWNpc2lvbik7XG4gICAgICAgICAgcmV0dXJuIG9mKCRzdGF0ZS50YXJnZXQoYXNTZWd1ZVJlZlN0cmluZyhzZWd1ZVJlZi5yZWYpLCBzZWd1ZVJlZi5yZWZQYXJhbXMgYXMgUmF3UGFyYW1zLCBzZWd1ZVJlZi5yZWZPcHRpb25zIGFzIFRyYW5zaXRpb25PcHRpb25zKSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoeCkgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4oYEVuY291bnRlcmVkIGVycm9yIGluIGF1dGggdHJhbnNpdGlvbiBob29rLiBBdHRlbXB0aW5nIHJlZGlyZWN0IHRvICR7ZXJyb3JSZWRpcmVjdFRhcmdldH0uYCwgeCk7XG4gICAgICAgIHJldHVybiBvZigkc3RhdGUudGFyZ2V0KGVycm9yUmVkaXJlY3RUYXJnZXQsIHsgbG9jYXRpb246IHRydWUgfSkpOyAvLyBSZWRpcmVjdCB0byBob21lXG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20ocmVzdWx0T2JzKSBhcyBIb29rUmVzdWx0O1xuICB9O1xuXG4gIHJldHVybiBhc3NlcnRJc0F1dGhlbnRpY2F0ZWQ7XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { asArray } from '@dereekb/util';
|
|
2
|
-
import { filter, map, distinctUntilChanged, shareReplay } from 'rxjs';
|
|
2
|
+
import { filter, map, distinctUntilChanged, shareReplay, startWith } from 'rxjs';
|
|
3
3
|
import { DbxRouterTransitionEventType } from './transition';
|
|
4
4
|
/**
|
|
5
5
|
* Convenience function for filtering success from the input observable.
|
|
@@ -27,9 +27,9 @@ export function isLatestSuccessfulRoute(config) {
|
|
|
27
27
|
const { dbxRouterTransitionService, dbxRouterService, activeExactly } = config;
|
|
28
28
|
const routes = asArray(config.routes);
|
|
29
29
|
const checkRoute = activeExactly ? (route) => dbxRouterService.isActiveExactly(route) : (route) => dbxRouterService.isActive(route);
|
|
30
|
-
return successTransition(dbxRouterTransitionService.transitions$).pipe(map(() => {
|
|
30
|
+
return successTransition(dbxRouterTransitionService.transitions$).pipe(startWith(undefined), map(() => {
|
|
31
31
|
const isActive = routes.findIndex(checkRoute) !== -1;
|
|
32
32
|
return isActive;
|
|
33
33
|
}), distinctUntilChanged(), shareReplay(1));
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdGlvbi5yeGpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9yb3V0ZXIvcm91dGVyL3RyYW5zaXRpb24vdHJhbnNpdGlvbi5yeGpzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUF3QyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXZILE9BQU8sRUFBNEIsNEJBQTRCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdEY7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsR0FBeUM7SUFDekUsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxPQUFPLHFCQUFxQixDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JFLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsSUFBa0M7SUFDdEUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQWtCRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBcUM7SUFDM0UsTUFBTSxFQUFFLDBCQUEwQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUMvRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sVUFBVSxHQUFxRCxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQW1DLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsUCxPQUFPLGlCQUFpQixDQUFDLDBCQUEwQixDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDcEUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUNwQixHQUFHLENBQUMsR0FBRyxFQUFFO1FBQ1AsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUMsRUFDRixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcnJheU9yVmFsdWUsIGFzQXJyYXkgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rIH0gZnJvbSAnLi4vLi4vc2VndWUnO1xuaW1wb3J0IHsgRGJ4Um91dGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2Uvcm91dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3JvdXRlci50cmFuc2l0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50LCBEYnhSb3V0ZXJUcmFuc2l0aW9uRXZlbnRUeXBlIH0gZnJvbSAnLi90cmFuc2l0aW9uJztcblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgZmlsdGVyaW5nIHN1Y2Nlc3MgZnJvbSB0aGUgaW5wdXQgb2JzZXJ2YWJsZS5cbiAqXG4gKiBAcGFyYW0gb2JzXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3VjY2Vzc1RyYW5zaXRpb24ob2JzOiBPYnNlcnZhYmxlPERieFJvdXRlclRyYW5zaXRpb25FdmVudD4pOiBPYnNlcnZhYmxlPERieFJvdXRlclRyYW5zaXRpb25FdmVudD4ge1xuICByZXR1cm4gb2JzLnBpcGUoZmlsdGVyVHJhbnNpdGlvblN1Y2Nlc3MoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJUcmFuc2l0aW9uU3VjY2VzcygpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248RGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50PiB7XG4gIHJldHVybiBmaWx0ZXJUcmFuc2l0aW9uRXZlbnQoRGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50VHlwZS5TVUNDRVNTKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclRyYW5zaXRpb25FdmVudCh0eXBlOiBEYnhSb3V0ZXJUcmFuc2l0aW9uRXZlbnRUeXBlKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPERieFJvdXRlclRyYW5zaXRpb25FdmVudD4ge1xuICByZXR1cm4gZmlsdGVyKCh4KSA9PiB4LnR5cGUgPT09IHR5cGUpO1xufVxuXG4vKipcbiAqIGlzTGF0ZXN0U3VjY2Vzc2Z1bFJvdXRlKCkgY29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXNMYXRlc3RTdWNjZXNzZnVsUm91dGVDb25maWcge1xuICByZWFkb25seSBkYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZTogRGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2U7XG4gIHJlYWRvbmx5IGRieFJvdXRlclNlcnZpY2U6IERieFJvdXRlclNlcnZpY2U7XG4gIC8qKlxuICAgKiBSb3V0ZSBvciBsaXN0IG9mIHJvdXRlcyB0byBjaGVjayBpZiB0aGV5J3JlIGFjdGl2ZSBvciBub3QuXG4gICAqL1xuICByZWFkb25seSByb3V0ZXM6IEFycmF5T3JWYWx1ZTxTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIG1hdGNoIHJvdXRlIGFjdGl2aXR5IGV4YWN0bHkuXG4gICAqL1xuICByZWFkb25seSBhY3RpdmVFeGFjdGx5PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IG9ic2VydmFibGUgdGhhdCB1c2VzIHRoZSBpbnB1dCBEYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZSBhbmQgRGJ4Um91dGVyU2VydmljZSB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgYW55IG9mIHRoZSBjb25maWd1cmVkIHJvdXRlcyBhcmUgYWN0aXZlLlxuICpcbiAqIEBwYXJhbSBvYnNcbiAqIEBwYXJhbSBjb25maWdcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0xhdGVzdFN1Y2Nlc3NmdWxSb3V0ZShjb25maWc6IElzTGF0ZXN0U3VjY2Vzc2Z1bFJvdXRlQ29uZmlnKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIGNvbnN0IHsgZGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UsIGRieFJvdXRlclNlcnZpY2UsIGFjdGl2ZUV4YWN0bHkgfSA9IGNvbmZpZztcbiAgY29uc3Qgcm91dGVzID0gYXNBcnJheShjb25maWcucm91dGVzKTtcbiAgY29uc3QgY2hlY2tSb3V0ZTogKHJvdXRlOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rKSA9PiBib29sZWFuID0gYWN0aXZlRXhhY3RseSA/IChyb3V0ZTogU2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluaykgPT4gZGJ4Um91dGVyU2VydmljZS5pc0FjdGl2ZUV4YWN0bHkocm91dGUpIDogKHJvdXRlOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rKSA9PiBkYnhSb3V0ZXJTZXJ2aWNlLmlzQWN0aXZlKHJvdXRlKTtcblxuICByZXR1cm4gc3VjY2Vzc1RyYW5zaXRpb24oZGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UudHJhbnNpdGlvbnMkKS5waXBlKFxuICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgIG1hcCgoKSA9PiB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IHJvdXRlcy5maW5kSW5kZXgoY2hlY2tSb3V0ZSkgIT09IC0xO1xuICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1709,7 +1709,7 @@ class DbxAuthService {
|
|
|
1709
1709
|
* This generates a TransitionHookFn that can be used with redirecting routes.
|
|
1710
1710
|
*/
|
|
1711
1711
|
function makeAuthTransitionHook(config) {
|
|
1712
|
-
const { defaultRedirectTarget, errorRedirectTarget = defaultRedirectTarget } = config;
|
|
1712
|
+
const { defaultRedirectTarget, errorRedirectTarget = defaultRedirectTarget, timeoutTime = 1000 } = config;
|
|
1713
1713
|
// https://ui-router.github.io/ng2/docs/latest/modules/transition.html#hookresult
|
|
1714
1714
|
const assertIsAuthenticated = (transition) => {
|
|
1715
1715
|
const injector = transition.injector();
|
|
@@ -1748,8 +1748,8 @@ function makeAuthTransitionHook(config) {
|
|
|
1748
1748
|
return redirectToObs;
|
|
1749
1749
|
}
|
|
1750
1750
|
const resultObs = decisionObs.pipe(
|
|
1751
|
-
// after
|
|
1752
|
-
timeoutStartWith(false,
|
|
1751
|
+
// after the timeoutTime seconds of no transition working, redirect with a false decision
|
|
1752
|
+
timeoutStartWith(false, timeoutTime), first(), switchMap((decision) => {
|
|
1753
1753
|
if (typeof decision === 'boolean') {
|
|
1754
1754
|
if (decision) {
|
|
1755
1755
|
return of(true);
|
|
@@ -1763,7 +1763,7 @@ function makeAuthTransitionHook(config) {
|
|
|
1763
1763
|
return of($state.target(asSegueRefString(segueRef.ref), segueRef.refParams, segueRef.refOptions));
|
|
1764
1764
|
}
|
|
1765
1765
|
}), catchError((x) => {
|
|
1766
|
-
console.warn(
|
|
1766
|
+
console.warn(`Encountered error in auth transition hook. Attempting redirect to ${errorRedirectTarget}.`, x);
|
|
1767
1767
|
return of($state.target(errorRedirectTarget, { location: true })); // Redirect to home
|
|
1768
1768
|
}));
|
|
1769
1769
|
return firstValueFrom(resultObs);
|
|
@@ -2486,7 +2486,7 @@ function isLatestSuccessfulRoute(config) {
|
|
|
2486
2486
|
const { dbxRouterTransitionService, dbxRouterService, activeExactly } = config;
|
|
2487
2487
|
const routes = asArray(config.routes);
|
|
2488
2488
|
const checkRoute = activeExactly ? (route) => dbxRouterService.isActiveExactly(route) : (route) => dbxRouterService.isActive(route);
|
|
2489
|
-
return successTransition(dbxRouterTransitionService.transitions$).pipe(map(() => {
|
|
2489
|
+
return successTransition(dbxRouterTransitionService.transitions$).pipe(startWith(undefined), map(() => {
|
|
2490
2490
|
const isActive = routes.findIndex(checkRoute) !== -1;
|
|
2491
2491
|
return isActive;
|
|
2492
2492
|
}), distinctUntilChanged(), shareReplay(1));
|