valtech-components 4.0.159 → 4.0.160
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,7 +1,5 @@
|
|
|
1
1
|
import { inject } from '@angular/core';
|
|
2
2
|
import { Router, } from '@angular/router';
|
|
3
|
-
import { toObservable } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { filter, firstValueFrom } from 'rxjs';
|
|
5
3
|
import { AuthService } from './auth.service';
|
|
6
4
|
import { VALTECH_AUTH_CONFIG } from './config';
|
|
7
5
|
/**
|
|
@@ -61,8 +59,10 @@ export const guestGuard = async () => {
|
|
|
61
59
|
// de forma async). Sin esto, `isAuthenticated()` puede ser false aunque el
|
|
62
60
|
// token en localStorage sea valido, y el guard deja pasar al login → pantalla
|
|
63
61
|
// de login con botones cargando (especialmente en swipe-back en PWA).
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
// Polling con setTimeout: sin maquinaria Angular (toObservable exige injection
|
|
63
|
+
// context estable; los guards funcionales son contextos transitorios).
|
|
64
|
+
while (authService.isLoading()) {
|
|
65
|
+
await new Promise(r => setTimeout(r, 30));
|
|
66
66
|
}
|
|
67
67
|
if (!authService.isAuthenticated()) {
|
|
68
68
|
return true;
|
|
@@ -255,4 +255,4 @@ export function roleGuard(roles) {
|
|
|
255
255
|
return router.createUrlTree([config.unauthorizedRoute]);
|
|
256
256
|
};
|
|
257
257
|
}
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL2d1YXJkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxNQUFNLEdBS1AsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBa0IsQ0FDdEMsTUFBOEIsRUFDOUIsS0FBMEIsRUFDUCxFQUFFO0lBQ3JCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFM0MsSUFBSSxXQUFXLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDL0MsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUU7S0FDdEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxH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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUm91dGVyLFxuICBDYW5BY3RpdmF0ZUZuLFxuICBVcmxUcmVlLFxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBWQUxURUNIX0FVVEhfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuXG4vKipcbiAqIEd1YXJkIHF1ZSB2ZXJpZmljYSBzaSBlbCB1c3VhcmlvIGVzdMOhIGF1dGVudGljYWRvLlxuICogUmVkaXJpZ2UgYSBsb2dpblJvdXRlIHNpIG5vIGVzdMOhIGF1dGVudGljYWRvLlxuICpcbiAqIFByZXNlcnZhIGxhIFVSTCBzb2xpY2l0YWRhIGVuIGVsIHF1ZXJ5IHBhcmFtIGByZXR1cm5VcmxgIHBhcmEgcXVlIGxhXG4gKiBww6FnaW5hIGRlIGxvZ2luIHB1ZWRhIGRldm9sdmVyIGFsIHVzdWFyaW8gYSBzdSBkZXN0aW5vIHRyYXMgYXV0ZW50aWNhcnNlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBhdXRoR3VhcmQgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuICpcbiAqIGNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICogICB7XG4gKiAgICAgcGF0aDogJ2Rhc2hib2FyZCcsXG4gKiAgICAgY2FuQWN0aXZhdGU6IFthdXRoR3VhcmRdLFxuICogICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9kYXNoYm9hcmQucGFnZScpLFxuICogICB9LFxuICogXTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgYXV0aEd1YXJkOiBDYW5BY3RpdmF0ZUZuID0gKFxuICBfcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XG4pOiBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICBpZiAoYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiByb3V0ZXIuY3JlYXRlVXJsVHJlZShbY29uZmlnLmxvZ2luUm91dGVdLCB7XG4gICAgcXVlcnlQYXJhbXM6IHsgcmV0dXJuVXJsOiBzdGF0ZS51cmwgfSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIEd1YXJkIHF1ZSB2ZXJpZmljYSBzaSBlbCB1c3VhcmlvIE5PIGVzdMOhIGF1dGVudGljYWRvLlxuICogUmVkaXJpZ2UgYSBob21lUm91dGUgc2kgeWEgZXN0w6EgYXV0ZW50aWNhZG8uXG4gKiDDmnRpbCBwYXJhIHDDoWdpbmFzIGRlIGxvZ2luL3JlZ2lzdHJvLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBndWVzdEd1YXJkIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICdsb2dpbicsXG4gKiAgICAgY2FuQWN0aXZhdGU6IFtndWVzdEd1YXJkXSxcbiAqICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vbG9naW4ucGFnZScpLFxuICogICB9LFxuICogXTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZ3Vlc3RHdWFyZDogQ2FuQWN0aXZhdGVGbiA9IGFzeW5jICgpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICAvLyBFc3BlcmFyIGEgcXVlIGxhIGluaWNpYWxpemFjaW9uIGRlIGF1dGggdGVybWluZSAoRmlyZWJhc2UgcmVzdGF1cmEgc2VzaW9uXG4gIC8vIGRlIGZvcm1hIGFzeW5jKS4gU2luIGVzdG8sIGBpc0F1dGhlbnRpY2F0ZWQoKWAgcHVlZGUgc2VyIGZhbHNlIGF1bnF1ZSBlbFxuICAvLyB0b2tlbiBlbiBsb2NhbFN0b3JhZ2Ugc2VhIHZhbGlkbywgeSBlbCBndWFyZCBkZWphIHBhc2FyIGFsIGxvZ2luIOKGkiBwYW50YWxsYVxuICAvLyBkZSBsb2dpbiBjb24gYm90b25lcyBjYXJnYW5kbyAoZXNwZWNpYWxtZW50ZSBlbiBzd2lwZS1iYWNrIGVuIFBXQSkuXG4gIGlmIChhdXRoU2VydmljZS5pc0xvYWRpbmcoKSkge1xuICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRvT2JzZXJ2YWJsZShhdXRoU2VydmljZS5pc0xvYWRpbmcpLnBpcGUoZmlsdGVyKGxvYWRpbmcgPT4gIWxvYWRpbmcpKSk7XG4gIH1cblxuICBpZiAoIWF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyByZXBsYWNlVXJsOiB0cnVlIHNhY2EgL2xvZ2luIGRlbCBzdGFjayBkZWwgYnJvd3NlciDihpIgZWwgc3dpcGUtYmFjayBlblxuICAvLyBQV0Egbm8gdnVlbHZlIGEgbGEgcGFudGFsbGEgZGUgbG9naW4uXG4gIGF3YWl0IHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGNvbmZpZy5ob21lUm91dGUsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBGYWN0b3J5IHBhcmEgY3JlYXIgZ3VhcmQgZGUgcGVybWlzb3MuXG4gKiBWZXJpZmljYSBzaSBlbCB1c3VhcmlvIHRpZW5lIGVsIHBlcm1pc28gZXNwZWNpZmljYWRvLlxuICpcbiAqIEBwYXJhbSBwZXJtaXNzaW9ucyAtIFBlcm1pc28gbyBsaXN0YSBkZSBwZXJtaXNvcyByZXF1ZXJpZG9zIChPUilcbiAqIEByZXR1cm5zIEd1YXJkIGZ1bmN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IGF1dGhHdWFyZCwgcGVybWlzc2lvbkd1YXJkIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICd0ZW1wbGF0ZXMnLFxuICogICAgIGNhbkFjdGl2YXRlOiBbYXV0aEd1YXJkLCBwZXJtaXNzaW9uR3VhcmQoJ3RlbXBsYXRlczpyZWFkJyldLFxuICogICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi90ZW1wbGF0ZXMucGFnZScpLFxuICogICB9LFxuICogICB7XG4gKiAgICAgcGF0aDogJ2FkbWluJyxcbiAqICAgICBjYW5BY3RpdmF0ZTogW2F1dGhHdWFyZCwgcGVybWlzc2lvbkd1YXJkKFsnYWRtaW46KicsICdzdXBlcl9hZG1pbiddKV0sXG4gKiAgICAgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2FkbWluLnBhZ2UnKSxcbiAqICAgfSxcbiAqIF07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBlcm1pc3Npb25HdWFyZChwZXJtaXNzaW9uczogc3RyaW5nIHwgc3RyaW5nW10pOiBDYW5BY3RpdmF0ZUZuIHtcbiAgcmV0dXJuICgpOiBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICAgIGNvbnN0IHBlcm1BcnJheSA9IEFycmF5LmlzQXJyYXkocGVybWlzc2lvbnMpID8gcGVybWlzc2lvbnMgOiBbcGVybWlzc2lvbnNdO1xuXG4gICAgaWYgKGF1dGhTZXJ2aWNlLmhhc0FueVBlcm1pc3Npb24ocGVybUFycmF5KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc29sZS53YXJuKGBbVmFsdGVjaEF1dGhdIFBlcm1pc28gZGVuZWdhZG8uIFJlcXVlcmlkbzogJHtwZXJtQXJyYXkuam9pbignIG8gJyl9YCk7XG4gICAgcmV0dXJuIHJvdXRlci5jcmVhdGVVcmxUcmVlKFtjb25maWcudW5hdXRob3JpemVkUm91dGVdKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGRlIGd1YXJkIFJCQUMgcGFyYW1ldHJpemFibGUg4oCUIGRlZmVuc2UtaW4tZGVwdGggYSBuaXZlbCBkZSBSVVRBLlxuICpcbiAqIFZhcmlhbnRlIGVyZ29uw7NtaWNhIGRlIHtAbGluayBwZXJtaXNzaW9uR3VhcmR9IGNvbiBmaXJtYSB2YXJpw6FkaWNhXG4gKiAoYHJiYWNHdWFyZCgnYTpyZWFkJywgJ2I6bWFuYWdlJylgIGVuIHZleiBkZSBgcGVybWlzc2lvbkd1YXJkKFsnYTpyZWFkJywgJ2I6bWFuYWdlJ10pYCksXG4gKiBwZW5zYWRhIHBhcmEgZ2F0ZWFyIHZpc3RhcyBhZG1pbmlzdHJhdGl2YXMgbW9udGFkYXMgdsOtYSBsb3MgYHByb3ZpZGVWYWx0ZWNoKlJvdXRlc2BcbiAqIGRlIGxhIGxpYi4gUGFzYSBzaSBlbCB1c3VhcmlvIHRpZW5lICoqQUwgTUVOT1MgVU5PKiogZGUgbG9zIHBlcm1pc29zIChPUiksIGlndWFsIHF1ZVxuICogZWwgcmVzdG8gZGVsIGdhdGluZyBkZWwgZmFjdG9yeSAoYCp2YWxIYXNQZXJtaXNzaW9uYCwgbWVuw7opLiBFbCBtYXRjaCBkZSB3aWxkY2FyZHNcbiAqIChgKjoqYCwgYHJlc291cmNlOipgLCBgKjphY3Rpb25gKSBsbyByZXN1ZWx2ZSBgQXV0aFNlcnZpY2UuaGFzUGVybWlzc2lvbmAuXG4gKlxuICogRXMgdW5hIGNhcGEgQURJQ0lPTkFMIGFsIGdhdGluZyBmaW5vIGRlbnRybyBkZSBsb3MgY29tcG9uZW50ZXMgKGJvdG9uZXMgcG9yXG4gKiBgKnZhbEhhc1Blcm1pc3Npb25gKSB5IGFsIDQwMyBkZWwgYmFja2VuZCDigJQgbm8gbG9zIHJlZW1wbGF6YS4gU2luIHBlcm1pc28gcmVkaXJpZ2VcbiAqIGEgYHVuYXV0aG9yaXplZFJvdXRlYCAobWlzbW8gZGVzdGlubyBxdWUgYHBlcm1pc3Npb25HdWFyZGApLlxuICpcbiAqIEBwYXJhbSBwZXJtaXNzaW9ucyAtIFVubyBvIG3DoXMgcGVybWlzb3MgcmVxdWVyaWRvcyAoT1IpXG4gKiBAcmV0dXJucyBHdWFyZCBmdW5jdGlvblxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyByYmFjR3VhcmQgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuICpcbiAqIGNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICogICB7XG4gKiAgICAgcGF0aDogJ2FwaS1rZXlzJyxcbiAqICAgICBjYW5BY3RpdmF0ZTogW3JiYWNHdWFyZCgnYXBpLWtleXM6cmVhZCcpXSxcbiAqICAgICBjb21wb25lbnQ6IEFwaUtleXNWaWV3Q29tcG9uZW50LFxuICogICB9LFxuICogICB7XG4gKiAgICAgcGF0aDogJ3Blcm1pc3Npb25zJyxcbiAqICAgICBjYW5BY3RpdmF0ZTogW3JiYWNHdWFyZCgncm9sZXM6cmVhZCcsICdyYmFjOm1hbmFnZScpXSxcbiAqICAgICBjb21wb25lbnQ6IFBlcm1pc3Npb25zVmlld0NvbXBvbmVudCxcbiAqICAgfSxcbiAqIF07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJiYWNHdWFyZCguLi5wZXJtaXNzaW9uczogc3RyaW5nW10pOiBDYW5BY3RpdmF0ZUZuIHtcbiAgcmV0dXJuICgpOiBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICAgIGlmIChwZXJtaXNzaW9ucy5sZW5ndGggPT09IDAgfHwgYXV0aFNlcnZpY2UuaGFzQW55UGVybWlzc2lvbihwZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnNvbGUud2FybihgW1ZhbHRlY2hBdXRoXSBBY2Nlc28gYSBydXRhIGRlbmVnYWRvLiBSZXF1ZXJpZG86ICR7cGVybWlzc2lvbnMuam9pbignIG8gJyl9YCk7XG4gICAgcmV0dXJuIHJvdXRlci5jcmVhdGVVcmxUcmVlKFtjb25maWcudW5hdXRob3JpemVkUm91dGVdKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBHdWFyZCBxdWUgbGVlIHBlcm1pc29zIGRlc2RlIHJvdXRlLmRhdGEuXG4gKiBQZXJtaXRlIGNvbmZpZ3VyYXIgcGVybWlzb3MgZGlyZWN0YW1lbnRlIGVuIGxhIGRlZmluaWNpw7NuIGRlIHJ1dGFzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBhdXRoR3VhcmQsIHBlcm1pc3Npb25HdWFyZEZyb21Sb3V0ZSB9IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG4gKlxuICogY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gKiAgIHtcbiAqICAgICBwYXRoOiAnYWRtaW4vdXNlcnMnLFxuICogICAgIGNhbkFjdGl2YXRlOiBbYXV0aEd1YXJkLCBwZXJtaXNzaW9uR3VhcmRGcm9tUm91dGVdLFxuICogICAgIGRhdGE6IHtcbiAqICAgICAgIHBlcm1pc3Npb25zOiBbJ3VzZXJzOnJlYWQnLCAndXNlcnM6bWFuYWdlJ10sXG4gKiAgICAgICByZXF1aXJlQWxsOiBmYWxzZSAgLy8gdHJ1ZSA9IEFORCwgZmFsc2UgPSBPUiAoZGVmYXVsdClcbiAqICAgICB9LFxuICogICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi91c2Vycy5wYWdlJyksXG4gKiAgIH0sXG4gKiBdO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBwZXJtaXNzaW9uR3VhcmRGcm9tUm91dGU6IENhbkFjdGl2YXRlRm4gPSAoXG4gIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XG4pOiBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICBjb25zdCBwZXJtaXNzaW9ucyA9IHJvdXRlLmRhdGFbJ3Blcm1pc3Npb25zJ10gYXMgc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IHJlcXVpcmVBbGwgPSByb3V0ZS5kYXRhWydyZXF1aXJlQWxsJ10gYXMgYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBpZiAoIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgaGFzQWNjZXNzID0gcmVxdWlyZUFsbFxuICAgID8gYXV0aFNlcnZpY2UuaGFzQWxsUGVybWlzc2lvbnMocGVybWlzc2lvbnMpXG4gICAgOiBhdXRoU2VydmljZS5oYXNBbnlQZXJtaXNzaW9uKHBlcm1pc3Npb25zKTtcblxuICBpZiAoaGFzQWNjZXNzKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zb2xlLndhcm4oXG4gICAgYFtWYWx0ZWNoQXV0aF0gUGVybWlzbyBkZW5lZ2Fkby4gUmVxdWVyaWRvOiAke3Blcm1pc3Npb25zLmpvaW4ocmVxdWlyZUFsbCA/ICcgeSAnIDogJyBvICcpfWBcbiAgKTtcbiAgcmV0dXJuIHJvdXRlci5jcmVhdGVVcmxUcmVlKFtjb25maWcudW5hdXRob3JpemVkUm91dGVdKTtcbn07XG5cbi8qKlxuICogR3VhcmQgcXVlIHZlcmlmaWNhIHNpIGVsIHVzdWFyaW8gZXMgc3VwZXIgYWRtaW4uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IGF1dGhHdWFyZCwgc3VwZXJBZG1pbkd1YXJkIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICdzdXBlci1hZG1pbicsXG4gKiAgICAgY2FuQWN0aXZhdGU6IFthdXRoR3VhcmQsIHN1cGVyQWRtaW5HdWFyZF0sXG4gKiAgICAgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL3N1cGVyLWFkbWluLnBhZ2UnKSxcbiAqICAgfSxcbiAqIF07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHN1cGVyQWRtaW5HdWFyZDogQ2FuQWN0aXZhdGVGbiA9ICgpOiBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICBpZiAoYXV0aFNlcnZpY2UuaXNTdXBlckFkbWluKCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnNvbGUud2FybignW1ZhbHRlY2hBdXRoXSBBY2Nlc28gZGUgc3VwZXIgYWRtaW4gcmVxdWVyaWRvJyk7XG4gIHJldHVybiByb3V0ZXIuY3JlYXRlVXJsVHJlZShbY29uZmlnLnVuYXV0aG9yaXplZFJvdXRlXSk7XG59O1xuXG4vKipcbiAqIEd1YXJkIHF1ZSB2ZXJpZmljYSBzaSBlbCB1c3VhcmlvIHRpZW5lIHVuIHJvbCBlc3BlY8OtZmljby5cbiAqXG4gKiBAcGFyYW0gcm9sZXMgLSBSb2wgbyBsaXN0YSBkZSByb2xlcyByZXF1ZXJpZG9zIChPUilcbiAqIEByZXR1cm5zIEd1YXJkIGZ1bmN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IGF1dGhHdWFyZCwgcm9sZUd1YXJkIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICdlZGl0b3InLFxuICogICAgIGNhbkFjdGl2YXRlOiBbYXV0aEd1YXJkLCByb2xlR3VhcmQoWydlZGl0b3InLCAnYWRtaW4nXSldLFxuICogICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9lZGl0b3IucGFnZScpLFxuICogICB9LFxuICogXTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcm9sZUd1YXJkKHJvbGVzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IENhbkFjdGl2YXRlRm4ge1xuICByZXR1cm4gKCk6IGJvb2xlYW4gfCBVcmxUcmVlID0+IHtcbiAgICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgY29uc3QgY29uZmlnID0gaW5qZWN0KFZBTFRFQ0hfQVVUSF9DT05GSUcpO1xuXG4gICAgY29uc3Qgcm9sZUFycmF5ID0gQXJyYXkuaXNBcnJheShyb2xlcykgPyByb2xlcyA6IFtyb2xlc107XG5cbiAgICBjb25zdCBoYXNSb2xlID0gcm9sZUFycmF5LnNvbWUocm9sZSA9PiBhdXRoU2VydmljZS5oYXNSb2xlKHJvbGUpKTtcblxuICAgIGlmIChoYXNSb2xlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zb2xlLndhcm4oYFtWYWx0ZWNoQXV0aF0gUm9sIHJlcXVlcmlkbzogJHtyb2xlQXJyYXkuam9pbignIG8gJyl9YCk7XG4gICAgcmV0dXJuIHJvdXRlci5jcmVhdGVVcmxUcmVlKFtjb25maWcudW5hdXRob3JpemVkUm91dGVdKTtcbiAgfTtcbn1cbiJdfQ==
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL2d1YXJkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxNQUFNLEdBS1AsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFrQixDQUN0QyxNQUE4QixFQUM5QixLQUEwQixFQUNQLEVBQUU7SUFDckIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUUzQyxJQUFJLFdBQVcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUMvQyxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRTtLQUN0QyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWtCLEtBQUssSUFBZ0MsRUFBRTtJQUM5RSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxD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QUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0lBQzlELE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBd0I7SUFDaEQsT0FBTyxHQUFzQixFQUFFO1FBQzdCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFM0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFbEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUm91dGVyLFxuICBDYW5BY3RpdmF0ZUZuLFxuICBVcmxUcmVlLFxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBWQUxURUNIX0FVVEhfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuXG4vKipcbiAqIEd1YXJkIHF1ZSB2ZXJpZmljYSBzaSBlbCB1c3VhcmlvIGVzdMOhIGF1dGVudGljYWRvLlxuICogUmVkaXJpZ2UgYSBsb2dpblJvdXRlIHNpIG5vIGVzdMOhIGF1dGVudGljYWRvLlxuICpcbiAqIFByZXNlcnZhIGxhIFVSTCBzb2xpY2l0YWRhIGVuIGVsIHF1ZXJ5IHBhcmFtIGByZXR1cm5VcmxgIHBhcmEgcXVlIGxhXG4gKiBww6FnaW5hIGRlIGxvZ2luIHB1ZWRhIGRldm9sdmVyIGFsIHVzdWFyaW8gYSBzdSBkZXN0aW5vIHRyYXMgYXV0ZW50aWNhcnNlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBhdXRoR3VhcmQgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuICpcbiAqIGNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICogICB7XG4gKiAgICAgcGF0aDogJ2Rhc2hib2FyZCcsXG4gKiAgICAgY2FuQWN0aXZhdGU6IFthdXRoR3VhcmRdLFxuICogICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9kYXNoYm9hcmQucGFnZScpLFxuICogICB9LFxuICogXTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgYXV0aEd1YXJkOiBDYW5BY3RpdmF0ZUZuID0gKFxuICBfcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XG4pOiBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICBpZiAoYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiByb3V0ZXIuY3JlYXRlVXJsVHJlZShbY29uZmlnLmxvZ2luUm91dGVdLCB7XG4gICAgcXVlcnlQYXJhbXM6IHsgcmV0dXJuVXJsOiBzdGF0ZS51cmwgfSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIEd1YXJkIHF1ZSB2ZXJpZmljYSBzaSBlbCB1c3VhcmlvIE5PIGVzdMOhIGF1dGVudGljYWRvLlxuICogUmVkaXJpZ2UgYSBob21lUm91dGUgc2kgeWEgZXN0w6EgYXV0ZW50aWNhZG8uXG4gKiDDmnRpbCBwYXJhIHDDoWdpbmFzIGRlIGxvZ2luL3JlZ2lzdHJvLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBndWVzdEd1YXJkIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICdsb2dpbicsXG4gKiAgICAgY2FuQWN0aXZhdGU6IFtndWVzdEd1YXJkXSxcbiAqICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vbG9naW4ucGFnZScpLFxuICogICB9LFxuICogXTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZ3Vlc3RHdWFyZDogQ2FuQWN0aXZhdGVGbiA9IGFzeW5jICgpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICAvLyBFc3BlcmFyIGEgcXVlIGxhIGluaWNpYWxpemFjaW9uIGRlIGF1dGggdGVybWluZSAoRmlyZWJhc2UgcmVzdGF1cmEgc2VzaW9uXG4gIC8vIGRlIGZvcm1hIGFzeW5jKS4gU2luIGVzdG8sIGBpc0F1dGhlbnRpY2F0ZWQoKWAgcHVlZGUgc2VyIGZhbHNlIGF1bnF1ZSBlbFxuICAvLyB0b2tlbiBlbiBsb2NhbFN0b3JhZ2Ugc2VhIHZhbGlkbywgeSBlbCBndWFyZCBkZWphIHBhc2FyIGFsIGxvZ2luIOKGkiBwYW50YWxsYVxuICAvLyBkZSBsb2dpbiBjb24gYm90b25lcyBjYXJnYW5kbyAoZXNwZWNpYWxtZW50ZSBlbiBzd2lwZS1iYWNrIGVuIFBXQSkuXG4gIC8vIFBvbGxpbmcgY29uIHNldFRpbWVvdXQ6IHNpbiBtYXF1aW5hcmlhIEFuZ3VsYXIgKHRvT2JzZXJ2YWJsZSBleGlnZSBpbmplY3Rpb25cbiAgLy8gY29udGV4dCBlc3RhYmxlOyBsb3MgZ3VhcmRzIGZ1bmNpb25hbGVzIHNvbiBjb250ZXh0b3MgdHJhbnNpdG9yaW9zKS5cbiAgd2hpbGUgKGF1dGhTZXJ2aWNlLmlzTG9hZGluZygpKSB7XG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4ociA9PiBzZXRUaW1lb3V0KHIsIDMwKSk7XG4gIH1cblxuICBpZiAoIWF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyByZXBsYWNlVXJsOiB0cnVlIHNhY2EgL2xvZ2luIGRlbCBzdGFjayBkZWwgYnJvd3NlciDihpIgZWwgc3dpcGUtYmFjayBlblxuICAvLyBQV0Egbm8gdnVlbHZlIGEgbGEgcGFudGFsbGEgZGUgbG9naW4uXG4gIGF3YWl0IHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGNvbmZpZy5ob21lUm91dGUsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBGYWN0b3J5IHBhcmEgY3JlYXIgZ3VhcmQgZGUgcGVybWlzb3MuXG4gKiBWZXJpZmljYSBzaSBlbCB1c3VhcmlvIHRpZW5lIGVsIHBlcm1pc28gZXNwZWNpZmljYWRvLlxuICpcbiAqIEBwYXJhbSBwZXJtaXNzaW9ucyAtIFBlcm1pc28gbyBsaXN0YSBkZSBwZXJtaXNvcyByZXF1ZXJpZG9zIChPUilcbiAqIEByZXR1cm5zIEd1YXJkIGZ1bmN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IGF1dGhHdWFyZCwgcGVybWlzc2lvbkd1YXJkIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICd0ZW1wbGF0ZXMnLFxuICogICAgIGNhbkFjdGl2YXRlOiBbYXV0aEd1YXJkLCBwZXJtaXNzaW9uR3VhcmQoJ3RlbXBsYXRlczpyZWFkJyldLFxuICogICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi90ZW1wbGF0ZXMucGFnZScpLFxuICogICB9LFxuICogICB7XG4gKiAgICAgcGF0aDogJ2FkbWluJyxcbiAqICAgICBjYW5BY3RpdmF0ZTogW2F1dGhHdWFyZCwgcGVybWlzc2lvbkd1YXJkKFsnYWRtaW46KicsICdzdXBlcl9hZG1pbiddKV0sXG4gKiAgICAgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2FkbWluLnBhZ2UnKSxcbiAqICAgfSxcbiAqIF07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBlcm1pc3Npb25HdWFyZChwZXJtaXNzaW9uczogc3RyaW5nIHwgc3RyaW5nW10pOiBDYW5BY3RpdmF0ZUZuIHtcbiAgcmV0dXJuICgpOiBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICAgIGNvbnN0IHBlcm1BcnJheSA9IEFycmF5LmlzQXJyYXkocGVybWlzc2lvbnMpID8gcGVybWlzc2lvbnMgOiBbcGVybWlzc2lvbnNdO1xuXG4gICAgaWYgKGF1dGhTZXJ2aWNlLmhhc0FueVBlcm1pc3Npb24ocGVybUFycmF5KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc29sZS53YXJuKGBbVmFsdGVjaEF1dGhdIFBlcm1pc28gZGVuZWdhZG8uIFJlcXVlcmlkbzogJHtwZXJtQXJyYXkuam9pbignIG8gJyl9YCk7XG4gICAgcmV0dXJuIHJvdXRlci5jcmVhdGVVcmxUcmVlKFtjb25maWcudW5hdXRob3JpemVkUm91dGVdKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGRlIGd1YXJkIFJCQUMgcGFyYW1ldHJpemFibGUg4oCUIGRlZmVuc2UtaW4tZGVwdGggYSBuaXZlbCBkZSBSVVRBLlxuICpcbiAqIFZhcmlhbnRlIGVyZ29uw7NtaWNhIGRlIHtAbGluayBwZXJtaXNzaW9uR3VhcmR9IGNvbiBmaXJtYSB2YXJpw6FkaWNhXG4gKiAoYHJiYWNHdWFyZCgnYTpyZWFkJywgJ2I6bWFuYWdlJylgIGVuIHZleiBkZSBgcGVybWlzc2lvbkd1YXJkKFsnYTpyZWFkJywgJ2I6bWFuYWdlJ10pYCksXG4gKiBwZW5zYWRhIHBhcmEgZ2F0ZWFyIHZpc3RhcyBhZG1pbmlzdHJhdGl2YXMgbW9udGFkYXMgdsOtYSBsb3MgYHByb3ZpZGVWYWx0ZWNoKlJvdXRlc2BcbiAqIGRlIGxhIGxpYi4gUGFzYSBzaSBlbCB1c3VhcmlvIHRpZW5lICoqQUwgTUVOT1MgVU5PKiogZGUgbG9zIHBlcm1pc29zIChPUiksIGlndWFsIHF1ZVxuICogZWwgcmVzdG8gZGVsIGdhdGluZyBkZWwgZmFjdG9yeSAoYCp2YWxIYXNQZXJtaXNzaW9uYCwgbWVuw7opLiBFbCBtYXRjaCBkZSB3aWxkY2FyZHNcbiAqIChgKjoqYCwgYHJlc291cmNlOipgLCBgKjphY3Rpb25gKSBsbyByZXN1ZWx2ZSBgQXV0aFNlcnZpY2UuaGFzUGVybWlzc2lvbmAuXG4gKlxuICogRXMgdW5hIGNhcGEgQURJQ0lPTkFMIGFsIGdhdGluZyBmaW5vIGRlbnRybyBkZSBsb3MgY29tcG9uZW50ZXMgKGJvdG9uZXMgcG9yXG4gKiBgKnZhbEhhc1Blcm1pc3Npb25gKSB5IGFsIDQwMyBkZWwgYmFja2VuZCDigJQgbm8gbG9zIHJlZW1wbGF6YS4gU2luIHBlcm1pc28gcmVkaXJpZ2VcbiAqIGEgYHVuYXV0aG9yaXplZFJvdXRlYCAobWlzbW8gZGVzdGlubyBxdWUgYHBlcm1pc3Npb25HdWFyZGApLlxuICpcbiAqIEBwYXJhbSBwZXJtaXNzaW9ucyAtIFVubyBvIG3DoXMgcGVybWlzb3MgcmVxdWVyaWRvcyAoT1IpXG4gKiBAcmV0dXJucyBHdWFyZCBmdW5jdGlvblxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyByYmFjR3VhcmQgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuICpcbiAqIGNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICogICB7XG4gKiAgICAgcGF0aDogJ2FwaS1rZXlzJyxcbiAqICAgICBjYW5BY3RpdmF0ZTogW3JiYWNHdWFyZCgnYXBpLWtleXM6cmVhZCcpXSxcbiAqICAgICBjb21wb25lbnQ6IEFwaUtleXNWaWV3Q29tcG9uZW50LFxuICogICB9LFxuICogICB7XG4gKiAgICAgcGF0aDogJ3Blcm1pc3Npb25zJyxcbiAqICAgICBjYW5BY3RpdmF0ZTogW3JiYWNHdWFyZCgncm9sZXM6cmVhZCcsICdyYmFjOm1hbmFnZScpXSxcbiAqICAgICBjb21wb25lbnQ6IFBlcm1pc3Npb25zVmlld0NvbXBvbmVudCxcbiAqICAgfSxcbiAqIF07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJiYWNHdWFyZCguLi5wZXJtaXNzaW9uczogc3RyaW5nW10pOiBDYW5BY3RpdmF0ZUZuIHtcbiAgcmV0dXJuICgpOiBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICAgIGlmIChwZXJtaXNzaW9ucy5sZW5ndGggPT09IDAgfHwgYXV0aFNlcnZpY2UuaGFzQW55UGVybWlzc2lvbihwZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnNvbGUud2FybihgW1ZhbHRlY2hBdXRoXSBBY2Nlc28gYSBydXRhIGRlbmVnYWRvLiBSZXF1ZXJpZG86ICR7cGVybWlzc2lvbnMuam9pbignIG8gJyl9YCk7XG4gICAgcmV0dXJuIHJvdXRlci5jcmVhdGVVcmxUcmVlKFtjb25maWcudW5hdXRob3JpemVkUm91dGVdKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBHdWFyZCBxdWUgbGVlIHBlcm1pc29zIGRlc2RlIHJvdXRlLmRhdGEuXG4gKiBQZXJtaXRlIGNvbmZpZ3VyYXIgcGVybWlzb3MgZGlyZWN0YW1lbnRlIGVuIGxhIGRlZmluaWNpw7NuIGRlIHJ1dGFzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBhdXRoR3VhcmQsIHBlcm1pc3Npb25HdWFyZEZyb21Sb3V0ZSB9IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG4gKlxuICogY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gKiAgIHtcbiAqICAgICBwYXRoOiAnYWRtaW4vdXNlcnMnLFxuICogICAgIGNhbkFjdGl2YXRlOiBbYXV0aEd1YXJkLCBwZXJtaXNzaW9uR3VhcmRGcm9tUm91dGVdLFxuICogICAgIGRhdGE6IHtcbiAqICAgICAgIHBlcm1pc3Npb25zOiBbJ3VzZXJzOnJlYWQnLCAndXNlcnM6bWFuYWdlJ10sXG4gKiAgICAgICByZXF1aXJlQWxsOiBmYWxzZSAgLy8gdHJ1ZSA9IEFORCwgZmFsc2UgPSBPUiAoZGVmYXVsdClcbiAqICAgICB9LFxuICogICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi91c2Vycy5wYWdlJyksXG4gKiAgIH0sXG4gKiBdO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBwZXJtaXNzaW9uR3VhcmRGcm9tUm91dGU6IENhbkFjdGl2YXRlRm4gPSAoXG4gIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XG4pOiBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICBjb25zdCBwZXJtaXNzaW9ucyA9IHJvdXRlLmRhdGFbJ3Blcm1pc3Npb25zJ10gYXMgc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IHJlcXVpcmVBbGwgPSByb3V0ZS5kYXRhWydyZXF1aXJlQWxsJ10gYXMgYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBpZiAoIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgaGFzQWNjZXNzID0gcmVxdWlyZUFsbFxuICAgID8gYXV0aFNlcnZpY2UuaGFzQWxsUGVybWlzc2lvbnMocGVybWlzc2lvbnMpXG4gICAgOiBhdXRoU2VydmljZS5oYXNBbnlQZXJtaXNzaW9uKHBlcm1pc3Npb25zKTtcblxuICBpZiAoaGFzQWNjZXNzKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zb2xlLndhcm4oXG4gICAgYFtWYWx0ZWNoQXV0aF0gUGVybWlzbyBkZW5lZ2Fkby4gUmVxdWVyaWRvOiAke3Blcm1pc3Npb25zLmpvaW4ocmVxdWlyZUFsbCA/ICcgeSAnIDogJyBvICcpfWBcbiAgKTtcbiAgcmV0dXJuIHJvdXRlci5jcmVhdGVVcmxUcmVlKFtjb25maWcudW5hdXRob3JpemVkUm91dGVdKTtcbn07XG5cbi8qKlxuICogR3VhcmQgcXVlIHZlcmlmaWNhIHNpIGVsIHVzdWFyaW8gZXMgc3VwZXIgYWRtaW4uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IGF1dGhHdWFyZCwgc3VwZXJBZG1pbkd1YXJkIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICdzdXBlci1hZG1pbicsXG4gKiAgICAgY2FuQWN0aXZhdGU6IFthdXRoR3VhcmQsIHN1cGVyQWRtaW5HdWFyZF0sXG4gKiAgICAgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL3N1cGVyLWFkbWluLnBhZ2UnKSxcbiAqICAgfSxcbiAqIF07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHN1cGVyQWRtaW5HdWFyZDogQ2FuQWN0aXZhdGVGbiA9ICgpOiBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKTtcblxuICBpZiAoYXV0aFNlcnZpY2UuaXNTdXBlckFkbWluKCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnNvbGUud2FybignW1ZhbHRlY2hBdXRoXSBBY2Nlc28gZGUgc3VwZXIgYWRtaW4gcmVxdWVyaWRvJyk7XG4gIHJldHVybiByb3V0ZXIuY3JlYXRlVXJsVHJlZShbY29uZmlnLnVuYXV0aG9yaXplZFJvdXRlXSk7XG59O1xuXG4vKipcbiAqIEd1YXJkIHF1ZSB2ZXJpZmljYSBzaSBlbCB1c3VhcmlvIHRpZW5lIHVuIHJvbCBlc3BlY8OtZmljby5cbiAqXG4gKiBAcGFyYW0gcm9sZXMgLSBSb2wgbyBsaXN0YSBkZSByb2xlcyByZXF1ZXJpZG9zIChPUilcbiAqIEByZXR1cm5zIEd1YXJkIGZ1bmN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IGF1dGhHdWFyZCwgcm9sZUd1YXJkIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICdlZGl0b3InLFxuICogICAgIGNhbkFjdGl2YXRlOiBbYXV0aEd1YXJkLCByb2xlR3VhcmQoWydlZGl0b3InLCAnYWRtaW4nXSldLFxuICogICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9lZGl0b3IucGFnZScpLFxuICogICB9LFxuICogXTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcm9sZUd1YXJkKHJvbGVzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IENhbkFjdGl2YXRlRm4ge1xuICByZXR1cm4gKCk6IGJvb2xlYW4gfCBVcmxUcmVlID0+IHtcbiAgICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgY29uc3QgY29uZmlnID0gaW5qZWN0KFZBTFRFQ0hfQVVUSF9DT05GSUcpO1xuXG4gICAgY29uc3Qgcm9sZUFycmF5ID0gQXJyYXkuaXNBcnJheShyb2xlcykgPyByb2xlcyA6IFtyb2xlc107XG5cbiAgICBjb25zdCBoYXNSb2xlID0gcm9sZUFycmF5LnNvbWUocm9sZSA9PiBhdXRoU2VydmljZS5oYXNSb2xlKHJvbGUpKTtcblxuICAgIGlmIChoYXNSb2xlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zb2xlLndhcm4oYFtWYWx0ZWNoQXV0aF0gUm9sIHJlcXVlcmlkbzogJHtyb2xlQXJyYXkuam9pbignIG8gJyl9YCk7XG4gICAgcmV0dXJuIHJvdXRlci5jcmVhdGVVcmxUcmVlKFtjb25maWcudW5hdXRob3JpemVkUm91dGVdKTtcbiAgfTtcbn1cbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.160';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xNjAnO1xuIl19
|
|
@@ -15,7 +15,7 @@ import { provideAuth, getAuth, connectAuthEmulator, authState, signInWithCustomT
|
|
|
15
15
|
import { provideMessaging, getMessaging, getToken, deleteToken, onMessage } from '@angular/fire/messaging';
|
|
16
16
|
import * as i1$2 from '@angular/fire/storage';
|
|
17
17
|
import { provideStorage, getStorage, connectStorageEmulator, ref, uploadBytesResumable, getDownloadURL, getMetadata, deleteObject, listAll } from '@angular/fire/storage';
|
|
18
|
-
import { takeUntilDestroyed,
|
|
18
|
+
import { takeUntilDestroyed, toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
19
19
|
import * as i1$4 from '@angular/router';
|
|
20
20
|
import { Router, NavigationEnd, RouterLink, ActivatedRoute, RouterOutlet, RouterModule } from '@angular/router';
|
|
21
21
|
import * as i2 from '@ionic/angular';
|
|
@@ -56,7 +56,7 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
|
|
|
56
56
|
* Current version of valtech-components.
|
|
57
57
|
* This is automatically updated during the publish process.
|
|
58
58
|
*/
|
|
59
|
-
const VERSION = '4.0.
|
|
59
|
+
const VERSION = '4.0.160';
|
|
60
60
|
|
|
61
61
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
62
62
|
let isRefreshing = false;
|
|
@@ -33507,8 +33507,10 @@ const guestGuard = async () => {
|
|
|
33507
33507
|
// de forma async). Sin esto, `isAuthenticated()` puede ser false aunque el
|
|
33508
33508
|
// token en localStorage sea valido, y el guard deja pasar al login → pantalla
|
|
33509
33509
|
// de login con botones cargando (especialmente en swipe-back en PWA).
|
|
33510
|
-
|
|
33511
|
-
|
|
33510
|
+
// Polling con setTimeout: sin maquinaria Angular (toObservable exige injection
|
|
33511
|
+
// context estable; los guards funcionales son contextos transitorios).
|
|
33512
|
+
while (authService.isLoading()) {
|
|
33513
|
+
await new Promise(r => setTimeout(r, 30));
|
|
33512
33514
|
}
|
|
33513
33515
|
if (!authService.isAuthenticated()) {
|
|
33514
33516
|
return true;
|