@fusionauth/angular-sdk 1.0.1 → 1.1.0
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/README.md +5 -0
- package/esm2022/lib/SSRCookieAdapter.mjs +23 -0
- package/esm2022/lib/fusion-auth.module.mjs +4 -5
- package/esm2022/lib/fusion-auth.service.mjs +23 -3
- package/esm2022/lib/injectionToken.mjs +3 -0
- package/esm2022/lib/types.mjs +1 -1
- package/esm2022/sdkcore/CookieHelpers/CookieHelpers.mjs +34 -0
- package/esm2022/sdkcore/CookieHelpers/index.mjs +2 -0
- package/esm2022/sdkcore/RedirectHelper/RedirectHelper.mjs +47 -0
- package/esm2022/sdkcore/RedirectHelper/index.mjs +2 -0
- package/esm2022/sdkcore/SDKConfig/SDKConfig.mjs +2 -0
- package/esm2022/sdkcore/SDKConfig/index.mjs +2 -0
- package/esm2022/sdkcore/SDKContext/SDKContext.mjs +2 -0
- package/esm2022/sdkcore/SDKContext/index.mjs +2 -0
- package/esm2022/sdkcore/SDKCore/SDKCore.mjs +103 -0
- package/esm2022/sdkcore/SDKCore/index.mjs +2 -0
- package/esm2022/sdkcore/UrlHelper/UrlHelper.mjs +64 -0
- package/esm2022/sdkcore/UrlHelper/UrlHelperTypes.mjs +2 -0
- package/esm2022/sdkcore/UrlHelper/index.mjs +3 -0
- package/esm2022/sdkcore/index.mjs +5 -0
- package/esm2022/sdkcore/testUtils/index.mjs +3 -0
- package/esm2022/sdkcore/testUtils/mockLoggedIn.mjs +13 -0
- package/esm2022/sdkcore/testUtils/mockWindowLocation.mjs +10 -0
- package/fesm2022/fusionauth-angular-sdk.mjs +248 -183
- package/fesm2022/fusionauth-angular-sdk.mjs.map +1 -1
- package/lib/SSRCookieAdapter.d.ts +7 -0
- package/lib/fusion-auth.service.d.ts +6 -3
- package/lib/injectionToken.d.ts +3 -0
- package/lib/types.d.ts +8 -0
- package/package.json +3 -3
- package/sdkcore/CookieHelpers/CookieHelpers.d.ts +11 -0
- package/sdkcore/CookieHelpers/index.d.ts +1 -0
- package/sdkcore/RedirectHelper/RedirectHelper.d.ts +10 -0
- package/sdkcore/RedirectHelper/index.d.ts +1 -0
- package/sdkcore/SDKConfig/SDKConfig.d.ts +79 -0
- package/sdkcore/SDKConfig/index.d.ts +1 -0
- package/sdkcore/SDKContext/SDKContext.d.ts +65 -0
- package/sdkcore/SDKContext/index.d.ts +1 -0
- package/sdkcore/SDKCore/SDKCore.d.ts +23 -0
- package/sdkcore/SDKCore/index.d.ts +1 -0
- package/sdkcore/UrlHelper/UrlHelper.d.ts +22 -0
- package/sdkcore/UrlHelper/UrlHelperTypes.d.ts +11 -0
- package/sdkcore/UrlHelper/index.d.ts +2 -0
- package/sdkcore/index.d.ts +5 -0
- package/sdkcore/testUtils/index.d.ts +2 -0
- package/sdkcore/testUtils/mockLoggedIn.d.ts +5 -0
- package/sdkcore/testUtils/mockWindowLocation.d.ts +18 -0
- package/esm2022/lib/core.mjs +0 -241
- package/lib/core.d.ts +0 -57
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@ An SDK for using FusionAuth in Angular applications.
|
|
|
9
9
|
- [FusionAuthService](#fusionauthservice)
|
|
10
10
|
- [Pre-built buttons](#pre-built-buttons)
|
|
11
11
|
- [State Parameter](#state-parameter)
|
|
12
|
+
- [SSR](#ssr)
|
|
12
13
|
- [Known issues](#known-issues)
|
|
13
14
|
- [Quickstart](#quickstart)
|
|
14
15
|
- [Documentation](#documentation)
|
|
@@ -174,6 +175,10 @@ pass any value you would like for the state parameter, it is often used to indic
|
|
|
174
175
|
which page the user was on before redirecting to login or registration, so that the
|
|
175
176
|
user can be returned to that location after a successful authentication.
|
|
176
177
|
|
|
178
|
+
#### SSR
|
|
179
|
+
|
|
180
|
+
The SDK supports Angular applications using SSR. No additional configuration is needed.
|
|
181
|
+
|
|
177
182
|
### Known Issues
|
|
178
183
|
|
|
179
184
|
None.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** An adapter class that supports accessing cookies with SSR */
|
|
2
|
+
export class SSRCookieAdapter {
|
|
3
|
+
constructor(isBrowser) {
|
|
4
|
+
this.isBrowser = isBrowser;
|
|
5
|
+
}
|
|
6
|
+
at_exp(cookieName = 'app.at_exp') {
|
|
7
|
+
if (!this.isBrowser) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
try {
|
|
11
|
+
const expCookie = document.cookie
|
|
12
|
+
.split('; ')
|
|
13
|
+
.map(c => c.split('='))
|
|
14
|
+
.find(([name]) => name === cookieName);
|
|
15
|
+
return expCookie?.[1];
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
console.error('Error within the SSRCookieAdapter: ', error);
|
|
19
|
+
return -1;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1NSQ29va2llQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL2xpYi9TU1JDb29raWVBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGdFQUFnRTtBQUNoRSxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLFNBQWtCO1FBQWxCLGNBQVMsR0FBVCxTQUFTLENBQVM7SUFBRyxDQUFDO0lBRTFDLE1BQU0sQ0FBQyxhQUFxQixZQUFZO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTTtpQkFDOUIsS0FBSyxDQUFDLElBQUksQ0FBQztpQkFDWCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7WUFDekMsT0FBTyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUQsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb29raWVBZGFwdGVyIH0gZnJvbSAnLi4vc2RrY29yZSc7XG5cbi8qKiBBbiBhZGFwdGVyIGNsYXNzIHRoYXQgc3VwcG9ydHMgYWNjZXNzaW5nIGNvb2tpZXMgd2l0aCBTU1IgKi9cbmV4cG9ydCBjbGFzcyBTU1JDb29raWVBZGFwdGVyIGltcGxlbWVudHMgQ29va2llQWRhcHRlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaXNCcm93c2VyOiBib29sZWFuKSB7fVxuXG4gIGF0X2V4cChjb29raWVOYW1lOiBzdHJpbmcgPSAnYXBwLmF0X2V4cCcpIHtcbiAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV4cENvb2tpZSA9IGRvY3VtZW50LmNvb2tpZVxuICAgICAgICAuc3BsaXQoJzsgJylcbiAgICAgICAgLm1hcChjID0+IGMuc3BsaXQoJz0nKSlcbiAgICAgICAgLmZpbmQoKFtuYW1lXSkgPT4gbmFtZSA9PT0gY29va2llTmFtZSk7XG4gICAgICByZXR1cm4gZXhwQ29va2llPy5bMV07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHdpdGhpbiB0aGUgU1NSQ29va2llQWRhcHRlcjogJywgZXJyb3IpO1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { FusionAuthService } from './fusion-auth.service';
|
|
3
|
+
import { FUSIONAUTH_SERVICE_CONFIG } from './injectionToken';
|
|
3
4
|
import { FusionAuthLoginButtonComponent } from './components/fusionauth-login.button/fusion-auth-login-button.component';
|
|
4
5
|
import { FusionAuthLogoutButtonComponent } from './components/fusionauth-logout.button/fusion-auth-logout-button.component';
|
|
5
6
|
import { FusionAuthRegisterButtonComponent } from './components/fusionauth-register.button/fusion-auth-register-button.component';
|
|
@@ -9,10 +10,8 @@ export class FusionAuthModule {
|
|
|
9
10
|
return {
|
|
10
11
|
ngModule: FusionAuthModule,
|
|
11
12
|
providers: [
|
|
12
|
-
{
|
|
13
|
-
|
|
14
|
-
useValue: new FusionAuthService(fusionAuthConfig),
|
|
15
|
-
},
|
|
13
|
+
{ provide: FUSIONAUTH_SERVICE_CONFIG, useValue: fusionAuthConfig },
|
|
14
|
+
FusionAuthService,
|
|
16
15
|
],
|
|
17
16
|
};
|
|
18
17
|
}
|
|
@@ -40,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
40
39
|
],
|
|
41
40
|
}]
|
|
42
41
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvbGliL2Z1c2lvbi1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQzs7QUFlbEksTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixNQUFNLENBQUMsT0FBTyxDQUNaLGdCQUFrQztRQUVsQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFO2dCQUNsRSxpQkFBaUI7YUFDbEI7U0FDRixDQUFDO0lBQ0osQ0FBQzs4R0FYVSxnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFYekIsOEJBQThCO1lBQzlCLCtCQUErQjtZQUMvQixpQ0FBaUMsYUFJakMsOEJBQThCO1lBQzlCLCtCQUErQjtZQUMvQixpQ0FBaUM7K0dBR3hCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFiNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osOEJBQThCO3dCQUM5QiwrQkFBK0I7d0JBQy9CLGlDQUFpQztxQkFDbEM7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFO3dCQUNQLDhCQUE4Qjt3QkFDOUIsK0JBQStCO3dCQUMvQixpQ0FBaUM7cUJBQ2xDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZ1c2lvbkF1dGhDb25maWcgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZ1c2lvbkF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9mdXNpb24tYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEZVU0lPTkFVVEhfU0VSVklDRV9DT05GSUcgfSBmcm9tICcuL2luamVjdGlvblRva2VuJztcbmltcG9ydCB7IEZ1c2lvbkF1dGhMb2dpbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mdXNpb25hdXRoLWxvZ2luLmJ1dHRvbi9mdXNpb24tYXV0aC1sb2dpbi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEZ1c2lvbkF1dGhMb2dvdXRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1sb2dvdXQuYnV0dG9uL2Z1c2lvbi1hdXRoLWxvZ291dC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEZ1c2lvbkF1dGhSZWdpc3RlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mdXNpb25hdXRoLXJlZ2lzdGVyLmJ1dHRvbi9mdXNpb24tYXV0aC1yZWdpc3Rlci1idXR0b24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRnVzaW9uQXV0aExvZ2luQnV0dG9uQ29tcG9uZW50LFxuICAgIEZ1c2lvbkF1dGhMb2dvdXRCdXR0b25Db21wb25lbnQsXG4gICAgRnVzaW9uQXV0aFJlZ2lzdGVyQnV0dG9uQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW1xuICAgIEZ1c2lvbkF1dGhMb2dpbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBGdXNpb25BdXRoTG9nb3V0QnV0dG9uQ29tcG9uZW50LFxuICAgIEZ1c2lvbkF1dGhSZWdpc3RlckJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnVzaW9uQXV0aE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KFxuICAgIGZ1c2lvbkF1dGhDb25maWc6IEZ1c2lvbkF1dGhDb25maWcsXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RnVzaW9uQXV0aE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRnVzaW9uQXV0aE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEZVU0lPTkFVVEhfU0VSVklDRV9DT05GSUcsIHVzZVZhbHVlOiBmdXNpb25BdXRoQ29uZmlnIH0sXG4gICAgICAgIEZ1c2lvbkF1dGhTZXJ2aWNlLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Injectable, Inject, PLATFORM_ID } from '@angular/core';
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
2
3
|
import { Observable, catchError, BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { SDKCore } from '../sdkcore';
|
|
5
|
+
import { SSRCookieAdapter } from './SSRCookieAdapter';
|
|
6
|
+
import { FUSIONAUTH_SERVICE_CONFIG } from './injectionToken';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
3
8
|
/**
|
|
4
9
|
* Service class to use with FusionAuth backend endpoints.
|
|
5
10
|
*/
|
|
6
11
|
export class FusionAuthService {
|
|
7
|
-
constructor(config) {
|
|
12
|
+
constructor(config, platformId) {
|
|
8
13
|
this.core = new SDKCore({
|
|
9
14
|
...config,
|
|
10
15
|
onTokenExpiration: () => {
|
|
11
16
|
this.isLoggedInSubject.next(false);
|
|
12
17
|
},
|
|
18
|
+
cookieAdapter: new SSRCookieAdapter(isPlatformBrowser(platformId)),
|
|
13
19
|
});
|
|
14
20
|
this.isLoggedInSubject = new BehaviorSubject(this.core.isLoggedIn);
|
|
15
21
|
this.isLoggedIn$ = this.isLoggedInSubject.asObservable();
|
|
@@ -87,5 +93,19 @@ export class FusionAuthService {
|
|
|
87
93
|
logout() {
|
|
88
94
|
this.core.startLogout();
|
|
89
95
|
}
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FusionAuthService, deps: [{ token: FUSIONAUTH_SERVICE_CONFIG }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
97
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FusionAuthService, providedIn: 'root' }); }
|
|
90
98
|
}
|
|
91
|
-
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FusionAuthService, decorators: [{
|
|
100
|
+
type: Injectable,
|
|
101
|
+
args: [{
|
|
102
|
+
providedIn: 'root',
|
|
103
|
+
}]
|
|
104
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
105
|
+
type: Inject,
|
|
106
|
+
args: [FUSIONAUTH_SERVICE_CONFIG]
|
|
107
|
+
}] }, { type: Object, decorators: [{
|
|
108
|
+
type: Inject,
|
|
109
|
+
args: [PLATFORM_ID]
|
|
110
|
+
}] }] });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL2xpYi9mdXNpb24tYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFN0Q7O0dBRUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBQ3FDLE1BQXdCLEVBQ3RDLFVBQWtCO1FBRXZDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUM7WUFDdEIsR0FBRyxNQUFNO1lBQ1QsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO2dCQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxhQUFhLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuRSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV6RCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoRCxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUtELG9HQUFvRztJQUNwRyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFlBQVk7UUFDaEIsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gscUJBQXFCLENBQUMsU0FHckI7UUFDQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksVUFBVSxDQUFXLFFBQVEsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxJQUFJO2lCQUNOLGFBQWEsRUFBRTtpQkFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2YsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNiLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxDQUFDO2lCQUNELE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ0wsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsV0FBVztRQUNmLE9BQU8sTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQS9HVSxpQkFBaUIsa0JBTWxCLHlCQUF5QixhQUN6QixXQUFXO2tIQVBWLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQ2hDLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTREtDb3JlIH0gZnJvbSAnLi4vc2RrY29yZSc7XG5pbXBvcnQgeyBTU1JDb29raWVBZGFwdGVyIH0gZnJvbSAnLi9TU1JDb29raWVBZGFwdGVyJztcbmltcG9ydCB7IEZ1c2lvbkF1dGhDb25maWcsIFVzZXJJbmZvIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBGVVNJT05BVVRIX1NFUlZJQ0VfQ09ORklHIH0gZnJvbSAnLi9pbmplY3Rpb25Ub2tlbic7XG5cbi8qKlxuICogU2VydmljZSBjbGFzcyB0byB1c2Ugd2l0aCBGdXNpb25BdXRoIGJhY2tlbmQgZW5kcG9pbnRzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnVzaW9uQXV0aFNlcnZpY2Uge1xuICBwcml2YXRlIGNvcmU6IFNES0NvcmU7XG4gIHByaXZhdGUgYXV0b1JlZnJlc2hUaW1lcj86IE5vZGVKUy5UaW1lb3V0O1xuICBwcml2YXRlIGlzTG9nZ2VkSW5TdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChGVVNJT05BVVRIX1NFUlZJQ0VfQ09ORklHKSBjb25maWc6IEZ1c2lvbkF1dGhDb25maWcsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxuICApIHtcbiAgICB0aGlzLmNvcmUgPSBuZXcgU0RLQ29yZSh7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBvblRva2VuRXhwaXJhdGlvbjogKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTG9nZ2VkSW5TdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgfSxcbiAgICAgIGNvb2tpZUFkYXB0ZXI6IG5ldyBTU1JDb29raWVBZGFwdGVyKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSxcbiAgICB9KTtcblxuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuY29yZS5pc0xvZ2dlZEluKTtcbiAgICB0aGlzLmlzTG9nZ2VkSW4kID0gdGhpcy5pc0xvZ2dlZEluU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHRoaXMuY29yZS5oYW5kbGVQb3N0UmVkaXJlY3QoY29uZmlnLm9uUmVkaXJlY3QpO1xuXG4gICAgaWYgKGNvbmZpZy5zaG91bGRBdXRvUmVmcmVzaCAmJiB0aGlzLmNvcmUuaXNMb2dnZWRJbikge1xuICAgICAgdGhpcy5pbml0QXV0b1JlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICAvKiogQW4gb2JzZXJ2YWJsZSByZXByZXNlbnRpbmcgd2hldGhlciB0aGUgdXNlciBpcyBsb2dnZWQgaW4uICovXG4gIGlzTG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB3aGV0aGVyIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4gVGhpcyByZXR1cm5lZCB2YWx1ZSBpcyBub24tb2JzZXJ2YWJsZS4gKi9cbiAgaXNMb2dnZWRJbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb3JlLmlzTG9nZ2VkSW47XG4gIH1cblxuICAvKipcbiAgICogUmVmcmVzaGVzIHRoZSBhY2Nlc3MgdG9rZW4gYSBzaW5nbGUgdGltZS5cbiAgICogQXV0b21hdGljIHRva2VuIHJlZnJlc2hpbmcgY2FuIGJlIGVuYWJsZWQgaWYgdGhlIFNESyBpcyBjb25maWd1cmVkIHdpdGggYHNob3VsZEF1dG9SZWZyZXNoYC5cbiAgICovXG4gIGFzeW5jIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29yZS5yZWZyZXNoVG9rZW4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyBhdXRvbWF0aWMgYWNjZXNzIHRva2VuIHJlZnJlc2hpbmcuXG4gICAqIFRoaXMgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvUmVmcmVzaGAuXG4gICAqL1xuICBpbml0QXV0b1JlZnJlc2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b1JlZnJlc2hUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuYXV0b1JlZnJlc2hUaW1lcik7XG4gICAgfVxuXG4gICAgdGhpcy5hdXRvUmVmcmVzaFRpbWVyID0gdGhpcy5jb3JlLmluaXRBdXRvUmVmcmVzaCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSByZXF1ZXN0IHRoYXQgZmV0Y2hlcyB1c2VySW5mbywgYW5kIGNhdGNoZXMgZXJyb3IuXG4gICAqL1xuICBnZXRVc2VySW5mb09ic2VydmFibGUoY2FsbGJhY2tzPzoge1xuICAgIG9uQmVnaW4/OiAoKSA9PiB2b2lkO1xuICAgIG9uRG9uZT86ICgpID0+IHZvaWQ7XG4gIH0pOiBPYnNlcnZhYmxlPFVzZXJJbmZvPiB7XG4gICAgY2FsbGJhY2tzPy5vbkJlZ2luPy4oKTtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8VXNlckluZm8+KG9ic2VydmVyID0+IHtcbiAgICAgIHRoaXMuY29yZVxuICAgICAgICAuZmV0Y2hVc2VySW5mbygpXG4gICAgICAgIC50aGVuKHVzZXJJbmZvID0+IHtcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KHVzZXJJbmZvKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICBjYWxsYmFja3M/Lm9uRG9uZT8uKCk7XG4gICAgICAgIH0pO1xuICAgIH0pLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdXNlckluZm8gZnJvbSB0aGUgJ21lJyBlbmRwb2ludC5cbiAgICogQHRocm93cyB7RXJyb3J9IC0gaWYgYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZmV0Y2hpbmcuXG4gICAqL1xuICBhc3luYyBnZXRVc2VySW5mbygpOiBQcm9taXNlPFVzZXJJbmZvPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29yZS5mZXRjaFVzZXJJbmZvKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIGxvZ2luIGZsb3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhdGVdIC0gT3B0aW9uYWwgdmFsdWUgdG8gYmUgZWNob2VkIGJhY2sgdG8gdGhlIFNESyB1cG9uIHJlZGlyZWN0LlxuICAgKi9cbiAgc3RhcnRMb2dpbihzdGF0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29yZS5zdGFydExvZ2luKHN0YXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWF0ZXMgcmVnaXN0ZXIgZmxvdy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtzdGF0ZV0gLSBPcHRpb25hbCB2YWx1ZSB0byBiZSBlY2hvZWQgYmFjayB0byB0aGUgU0RLIHVwb24gcmVkaXJlY3QuXG4gICAqL1xuICBzdGFydFJlZ2lzdHJhdGlvbihzdGF0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29yZS5zdGFydFJlZ2lzdGVyKHN0YXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWF0ZXMgbG9nb3V0IGZsb3cuXG4gICAqL1xuICBsb2dvdXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb3JlLnN0YXJ0TG9nb3V0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const FUSIONAUTH_SERVICE_CONFIG = new InjectionToken('FUSIONAUTH_SERVICE_CONFIG');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvaW5qZWN0aW9uVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FDekQsMkJBQTJCLENBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnVzaW9uQXV0aENvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgRlVTSU9OQVVUSF9TRVJWSUNFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGdXNpb25BdXRoQ29uZmlnPihcbiAgJ0ZVU0lPTkFVVEhfU0VSVklDRV9DT05GSUcnLFxuKTtcbiJdfQ==
|
package/esm2022/lib/types.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uZmlnIGZvciBGdXNpb25BdXRoIEFuZ3VsYXIgU0RLXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVzaW9uQXV0aENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBzZXJ2ZXIgdGhhdCBwZXJmb3JtcyB0aGUgdG9rZW4gZXhjaGFuZ2UuXG4gICAqL1xuICBzZXJ2ZXJVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNsaWVudCBpZCBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqL1xuICBjbGllbnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVkaXJlY3QgVVJJIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHJlZGlyZWN0VXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWRpcmVjdCBVUkkgZm9yIHBvc3QtbG9nb3V0LiBEZWZhdWx0cyB0aGUgcHJvdmlkZWQgYHJlZGlyZWN0VXJpYC5cbiAgICovXG4gIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIE9BdXRoMiBzY29wZSBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSBgL29hdXRoMi9hdXRob3JpemVgIGVuZHBvaW50LiBJZiBub3Qgc3BlY2lmaWVkIGZ1c2lvbmF1dGggd2lsbCBkZWZhdWx0IHRoaXMgdG8gYG9wZW5pZCBvZmZsaW5lX2FjY2Vzc2AuXG4gICAqL1xuICBzY29wZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlcyBhdXRvbWF0aWMgdG9rZW4gcmVmcmVzaGluZy4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBzaG91bGRBdXRvUmVmcmVzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBiZWZvcmUgdGhlIGFjY2VzcyB0b2tlbiBleHBpcnkgd2hlbiB0aGUgYXV0byByZWZyZXNoIGZ1bmN0aW9uYWxpdHkga2lja3MgaW4gaWYgZW5hYmxlZC4gRGVmYXVsdCBpcyAxMC5cbiAgICovXG4gIGF1dG9SZWZyZXNoU2Vjb25kc0JlZm9yZUV4cGlyeT86IG51bWJlcjtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCB3aXRoIHRoZSBgc3RhdGVgIHZhbHVlIHVwb24gcmVkaXJlY3QgZnJvbSBsb2dpbiBvciByZWdpc3Rlci5cbiAgICovXG4gIG9uUmVkaXJlY3Q/OiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGJlIGludm9rZWQgaWYgYSByZXF1ZXN0IHRvIHJlZnJlc2ggdGhlIGFjY2VzcyB0b2tlbiBmYWlscyBkdXJpbmcgYXV0b3JlZnJlc2guXG4gICAqL1xuICBvbkF1dG9SZWZyZXNoRmFpbHVyZT86IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBsb2dpbiBlbmRwb2ludC5cbiAgICovXG4gIGxvZ2luUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIHJlZ2lzdGVyIGVuZHBvaW50LlxuICAgKi9cbiAgcmVnaXN0ZXJQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgbG9nb3V0IGVuZHBvaW50LlxuICAgKi9cbiAgbG9nb3V0UGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIHRva2VuIHJlZnJlc2ggZW5kcG9pbnQuXG4gICAqL1xuICB0b2tlblJlZnJlc2hQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgbWUgZW5kcG9pbnQuXG4gICAqL1xuICBtZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckluZm8ge1xuICBhcHBsaWNhdGlvbklkPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgZW1haWxfdmVyaWZpZWQ/OiBib29sZWFuO1xuICBmYW1pbHlfbmFtZT86IHN0cmluZztcbiAgZ2l2ZW5fbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbiAgcm9sZXM/OiBhbnlbXTtcbiAgc2lkPzogc3RyaW5nO1xuICBzdWI/OiBzdHJpbmc7XG4gIHRpZD86IHN0cmluZztcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gets the `app.at_exp` cookie and converts it to milliseconds since epoch.
|
|
3
|
+
* Returns -1 if the cookie is not present.
|
|
4
|
+
* @param cookieName - defaults to `app.at_exp`.
|
|
5
|
+
* @param adapter - SSR frameworks like Nuxt, Next, and angular/ssr will pass in an adapter.
|
|
6
|
+
*/
|
|
7
|
+
export function getAccessTokenExpirationMoment(cookieName = 'app.at_exp', adapter) {
|
|
8
|
+
if (adapter) {
|
|
9
|
+
return toMilliseconds(adapter.at_exp(cookieName));
|
|
10
|
+
}
|
|
11
|
+
let cookie;
|
|
12
|
+
try {
|
|
13
|
+
// `document` throws a ReferenceError if this runs in a
|
|
14
|
+
// non-browser environment such as an SSR framework like Nuxt or Next.
|
|
15
|
+
cookie = document.cookie;
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
console.error('Error accessing cookies in fusionauth. If you are using SSR you must configure the SDK with a cookie adapter');
|
|
19
|
+
return -1;
|
|
20
|
+
}
|
|
21
|
+
const expCookie = cookie
|
|
22
|
+
.split('; ')
|
|
23
|
+
.map(c => c.split('='))
|
|
24
|
+
.find(([name]) => name === cookieName);
|
|
25
|
+
const cookieValue = expCookie?.[1];
|
|
26
|
+
return toMilliseconds(cookieValue);
|
|
27
|
+
}
|
|
28
|
+
function toMilliseconds(seconds) {
|
|
29
|
+
if (!seconds)
|
|
30
|
+
return -1;
|
|
31
|
+
else
|
|
32
|
+
return Number(seconds) * 1000;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29va2llSGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvQ29va2llSGVscGVycy9Db29raWVIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxhQUFxQixZQUFZLEVBQ2pDLE9BQXVCO0lBRXZCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDO0lBRVgsSUFBSSxDQUFDO1FBQ0gsdURBQXVEO1FBQ3ZELHNFQUFzRTtRQUN0RSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxDQUFDLEtBQUssQ0FDWCw4R0FBOEcsQ0FDL0csQ0FBQztRQUNGLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTTtTQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDO1NBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7SUFDekMsTUFBTSxXQUFXLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkMsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQU9ELFNBQVMsY0FBYyxDQUFDLE9BQXlCO0lBQy9DLElBQUksQ0FBQyxPQUFPO1FBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQzs7UUFDbkIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdldHMgdGhlIGBhcHAuYXRfZXhwYCBjb29raWUgYW5kIGNvbnZlcnRzIGl0IHRvIG1pbGxpc2Vjb25kcyBzaW5jZSBlcG9jaC5cbiAqIFJldHVybnMgLTEgaWYgdGhlIGNvb2tpZSBpcyBub3QgcHJlc2VudC5cbiAqIEBwYXJhbSBjb29raWVOYW1lIC0gZGVmYXVsdHMgdG8gYGFwcC5hdF9leHBgLlxuICogQHBhcmFtIGFkYXB0ZXIgLSBTU1IgZnJhbWV3b3JrcyBsaWtlIE51eHQsIE5leHQsIGFuZCBhbmd1bGFyL3NzciB3aWxsIHBhc3MgaW4gYW4gYWRhcHRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFjY2Vzc1Rva2VuRXhwaXJhdGlvbk1vbWVudChcbiAgY29va2llTmFtZTogc3RyaW5nID0gJ2FwcC5hdF9leHAnLFxuICBhZGFwdGVyPzogQ29va2llQWRhcHRlcixcbik6IG51bWJlciB8IC0xIHtcbiAgaWYgKGFkYXB0ZXIpIHtcbiAgICByZXR1cm4gdG9NaWxsaXNlY29uZHMoYWRhcHRlci5hdF9leHAoY29va2llTmFtZSkpO1xuICB9XG5cbiAgbGV0IGNvb2tpZTtcblxuICB0cnkge1xuICAgIC8vIGBkb2N1bWVudGAgdGhyb3dzIGEgUmVmZXJlbmNlRXJyb3IgaWYgdGhpcyBydW5zIGluIGFcbiAgICAvLyBub24tYnJvd3NlciBlbnZpcm9ubWVudCBzdWNoIGFzIGFuIFNTUiBmcmFtZXdvcmsgbGlrZSBOdXh0IG9yIE5leHQuXG4gICAgY29va2llID0gZG9jdW1lbnQuY29va2llO1xuICB9IGNhdGNoIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ0Vycm9yIGFjY2Vzc2luZyBjb29raWVzIGluIGZ1c2lvbmF1dGguIElmIHlvdSBhcmUgdXNpbmcgU1NSIHlvdSBtdXN0IGNvbmZpZ3VyZSB0aGUgU0RLIHdpdGggYSBjb29raWUgYWRhcHRlcicsXG4gICAgKTtcbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBjb25zdCBleHBDb29raWUgPSBjb29raWVcbiAgICAuc3BsaXQoJzsgJylcbiAgICAubWFwKGMgPT4gYy5zcGxpdCgnPScpKVxuICAgIC5maW5kKChbbmFtZV0pID0+IG5hbWUgPT09IGNvb2tpZU5hbWUpO1xuICBjb25zdCBjb29raWVWYWx1ZSA9IGV4cENvb2tpZT8uWzFdO1xuXG4gIHJldHVybiB0b01pbGxpc2Vjb25kcyhjb29raWVWYWx1ZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llQWRhcHRlciB7XG4gIC8qKiByZXR1cm5zIHRoZSBgYXBwLmF0X2V4cGAgY29va2llIHdpdGhvdXQgbWFuaXB1bGF0aW5nIHRoZSB2YWx1ZS4gKi9cbiAgYXRfZXhwOiAoY29va2llTmFtZT86IHN0cmluZykgPT4gbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB0b01pbGxpc2Vjb25kcyhzZWNvbmRzPzogbnVtYmVyIHwgc3RyaW5nKTogbnVtYmVyIHtcbiAgaWYgKCFzZWNvbmRzKSByZXR1cm4gLTE7XG4gIGVsc2UgcmV0dXJuIE51bWJlcihzZWNvbmRzKSAqIDEwMDA7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './CookieHelpers';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL0Nvb2tpZUhlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQ29va2llSGVscGVycyc7XG4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** A class responsible for storing a redirect value in localStorage and cleanup afterward. */
|
|
2
|
+
export class RedirectHelper {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.REDIRECT_VALUE = 'fa-sdk-redirect-value';
|
|
5
|
+
}
|
|
6
|
+
get storage() {
|
|
7
|
+
try {
|
|
8
|
+
return localStorage;
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
// fallback for non-browser environments where localStorage is not defined.
|
|
12
|
+
return {
|
|
13
|
+
/* eslint-disable */
|
|
14
|
+
setItem(_key, _value) { },
|
|
15
|
+
getItem(_key) { },
|
|
16
|
+
removeItem(_key) { },
|
|
17
|
+
/* eslint-enable */
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
handlePreRedirect(state) {
|
|
22
|
+
const valueForStorage = `${this.generateRandomString()}:${state ?? ''}`;
|
|
23
|
+
this.storage.setItem(this.REDIRECT_VALUE, valueForStorage);
|
|
24
|
+
}
|
|
25
|
+
handlePostRedirect(callback) {
|
|
26
|
+
const stateValue = this.stateValue ?? undefined;
|
|
27
|
+
callback?.(stateValue);
|
|
28
|
+
this.storage.removeItem(this.REDIRECT_VALUE);
|
|
29
|
+
}
|
|
30
|
+
get didRedirect() {
|
|
31
|
+
return Boolean(this.storage.getItem(this.REDIRECT_VALUE));
|
|
32
|
+
}
|
|
33
|
+
get stateValue() {
|
|
34
|
+
const redirectValue = this.storage.getItem(this.REDIRECT_VALUE);
|
|
35
|
+
if (!redirectValue) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const [, ...stateValue] = redirectValue.split(':');
|
|
39
|
+
return stateValue.join(':');
|
|
40
|
+
}
|
|
41
|
+
generateRandomString() {
|
|
42
|
+
const array = new Uint32Array(56 / 2);
|
|
43
|
+
window.crypto.getRandomValues(array);
|
|
44
|
+
return Array.from(array, (n) => ('0' + n.toString(16)).substring(-2)).join('');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXJlY3RIZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1JlZGlyZWN0SGVscGVyL1JlZGlyZWN0SGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhGQUE4RjtBQUM5RixNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNtQixtQkFBYyxHQUFHLHVCQUF1QixDQUFDO0lBaUQ1RCxDQUFDO0lBaERDLElBQVksT0FBTztRQUNqQixJQUFJLENBQUM7WUFDSCxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsMkVBQTJFO1lBQzNFLE9BQU87Z0JBQ0wsb0JBQW9CO2dCQUNwQixPQUFPLENBQUMsSUFBWSxFQUFFLE1BQWMsSUFBRyxDQUFDO2dCQUN4QyxPQUFPLENBQUMsSUFBWSxJQUFHLENBQUM7Z0JBQ3hCLFVBQVUsQ0FBQyxJQUFZLElBQUcsQ0FBQztnQkFDM0IsbUJBQW1CO2FBQ1QsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYztRQUM5QixNQUFNLGVBQWUsR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFtQztRQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVMsQ0FBQztRQUNoRCxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFZLFVBQVU7UUFDcEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUNyQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3JDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEEgY2xhc3MgcmVzcG9uc2libGUgZm9yIHN0b3JpbmcgYSByZWRpcmVjdCB2YWx1ZSBpbiBsb2NhbFN0b3JhZ2UgYW5kIGNsZWFudXAgYWZ0ZXJ3YXJkLiAqL1xuZXhwb3J0IGNsYXNzIFJlZGlyZWN0SGVscGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBSRURJUkVDVF9WQUxVRSA9ICdmYS1zZGstcmVkaXJlY3QtdmFsdWUnO1xuICBwcml2YXRlIGdldCBzdG9yYWdlKCk6IFN0b3JhZ2Uge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbG9jYWxTdG9yYWdlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gZmFsbGJhY2sgZm9yIG5vbi1icm93c2VyIGVudmlyb25tZW50cyB3aGVyZSBsb2NhbFN0b3JhZ2UgaXMgbm90IGRlZmluZWQuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgICAgICBzZXRJdGVtKF9rZXk6IHN0cmluZywgX3ZhbHVlOiBzdHJpbmcpIHt9LFxuICAgICAgICBnZXRJdGVtKF9rZXk6IHN0cmluZykge30sXG4gICAgICAgIHJlbW92ZUl0ZW0oX2tleTogc3RyaW5nKSB7fSxcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICAgICAgfSBhcyBTdG9yYWdlO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVByZVJlZGlyZWN0KHN0YXRlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgdmFsdWVGb3JTdG9yYWdlID0gYCR7dGhpcy5nZW5lcmF0ZVJhbmRvbVN0cmluZygpfToke3N0YXRlID8/ICcnfWA7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0odGhpcy5SRURJUkVDVF9WQUxVRSwgdmFsdWVGb3JTdG9yYWdlKTtcbiAgfVxuXG4gIGhhbmRsZVBvc3RSZWRpcmVjdChjYWxsYmFjaz86IChzdGF0ZT86IHN0cmluZykgPT4gdm9pZCkge1xuICAgIGNvbnN0IHN0YXRlVmFsdWUgPSB0aGlzLnN0YXRlVmFsdWUgPz8gdW5kZWZpbmVkO1xuICAgIGNhbGxiYWNrPy4oc3RhdGVWYWx1ZSk7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5SRURJUkVDVF9WQUxVRSk7XG4gIH1cblxuICBnZXQgZGlkUmVkaXJlY3QoKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy5SRURJUkVDVF9WQUxVRSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgc3RhdGVWYWx1ZSgpIHtcbiAgICBjb25zdCByZWRpcmVjdFZhbHVlID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy5SRURJUkVDVF9WQUxVRSk7XG5cbiAgICBpZiAoIXJlZGlyZWN0VmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IFssIC4uLnN0YXRlVmFsdWVdID0gcmVkaXJlY3RWYWx1ZS5zcGxpdCgnOicpO1xuICAgIHJldHVybiBzdGF0ZVZhbHVlLmpvaW4oJzonKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVSYW5kb21TdHJpbmcoKSB7XG4gICAgY29uc3QgYXJyYXkgPSBuZXcgVWludDMyQXJyYXkoNTYgLyAyKTtcbiAgICB3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnJheSk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oYXJyYXksIChuOiBudW1iZXIpID0+XG4gICAgICAoJzAnICsgbi50b1N0cmluZygxNikpLnN1YnN0cmluZygtMiksXG4gICAgKS5qb2luKCcnKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './RedirectHelper';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1JlZGlyZWN0SGVscGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL1JlZGlyZWN0SGVscGVyJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvc2RrY29yZS9TREtDb25maWcvU0RLQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb29raWVBZGFwdGVyIH0gZnJvbSAnLi4nO1xuXG4vKipcbiAqIENvbmZpZyBmb3IgRnVzaW9uQXV0aCBXZWIgU0RLc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNES0NvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBzZXJ2ZXIgdGhhdCBwZXJmb3JtcyB0aGUgdG9rZW4gZXhjaGFuZ2UuXG4gICAqL1xuICBzZXJ2ZXJVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNsaWVudCBpZCBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqL1xuICBjbGllbnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVkaXJlY3QgVVJJIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHJlZGlyZWN0VXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBPQXV0aDIgc2NvcGUgcGFyYW1ldGVyIHBhc3NlZCB0byB0aGUgYC9vYXV0aDIvYXV0aG9yaXplYCBlbmRwb2ludC4gSWYgbm90IHNwZWNpZmllZCBmdXNpb25hdXRoIHdpbGwgZGVmYXVsdCB0aGlzIHRvIGBvcGVuaWQgb2ZmbGluZV9hY2Nlc3NgLlxuICAgKi9cbiAgc2NvcGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWRpcmVjdCBVUkkgZm9yIHBvc3QtbG9nb3V0LiBEZWZhdWx0cyB0aGUgcHJvdmlkZWQgYHJlZGlyZWN0VXJpYC5cbiAgICovXG4gIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT86IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlcyBhdXRvbWF0aWMgdG9rZW4gcmVmcmVzaGluZy4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBzaG91bGRBdXRvUmVmcmVzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgdGhlIFNESyB0byBhdXRvbWF0aWNhbGx5IGhhbmRsZSBmZXRjaGluZyB1c2VyIGluZm8gd2hlbiBsb2dnZWQgaW4uIERlZmF1bHRzIHRvIGZhbHNlLlxuICAgKi9cbiAgc2hvdWxkQXV0b0ZldGNoVXNlckluZm8/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmVmb3JlIHRoZSBhY2Nlc3MgdG9rZW4gZXhwaXJ5IHdoZW4gdGhlIGF1dG8gcmVmcmVzaCBmdW5jdGlvbmFsaXR5IGtpY2tzIGluIGlmIGVuYWJsZWQuIERlZmF1bHQgaXMgMzAuXG4gICAqL1xuICBhdXRvUmVmcmVzaFNlY29uZHNCZWZvcmVFeHBpcnk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGludm9rZWQgd2l0aCB0aGUgYHN0YXRlYCB2YWx1ZSB1cG9uIHJlZGlyZWN0IGZyb20gbG9naW4gb3IgcmVnaXN0ZXIuXG4gICAqL1xuICBvblJlZGlyZWN0PzogKHN0YXRlPzogc3RyaW5nKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgbG9naW4gZW5kcG9pbnQuXG4gICAqL1xuICBsb2dpblBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSByZWdpc3RlciBlbmRwb2ludC5cbiAgICovXG4gIHJlZ2lzdGVyUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIGxvZ291dCBlbmRwb2ludC5cbiAgICovXG4gIGxvZ291dFBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSB0b2tlbiByZWZyZXNoIGVuZHBvaW50LlxuICAgKi9cbiAgdG9rZW5SZWZyZXNoUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIG1lIGVuZHBvaW50LlxuICAgKi9cbiAgbWVQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYWNjZXNzIHRva2VuIGV4cGlyYXRpb24gbW9tZW50IGNvb2tpZS5cbiAgICogT25seSBzZXQgdGhpcyBpZiB5b3UgYXJlIGhvc3Rpbmcgc2VydmVyIHRoYXQgdXNlcyBhIGN1c3RvbSBuYW1lIGZvciB0aGUgJ2FwcC5hdF9leHAnIGNvb2tpZS5cbiAgICovXG4gIGFjY2Vzc1Rva2VuRXhwaXJlQ29va2llTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ2FsbGJhY2sgdG8gYmUgaW52b2tlZCBpZiBhIHJlcXVlc3QgdG8gcmVmcmVzaCB0aGUgYWNjZXNzIHRva2VuIGZhaWxzIGR1cmluZyBhdXRvcmVmcmVzaC5cbiAgICovXG4gIG9uQXV0b1JlZnJlc2hGYWlsdXJlPzogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcblxuICAvKipcbiAgICogQWRhcHRlciBwYXR0ZXJuIGZvciBTU1IgZnJhbWV3b3JrcyBzdWNoIGFzIG5leHQgb3IgbnV4dFxuICAgKi9cbiAgY29va2llQWRhcHRlcj86IENvb2tpZUFkYXB0ZXI7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGJlIGludm9rZWQgYXQgdGhlIG1vbWVudCBvZiBhY2Nlc3MgdG9rZW4gZXhwaXJhdGlvblxuICAgKi9cbiAgb25Ub2tlbkV4cGlyYXRpb246ICgpID0+IHZvaWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './SDKConfig';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1NES0NvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vU0RLQ29uZmlnJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvU0RLQ29udGV4dC9TREtDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVGhlIGNvbnRleHQgcHJvdmlkZWQgYnkgRnVzaW9uQXV0aCBXZWIgU0RLcyAqL1xuZXhwb3J0IGludGVyZmFjZSBTREtDb250ZXh0IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLlxuICAgKi9cbiAgaXNMb2dnZWRJbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGF0YSBmZXRjaGVkIGZyb20gdGhlIGNvbmZpZ3VyZWQgJ21lJyBlbmRwb2ludC5cbiAgICovXG4gIHVzZXJJbmZvOiBVc2VySW5mbyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdXNlciBpbmZvIGZyb20gdGhlICdtZScgZW5kcG9pbnQuXG4gICAqIFRoaXMgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvRmV0Y2hVc2VySW5mb2AuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFVzZXJJbmZvPn1cbiAgICovXG4gIGZldGNoVXNlckluZm86ICgpID0+IFByb21pc2U8VXNlckluZm8gfCB1bmRlZmluZWQ+O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZmV0Y2hVc2VySW5mbyBjYWxsIGlzIHVucmVzb2x2ZWQuXG4gICAqL1xuICBpc0ZldGNoaW5nVXNlckluZm86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVycm9yIG9jY3VycmVkIHdoaWxlIGZldGNoaW5nIHVzZXJJbmZvLlxuICAgKi9cbiAgZXJyb3I6IEVycm9yIHwgbnVsbDtcblxuICAvKipcbiAgICogSW5pdGlhdGVzIGxvZ2luIGZsb3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhdGVdIC0gT3B0aW9uYWwgdmFsdWUgdG8gYmUgZWNob2VkIGJhY2sgdG8gdGhlIFNESyB1cG9uIHJlZGlyZWN0LlxuICAgKi9cbiAgc3RhcnRMb2dpbjogKHN0YXRlPzogc3RyaW5nKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBJbml0aWF0ZXMgcmVnaXN0ZXIgZmxvdy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtzdGF0ZV0gLSBPcHRpb25hbCB2YWx1ZSB0byBiZSBlY2hvZWQgYmFjayB0byB0aGUgU0RLIHVwb24gcmVkaXJlY3QuXG4gICAqL1xuICBzdGFydFJlZ2lzdGVyOiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEluaXRpYXRlcyBsb2dvdXQgZmxvdy5cbiAgICovXG4gIHN0YXJ0TG9nb3V0OiAoKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIGFjY2VzcyB0b2tlbiBhIHNpbmdsZSB0aW1lLlxuICAgKiBUaGlzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSBpZiB0aGUgU0RLIGlzIGNvbmZpZ3VyZWQgd2l0aCBgc2hvdWxkQXV0b1JlZnJlc2hgLlxuICAgKi9cbiAgcmVmcmVzaFRva2VuOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyBhdXRvbWF0aWMgYWNjZXNzIHRva2VuIHJlZnJlc2hpbmcuXG4gICAqIFRoaXMgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvUmVmcmVzaGAuXG4gICAqL1xuICBpbml0QXV0b1JlZnJlc2g6ICgpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogVXNlciBpbmZvcm1hdGlvbiByZXR1cm5lZCBmcm9tIEZ1c2lvbkF1dGguXG4gKi9cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0ge1xuICBhcHBsaWNhdGlvbklkPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgZW1haWxfdmVyaWZpZWQ/OiBib29sZWFuO1xuICBmYW1pbHlfbmFtZT86IHN0cmluZztcbiAgZ2l2ZW5fbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbiAgcm9sZXM/OiBhbnlbXTtcbiAgc2lkPzogc3RyaW5nO1xuICBzdWI/OiBzdHJpbmc7XG4gIHRpZD86IHN0cmluZztcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './SDKContext';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1NES0NvbnRleHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL1NES0NvbnRleHQnO1xuIl19
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { UrlHelper } from '../UrlHelper';
|
|
2
|
+
import { RedirectHelper } from '../RedirectHelper';
|
|
3
|
+
import { getAccessTokenExpirationMoment } from '../CookieHelpers';
|
|
4
|
+
/** A class containing framework-agnostic SDK methods */
|
|
5
|
+
export class SDKCore {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
this.redirectHelper = new RedirectHelper();
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.urlHelper = new UrlHelper({
|
|
10
|
+
serverUrl: config.serverUrl,
|
|
11
|
+
clientId: config.clientId,
|
|
12
|
+
redirectUri: config.redirectUri,
|
|
13
|
+
scope: config.scope,
|
|
14
|
+
mePath: config.mePath,
|
|
15
|
+
loginPath: config.loginPath,
|
|
16
|
+
registerPath: config.registerPath,
|
|
17
|
+
logoutPath: config.logoutPath,
|
|
18
|
+
tokenRefreshPath: config.tokenRefreshPath,
|
|
19
|
+
postLogoutRedirectUri: config.postLogoutRedirectUri,
|
|
20
|
+
});
|
|
21
|
+
this.scheduleTokenExpiration();
|
|
22
|
+
}
|
|
23
|
+
startLogin(state) {
|
|
24
|
+
this.redirectHelper.handlePreRedirect(state);
|
|
25
|
+
window.location.assign(this.urlHelper.getLoginUrl(state));
|
|
26
|
+
}
|
|
27
|
+
startRegister(state) {
|
|
28
|
+
this.redirectHelper.handlePreRedirect(state);
|
|
29
|
+
window.location.assign(this.urlHelper.getRegisterUrl(state));
|
|
30
|
+
}
|
|
31
|
+
startLogout() {
|
|
32
|
+
window.location.assign(this.urlHelper.getLogoutUrl());
|
|
33
|
+
}
|
|
34
|
+
async fetchUserInfo() {
|
|
35
|
+
const userInfoResponse = await fetch(this.urlHelper.getMeUrl(), {
|
|
36
|
+
credentials: 'include',
|
|
37
|
+
});
|
|
38
|
+
if (!userInfoResponse.ok) {
|
|
39
|
+
throw new Error(`Unable to fetch userInfo in fusionauth. Request failed with status code ${userInfoResponse?.status}`);
|
|
40
|
+
}
|
|
41
|
+
const userInfo = await userInfoResponse.json();
|
|
42
|
+
return userInfo;
|
|
43
|
+
}
|
|
44
|
+
async refreshToken() {
|
|
45
|
+
const response = await fetch(this.urlHelper.getTokenRefreshUrl(), {
|
|
46
|
+
method: 'POST',
|
|
47
|
+
credentials: 'include',
|
|
48
|
+
headers: {
|
|
49
|
+
'Content-Type': 'text/plain',
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
if (!(response.status >= 200 && response.status < 300)) {
|
|
53
|
+
const message = (await response?.text()) ||
|
|
54
|
+
'Error refreshing access token in fusionauth';
|
|
55
|
+
throw new Error(message);
|
|
56
|
+
}
|
|
57
|
+
// a successful request means that app_exp was bumped into the future.
|
|
58
|
+
// reschedule the access token expiration event.
|
|
59
|
+
this.scheduleTokenExpiration();
|
|
60
|
+
return response;
|
|
61
|
+
}
|
|
62
|
+
initAutoRefresh() {
|
|
63
|
+
if (!this.isLoggedIn) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const secondsBeforeRefresh = this.config.autoRefreshSecondsBeforeExpiry ?? 10;
|
|
67
|
+
const millisecondsBeforeRefresh = secondsBeforeRefresh * 1000;
|
|
68
|
+
const now = new Date().getTime();
|
|
69
|
+
const refreshTime = this.at_exp - millisecondsBeforeRefresh;
|
|
70
|
+
const timeTillRefresh = Math.max(refreshTime - now, 0);
|
|
71
|
+
return setTimeout(async () => {
|
|
72
|
+
try {
|
|
73
|
+
await this.refreshToken();
|
|
74
|
+
this.initAutoRefresh();
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
this.config.onAutoRefreshFailure?.(error);
|
|
78
|
+
}
|
|
79
|
+
}, timeTillRefresh);
|
|
80
|
+
}
|
|
81
|
+
handlePostRedirect(callback) {
|
|
82
|
+
if (this.isLoggedIn && this.redirectHelper.didRedirect) {
|
|
83
|
+
this.redirectHelper.handlePostRedirect(callback);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
get isLoggedIn() {
|
|
87
|
+
return this.at_exp > new Date().getTime();
|
|
88
|
+
}
|
|
89
|
+
/** The moment of access token expiration in milliseconds since epoch. */
|
|
90
|
+
get at_exp() {
|
|
91
|
+
return getAccessTokenExpirationMoment(this.config.accessTokenExpireCookieName, this.config.cookieAdapter);
|
|
92
|
+
}
|
|
93
|
+
/** Schedules `onTokenExpiration` at moment of access token expiration. */
|
|
94
|
+
scheduleTokenExpiration() {
|
|
95
|
+
clearTimeout(this.tokenExpirationTimeout);
|
|
96
|
+
const now = new Date().getTime();
|
|
97
|
+
const millisecondsTillExpiration = this.at_exp - now;
|
|
98
|
+
if (millisecondsTillExpiration > 0) {
|
|
99
|
+
this.tokenExpirationTimeout = setTimeout(this.config.onTokenExpiration, millisecondsTillExpiration);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvU0RLQ29yZS9TREtDb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxFLHdEQUF3RDtBQUN4RCxNQUFNLE9BQU8sT0FBTztJQU1sQixZQUFZLE1BQWlCO1FBSHJCLG1CQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFJNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM3QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7WUFDakMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDekMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLHFCQUFxQjtTQUNwRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhO1FBQ2pCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUM5RCxXQUFXLEVBQUUsU0FBUztTQUN2QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FDYiwyRUFBMkUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLENBQ3RHLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQWEsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVk7UUFDaEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO1lBQ2hFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsV0FBVyxFQUFFLFNBQVM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxZQUFZO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sT0FBTyxHQUNYLENBQUMsTUFBTSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLDZDQUE2QyxDQUFDO1lBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUVELHNFQUFzRTtRQUN0RSxnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFFL0IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxvQkFBb0IsR0FDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsSUFBSSxFQUFFLENBQUM7UUFFbkQsTUFBTSx5QkFBeUIsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFFOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLHlCQUF5QixDQUFDO1FBQzVELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV2RCxPQUFPLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUMzQixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUMsS0FBYyxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBbUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCx5RUFBeUU7SUFDekUsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sOEJBQThCLENBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLEVBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELDBFQUEwRTtJQUNsRSx1QkFBdUI7UUFDN0IsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUVyRCxJQUFJLDBCQUEwQixHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQzdCLDBCQUEwQixDQUMzQixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVybEhlbHBlciB9IGZyb20gJy4uL1VybEhlbHBlcic7XG5pbXBvcnQgeyBTREtDb25maWcgfSBmcm9tICcuLi9TREtDb25maWcnO1xuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuLi9TREtDb250ZXh0JztcbmltcG9ydCB7IFJlZGlyZWN0SGVscGVyIH0gZnJvbSAnLi4vUmVkaXJlY3RIZWxwZXInO1xuaW1wb3J0IHsgZ2V0QWNjZXNzVG9rZW5FeHBpcmF0aW9uTW9tZW50IH0gZnJvbSAnLi4vQ29va2llSGVscGVycyc7XG5cbi8qKiBBIGNsYXNzIGNvbnRhaW5pbmcgZnJhbWV3b3JrLWFnbm9zdGljIFNESyBtZXRob2RzICovXG5leHBvcnQgY2xhc3MgU0RLQ29yZSB7XG4gIHByaXZhdGUgY29uZmlnOiBTREtDb25maWc7XG4gIHByaXZhdGUgdXJsSGVscGVyOiBVcmxIZWxwZXI7XG4gIHByaXZhdGUgcmVkaXJlY3RIZWxwZXI6IFJlZGlyZWN0SGVscGVyID0gbmV3IFJlZGlyZWN0SGVscGVyKCk7XG4gIHByaXZhdGUgdG9rZW5FeHBpcmF0aW9uVGltZW91dD86IE5vZGVKUy5UaW1lb3V0O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogU0RLQ29uZmlnKSB7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy51cmxIZWxwZXIgPSBuZXcgVXJsSGVscGVyKHtcbiAgICAgIHNlcnZlclVybDogY29uZmlnLnNlcnZlclVybCxcbiAgICAgIGNsaWVudElkOiBjb25maWcuY2xpZW50SWQsXG4gICAgICByZWRpcmVjdFVyaTogY29uZmlnLnJlZGlyZWN0VXJpLFxuICAgICAgc2NvcGU6IGNvbmZpZy5zY29wZSxcbiAgICAgIG1lUGF0aDogY29uZmlnLm1lUGF0aCxcbiAgICAgIGxvZ2luUGF0aDogY29uZmlnLmxvZ2luUGF0aCxcbiAgICAgIHJlZ2lzdGVyUGF0aDogY29uZmlnLnJlZ2lzdGVyUGF0aCxcbiAgICAgIGxvZ291dFBhdGg6IGNvbmZpZy5sb2dvdXRQYXRoLFxuICAgICAgdG9rZW5SZWZyZXNoUGF0aDogY29uZmlnLnRva2VuUmVmcmVzaFBhdGgsXG4gICAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IGNvbmZpZy5wb3N0TG9nb3V0UmVkaXJlY3RVcmksXG4gICAgfSk7XG4gICAgdGhpcy5zY2hlZHVsZVRva2VuRXhwaXJhdGlvbigpO1xuICB9XG5cbiAgc3RhcnRMb2dpbihzdGF0ZT86IHN0cmluZykge1xuICAgIHRoaXMucmVkaXJlY3RIZWxwZXIuaGFuZGxlUHJlUmVkaXJlY3Qoc3RhdGUpO1xuICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24odGhpcy51cmxIZWxwZXIuZ2V0TG9naW5Vcmwoc3RhdGUpKTtcbiAgfVxuXG4gIHN0YXJ0UmVnaXN0ZXIoc3RhdGU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlZGlyZWN0SGVscGVyLmhhbmRsZVByZVJlZGlyZWN0KHN0YXRlKTtcbiAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKHRoaXMudXJsSGVscGVyLmdldFJlZ2lzdGVyVXJsKHN0YXRlKSk7XG4gIH1cblxuICBzdGFydExvZ291dCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKHRoaXMudXJsSGVscGVyLmdldExvZ291dFVybCgpKTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoVXNlckluZm8oKSB7XG4gICAgY29uc3QgdXNlckluZm9SZXNwb25zZSA9IGF3YWl0IGZldGNoKHRoaXMudXJsSGVscGVyLmdldE1lVXJsKCksIHtcbiAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgfSk7XG5cbiAgICBpZiAoIXVzZXJJbmZvUmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuYWJsZSB0byBmZXRjaCB1c2VySW5mbyBpbiBmdXNpb25hdXRoLiBSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICR7dXNlckluZm9SZXNwb25zZT8uc3RhdHVzfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXJJbmZvOiBVc2VySW5mbyA9IGF3YWl0IHVzZXJJbmZvUmVzcG9uc2UuanNvbigpO1xuICAgIHJldHVybiB1c2VySW5mbztcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLnVybEhlbHBlci5nZXRUb2tlblJlZnJlc2hVcmwoKSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ3RleHQvcGxhaW4nLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmICghKHJlc3BvbnNlLnN0YXR1cyA+PSAyMDAgJiYgcmVzcG9uc2Uuc3RhdHVzIDwgMzAwKSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgIChhd2FpdCByZXNwb25zZT8udGV4dCgpKSB8fFxuICAgICAgICAnRXJyb3IgcmVmcmVzaGluZyBhY2Nlc3MgdG9rZW4gaW4gZnVzaW9uYXV0aCc7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLy8gYSBzdWNjZXNzZnVsIHJlcXVlc3QgbWVhbnMgdGhhdCBhcHBfZXhwIHdhcyBidW1wZWQgaW50byB0aGUgZnV0dXJlLlxuICAgIC8vIHJlc2NoZWR1bGUgdGhlIGFjY2VzcyB0b2tlbiBleHBpcmF0aW9uIGV2ZW50LlxuICAgIHRoaXMuc2NoZWR1bGVUb2tlbkV4cGlyYXRpb24oKTtcblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIGluaXRBdXRvUmVmcmVzaCgpOiBOb2RlSlMuVGltZW91dCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLmlzTG9nZ2VkSW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRzQmVmb3JlUmVmcmVzaCA9XG4gICAgICB0aGlzLmNvbmZpZy5hdXRvUmVmcmVzaFNlY29uZHNCZWZvcmVFeHBpcnkgPz8gMTA7XG5cbiAgICBjb25zdCBtaWxsaXNlY29uZHNCZWZvcmVSZWZyZXNoID0gc2Vjb25kc0JlZm9yZVJlZnJlc2ggKiAxMDAwO1xuXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgY29uc3QgcmVmcmVzaFRpbWUgPSB0aGlzLmF0X2V4cCAtIG1pbGxpc2Vjb25kc0JlZm9yZVJlZnJlc2g7XG4gICAgY29uc3QgdGltZVRpbGxSZWZyZXNoID0gTWF0aC5tYXgocmVmcmVzaFRpbWUgLSBub3csIDApO1xuXG4gICAgcmV0dXJuIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICAgICAgdGhpcy5pbml0QXV0b1JlZnJlc2goKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLm9uQXV0b1JlZnJlc2hGYWlsdXJlPy4oZXJyb3IgYXMgRXJyb3IpO1xuICAgICAgfVxuICAgIH0sIHRpbWVUaWxsUmVmcmVzaCk7XG4gIH1cblxuICBoYW5kbGVQb3N0UmVkaXJlY3QoY2FsbGJhY2s/OiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICBpZiAodGhpcy5pc0xvZ2dlZEluICYmIHRoaXMucmVkaXJlY3RIZWxwZXIuZGlkUmVkaXJlY3QpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RIZWxwZXIuaGFuZGxlUG9zdFJlZGlyZWN0KGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNMb2dnZWRJbigpIHtcbiAgICByZXR1cm4gdGhpcy5hdF9leHAgPiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgfVxuXG4gIC8qKiBUaGUgbW9tZW50IG9mIGFjY2VzcyB0b2tlbiBleHBpcmF0aW9uIGluIG1pbGxpc2Vjb25kcyBzaW5jZSBlcG9jaC4gKi9cbiAgcHJpdmF0ZSBnZXQgYXRfZXhwKCk6IG51bWJlciB8IC0xIHtcbiAgICByZXR1cm4gZ2V0QWNjZXNzVG9rZW5FeHBpcmF0aW9uTW9tZW50KFxuICAgICAgdGhpcy5jb25maWcuYWNjZXNzVG9rZW5FeHBpcmVDb29raWVOYW1lLFxuICAgICAgdGhpcy5jb25maWcuY29va2llQWRhcHRlcixcbiAgICApO1xuICB9XG5cbiAgLyoqIFNjaGVkdWxlcyBgb25Ub2tlbkV4cGlyYXRpb25gIGF0IG1vbWVudCBvZiBhY2Nlc3MgdG9rZW4gZXhwaXJhdGlvbi4gKi9cbiAgcHJpdmF0ZSBzY2hlZHVsZVRva2VuRXhwaXJhdGlvbigpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50b2tlbkV4cGlyYXRpb25UaW1lb3V0KTtcblxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IG1pbGxpc2Vjb25kc1RpbGxFeHBpcmF0aW9uID0gdGhpcy5hdF9leHAgLSBub3c7XG5cbiAgICBpZiAobWlsbGlzZWNvbmRzVGlsbEV4cGlyYXRpb24gPiAwKSB7XG4gICAgICB0aGlzLnRva2VuRXhwaXJhdGlvblRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICB0aGlzLmNvbmZpZy5vblRva2VuRXhwaXJhdGlvbixcbiAgICAgICAgbWlsbGlzZWNvbmRzVGlsbEV4cGlyYXRpb24sXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './SDKCore';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1NES0NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL1NES0NvcmUnO1xuIl19
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/** A class responsible for generating URLs that FusionAuth SDKs interact with. */
|
|
2
|
+
export class UrlHelper {
|
|
3
|
+
constructor(config) {
|
|
4
|
+
this.serverUrl = config.serverUrl;
|
|
5
|
+
this.clientId = config.clientId;
|
|
6
|
+
this.redirectUri = config.redirectUri;
|
|
7
|
+
this.scope = config.scope;
|
|
8
|
+
this.postLogoutRedirectUri = config.postLogoutRedirectUri;
|
|
9
|
+
this.mePath = config.mePath ?? '/app/me';
|
|
10
|
+
this.loginPath = config.loginPath ?? '/app/login';
|
|
11
|
+
this.registerPath = config.registerPath ?? '/app/register';
|
|
12
|
+
this.logoutPath = config.logoutPath ?? '/app/logout';
|
|
13
|
+
this.tokenRefreshPath = config.tokenRefreshPath ?? '/app/refresh';
|
|
14
|
+
}
|
|
15
|
+
getMeUrl() {
|
|
16
|
+
return this.generateUrl(this.mePath);
|
|
17
|
+
}
|
|
18
|
+
getLoginUrl(state) {
|
|
19
|
+
return this.generateUrl(this.loginPath, {
|
|
20
|
+
client_id: this.clientId,
|
|
21
|
+
redirect_uri: this.redirectUri,
|
|
22
|
+
scope: this.scope,
|
|
23
|
+
state,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
getRegisterUrl(state) {
|
|
27
|
+
return this.generateUrl(this.registerPath, {
|
|
28
|
+
client_id: this.clientId,
|
|
29
|
+
redirect_uri: this.redirectUri,
|
|
30
|
+
scope: this.scope,
|
|
31
|
+
state,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
getLogoutUrl() {
|
|
35
|
+
return this.generateUrl(this.logoutPath, {
|
|
36
|
+
client_id: this.clientId,
|
|
37
|
+
post_logout_redirect_uri: this.postLogoutRedirectUri || this.redirectUri,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
getTokenRefreshUrl() {
|
|
41
|
+
return this.generateUrl(this.tokenRefreshPath, {
|
|
42
|
+
client_id: this.clientId,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
generateUrl(path, params) {
|
|
46
|
+
const url = new URL(this.serverUrl);
|
|
47
|
+
url.pathname = path;
|
|
48
|
+
if (params) {
|
|
49
|
+
const urlSearchParams = this.generateURLSearchParams(params);
|
|
50
|
+
url.search = urlSearchParams.toString();
|
|
51
|
+
}
|
|
52
|
+
return url;
|
|
53
|
+
}
|
|
54
|
+
generateURLSearchParams(params) {
|
|
55
|
+
const urlSearchParams = new URLSearchParams();
|
|
56
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
57
|
+
if (value) {
|
|
58
|
+
urlSearchParams.append(key, value);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
return urlSearchParams;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXJsSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvc2RrY29yZS9VcmxIZWxwZXIvVXJsSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtGQUFrRjtBQUNsRixNQUFNLE9BQU8sU0FBUztJQWFwQixZQUFZLE1BQXVCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBRTFELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUM7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQztRQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksZUFBZSxDQUFDO1FBQzNELElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxhQUFhLENBQUM7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxjQUFjLENBQUM7SUFDcEUsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYztRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDeEIsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzlCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixLQUFLO1NBQ04sQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFjO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3pDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDOUIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEtBQUs7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN4Qix3QkFBd0IsRUFBRSxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLFdBQVc7U0FDekUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzdDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVyxDQUFDLElBQVksRUFBRSxNQUE2QjtRQUM3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFcEIsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3RCxHQUFHLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQyxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sdUJBQXVCLENBQzdCLE1BQTRCO1FBRTVCLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFFOUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQzlDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsZUFBZSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXJsSGVscGVyQ29uZmlnLCBVcmxIZWxwZXJRdWVyeVBhcmFtcyB9IGZyb20gJy4vVXJsSGVscGVyVHlwZXMnO1xuXG4vKiogQSBjbGFzcyByZXNwb25zaWJsZSBmb3IgZ2VuZXJhdGluZyBVUkxzIHRoYXQgRnVzaW9uQXV0aCBTREtzIGludGVyYWN0IHdpdGguICovXG5leHBvcnQgY2xhc3MgVXJsSGVscGVyIHtcbiAgc2VydmVyVXJsOiBzdHJpbmc7XG4gIGNsaWVudElkOiBzdHJpbmc7XG4gIHJlZGlyZWN0VXJpOiBzdHJpbmc7XG4gIHNjb3BlPzogc3RyaW5nO1xuXG4gIG1lUGF0aDogc3RyaW5nO1xuICBsb2dpblBhdGg6IHN0cmluZztcbiAgcmVnaXN0ZXJQYXRoOiBzdHJpbmc7XG4gIGxvZ291dFBhdGg6IHN0cmluZztcbiAgdG9rZW5SZWZyZXNoUGF0aDogc3RyaW5nO1xuICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBVcmxIZWxwZXJDb25maWcpIHtcbiAgICB0aGlzLnNlcnZlclVybCA9IGNvbmZpZy5zZXJ2ZXJVcmw7XG4gICAgdGhpcy5jbGllbnRJZCA9IGNvbmZpZy5jbGllbnRJZDtcbiAgICB0aGlzLnJlZGlyZWN0VXJpID0gY29uZmlnLnJlZGlyZWN0VXJpO1xuICAgIHRoaXMuc2NvcGUgPSBjb25maWcuc2NvcGU7XG4gICAgdGhpcy5wb3N0TG9nb3V0UmVkaXJlY3RVcmkgPSBjb25maWcucG9zdExvZ291dFJlZGlyZWN0VXJpO1xuXG4gICAgdGhpcy5tZVBhdGggPSBjb25maWcubWVQYXRoID8/ICcvYXBwL21lJztcbiAgICB0aGlzLmxvZ2luUGF0aCA9IGNvbmZpZy5sb2dpblBhdGggPz8gJy9hcHAvbG9naW4nO1xuICAgIHRoaXMucmVnaXN0ZXJQYXRoID0gY29uZmlnLnJlZ2lzdGVyUGF0aCA/PyAnL2FwcC9yZWdpc3Rlcic7XG4gICAgdGhpcy5sb2dvdXRQYXRoID0gY29uZmlnLmxvZ291dFBhdGggPz8gJy9hcHAvbG9nb3V0JztcbiAgICB0aGlzLnRva2VuUmVmcmVzaFBhdGggPSBjb25maWcudG9rZW5SZWZyZXNoUGF0aCA/PyAnL2FwcC9yZWZyZXNoJztcbiAgfVxuXG4gIGdldE1lVXJsKCk6IFVSTCB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVVcmwodGhpcy5tZVBhdGgpO1xuICB9XG5cbiAgZ2V0TG9naW5Vcmwoc3RhdGU/OiBzdHJpbmcpOiBVUkwge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlVXJsKHRoaXMubG9naW5QYXRoLCB7XG4gICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50SWQsXG4gICAgICByZWRpcmVjdF91cmk6IHRoaXMucmVkaXJlY3RVcmksXG4gICAgICBzY29wZTogdGhpcy5zY29wZSxcbiAgICAgIHN0YXRlLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0UmVnaXN0ZXJVcmwoc3RhdGU/OiBzdHJpbmcpOiBVUkwge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlVXJsKHRoaXMucmVnaXN0ZXJQYXRoLCB7XG4gICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50SWQsXG4gICAgICByZWRpcmVjdF91cmk6IHRoaXMucmVkaXJlY3RVcmksXG4gICAgICBzY29wZTogdGhpcy5zY29wZSxcbiAgICAgIHN0YXRlLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0TG9nb3V0VXJsKCk6IFVSTCB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVVcmwodGhpcy5sb2dvdXRQYXRoLCB7XG4gICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50SWQsXG4gICAgICBwb3N0X2xvZ291dF9yZWRpcmVjdF91cmk6IHRoaXMucG9zdExvZ291dFJlZGlyZWN0VXJpIHx8IHRoaXMucmVkaXJlY3RVcmksXG4gICAgfSk7XG4gIH1cblxuICBnZXRUb2tlblJlZnJlc2hVcmwoKTogVVJMIHtcbiAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZVVybCh0aGlzLnRva2VuUmVmcmVzaFBhdGgsIHtcbiAgICAgIGNsaWVudF9pZDogdGhpcy5jbGllbnRJZCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVcmwocGF0aDogc3RyaW5nLCBwYXJhbXM/OiBVcmxIZWxwZXJRdWVyeVBhcmFtcyk6IFVSTCB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLnNlcnZlclVybCk7XG4gICAgdXJsLnBhdGhuYW1lID0gcGF0aDtcblxuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGNvbnN0IHVybFNlYXJjaFBhcmFtcyA9IHRoaXMuZ2VuZXJhdGVVUkxTZWFyY2hQYXJhbXMocGFyYW1zKTtcbiAgICAgIHVybC5zZWFyY2ggPSB1cmxTZWFyY2hQYXJhbXMudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVSTFNlYXJjaFBhcmFtcyhcbiAgICBwYXJhbXM6IFVybEhlbHBlclF1ZXJ5UGFyYW1zLFxuICApOiBVUkxTZWFyY2hQYXJhbXMge1xuICAgIGNvbnN0IHVybFNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcblxuICAgIE9iamVjdC5lbnRyaWVzKHBhcmFtcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdXJsU2VhcmNoUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB1cmxTZWFyY2hQYXJhbXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXJsSGVscGVyVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1VybEhlbHBlci9VcmxIZWxwZXJUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0RLQ29uZmlnIH0gZnJvbSAnLi4vU0RLQ29uZmlnJztcblxuLyoqIEEgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIHRoZSBVcmxIZWxwZXIgY2xhc3MuICovXG5leHBvcnQgdHlwZSBVcmxIZWxwZXJDb25maWcgPSBQaWNrPFxuICBTREtDb25maWcsXG4gIHwgJ3NlcnZlclVybCdcbiAgfCAnY2xpZW50SWQnXG4gIHwgJ3JlZGlyZWN0VXJpJ1xuICB8ICdtZVBhdGgnXG4gIHwgJ2xvZ2luUGF0aCdcbiAgfCAncmVnaXN0ZXJQYXRoJ1xuICB8ICdsb2dvdXRQYXRoJ1xuICB8ICd0b2tlblJlZnJlc2hQYXRoJ1xuICB8ICdzY29wZSdcbiAgfCAncG9zdExvZ291dFJlZGlyZWN0VXJpJ1xuPjtcblxuLyoqIFRoZSBxdWVyeSBwYXJhbXMgYXNzb2NpYXRlZCB3aXRoIFVSTHMgZ2VuZXJhdGVkIGJ5IHRoZSBVcmxIZWxwZXIgY2xhc3MuICovXG5leHBvcnQgdHlwZSBVcmxIZWxwZXJRdWVyeVBhcmFtcyA9IHtcbiAgY2xpZW50X2lkOiBzdHJpbmc7XG4gIHJlZGlyZWN0X3VyaT86IHN0cmluZztcbiAgcG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpPzogc3RyaW5nO1xuICBzY29wZT86IHN0cmluZztcbiAgc3RhdGU/OiBzdHJpbmc7XG59O1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './UrlHelper';
|
|
2
|
+
export * from './UrlHelperTypes';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL1VybEhlbHBlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9VcmxIZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9VcmxIZWxwZXJUeXBlcyc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './SDKCore';
|
|
2
|
+
export * from './SDKConfig';
|
|
3
|
+
export * from './SDKContext';
|
|
4
|
+
export * from './testUtils';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9TREtDb3JlJztcbmV4cG9ydCAqIGZyb20gJy4vU0RLQ29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vU0RLQ29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RVdGlscyc7XG5leHBvcnQgeyB0eXBlIENvb2tpZUFkYXB0ZXIgfSBmcm9tICcuL0Nvb2tpZUhlbHBlcnMnO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './mockLoggedIn';
|
|
2
|
+
export * from './mockWindowLocation';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9zZGtjb3JlL3Rlc3RVdGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vY2tMb2dnZWRJbic7XG5leHBvcnQgKiBmcm9tICcuL21vY2tXaW5kb3dMb2NhdGlvbic7XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Sets `app.at_exp` moment cookie so the user will be logged in for 1 hour. */
|
|
2
|
+
function mockIsLoggedIn() {
|
|
3
|
+
const expirationMoment = new Date();
|
|
4
|
+
expirationMoment.setHours(expirationMoment.getHours() + 1);
|
|
5
|
+
const oneHourInTheFutureInMilliseconds = expirationMoment.getTime() / 1000;
|
|
6
|
+
document.cookie = `app.at_exp=${oneHourInTheFutureInMilliseconds}`;
|
|
7
|
+
}
|
|
8
|
+
/** Removes the `app.at_exp` cookie. */
|
|
9
|
+
function removeAt_expCookie() {
|
|
10
|
+
document.cookie = 'app.at_exp' + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';
|
|
11
|
+
}
|
|
12
|
+
export { mockIsLoggedIn, removeAt_expCookie };
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja0xvZ2dlZEluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvc2RrY29yZS90ZXN0VXRpbHMvbW9ja0xvZ2dlZEluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdGQUFnRjtBQUNoRixTQUFTLGNBQWM7SUFDckIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3BDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRCxNQUFNLGdDQUFnQyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztJQUMzRSxRQUFRLENBQUMsTUFBTSxHQUFHLGNBQWMsZ0NBQWdDLEVBQUUsQ0FBQztBQUNyRSxDQUFDO0FBRUQsdUNBQXVDO0FBQ3ZDLFNBQVMsa0JBQWtCO0lBQ3pCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsWUFBWSxHQUFHLHlDQUF5QyxDQUFDO0FBQzdFLENBQUM7QUFFRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogU2V0cyBgYXBwLmF0X2V4cGAgbW9tZW50IGNvb2tpZSBzbyB0aGUgdXNlciB3aWxsIGJlIGxvZ2dlZCBpbiBmb3IgMSBob3VyLiAqL1xuZnVuY3Rpb24gbW9ja0lzTG9nZ2VkSW4oKSB7XG4gIGNvbnN0IGV4cGlyYXRpb25Nb21lbnQgPSBuZXcgRGF0ZSgpO1xuICBleHBpcmF0aW9uTW9tZW50LnNldEhvdXJzKGV4cGlyYXRpb25Nb21lbnQuZ2V0SG91cnMoKSArIDEpO1xuICBjb25zdCBvbmVIb3VySW5UaGVGdXR1cmVJbk1pbGxpc2Vjb25kcyA9IGV4cGlyYXRpb25Nb21lbnQuZ2V0VGltZSgpIC8gMTAwMDtcbiAgZG9jdW1lbnQuY29va2llID0gYGFwcC5hdF9leHA9JHtvbmVIb3VySW5UaGVGdXR1cmVJbk1pbGxpc2Vjb25kc31gO1xufVxuXG4vKiogUmVtb3ZlcyB0aGUgYGFwcC5hdF9leHBgIGNvb2tpZS4gKi9cbmZ1bmN0aW9uIHJlbW92ZUF0X2V4cENvb2tpZSgpIHtcbiAgZG9jdW1lbnQuY29va2llID0gJ2FwcC5hdF9leHAnICsgJz07ZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCc7XG59XG5cbmV4cG9ydCB7IG1vY2tJc0xvZ2dlZEluLCByZW1vdmVBdF9leHBDb29raWUgfTtcbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
function mockWindowLocation(vi) {
|
|
2
|
+
const mockedLocation = {
|
|
3
|
+
...window.location,
|
|
4
|
+
assign: vi.fn(),
|
|
5
|
+
};
|
|
6
|
+
vi.spyOn(window, 'location', 'get').mockReturnValue(mockedLocation);
|
|
7
|
+
return mockedLocation;
|
|
8
|
+
}
|
|
9
|
+
export { mockWindowLocation };
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja1dpbmRvd0xvY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvc2RrY29yZS90ZXN0VXRpbHMvbW9ja1dpbmRvd0xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLFNBQVMsa0JBQWtCLENBQUMsRUFBZTtJQUN6QyxNQUFNLGNBQWMsR0FBRztRQUNyQixHQUFHLE1BQU0sQ0FBQyxRQUFRO1FBQ2xCLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO0tBQ2hCLENBQUM7SUFDRixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BFLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpdGVzdFV0aWxzIH0gZnJvbSAndml0ZXN0JztcblxuZnVuY3Rpb24gbW9ja1dpbmRvd0xvY2F0aW9uKHZpOiBWaXRlc3RVdGlscykge1xuICBjb25zdCBtb2NrZWRMb2NhdGlvbiA9IHtcbiAgICAuLi53aW5kb3cubG9jYXRpb24sXG4gICAgYXNzaWduOiB2aS5mbigpLFxuICB9O1xuICB2aS5zcHlPbih3aW5kb3csICdsb2NhdGlvbicsICdnZXQnKS5tb2NrUmV0dXJuVmFsdWUobW9ja2VkTG9jYXRpb24pO1xuICByZXR1cm4gbW9ja2VkTG9jYXRpb247XG59XG5cbmV4cG9ydCB7IG1vY2tXaW5kb3dMb2NhdGlvbiB9O1xuIl19
|