@fusionauth/angular-sdk 1.1.0 → 1.2.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/esm2022/lib/components/fusionauth-account.button/fusion-auth-account-button.component.mjs +18 -0
- package/esm2022/lib/components/fusionauth-login.button/fusion-auth-login-button.component.mjs +4 -4
- package/esm2022/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.mjs +4 -4
- package/esm2022/lib/components/fusionauth-register.button/fusion-auth-register-button.component.mjs +4 -4
- package/esm2022/lib/fusion-auth.module.mjs +12 -7
- package/esm2022/lib/fusion-auth.service.mjs +11 -4
- package/esm2022/lib/types.mjs +1 -1
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/sdkcore/SDKContext/SDKContext.mjs +1 -1
- package/esm2022/sdkcore/SDKCore/SDKCore.mjs +9 -2
- package/esm2022/sdkcore/UrlHelper/UrlHelper.mjs +11 -6
- package/fesm2022/fusionauth-angular-sdk.mjs +63 -25
- package/fesm2022/fusionauth-angular-sdk.mjs.map +1 -1
- package/lib/components/fusionauth-account.button/fusion-auth-account-button.component.d.ts +9 -0
- package/lib/fusion-auth.module.d.ts +2 -1
- package/lib/fusion-auth.service.d.ts +10 -5
- package/lib/types.d.ts +5 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/sdkcore/SDKContext/SDKContext.d.ts +5 -1
- package/sdkcore/SDKCore/SDKCore.d.ts +7 -2
- package/sdkcore/UrlHelper/UrlHelper.d.ts +1 -0
package/esm2022/lib/components/fusionauth-account.button/fusion-auth-account-button.component.mjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../fusion-auth.service";
|
|
4
|
+
export class FusionAuthAccountButtonComponent {
|
|
5
|
+
constructor(fusionAuth) {
|
|
6
|
+
this.fusionAuth = fusionAuth;
|
|
7
|
+
}
|
|
8
|
+
manageAccount() {
|
|
9
|
+
this.fusionAuth.manageAccount();
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthAccountButtonComponent, deps: [{ token: i1.FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthAccountButtonComponent, selector: "fa-account", ngImport: i0, template: "<button class=\"fa-button\" (click)=\"manageAccount()\">\n <span>manage account</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthAccountButtonComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'fa-account', template: "<button class=\"fa-button\" (click)=\"manageAccount()\">\n <span>manage account</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }]
|
|
17
|
+
}], ctorParameters: () => [{ type: i1.FusionAuthService }] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgtYWNjb3VudC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvbGliL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1hY2NvdW50LmJ1dHRvbi9mdXNpb24tYXV0aC1hY2NvdW50LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLWFjY291bnQuYnV0dG9uL2Z1c2lvbi1hdXRoLWFjY291bnQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExQyxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLFlBQW9CLFVBQTZCO1FBQTdCLGVBQVUsR0FBVixVQUFVLENBQW1CO0lBQUcsQ0FBQztJQUVyRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxDQUFDOytHQUxVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLGtEQ1I3QyxzR0FHQTs7NEZES2EsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZ1c2lvbkF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZnVzaW9uLWF1dGguc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhLWFjY291bnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnVzaW9uLWF1dGgtYWNjb3VudC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mdXNpb24tYXV0aC1hY2NvdW50LWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGdXNpb25BdXRoQWNjb3VudEJ1dHRvbkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVzaW9uQXV0aDogRnVzaW9uQXV0aFNlcnZpY2UpIHt9XG5cbiAgbWFuYWdlQWNjb3VudCgpIHtcbiAgICB0aGlzLmZ1c2lvbkF1dGgubWFuYWdlQWNjb3VudCgpO1xuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiZmEtYnV0dG9uXCIgKGNsaWNrKT1cIm1hbmFnZUFjY291bnQoKVwiPlxuICA8c3Bhbj5tYW5hZ2UgYWNjb3VudDwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19
|
package/esm2022/lib/components/fusionauth-login.button/fusion-auth-login-button.component.mjs
CHANGED
|
@@ -8,13 +8,13 @@ export class FusionAuthLoginButtonComponent {
|
|
|
8
8
|
login() {
|
|
9
9
|
this.fusionAuth.startLogin(this.state);
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLoginButtonComponent, deps: [{ token: i1.FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthLoginButtonComponent, selector: "fa-login", inputs: { state: "state" }, ngImport: i0, template: "<button class=\"fa-button\" (click)=\"login()\">\n <span>Login</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLoginButtonComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
16
|
args: [{ selector: 'fa-login', template: "<button class=\"fa-button\" (click)=\"login()\">\n <span>Login</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }]
|
|
17
17
|
}], ctorParameters: () => [{ type: i1.FusionAuthService }], propDecorators: { state: [{
|
|
18
18
|
type: Input
|
|
19
19
|
}] } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgtbG9naW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL2xpYi9jb21wb25lbnRzL2Z1c2lvbmF1dGgtbG9naW4uYnV0dG9uL2Z1c2lvbi1hdXRoLWxvZ2luLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLWxvZ2luLmJ1dHRvbi9mdXNpb24tYXV0aC1sb2dpbi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8sOEJBQThCO0lBR3pDLFlBQW9CLFVBQTZCO1FBQTdCLGVBQVUsR0FBVixVQUFVLENBQW1CO0lBQUcsQ0FBQztJQUVyRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7K0dBUFUsOEJBQThCO21HQUE5Qiw4QkFBOEIsNEVDUjNDLHFGQUdBOzs0RkRLYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsVUFBVTtzRkFLWCxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGdXNpb25BdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2Z1c2lvbi1hdXRoLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmYS1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mdXNpb24tYXV0aC1sb2dpbi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mdXNpb24tYXV0aC1sb2dpbi1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnVzaW9uQXV0aExvZ2luQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3RhdGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZ1c2lvbkF1dGg6IEZ1c2lvbkF1dGhTZXJ2aWNlKSB7fVxuXG4gIGxvZ2luKCkge1xuICAgIHRoaXMuZnVzaW9uQXV0aC5zdGFydExvZ2luKHRoaXMuc3RhdGUpO1xuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiZmEtYnV0dG9uXCIgKGNsaWNrKT1cImxvZ2luKClcIj5cbiAgPHNwYW4+TG9naW48L3NwYW4+XG48L2J1dHRvbj5cbiJdfQ==
|
package/esm2022/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.mjs
CHANGED
|
@@ -8,11 +8,11 @@ export class FusionAuthLogoutButtonComponent {
|
|
|
8
8
|
logout() {
|
|
9
9
|
this.fusionAuth.logout();
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLogoutButtonComponent, deps: [{ token: i1.FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthLogoutButtonComponent, selector: "fa-logout", ngImport: i0, template: "<button class=\"fa-logout-button\" (click)=\"logout()\">\n <span>logout</span>\n</button>\n", styles: [".fa-logout-button{padding:7px 13px;border-radius:3px;display:block;border:solid 1px #083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:12px;text-align:center;color:#083b94}.fa-logout-button:hover{cursor:pointer}\n"] }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLogoutButtonComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
16
|
args: [{ selector: 'fa-logout', template: "<button class=\"fa-logout-button\" (click)=\"logout()\">\n <span>logout</span>\n</button>\n", styles: [".fa-logout-button{padding:7px 13px;border-radius:3px;display:block;border:solid 1px #083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:12px;text-align:center;color:#083b94}.fa-logout-button:hover{cursor:pointer}\n"] }]
|
|
17
17
|
}], ctorParameters: () => [{ type: i1.FusionAuthService }] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgtbG9nb3V0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLWxvZ291dC5idXR0b24vZnVzaW9uLWF1dGgtbG9nb3V0LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLWxvZ291dC5idXR0b24vZnVzaW9uLWF1dGgtbG9nb3V0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRMUMsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxZQUFvQixVQUE2QjtRQUE3QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUFHLENBQUM7SUFFckQsTUFBTTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0FMVSwrQkFBK0I7bUdBQS9CLCtCQUErQixpRENSNUMsOEZBR0E7OzRGREthLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGdXNpb25BdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2Z1c2lvbi1hdXRoLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmYS1sb2dvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnVzaW9uLWF1dGgtbG9nb3V0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Z1c2lvbi1hdXRoLWxvZ291dC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnVzaW9uQXV0aExvZ291dEJ1dHRvbkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVzaW9uQXV0aDogRnVzaW9uQXV0aFNlcnZpY2UpIHt9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMuZnVzaW9uQXV0aC5sb2dvdXQoKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiBjbGFzcz1cImZhLWxvZ291dC1idXR0b25cIiAoY2xpY2spPVwibG9nb3V0KClcIj5cbiAgPHNwYW4+bG9nb3V0PC9zcGFuPlxuPC9idXR0b24+XG4iXX0=
|
package/esm2022/lib/components/fusionauth-register.button/fusion-auth-register-button.component.mjs
CHANGED
|
@@ -8,13 +8,13 @@ export class FusionAuthRegisterButtonComponent {
|
|
|
8
8
|
register() {
|
|
9
9
|
this.fusionAuth.startRegistration(this.state);
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthRegisterButtonComponent, deps: [{ token: i1.FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthRegisterButtonComponent, selector: "fa-register", inputs: { state: "state" }, ngImport: i0, template: "<button class=\"fa-button\" (click)=\"register()\">\n <span>Register Now</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthRegisterButtonComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
16
|
args: [{ selector: 'fa-register', template: "<button class=\"fa-button\" (click)=\"register()\">\n <span>Register Now</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }]
|
|
17
17
|
}], ctorParameters: () => [{ type: i1.FusionAuthService }], propDecorators: { state: [{
|
|
18
18
|
type: Input
|
|
19
19
|
}] } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgtcmVnaXN0ZXItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL2xpYi9jb21wb25lbnRzL2Z1c2lvbmF1dGgtcmVnaXN0ZXIuYnV0dG9uL2Z1c2lvbi1hdXRoLXJlZ2lzdGVyLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLXJlZ2lzdGVyLmJ1dHRvbi9mdXNpb24tYXV0aC1yZWdpc3Rlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8saUNBQWlDO0lBRzVDLFlBQW9CLFVBQTZCO1FBQTdCLGVBQVUsR0FBVixVQUFVLENBQW1CO0lBQUcsQ0FBQztJQUVyRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQzsrR0FQVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQywrRUNSOUMsK0ZBR0E7OzRGREthLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDRSxhQUFhO3NGQUtkLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZ1c2lvbkF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZnVzaW9uLWF1dGguc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhLXJlZ2lzdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Z1c2lvbi1hdXRoLXJlZ2lzdGVyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Z1c2lvbi1hdXRoLXJlZ2lzdGVyLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGdXNpb25BdXRoUmVnaXN0ZXJCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBzdGF0ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVzaW9uQXV0aDogRnVzaW9uQXV0aFNlcnZpY2UpIHt9XG5cbiAgcmVnaXN0ZXIoKSB7XG4gICAgdGhpcy5mdXNpb25BdXRoLnN0YXJ0UmVnaXN0cmF0aW9uKHRoaXMuc3RhdGUpO1xuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiZmEtYnV0dG9uXCIgKGNsaWNrKT1cInJlZ2lzdGVyKClcIj5cbiAgPHNwYW4+UmVnaXN0ZXIgTm93PC9zcGFuPlxuPC9idXR0b24+XG4iXX0=
|
|
@@ -4,6 +4,7 @@ import { FUSIONAUTH_SERVICE_CONFIG } from './injectionToken';
|
|
|
4
4
|
import { FusionAuthLoginButtonComponent } from './components/fusionauth-login.button/fusion-auth-login-button.component';
|
|
5
5
|
import { FusionAuthLogoutButtonComponent } from './components/fusionauth-logout.button/fusion-auth-logout-button.component';
|
|
6
6
|
import { FusionAuthRegisterButtonComponent } from './components/fusionauth-register.button/fusion-auth-register-button.component';
|
|
7
|
+
import { FusionAuthAccountButtonComponent } from './components/fusionauth-account.button/fusion-auth-account-button.component';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export class FusionAuthModule {
|
|
9
10
|
static forRoot(fusionAuthConfig) {
|
|
@@ -15,28 +16,32 @@ export class FusionAuthModule {
|
|
|
15
16
|
],
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
19
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
20
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule, declarations: [FusionAuthLoginButtonComponent,
|
|
20
21
|
FusionAuthLogoutButtonComponent,
|
|
21
|
-
FusionAuthRegisterButtonComponent
|
|
22
|
+
FusionAuthRegisterButtonComponent,
|
|
23
|
+
FusionAuthAccountButtonComponent], exports: [FusionAuthLoginButtonComponent,
|
|
22
24
|
FusionAuthLogoutButtonComponent,
|
|
23
|
-
FusionAuthRegisterButtonComponent
|
|
24
|
-
|
|
25
|
+
FusionAuthRegisterButtonComponent,
|
|
26
|
+
FusionAuthAccountButtonComponent] }); }
|
|
27
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule }); }
|
|
25
28
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule, decorators: [{
|
|
27
30
|
type: NgModule,
|
|
28
31
|
args: [{
|
|
29
32
|
declarations: [
|
|
30
33
|
FusionAuthLoginButtonComponent,
|
|
31
34
|
FusionAuthLogoutButtonComponent,
|
|
32
35
|
FusionAuthRegisterButtonComponent,
|
|
36
|
+
FusionAuthAccountButtonComponent,
|
|
33
37
|
],
|
|
34
38
|
imports: [],
|
|
35
39
|
exports: [
|
|
36
40
|
FusionAuthLoginButtonComponent,
|
|
37
41
|
FusionAuthLogoutButtonComponent,
|
|
38
42
|
FusionAuthRegisterButtonComponent,
|
|
43
|
+
FusionAuthAccountButtonComponent,
|
|
39
44
|
],
|
|
40
45
|
}]
|
|
41
46
|
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGgubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvbGliL2Z1c2lvbi1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQzs7QUFpQi9ILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FDWixnQkFBa0M7UUFFbEMsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDbEUsaUJBQWlCO2FBQ2xCO1NBQ0YsQ0FBQztJQUNKLENBQUM7K0dBWFUsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBYnpCLDhCQUE4QjtZQUM5QiwrQkFBK0I7WUFDL0IsaUNBQWlDO1lBQ2pDLGdDQUFnQyxhQUloQyw4QkFBOEI7WUFDOUIsK0JBQStCO1lBQy9CLGlDQUFpQztZQUNqQyxnQ0FBZ0M7Z0hBR3ZCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFmNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osOEJBQThCO3dCQUM5QiwrQkFBK0I7d0JBQy9CLGlDQUFpQzt3QkFDakMsZ0NBQWdDO3FCQUNqQztvQkFDRCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUU7d0JBQ1AsOEJBQThCO3dCQUM5QiwrQkFBK0I7d0JBQy9CLGlDQUFpQzt3QkFDakMsZ0NBQWdDO3FCQUNqQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGdXNpb25BdXRoQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBGdXNpb25BdXRoU2VydmljZSB9IGZyb20gJy4vZnVzaW9uLWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBGVVNJT05BVVRIX1NFUlZJQ0VfQ09ORklHIH0gZnJvbSAnLi9pbmplY3Rpb25Ub2tlbic7XG5pbXBvcnQgeyBGdXNpb25BdXRoTG9naW5CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1sb2dpbi5idXR0b24vZnVzaW9uLWF1dGgtbG9naW4tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdXNpb25BdXRoTG9nb3V0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Z1c2lvbmF1dGgtbG9nb3V0LmJ1dHRvbi9mdXNpb24tYXV0aC1sb2dvdXQtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdXNpb25BdXRoUmVnaXN0ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1yZWdpc3Rlci5idXR0b24vZnVzaW9uLWF1dGgtcmVnaXN0ZXItYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdXNpb25BdXRoQWNjb3VudEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mdXNpb25hdXRoLWFjY291bnQuYnV0dG9uL2Z1c2lvbi1hdXRoLWFjY291bnQtYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZ1c2lvbkF1dGhMb2dpbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBGdXNpb25BdXRoTG9nb3V0QnV0dG9uQ29tcG9uZW50LFxuICAgIEZ1c2lvbkF1dGhSZWdpc3RlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBGdXNpb25BdXRoQWNjb3VudEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtcbiAgICBGdXNpb25BdXRoTG9naW5CdXR0b25Db21wb25lbnQsXG4gICAgRnVzaW9uQXV0aExvZ291dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBGdXNpb25BdXRoUmVnaXN0ZXJCdXR0b25Db21wb25lbnQsXG4gICAgRnVzaW9uQXV0aEFjY291bnRCdXR0b25Db21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ1c2lvbkF1dGhNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChcbiAgICBmdXNpb25BdXRoQ29uZmlnOiBGdXNpb25BdXRoQ29uZmlnLFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZ1c2lvbkF1dGhNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEZ1c2lvbkF1dGhNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBGVVNJT05BVVRIX1NFUlZJQ0VfQ09ORklHLCB1c2VWYWx1ZTogZnVzaW9uQXV0aENvbmZpZyB9LFxuICAgICAgICBGdXNpb25BdXRoU2VydmljZSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -93,10 +93,17 @@ export class FusionAuthService {
|
|
|
93
93
|
logout() {
|
|
94
94
|
this.core.startLogout();
|
|
95
95
|
}
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Redirects to [self service account management](https://fusionauth.io/docs/lifecycle/manage-users/account-management/)
|
|
98
|
+
* Self service account management is only available in FusionAuth paid plans.
|
|
99
|
+
*/
|
|
100
|
+
manageAccount() {
|
|
101
|
+
this.core.manageAccount();
|
|
102
|
+
}
|
|
103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthService, deps: [{ token: FUSIONAUTH_SERVICE_CONFIG }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
104
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthService, providedIn: 'root' }); }
|
|
98
105
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthService, decorators: [{
|
|
100
107
|
type: Injectable,
|
|
101
108
|
args: [{
|
|
102
109
|
providedIn: 'root',
|
|
@@ -108,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
108
115
|
type: Inject,
|
|
109
116
|
args: [PLATFORM_ID]
|
|
110
117
|
}] }] });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVzaW9uLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL2xpYi9mdXNpb24tYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFN0Q7O0dBRUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBQ3FDLE1BQXdCLEVBQ3RDLFVBQWtCO1FBRXZDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUM7WUFDdEIsR0FBRyxNQUFNO1lBQ1QsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO2dCQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxhQUFhLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuRSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV6RCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoRCxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUtELG9HQUFvRztJQUNwRyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFlBQVk7UUFDaEIsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gscUJBQXFCLENBQUMsU0FHckI7UUFDQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksVUFBVSxDQUFJLFFBQVEsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJO2lCQUNOLGFBQWEsRUFBSztpQkFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNmLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDYixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQztpQkFDRCxPQUFPLENBQUMsR0FBRyxFQUFFO2dCQUNaLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNMLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixNQUFNLEtBQUssQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFdBQVc7UUFDZixPQUFPLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUssQ0FBQztJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQixDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBdkhVLGlCQUFpQixrQkFNbEIseUJBQXlCLGFBQ3pCLFdBQVc7bUhBUFYsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMseUJBQXlCOzswQkFDaEMsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNES0NvcmUgfSBmcm9tICcuLi9zZGtjb3JlJztcbmltcG9ydCB7IFNTUkNvb2tpZUFkYXB0ZXIgfSBmcm9tICcuL1NTUkNvb2tpZUFkYXB0ZXInO1xuaW1wb3J0IHsgRnVzaW9uQXV0aENvbmZpZywgVXNlckluZm8gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZVU0lPTkFVVEhfU0VSVklDRV9DT05GSUcgfSBmcm9tICcuL2luamVjdGlvblRva2VuJztcblxuLyoqXG4gKiBTZXJ2aWNlIGNsYXNzIHRvIHVzZSB3aXRoIEZ1c2lvbkF1dGggYmFja2VuZCBlbmRwb2ludHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGdXNpb25BdXRoU2VydmljZTxUID0gVXNlckluZm8+IHtcbiAgcHJpdmF0ZSBjb3JlOiBTREtDb3JlO1xuICBwcml2YXRlIGF1dG9SZWZyZXNoVGltZXI/OiBOb2RlSlMuVGltZW91dDtcbiAgcHJpdmF0ZSBpc0xvZ2dlZEluU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRlVTSU9OQVVUSF9TRVJWSUNFX0NPTkZJRykgY29uZmlnOiBGdXNpb25BdXRoQ29uZmlnLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgKSB7XG4gICAgdGhpcy5jb3JlID0gbmV3IFNES0NvcmUoe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgb25Ub2tlbkV4cGlyYXRpb246ICgpID0+IHtcbiAgICAgICAgdGhpcy5pc0xvZ2dlZEluU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgICBjb29raWVBZGFwdGVyOiBuZXcgU1NSQ29va2llQWRhcHRlcihpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmlzTG9nZ2VkSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmNvcmUuaXNMb2dnZWRJbik7XG4gICAgdGhpcy5pc0xvZ2dlZEluJCA9IHRoaXMuaXNMb2dnZWRJblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICB0aGlzLmNvcmUuaGFuZGxlUG9zdFJlZGlyZWN0KGNvbmZpZy5vblJlZGlyZWN0KTtcblxuICAgIGlmIChjb25maWcuc2hvdWxkQXV0b1JlZnJlc2ggJiYgdGhpcy5jb3JlLmlzTG9nZ2VkSW4pIHtcbiAgICAgIHRoaXMuaW5pdEF1dG9SZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEFuIG9ic2VydmFibGUgcmVwcmVzZW50aW5nIHdoZXRoZXIgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLiAqL1xuICBpc0xvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKiogQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgd2hldGhlciB0aGUgdXNlciBpcyBsb2dnZWQgaW4uIFRoaXMgcmV0dXJuZWQgdmFsdWUgaXMgbm9uLW9ic2VydmFibGUuICovXG4gIGlzTG9nZ2VkSW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29yZS5pc0xvZ2dlZEluO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZnJlc2hlcyB0aGUgYWNjZXNzIHRva2VuIGEgc2luZ2xlIHRpbWUuXG4gICAqIEF1dG9tYXRpYyB0b2tlbiByZWZyZXNoaW5nIGNhbiBiZSBlbmFibGVkIGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvUmVmcmVzaGAuXG4gICAqL1xuICBhc3luYyByZWZyZXNoVG9rZW4oKTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvcmUucmVmcmVzaFRva2VuKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYXV0b21hdGljIGFjY2VzcyB0b2tlbiByZWZyZXNoaW5nLlxuICAgKiBUaGlzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSBpZiB0aGUgU0RLIGlzIGNvbmZpZ3VyZWQgd2l0aCBgc2hvdWxkQXV0b1JlZnJlc2hgLlxuICAgKi9cbiAgaW5pdEF1dG9SZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmF1dG9SZWZyZXNoVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmF1dG9SZWZyZXNoVGltZXIpO1xuICAgIH1cblxuICAgIHRoaXMuYXV0b1JlZnJlc2hUaW1lciA9IHRoaXMuY29yZS5pbml0QXV0b1JlZnJlc2goKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgcmVxdWVzdCB0aGF0IGZldGNoZXMgdXNlckluZm8sIGFuZCBjYXRjaGVzIGVycm9yLlxuICAgKi9cbiAgZ2V0VXNlckluZm9PYnNlcnZhYmxlKGNhbGxiYWNrcz86IHtcbiAgICBvbkJlZ2luPzogKCkgPT4gdm9pZDtcbiAgICBvbkRvbmU/OiAoKSA9PiB2b2lkO1xuICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY2FsbGJhY2tzPy5vbkJlZ2luPy4oKTtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8VD4ob2JzZXJ2ZXIgPT4ge1xuICAgICAgdGhpcy5jb3JlXG4gICAgICAgIC5mZXRjaFVzZXJJbmZvPFQ+KClcbiAgICAgICAgLnRoZW4odXNlckluZm8gPT4ge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQodXNlckluZm8pO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIGNhbGxiYWNrcz8ub25Eb25lPy4oKTtcbiAgICAgICAgfSk7XG4gICAgfSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB1c2VySW5mbyBmcm9tIHRoZSAnbWUnIGVuZHBvaW50LlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gLSBpZiBhbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBmZXRjaGluZy5cbiAgICovXG4gIGFzeW5jIGdldFVzZXJJbmZvPFQ+KCk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvcmUuZmV0Y2hVc2VySW5mbzxUPigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYXRlcyBsb2dpbiBmbG93LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0YXRlXSAtIE9wdGlvbmFsIHZhbHVlIHRvIGJlIGVjaG9lZCBiYWNrIHRvIHRoZSBTREsgdXBvbiByZWRpcmVjdC5cbiAgICovXG4gIHN0YXJ0TG9naW4oc3RhdGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvcmUuc3RhcnRMb2dpbihzdGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIHJlZ2lzdGVyIGZsb3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhdGVdIC0gT3B0aW9uYWwgdmFsdWUgdG8gYmUgZWNob2VkIGJhY2sgdG8gdGhlIFNESyB1cG9uIHJlZGlyZWN0LlxuICAgKi9cbiAgc3RhcnRSZWdpc3RyYXRpb24oc3RhdGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvcmUuc3RhcnRSZWdpc3RlcihzdGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhdGVzIGxvZ291dCBmbG93LlxuICAgKi9cbiAgbG9nb3V0KCk6IHZvaWQge1xuICAgIHRoaXMuY29yZS5zdGFydExvZ291dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZGlyZWN0cyB0byBbc2VsZiBzZXJ2aWNlIGFjY291bnQgbWFuYWdlbWVudF0oaHR0cHM6Ly9mdXNpb25hdXRoLmlvL2RvY3MvbGlmZWN5Y2xlL21hbmFnZS11c2Vycy9hY2NvdW50LW1hbmFnZW1lbnQvKVxuICAgKiBTZWxmIHNlcnZpY2UgYWNjb3VudCBtYW5hZ2VtZW50IGlzIG9ubHkgYXZhaWxhYmxlIGluIEZ1c2lvbkF1dGggcGFpZCBwbGFucy5cbiAgICovXG4gIG1hbmFnZUFjY291bnQoKTogdm9pZCB7XG4gICAgdGhpcy5jb3JlLm1hbmFnZUFjY291bnQoKTtcbiAgfVxufVxuIl19
|
package/esm2022/lib/types.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uZmlnIGZvciBGdXNpb25BdXRoIEFuZ3VsYXIgU0RLXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVzaW9uQXV0aENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBzZXJ2ZXIgdGhhdCBwZXJmb3JtcyB0aGUgdG9rZW4gZXhjaGFuZ2UuXG4gICAqL1xuICBzZXJ2ZXJVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNsaWVudCBpZCBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqL1xuICBjbGllbnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVkaXJlY3QgVVJJIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHJlZGlyZWN0VXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWRpcmVjdCBVUkkgZm9yIHBvc3QtbG9nb3V0LiBEZWZhdWx0cyB0aGUgcHJvdmlkZWQgYHJlZGlyZWN0VXJpYC5cbiAgICovXG4gIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIE9BdXRoMiBzY29wZSBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSBgL29hdXRoMi9hdXRob3JpemVgIGVuZHBvaW50LiBJZiBub3Qgc3BlY2lmaWVkIGZ1c2lvbmF1dGggd2lsbCBkZWZhdWx0IHRoaXMgdG8gYG9wZW5pZCBvZmZsaW5lX2FjY2Vzc2AuXG4gICAqL1xuICBzY29wZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlcyBhdXRvbWF0aWMgdG9rZW4gcmVmcmVzaGluZy4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBzaG91bGRBdXRvUmVmcmVzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBiZWZvcmUgdGhlIGFjY2VzcyB0b2tlbiBleHBpcnkgd2hlbiB0aGUgYXV0byByZWZyZXNoIGZ1bmN0aW9uYWxpdHkga2lja3MgaW4gaWYgZW5hYmxlZC4gRGVmYXVsdCBpcyAxMC5cbiAgICovXG4gIGF1dG9SZWZyZXNoU2Vjb25kc0JlZm9yZUV4cGlyeT86IG51bWJlcjtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCB3aXRoIHRoZSBgc3RhdGVgIHZhbHVlIHVwb24gcmVkaXJlY3QgZnJvbSBsb2dpbiBvciByZWdpc3Rlci5cbiAgICovXG4gIG9uUmVkaXJlY3Q/OiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGJlIGludm9rZWQgaWYgYSByZXF1ZXN0IHRvIHJlZnJlc2ggdGhlIGFjY2VzcyB0b2tlbiBmYWlscyBkdXJpbmcgYXV0b3JlZnJlc2guXG4gICAqL1xuICBvbkF1dG9SZWZyZXNoRmFpbHVyZT86IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBsb2dpbiBlbmRwb2ludC5cbiAgICovXG4gIGxvZ2luUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIHJlZ2lzdGVyIGVuZHBvaW50LlxuICAgKi9cbiAgcmVnaXN0ZXJQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgbG9nb3V0IGVuZHBvaW50LlxuICAgKi9cbiAgbG9nb3V0UGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIHRva2VuIHJlZnJlc2ggZW5kcG9pbnQuXG4gICAqL1xuICB0b2tlblJlZnJlc2hQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgbWUgZW5kcG9pbnQuXG4gICAqL1xuICBtZVBhdGg/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mdXNpb25hdXRoLWFuZ3VsYXItc2RrL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uZmlnIGZvciBGdXNpb25BdXRoIEFuZ3VsYXIgU0RLXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVzaW9uQXV0aENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBzZXJ2ZXIgdGhhdCBwZXJmb3JtcyB0aGUgdG9rZW4gZXhjaGFuZ2UuXG4gICAqL1xuICBzZXJ2ZXJVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNsaWVudCBpZCBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqL1xuICBjbGllbnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVkaXJlY3QgVVJJIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHJlZGlyZWN0VXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWRpcmVjdCBVUkkgZm9yIHBvc3QtbG9nb3V0LiBEZWZhdWx0cyB0aGUgcHJvdmlkZWQgYHJlZGlyZWN0VXJpYC5cbiAgICovXG4gIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIE9BdXRoMiBzY29wZSBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSBgL29hdXRoMi9hdXRob3JpemVgIGVuZHBvaW50LiBJZiBub3Qgc3BlY2lmaWVkIGZ1c2lvbmF1dGggd2lsbCBkZWZhdWx0IHRoaXMgdG8gYG9wZW5pZCBvZmZsaW5lX2FjY2Vzc2AuXG4gICAqL1xuICBzY29wZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlcyBhdXRvbWF0aWMgdG9rZW4gcmVmcmVzaGluZy4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBzaG91bGRBdXRvUmVmcmVzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBiZWZvcmUgdGhlIGFjY2VzcyB0b2tlbiBleHBpcnkgd2hlbiB0aGUgYXV0byByZWZyZXNoIGZ1bmN0aW9uYWxpdHkga2lja3MgaW4gaWYgZW5hYmxlZC4gRGVmYXVsdCBpcyAxMC5cbiAgICovXG4gIGF1dG9SZWZyZXNoU2Vjb25kc0JlZm9yZUV4cGlyeT86IG51bWJlcjtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCB3aXRoIHRoZSBgc3RhdGVgIHZhbHVlIHVwb24gcmVkaXJlY3QgZnJvbSBsb2dpbiBvciByZWdpc3Rlci5cbiAgICovXG4gIG9uUmVkaXJlY3Q/OiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGJlIGludm9rZWQgaWYgYSByZXF1ZXN0IHRvIHJlZnJlc2ggdGhlIGFjY2VzcyB0b2tlbiBmYWlscyBkdXJpbmcgYXV0b3JlZnJlc2guXG4gICAqL1xuICBvbkF1dG9SZWZyZXNoRmFpbHVyZT86IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBsb2dpbiBlbmRwb2ludC5cbiAgICovXG4gIGxvZ2luUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIHJlZ2lzdGVyIGVuZHBvaW50LlxuICAgKi9cbiAgcmVnaXN0ZXJQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgbG9nb3V0IGVuZHBvaW50LlxuICAgKi9cbiAgbG9nb3V0UGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIHRva2VuIHJlZnJlc2ggZW5kcG9pbnQuXG4gICAqL1xuICB0b2tlblJlZnJlc2hQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgbWUgZW5kcG9pbnQuXG4gICAqL1xuICBtZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckluZm8ge1xuICBhcHBsaWNhdGlvbklkPzogc3RyaW5nO1xuICBiaXJ0aGRhdGU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIGZhbWlseV9uYW1lPzogc3RyaW5nO1xuICBnaXZlbl9uYW1lPzogc3RyaW5nO1xuICBtaWRkbGVfbmFtZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICBwcmVmZXJyZWRfdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHJvbGVzPzogYW55W107XG4gIHNpZD86IHN0cmluZztcbiAgc3ViPzogc3RyaW5nO1xuICB0aWQ/OiBzdHJpbmc7XG59XG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -5,6 +5,7 @@ export * from './lib/fusion-auth.service';
|
|
|
5
5
|
export * from './lib/components/fusionauth-login.button/fusion-auth-login-button.component';
|
|
6
6
|
export * from './lib/components/fusionauth-logout.button/fusion-auth-logout-button.component';
|
|
7
7
|
export * from './lib/components/fusionauth-register.button/fusion-auth-register-button.component';
|
|
8
|
+
export * from './lib/components/fusionauth-account.button/fusion-auth-account-button.component';
|
|
8
9
|
export * from './lib/fusion-auth.module';
|
|
9
10
|
export * from './lib/types';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLG1GQUFtRixDQUFDO0FBQ2xHLGNBQWMsaUZBQWlGLENBQUM7QUFDaEcsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZnVzaW9uYXV0aC1hbmd1bGFyLXNka1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1c2lvbi1hdXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mdXNpb25hdXRoLWxvZ2luLmJ1dHRvbi9mdXNpb24tYXV0aC1sb2dpbi1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1sb2dvdXQuYnV0dG9uL2Z1c2lvbi1hdXRoLWxvZ291dC1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZnVzaW9uYXV0aC1yZWdpc3Rlci5idXR0b24vZnVzaW9uLWF1dGgtcmVnaXN0ZXItYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Z1c2lvbmF1dGgtYWNjb3VudC5idXR0b24vZnVzaW9uLWF1dGgtYWNjb3VudC1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1c2lvbi1hdXRoLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcyc7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvU0RLQ29udGV4dC9TREtDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVGhlIGNvbnRleHQgcHJvdmlkZWQgYnkgRnVzaW9uQXV0aCBXZWIgU0RLcyAqL1xuZXhwb3J0IGludGVyZmFjZSBTREtDb250ZXh0IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLlxuICAgKi9cbiAgaXNMb2dnZWRJbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGF0YSBmZXRjaGVkIGZyb20gdGhlIGNvbmZpZ3VyZWQgJ21lJyBlbmRwb2ludC5cbiAgICovXG4gIHVzZXJJbmZvOiBVc2VySW5mbyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdXNlciBpbmZvIGZyb20gdGhlICdtZScgZW5kcG9pbnQuXG4gICAqIFRoaXMgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvRmV0Y2hVc2VySW5mb2AuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFVzZXJJbmZvPn1cbiAgICovXG4gIGZldGNoVXNlckluZm86ICgpID0+IFByb21pc2U8VXNlckluZm8gfCB1bmRlZmluZWQ+O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZmV0Y2hVc2VySW5mbyBjYWxsIGlzIHVucmVzb2x2ZWQuXG4gICAqL1xuICBpc0ZldGNoaW5nVXNlckluZm86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVycm9yIG9jY3VycmVkIHdoaWxlIGZldGNoaW5nIHVzZXJJbmZvLlxuICAgKi9cbiAgZXJyb3I6IEVycm9yIHwgbnVsbDtcblxuICAvKipcbiAgICogSW5pdGlhdGVzIGxvZ2luIGZsb3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhdGVdIC0gT3B0aW9uYWwgdmFsdWUgdG8gYmUgZWNob2VkIGJhY2sgdG8gdGhlIFNESyB1cG9uIHJlZGlyZWN0LlxuICAgKi9cbiAgc3RhcnRMb2dpbjogKHN0YXRlPzogc3RyaW5nKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBJbml0aWF0ZXMgcmVnaXN0ZXIgZmxvdy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtzdGF0ZV0gLSBPcHRpb25hbCB2YWx1ZSB0byBiZSBlY2hvZWQgYmFjayB0byB0aGUgU0RLIHVwb24gcmVkaXJlY3QuXG4gICAqL1xuICBzdGFydFJlZ2lzdGVyOiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEluaXRpYXRlcyBsb2dvdXQgZmxvdy5cbiAgICovXG4gIHN0YXJ0TG9nb3V0OiAoKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIGFjY2VzcyB0b2tlbiBhIHNpbmdsZSB0aW1lLlxuICAgKiBUaGlzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSBpZiB0aGUgU0RLIGlzIGNvbmZpZ3VyZWQgd2l0aCBgc2hvdWxkQXV0b1JlZnJlc2hgLlxuICAgKi9cbiAgcmVmcmVzaFRva2VuOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyBhdXRvbWF0aWMgYWNjZXNzIHRva2VuIHJlZnJlc2hpbmcuXG4gICAqIFRoaXMgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvUmVmcmVzaGAuXG4gICAqL1xuICBpbml0QXV0b1JlZnJlc2g6ICgpID0+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvU0RLQ29udGV4dC9TREtDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVGhlIGNvbnRleHQgcHJvdmlkZWQgYnkgRnVzaW9uQXV0aCBXZWIgU0RLcyAqL1xuZXhwb3J0IGludGVyZmFjZSBTREtDb250ZXh0IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLlxuICAgKi9cbiAgaXNMb2dnZWRJbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGF0YSBmZXRjaGVkIGZyb20gdGhlIGNvbmZpZ3VyZWQgJ21lJyBlbmRwb2ludC5cbiAgICovXG4gIHVzZXJJbmZvOiBVc2VySW5mbyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdXNlciBpbmZvIGZyb20gdGhlICdtZScgZW5kcG9pbnQuXG4gICAqIFRoaXMgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvRmV0Y2hVc2VySW5mb2AuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFVzZXJJbmZvPn1cbiAgICovXG4gIGZldGNoVXNlckluZm86ICgpID0+IFByb21pc2U8VXNlckluZm8gfCB1bmRlZmluZWQ+O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZmV0Y2hVc2VySW5mbyBjYWxsIGlzIHVucmVzb2x2ZWQuXG4gICAqL1xuICBpc0ZldGNoaW5nVXNlckluZm86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVycm9yIG9jY3VycmVkIHdoaWxlIGZldGNoaW5nIHVzZXJJbmZvLlxuICAgKi9cbiAgZXJyb3I6IEVycm9yIHwgbnVsbDtcblxuICAvKipcbiAgICogSW5pdGlhdGVzIGxvZ2luIGZsb3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RhdGVdIC0gT3B0aW9uYWwgdmFsdWUgdG8gYmUgZWNob2VkIGJhY2sgdG8gdGhlIFNESyB1cG9uIHJlZGlyZWN0LlxuICAgKi9cbiAgc3RhcnRMb2dpbjogKHN0YXRlPzogc3RyaW5nKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBJbml0aWF0ZXMgcmVnaXN0ZXIgZmxvdy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtzdGF0ZV0gLSBPcHRpb25hbCB2YWx1ZSB0byBiZSBlY2hvZWQgYmFjayB0byB0aGUgU0RLIHVwb24gcmVkaXJlY3QuXG4gICAqL1xuICBzdGFydFJlZ2lzdGVyOiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEluaXRpYXRlcyBsb2dvdXQgZmxvdy5cbiAgICovXG4gIHN0YXJ0TG9nb3V0OiAoKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIGFjY2VzcyB0b2tlbiBhIHNpbmdsZSB0aW1lLlxuICAgKiBUaGlzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSBpZiB0aGUgU0RLIGlzIGNvbmZpZ3VyZWQgd2l0aCBgc2hvdWxkQXV0b1JlZnJlc2hgLlxuICAgKi9cbiAgcmVmcmVzaFRva2VuOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyBhdXRvbWF0aWMgYWNjZXNzIHRva2VuIHJlZnJlc2hpbmcuXG4gICAqIFRoaXMgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBTREsgaXMgY29uZmlndXJlZCB3aXRoIGBzaG91bGRBdXRvUmVmcmVzaGAuXG4gICAqL1xuICBpbml0QXV0b1JlZnJlc2g6ICgpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogVXNlciBpbmZvcm1hdGlvbiByZXR1cm5lZCBmcm9tIEZ1c2lvbkF1dGguXG4gKi9cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0ge1xuICBhcHBsaWNhdGlvbklkPzogc3RyaW5nO1xuICBiaXJ0aGRhdGU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIGZhbWlseV9uYW1lPzogc3RyaW5nO1xuICBnaXZlbl9uYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBtaWRkbGVfbmFtZT86IHN0cmluZztcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICBwcmVmZXJyZWRfdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHJvbGVzPzogYW55W107XG4gIHNpZD86IHN0cmluZztcbiAgc3ViPzogc3RyaW5nO1xuICB0aWQ/OiBzdHJpbmc7XG59O1xuIl19
|
|
@@ -31,6 +31,9 @@ export class SDKCore {
|
|
|
31
31
|
startLogout() {
|
|
32
32
|
window.location.assign(this.urlHelper.getLogoutUrl());
|
|
33
33
|
}
|
|
34
|
+
manageAccount() {
|
|
35
|
+
window.location.assign(this.urlHelper.getAccountManagementUrl());
|
|
36
|
+
}
|
|
34
37
|
async fetchUserInfo() {
|
|
35
38
|
const userInfoResponse = await fetch(this.urlHelper.getMeUrl(), {
|
|
36
39
|
credentials: 'include',
|
|
@@ -90,7 +93,11 @@ export class SDKCore {
|
|
|
90
93
|
get at_exp() {
|
|
91
94
|
return getAccessTokenExpirationMoment(this.config.accessTokenExpireCookieName, this.config.cookieAdapter);
|
|
92
95
|
}
|
|
93
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* Schedules `onTokenExpiration` at moment of access token expiration.
|
|
98
|
+
* SDKCore is not necessarily reactive like React, Angular, and Vue.
|
|
99
|
+
* so `onTokenExpiration` is for reactive frameworks to hook in and perform actions as on token expiration.
|
|
100
|
+
*/
|
|
94
101
|
scheduleTokenExpiration() {
|
|
95
102
|
clearTimeout(this.tokenExpirationTimeout);
|
|
96
103
|
const now = new Date().getTime();
|
|
@@ -100,4 +107,4 @@ export class SDKCore {
|
|
|
100
107
|
}
|
|
101
108
|
}
|
|
102
109
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvU0RLQ29yZS9TREtDb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxFLHdEQUF3RDtBQUN4RCxNQUFNLE9BQU8sT0FBTztJQU1sQixZQUFZLE1BQWlCO1FBSHJCLG1CQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFJNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM3QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7WUFDakMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDekMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLHFCQUFxQjtTQUNwRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENB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QUMsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBbUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCx5RUFBeUU7SUFDekUsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sOEJBQThCLENBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLEVBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELDBFQUEwRTtJQUNsRSx1QkFBdUI7UUFDN0IsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUVyRCxJQUFJLDBCQUEwQixHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQzdCLDBCQUEwQixDQUMzQixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVybEhlbHBlciB9IGZyb20gJy4uL1VybEhlbHBlcic7XG5pbXBvcnQgeyBTREtDb25maWcgfSBmcm9tICcuLi9TREtDb25maWcnO1xuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuLi9TREtDb250ZXh0JztcbmltcG9ydCB7IFJlZGlyZWN0SGVscGVyIH0gZnJvbSAnLi4vUmVkaXJlY3RIZWxwZXInO1xuaW1wb3J0IHsgZ2V0QWNjZXNzVG9rZW5FeHBpcmF0aW9uTW9tZW50IH0gZnJvbSAnLi4vQ29va2llSGVscGVycyc7XG5cbi8qKiBBIGNsYXNzIGNvbnRhaW5pbmcgZnJhbWV3b3JrLWFnbm9zdGljIFNESyBtZXRob2RzICovXG5leHBvcnQgY2xhc3MgU0RLQ29yZSB7XG4gIHByaXZhdGUgY29uZmlnOiBTREtDb25maWc7XG4gIHByaXZhdGUgdXJsSGVscGVyOiBVcmxIZWxwZXI7XG4gIHByaXZhdGUgcmVkaXJlY3RIZWxwZXI6IFJlZGlyZWN0SGVscGVyID0gbmV3IFJlZGlyZWN0SGVscGVyKCk7XG4gIHByaXZhdGUgdG9rZW5FeHBpcmF0aW9uVGltZW91dD86IE5vZGVKUy5UaW1lb3V0O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogU0RLQ29uZmlnKSB7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy51cmxIZWxwZXIgPSBuZXcgVXJsSGVscGVyKHtcbiAgICAgIHNlcnZlclVybDogY29uZmlnLnNlcnZlclVybCxcbiAgICAgIGNsaWVudElkOiBjb25maWcuY2xpZW50SWQsXG4gICAgICByZWRpcmVjdFVyaTogY29uZmlnLnJlZGlyZWN0VXJpLFxuICAgICAgc2NvcGU6IGNvbmZpZy5zY29wZSxcbiAgICAgIG1lUGF0aDogY29uZmlnLm1lUGF0aCxcbiAgICAgIGxvZ2luUGF0aDogY29uZmlnLmxvZ2luUGF0aCxcbiAgICAgIHJlZ2lzdGVyUGF0aDogY29uZmlnLnJlZ2lzdGVyUGF0aCxcbiAgICAgIGxvZ291dFBhdGg6IGNvbmZpZy5sb2dvdXRQYXRoLFxuICAgICAgdG9rZW5SZWZyZXNoUGF0aDogY29uZmlnLnRva2VuUmVmcmVzaFBhdGgsXG4gICAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IGNvbmZpZy5wb3N0TG9nb3V0UmVkaXJlY3RVcmksXG4gICAgfSk7XG4gICAgdGhpcy5zY2hlZHVsZVRva2VuRXhwaXJhdGlvbigpO1xuICB9XG5cbiAgc3RhcnRMb2dpbihzdGF0ZT86IHN0cmluZykge1xuICAgIHRoaXMucmVkaXJlY3RIZWxwZXIuaGFuZGxlUHJlUmVkaXJlY3Qoc3RhdGUpO1xuICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24odGhpcy51cmxIZWxwZXIuZ2V0TG9naW5Vcmwoc3RhdGUpKTtcbiAgfVxuXG4gIHN0YXJ0UmVnaXN0ZXIoc3RhdGU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlZGlyZWN0SGVscGVyLmhhbmRsZVByZVJlZGlyZWN0KHN0YXRlKTtcbiAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKHRoaXMudXJsSGVscGVyLmdldFJlZ2lzdGVyVXJsKHN0YXRlKSk7XG4gIH1cblxuICBzdGFydExvZ291dCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKHRoaXMudXJsSGVscGVyLmdldExvZ291dFVybCgpKTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoVXNlckluZm8oKSB7XG4gICAgY29uc3QgdXNlckluZm9SZXNwb25zZSA9IGF3YWl0IGZldGNoKHRoaXMudXJsSGVscGVyLmdldE1lVXJsKCksIHtcbiAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgfSk7XG5cbiAgICBpZiAoIXVzZXJJbmZvUmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuYWJsZSB0byBmZXRjaCB1c2VySW5mbyBpbiBmdXNpb25hdXRoLiBSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICR7dXNlckluZm9SZXNwb25zZT8uc3RhdHVzfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXJJbmZvOiBVc2VySW5mbyA9IGF3YWl0IHVzZXJJbmZvUmVzcG9uc2UuanNvbigpO1xuICAgIHJldHVybiB1c2VySW5mbztcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLnVybEhlbHBlci5nZXRUb2tlblJlZnJlc2hVcmwoKSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ3RleHQvcGxhaW4nLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmICghKHJlc3BvbnNlLnN0YXR1cyA+PSAyMDAgJiYgcmVzcG9uc2Uuc3RhdHVzIDwgMzAwKSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgIChhd2FpdCByZXNwb25zZT8udGV4dCgpKSB8fFxuICAgICAgICAnRXJyb3IgcmVmcmVzaGluZyBhY2Nlc3MgdG9rZW4gaW4gZnVzaW9uYXV0aCc7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLy8gYSBzdWNjZXNzZnVsIHJlcXVlc3QgbWVhbnMgdGhhdCBhcHBfZXhwIHdhcyBidW1wZWQgaW50byB0aGUgZnV0dXJlLlxuICAgIC8vIHJlc2NoZWR1bGUgdGhlIGFjY2VzcyB0b2tlbiBleHBpcmF0aW9uIGV2ZW50LlxuICAgIHRoaXMuc2NoZWR1bGVUb2tlbkV4cGlyYXRpb24oKTtcblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIGluaXRBdXRvUmVmcmVzaCgpOiBOb2RlSlMuVGltZW91dCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLmlzTG9nZ2VkSW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRzQmVmb3JlUmVmcmVzaCA9XG4gICAgICB0aGlzLmNvbmZpZy5hdXRvUmVmcmVzaFNlY29uZHNCZWZvcmVFeHBpcnkgPz8gMTA7XG5cbiAgICBjb25zdCBtaWxsaXNlY29uZHNCZWZvcmVSZWZyZXNoID0gc2Vjb25kc0JlZm9yZVJlZnJlc2ggKiAxMDAwO1xuXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgY29uc3QgcmVmcmVzaFRpbWUgPSB0aGlzLmF0X2V4cCAtIG1pbGxpc2Vjb25kc0JlZm9yZVJlZnJlc2g7XG4gICAgY29uc3QgdGltZVRpbGxSZWZyZXNoID0gTWF0aC5tYXgocmVmcmVzaFRpbWUgLSBub3csIDApO1xuXG4gICAgcmV0dXJuIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICAgICAgdGhpcy5pbml0QXV0b1JlZnJlc2goKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLm9uQXV0b1JlZnJlc2hGYWlsdXJlPy4oZXJyb3IgYXMgRXJyb3IpO1xuICAgICAgfVxuICAgIH0sIHRpbWVUaWxsUmVmcmVzaCk7XG4gIH1cblxuICBoYW5kbGVQb3N0UmVkaXJlY3QoY2FsbGJhY2s/OiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICBpZiAodGhpcy5pc0xvZ2dlZEluICYmIHRoaXMucmVkaXJlY3RIZWxwZXIuZGlkUmVkaXJlY3QpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RIZWxwZXIuaGFuZGxlUG9zdFJlZGlyZWN0KGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNMb2dnZWRJbigpIHtcbiAgICByZXR1cm4gdGhpcy5hdF9leHAgPiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgfVxuXG4gIC8qKiBUaGUgbW9tZW50IG9mIGFjY2VzcyB0b2tlbiBleHBpcmF0aW9uIGluIG1pbGxpc2Vjb25kcyBzaW5jZSBlcG9jaC4gKi9cbiAgcHJpdmF0ZSBnZXQgYXRfZXhwKCk6IG51bWJlciB8IC0xIHtcbiAgICByZXR1cm4gZ2V0QWNjZXNzVG9rZW5FeHBpcmF0aW9uTW9tZW50KFxuICAgICAgdGhpcy5jb25maWcuYWNjZXNzVG9rZW5FeHBpcmVDb29raWVOYW1lLFxuICAgICAgdGhpcy5jb25maWcuY29va2llQWRhcHRlcixcbiAgICApO1xuICB9XG5cbiAgLyoqIFNjaGVkdWxlcyBgb25Ub2tlbkV4cGlyYXRpb25gIGF0IG1vbWVudCBvZiBhY2Nlc3MgdG9rZW4gZXhwaXJhdGlvbi4gKi9cbiAgcHJpdmF0ZSBzY2hlZHVsZVRva2VuRXhwaXJhdGlvbigpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50b2tlbkV4cGlyYXRpb25UaW1lb3V0KTtcblxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IG1pbGxpc2Vjb25kc1RpbGxFeHBpcmF0aW9uID0gdGhpcy5hdF9leHAgLSBub3c7XG5cbiAgICBpZiAobWlsbGlzZWNvbmRzVGlsbEV4cGlyYXRpb24gPiAwKSB7XG4gICAgICB0aGlzLnRva2VuRXhwaXJhdGlvblRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICB0aGlzLmNvbmZpZy5vblRva2VuRXhwaXJhdGlvbixcbiAgICAgICAgbWlsbGlzZWNvbmRzVGlsbEV4cGlyYXRpb24sXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0RLQ29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Z1c2lvbmF1dGgtYW5ndWxhci1zZGsvc3JjL3Nka2NvcmUvU0RLQ29yZS9TREtDb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxFLHdEQUF3RDtBQUN4RCxNQUFNLE9BQU8sT0FBTztJQU1sQixZQUFZLE1BQWlCO1FBSHJCLG1CQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFJNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM3QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7WUFDakMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDekMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLHFCQUFxQjtTQUNwRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENB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SGVscGVyJztcbmltcG9ydCB7IFNES0NvbmZpZyB9IGZyb20gJy4uL1NES0NvbmZpZyc7XG5pbXBvcnQgeyBVc2VySW5mbyB9IGZyb20gJy4uL1NES0NvbnRleHQnO1xuaW1wb3J0IHsgUmVkaXJlY3RIZWxwZXIgfSBmcm9tICcuLi9SZWRpcmVjdEhlbHBlcic7XG5pbXBvcnQgeyBnZXRBY2Nlc3NUb2tlbkV4cGlyYXRpb25Nb21lbnQgfSBmcm9tICcuLi9Db29raWVIZWxwZXJzJztcblxuLyoqIEEgY2xhc3MgY29udGFpbmluZyBmcmFtZXdvcmstYWdub3N0aWMgU0RLIG1ldGhvZHMgKi9cbmV4cG9ydCBjbGFzcyBTREtDb3JlIHtcbiAgcHJpdmF0ZSBjb25maWc6IFNES0NvbmZpZztcbiAgcHJpdmF0ZSB1cmxIZWxwZXI6IFVybEhlbHBlcjtcbiAgcHJpdmF0ZSByZWRpcmVjdEhlbHBlcjogUmVkaXJlY3RIZWxwZXIgPSBuZXcgUmVkaXJlY3RIZWxwZXIoKTtcbiAgcHJpdmF0ZSB0b2tlbkV4cGlyYXRpb25UaW1lb3V0PzogTm9kZUpTLlRpbWVvdXQ7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBTREtDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLnVybEhlbHBlciA9IG5ldyBVcmxIZWxwZXIoe1xuICAgICAgc2VydmVyVXJsOiBjb25maWcuc2VydmVyVXJsLFxuICAgICAgY2xpZW50SWQ6IGNvbmZpZy5jbGllbnRJZCxcbiAgICAgIHJlZGlyZWN0VXJpOiBjb25maWcucmVkaXJlY3RVcmksXG4gICAgICBzY29wZTogY29uZmlnLnNjb3BlLFxuICAgICAgbWVQYXRoOiBjb25maWcubWVQYXRoLFxuICAgICAgbG9naW5QYXRoOiBjb25maWcubG9naW5QYXRoLFxuICAgICAgcmVnaXN0ZXJQYXRoOiBjb25maWcucmVnaXN0ZXJQYXRoLFxuICAgICAgbG9nb3V0UGF0aDogY29uZmlnLmxvZ291dFBhdGgsXG4gICAgICB0b2tlblJlZnJlc2hQYXRoOiBjb25maWcudG9rZW5SZWZyZXNoUGF0aCxcbiAgICAgIHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogY29uZmlnLnBvc3RMb2dvdXRSZWRpcmVjdFVyaSxcbiAgICB9KTtcbiAgICB0aGlzLnNjaGVkdWxlVG9rZW5FeHBpcmF0aW9uKCk7XG4gIH1cblxuICBzdGFydExvZ2luKHN0YXRlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5yZWRpcmVjdEhlbHBlci5oYW5kbGVQcmVSZWRpcmVjdChzdGF0ZSk7XG4gICAgd2luZG93LmxvY2F0aW9uLmFzc2lnbih0aGlzLnVybEhlbHBlci5nZXRMb2dpblVybChzdGF0ZSkpO1xuICB9XG5cbiAgc3RhcnRSZWdpc3RlcihzdGF0ZT86IHN0cmluZykge1xuICAgIHRoaXMucmVkaXJlY3RIZWxwZXIuaGFuZGxlUHJlUmVkaXJlY3Qoc3RhdGUpO1xuICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24odGhpcy51cmxIZWxwZXIuZ2V0UmVnaXN0ZXJVcmwoc3RhdGUpKTtcbiAgfVxuXG4gIHN0YXJ0TG9nb3V0KCkge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24odGhpcy51cmxIZWxwZXIuZ2V0TG9nb3V0VXJsKCkpO1xuICB9XG5cbiAgbWFuYWdlQWNjb3VudCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKHRoaXMudXJsSGVscGVyLmdldEFjY291bnRNYW5hZ2VtZW50VXJsKCkpO1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hVc2VySW5mbzxUID0gVXNlckluZm8+KCkge1xuICAgIGNvbnN0IHVzZXJJbmZvUmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLnVybEhlbHBlci5nZXRNZVVybCgpLCB7XG4gICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgIH0pO1xuXG4gICAgaWYgKCF1c2VySW5mb1Jlc3BvbnNlLm9rKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbmFibGUgdG8gZmV0Y2ggdXNlckluZm8gaW4gZnVzaW9uYXV0aC4gUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAke3VzZXJJbmZvUmVzcG9uc2U/LnN0YXR1c31gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VySW5mbzogVCA9IGF3YWl0IHVzZXJJbmZvUmVzcG9uc2UuanNvbigpO1xuICAgIHJldHVybiB1c2VySW5mbztcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLnVybEhlbHBlci5nZXRUb2tlblJlZnJlc2hVcmwoKSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ3RleHQvcGxhaW4nLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmICghKHJlc3BvbnNlLnN0YXR1cyA+PSAyMDAgJiYgcmVzcG9uc2Uuc3RhdHVzIDwgMzAwKSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgIChhd2FpdCByZXNwb25zZT8udGV4dCgpKSB8fFxuICAgICAgICAnRXJyb3IgcmVmcmVzaGluZyBhY2Nlc3MgdG9rZW4gaW4gZnVzaW9uYXV0aCc7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLy8gYSBzdWNjZXNzZnVsIHJlcXVlc3QgbWVhbnMgdGhhdCBhcHBfZXhwIHdhcyBidW1wZWQgaW50byB0aGUgZnV0dXJlLlxuICAgIC8vIHJlc2NoZWR1bGUgdGhlIGFjY2VzcyB0b2tlbiBleHBpcmF0aW9uIGV2ZW50LlxuICAgIHRoaXMuc2NoZWR1bGVUb2tlbkV4cGlyYXRpb24oKTtcblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIGluaXRBdXRvUmVmcmVzaCgpOiBOb2RlSlMuVGltZW91dCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLmlzTG9nZ2VkSW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRzQmVmb3JlUmVmcmVzaCA9XG4gICAgICB0aGlzLmNvbmZpZy5hdXRvUmVmcmVzaFNlY29uZHNCZWZvcmVFeHBpcnkgPz8gMTA7XG5cbiAgICBjb25zdCBtaWxsaXNlY29uZHNCZWZvcmVSZWZyZXNoID0gc2Vjb25kc0JlZm9yZVJlZnJlc2ggKiAxMDAwO1xuXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgY29uc3QgcmVmcmVzaFRpbWUgPSB0aGlzLmF0X2V4cCAtIG1pbGxpc2Vjb25kc0JlZm9yZVJlZnJlc2g7XG4gICAgY29uc3QgdGltZVRpbGxSZWZyZXNoID0gTWF0aC5tYXgocmVmcmVzaFRpbWUgLSBub3csIDApO1xuXG4gICAgcmV0dXJuIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICAgICAgdGhpcy5pbml0QXV0b1JlZnJlc2goKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLm9uQXV0b1JlZnJlc2hGYWlsdXJlPy4oZXJyb3IgYXMgRXJyb3IpO1xuICAgICAgfVxuICAgIH0sIHRpbWVUaWxsUmVmcmVzaCk7XG4gIH1cblxuICBoYW5kbGVQb3N0UmVkaXJlY3QoY2FsbGJhY2s/OiAoc3RhdGU/OiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICBpZiAodGhpcy5pc0xvZ2dlZEluICYmIHRoaXMucmVkaXJlY3RIZWxwZXIuZGlkUmVkaXJlY3QpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RIZWxwZXIuaGFuZGxlUG9zdFJlZGlyZWN0KGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNMb2dnZWRJbigpIHtcbiAgICByZXR1cm4gdGhpcy5hdF9leHAgPiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgfVxuXG4gIC8qKiBUaGUgbW9tZW50IG9mIGFjY2VzcyB0b2tlbiBleHBpcmF0aW9uIGluIG1pbGxpc2Vjb25kcyBzaW5jZSBlcG9jaC4gKi9cbiAgcHJpdmF0ZSBnZXQgYXRfZXhwKCk6IG51bWJlciB8IC0xIHtcbiAgICByZXR1cm4gZ2V0QWNjZXNzVG9rZW5FeHBpcmF0aW9uTW9tZW50KFxuICAgICAgdGhpcy5jb25maWcuYWNjZXNzVG9rZW5FeHBpcmVDb29raWVOYW1lLFxuICAgICAgdGhpcy5jb25maWcuY29va2llQWRhcHRlcixcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjaGVkdWxlcyBgb25Ub2tlbkV4cGlyYXRpb25gIGF0IG1vbWVudCBvZiBhY2Nlc3MgdG9rZW4gZXhwaXJhdGlvbi5cbiAgICogU0RLQ29yZSBpcyBub3QgbmVjZXNzYXJpbHkgcmVhY3RpdmUgbGlrZSBSZWFjdCwgQW5ndWxhciwgYW5kIFZ1ZS5cbiAgICogc28gYG9uVG9rZW5FeHBpcmF0aW9uYCBpcyBmb3IgcmVhY3RpdmUgZnJhbWV3b3JrcyB0byBob29rIGluIGFuZCBwZXJmb3JtIGFjdGlvbnMgYXMgb24gdG9rZW4gZXhwaXJhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc2NoZWR1bGVUb2tlbkV4cGlyYXRpb24oKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudG9rZW5FeHBpcmF0aW9uVGltZW91dCk7XG5cbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICBjb25zdCBtaWxsaXNlY29uZHNUaWxsRXhwaXJhdGlvbiA9IHRoaXMuYXRfZXhwIC0gbm93O1xuXG4gICAgaWYgKG1pbGxpc2Vjb25kc1RpbGxFeHBpcmF0aW9uID4gMCkge1xuICAgICAgdGhpcy50b2tlbkV4cGlyYXRpb25UaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgdGhpcy5jb25maWcub25Ub2tlbkV4cGlyYXRpb24sXG4gICAgICAgIG1pbGxpc2Vjb25kc1RpbGxFeHBpcmF0aW9uLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,11 +6,11 @@ export class UrlHelper {
|
|
|
6
6
|
this.redirectUri = config.redirectUri;
|
|
7
7
|
this.scope = config.scope;
|
|
8
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';
|
|
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
14
|
}
|
|
15
15
|
getMeUrl() {
|
|
16
16
|
return this.generateUrl(this.mePath);
|
|
@@ -42,6 +42,11 @@ export class UrlHelper {
|
|
|
42
42
|
client_id: this.clientId,
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
+
getAccountManagementUrl() {
|
|
46
|
+
return this.generateUrl('/account/', {
|
|
47
|
+
client_id: this.clientId,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
45
50
|
generateUrl(path, params) {
|
|
46
51
|
const url = new URL(this.serverUrl);
|
|
47
52
|
url.pathname = path;
|
|
@@ -61,4 +66,4 @@ export class UrlHelper {
|
|
|
61
66
|
return urlSearchParams;
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXJsSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnVzaW9uYXV0aC1hbmd1bGFyLXNkay9zcmMvc2RrY29yZS9VcmxIZWxwZXIvVXJsSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGtGQUFrRjtBQUNsRixNQUFNLE9BQU8sU0FBUztJQWFwQixZQUFZLE1BQXVCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBRTFELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLGFBQWEsQ0FBQztRQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksZ0JBQWdCLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLGNBQWMsQ0FBQztRQUN0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixJQUFJLGVBQWUsQ0FBQztJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDOUIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEtBQUs7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWM7UUFDM0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3hCLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVztZQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdkMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3hCLHdCQUF3QixFQUFFLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsV0FBVztTQUN6RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDN0MsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFZLEVBQUUsTUFBNkI7UUFDN0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXBCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0QsR0FBRyxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUMsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLHVCQUF1QixDQUM3QixNQUE0QjtRQUU1QixNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBRTlDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM5QyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNWLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVybEhlbHBlckNvbmZpZywgVXJsSGVscGVyUXVlcnlQYXJhbXMgfSBmcm9tICcuL1VybEhlbHBlclR5cGVzJztcblxuLyoqIEEgY2xhc3MgcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgVVJMcyB0aGF0IEZ1c2lvbkF1dGggU0RLcyBpbnRlcmFjdCB3aXRoLiAqL1xuZXhwb3J0IGNsYXNzIFVybEhlbHBlciB7XG4gIHNlcnZlclVybDogc3RyaW5nO1xuICBjbGllbnRJZDogc3RyaW5nO1xuICByZWRpcmVjdFVyaTogc3RyaW5nO1xuICBzY29wZT86IHN0cmluZztcblxuICBtZVBhdGg6IHN0cmluZztcbiAgbG9naW5QYXRoOiBzdHJpbmc7XG4gIHJlZ2lzdGVyUGF0aDogc3RyaW5nO1xuICBsb2dvdXRQYXRoOiBzdHJpbmc7XG4gIHRva2VuUmVmcmVzaFBhdGg6IHN0cmluZztcbiAgcG9zdExvZ291dFJlZGlyZWN0VXJpPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogVXJsSGVscGVyQ29uZmlnKSB7XG4gICAgdGhpcy5zZXJ2ZXJVcmwgPSBjb25maWcuc2VydmVyVXJsO1xuICAgIHRoaXMuY2xpZW50SWQgPSBjb25maWcuY2xpZW50SWQ7XG4gICAgdGhpcy5yZWRpcmVjdFVyaSA9IGNvbmZpZy5yZWRpcmVjdFVyaTtcbiAgICB0aGlzLnNjb3BlID0gY29uZmlnLnNjb3BlO1xuICAgIHRoaXMucG9zdExvZ291dFJlZGlyZWN0VXJpID0gY29uZmlnLnBvc3RMb2dvdXRSZWRpcmVjdFVyaTtcblxuICAgIHRoaXMubWVQYXRoID0gY29uZmlnLm1lUGF0aCA/PyAnL2FwcC9tZS8nO1xuICAgIHRoaXMubG9naW5QYXRoID0gY29uZmlnLmxvZ2luUGF0aCA/PyAnL2FwcC9sb2dpbi8nO1xuICAgIHRoaXMucmVnaXN0ZXJQYXRoID0gY29uZmlnLnJlZ2lzdGVyUGF0aCA/PyAnL2FwcC9yZWdpc3Rlci8nO1xuICAgIHRoaXMubG9nb3V0UGF0aCA9IGNvbmZpZy5sb2dvdXRQYXRoID8/ICcvYXBwL2xvZ291dC8nO1xuICAgIHRoaXMudG9rZW5SZWZyZXNoUGF0aCA9IGNvbmZpZy50b2tlblJlZnJlc2hQYXRoID8/ICcvYXBwL3JlZnJlc2gvJztcbiAgfVxuXG4gIGdldE1lVXJsKCk6IFVSTCB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVVcmwodGhpcy5tZVBhdGgpO1xuICB9XG5cbiAgZ2V0TG9naW5Vcmwoc3RhdGU/OiBzdHJpbmcpOiBVUkwge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlVXJsKHRoaXMubG9naW5QYXRoLCB7XG4gICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50SWQsXG4gICAgICByZWRpcmVjdF91cmk6IHRoaXMucmVkaXJlY3RVcmksXG4gICAgICBzY29wZTogdGhpcy5zY29wZSxcbiAgICAgIHN0YXRlLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0UmVnaXN0ZXJVcmwoc3RhdGU/OiBzdHJpbmcpOiBVUkwge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlVXJsKHRoaXMucmVnaXN0ZXJQYXRoLCB7XG4gICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50SWQsXG4gICAgICByZWRpcmVjdF91cmk6IHRoaXMucmVkaXJlY3RVcmksXG4gICAgICBzY29wZTogdGhpcy5zY29wZSxcbiAgICAgIHN0YXRlLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0TG9nb3V0VXJsKCk6IFVSTCB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVVcmwodGhpcy5sb2dvdXRQYXRoLCB7XG4gICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50SWQsXG4gICAgICBwb3N0X2xvZ291dF9yZWRpcmVjdF91cmk6IHRoaXMucG9zdExvZ291dFJlZGlyZWN0VXJpIHx8IHRoaXMucmVkaXJlY3RVcmksXG4gICAgfSk7XG4gIH1cblxuICBnZXRUb2tlblJlZnJlc2hVcmwoKTogVVJMIHtcbiAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZVVybCh0aGlzLnRva2VuUmVmcmVzaFBhdGgsIHtcbiAgICAgIGNsaWVudF9pZDogdGhpcy5jbGllbnRJZCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldEFjY291bnRNYW5hZ2VtZW50VXJsKCk6IFVSTCB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVVcmwoJy9hY2NvdW50LycsIHtcbiAgICAgIGNsaWVudF9pZDogdGhpcy5jbGllbnRJZCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVcmwocGF0aDogc3RyaW5nLCBwYXJhbXM/OiBVcmxIZWxwZXJRdWVyeVBhcmFtcyk6IFVSTCB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLnNlcnZlclVybCk7XG4gICAgdXJsLnBhdGhuYW1lID0gcGF0aDtcblxuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGNvbnN0IHVybFNlYXJjaFBhcmFtcyA9IHRoaXMuZ2VuZXJhdGVVUkxTZWFyY2hQYXJhbXMocGFyYW1zKTtcbiAgICAgIHVybC5zZWFyY2ggPSB1cmxTZWFyY2hQYXJhbXMudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVSTFNlYXJjaFBhcmFtcyhcbiAgICBwYXJhbXM6IFVybEhlbHBlclF1ZXJ5UGFyYW1zLFxuICApOiBVUkxTZWFyY2hQYXJhbXMge1xuICAgIGNvbnN0IHVybFNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcblxuICAgIE9iamVjdC5lbnRyaWVzKHBhcmFtcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdXJsU2VhcmNoUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB1cmxTZWFyY2hQYXJhbXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -11,11 +11,11 @@ class UrlHelper {
|
|
|
11
11
|
this.redirectUri = config.redirectUri;
|
|
12
12
|
this.scope = config.scope;
|
|
13
13
|
this.postLogoutRedirectUri = config.postLogoutRedirectUri;
|
|
14
|
-
this.mePath = config.mePath ?? '/app/me';
|
|
15
|
-
this.loginPath = config.loginPath ?? '/app/login';
|
|
16
|
-
this.registerPath = config.registerPath ?? '/app/register';
|
|
17
|
-
this.logoutPath = config.logoutPath ?? '/app/logout';
|
|
18
|
-
this.tokenRefreshPath = config.tokenRefreshPath ?? '/app/refresh';
|
|
14
|
+
this.mePath = config.mePath ?? '/app/me/';
|
|
15
|
+
this.loginPath = config.loginPath ?? '/app/login/';
|
|
16
|
+
this.registerPath = config.registerPath ?? '/app/register/';
|
|
17
|
+
this.logoutPath = config.logoutPath ?? '/app/logout/';
|
|
18
|
+
this.tokenRefreshPath = config.tokenRefreshPath ?? '/app/refresh/';
|
|
19
19
|
}
|
|
20
20
|
getMeUrl() {
|
|
21
21
|
return this.generateUrl(this.mePath);
|
|
@@ -47,6 +47,11 @@ class UrlHelper {
|
|
|
47
47
|
client_id: this.clientId,
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
+
getAccountManagementUrl() {
|
|
51
|
+
return this.generateUrl('/account/', {
|
|
52
|
+
client_id: this.clientId,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
50
55
|
generateUrl(path, params) {
|
|
51
56
|
const url = new URL(this.serverUrl);
|
|
52
57
|
url.pathname = path;
|
|
@@ -178,6 +183,9 @@ class SDKCore {
|
|
|
178
183
|
startLogout() {
|
|
179
184
|
window.location.assign(this.urlHelper.getLogoutUrl());
|
|
180
185
|
}
|
|
186
|
+
manageAccount() {
|
|
187
|
+
window.location.assign(this.urlHelper.getAccountManagementUrl());
|
|
188
|
+
}
|
|
181
189
|
async fetchUserInfo() {
|
|
182
190
|
const userInfoResponse = await fetch(this.urlHelper.getMeUrl(), {
|
|
183
191
|
credentials: 'include',
|
|
@@ -237,7 +245,11 @@ class SDKCore {
|
|
|
237
245
|
get at_exp() {
|
|
238
246
|
return getAccessTokenExpirationMoment(this.config.accessTokenExpireCookieName, this.config.cookieAdapter);
|
|
239
247
|
}
|
|
240
|
-
/**
|
|
248
|
+
/**
|
|
249
|
+
* Schedules `onTokenExpiration` at moment of access token expiration.
|
|
250
|
+
* SDKCore is not necessarily reactive like React, Angular, and Vue.
|
|
251
|
+
* so `onTokenExpiration` is for reactive frameworks to hook in and perform actions as on token expiration.
|
|
252
|
+
*/
|
|
241
253
|
scheduleTokenExpiration() {
|
|
242
254
|
clearTimeout(this.tokenExpirationTimeout);
|
|
243
255
|
const now = new Date().getTime();
|
|
@@ -382,10 +394,17 @@ class FusionAuthService {
|
|
|
382
394
|
logout() {
|
|
383
395
|
this.core.startLogout();
|
|
384
396
|
}
|
|
385
|
-
|
|
386
|
-
|
|
397
|
+
/**
|
|
398
|
+
* Redirects to [self service account management](https://fusionauth.io/docs/lifecycle/manage-users/account-management/)
|
|
399
|
+
* Self service account management is only available in FusionAuth paid plans.
|
|
400
|
+
*/
|
|
401
|
+
manageAccount() {
|
|
402
|
+
this.core.manageAccount();
|
|
403
|
+
}
|
|
404
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthService, deps: [{ token: FUSIONAUTH_SERVICE_CONFIG }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
405
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthService, providedIn: 'root' }); }
|
|
387
406
|
}
|
|
388
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthService, decorators: [{
|
|
389
408
|
type: Injectable,
|
|
390
409
|
args: [{
|
|
391
410
|
providedIn: 'root',
|
|
@@ -405,10 +424,10 @@ class FusionAuthLoginButtonComponent {
|
|
|
405
424
|
login() {
|
|
406
425
|
this.fusionAuth.startLogin(this.state);
|
|
407
426
|
}
|
|
408
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
409
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
427
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLoginButtonComponent, deps: [{ token: FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
428
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthLoginButtonComponent, selector: "fa-login", inputs: { state: "state" }, ngImport: i0, template: "<button class=\"fa-button\" (click)=\"login()\">\n <span>Login</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }); }
|
|
410
429
|
}
|
|
411
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
430
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLoginButtonComponent, decorators: [{
|
|
412
431
|
type: Component,
|
|
413
432
|
args: [{ selector: 'fa-login', template: "<button class=\"fa-button\" (click)=\"login()\">\n <span>Login</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }]
|
|
414
433
|
}], ctorParameters: () => [{ type: FusionAuthService }], propDecorators: { state: [{
|
|
@@ -422,10 +441,10 @@ class FusionAuthLogoutButtonComponent {
|
|
|
422
441
|
logout() {
|
|
423
442
|
this.fusionAuth.logout();
|
|
424
443
|
}
|
|
425
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
426
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
444
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLogoutButtonComponent, deps: [{ token: FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
445
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthLogoutButtonComponent, selector: "fa-logout", ngImport: i0, template: "<button class=\"fa-logout-button\" (click)=\"logout()\">\n <span>logout</span>\n</button>\n", styles: [".fa-logout-button{padding:7px 13px;border-radius:3px;display:block;border:solid 1px #083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:12px;text-align:center;color:#083b94}.fa-logout-button:hover{cursor:pointer}\n"] }); }
|
|
427
446
|
}
|
|
428
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
447
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthLogoutButtonComponent, decorators: [{
|
|
429
448
|
type: Component,
|
|
430
449
|
args: [{ selector: 'fa-logout', template: "<button class=\"fa-logout-button\" (click)=\"logout()\">\n <span>logout</span>\n</button>\n", styles: [".fa-logout-button{padding:7px 13px;border-radius:3px;display:block;border:solid 1px #083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:12px;text-align:center;color:#083b94}.fa-logout-button:hover{cursor:pointer}\n"] }]
|
|
431
450
|
}], ctorParameters: () => [{ type: FusionAuthService }] });
|
|
@@ -437,16 +456,31 @@ class FusionAuthRegisterButtonComponent {
|
|
|
437
456
|
register() {
|
|
438
457
|
this.fusionAuth.startRegistration(this.state);
|
|
439
458
|
}
|
|
440
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
441
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
459
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthRegisterButtonComponent, deps: [{ token: FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
460
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthRegisterButtonComponent, selector: "fa-register", inputs: { state: "state" }, ngImport: i0, template: "<button class=\"fa-button\" (click)=\"register()\">\n <span>Register Now</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }); }
|
|
442
461
|
}
|
|
443
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthRegisterButtonComponent, decorators: [{
|
|
444
463
|
type: Component,
|
|
445
464
|
args: [{ selector: 'fa-register', template: "<button class=\"fa-button\" (click)=\"register()\">\n <span>Register Now</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }]
|
|
446
465
|
}], ctorParameters: () => [{ type: FusionAuthService }], propDecorators: { state: [{
|
|
447
466
|
type: Input
|
|
448
467
|
}] } });
|
|
449
468
|
|
|
469
|
+
class FusionAuthAccountButtonComponent {
|
|
470
|
+
constructor(fusionAuth) {
|
|
471
|
+
this.fusionAuth = fusionAuth;
|
|
472
|
+
}
|
|
473
|
+
manageAccount() {
|
|
474
|
+
this.fusionAuth.manageAccount();
|
|
475
|
+
}
|
|
476
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthAccountButtonComponent, deps: [{ token: FusionAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
477
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FusionAuthAccountButtonComponent, selector: "fa-account", ngImport: i0, template: "<button class=\"fa-button\" (click)=\"manageAccount()\">\n <span>manage account</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }); }
|
|
478
|
+
}
|
|
479
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthAccountButtonComponent, decorators: [{
|
|
480
|
+
type: Component,
|
|
481
|
+
args: [{ selector: 'fa-account', template: "<button class=\"fa-button\" (click)=\"manageAccount()\">\n <span>manage account</span>\n</button>\n", styles: [".fa-button{padding:16px 16px 13px;border-radius:8px;background-color:#083b94;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;font-size:18px;font-weight:600;text-align:center;color:#fff;width:400px}.fa-button:hover{cursor:pointer}\n"] }]
|
|
482
|
+
}], ctorParameters: () => [{ type: FusionAuthService }] });
|
|
483
|
+
|
|
450
484
|
class FusionAuthModule {
|
|
451
485
|
static forRoot(fusionAuthConfig) {
|
|
452
486
|
return {
|
|
@@ -457,27 +491,31 @@ class FusionAuthModule {
|
|
|
457
491
|
],
|
|
458
492
|
};
|
|
459
493
|
}
|
|
460
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
461
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
494
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
495
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule, declarations: [FusionAuthLoginButtonComponent,
|
|
462
496
|
FusionAuthLogoutButtonComponent,
|
|
463
|
-
FusionAuthRegisterButtonComponent
|
|
497
|
+
FusionAuthRegisterButtonComponent,
|
|
498
|
+
FusionAuthAccountButtonComponent], exports: [FusionAuthLoginButtonComponent,
|
|
464
499
|
FusionAuthLogoutButtonComponent,
|
|
465
|
-
FusionAuthRegisterButtonComponent
|
|
466
|
-
|
|
500
|
+
FusionAuthRegisterButtonComponent,
|
|
501
|
+
FusionAuthAccountButtonComponent] }); }
|
|
502
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule }); }
|
|
467
503
|
}
|
|
468
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
504
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FusionAuthModule, decorators: [{
|
|
469
505
|
type: NgModule,
|
|
470
506
|
args: [{
|
|
471
507
|
declarations: [
|
|
472
508
|
FusionAuthLoginButtonComponent,
|
|
473
509
|
FusionAuthLogoutButtonComponent,
|
|
474
510
|
FusionAuthRegisterButtonComponent,
|
|
511
|
+
FusionAuthAccountButtonComponent,
|
|
475
512
|
],
|
|
476
513
|
imports: [],
|
|
477
514
|
exports: [
|
|
478
515
|
FusionAuthLoginButtonComponent,
|
|
479
516
|
FusionAuthLogoutButtonComponent,
|
|
480
517
|
FusionAuthRegisterButtonComponent,
|
|
518
|
+
FusionAuthAccountButtonComponent,
|
|
481
519
|
],
|
|
482
520
|
}]
|
|
483
521
|
}] });
|
|
@@ -490,5 +528,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
490
528
|
* Generated bundle index. Do not edit.
|
|
491
529
|
*/
|
|
492
530
|
|
|
493
|
-
export { FusionAuthLoginButtonComponent, FusionAuthLogoutButtonComponent, FusionAuthModule, FusionAuthRegisterButtonComponent, FusionAuthService };
|
|
531
|
+
export { FusionAuthAccountButtonComponent, FusionAuthLoginButtonComponent, FusionAuthLogoutButtonComponent, FusionAuthModule, FusionAuthRegisterButtonComponent, FusionAuthService };
|
|
494
532
|
//# sourceMappingURL=fusionauth-angular-sdk.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusionauth-angular-sdk.mjs","sources":["../../../projects/fusionauth-angular-sdk/src/sdkcore/UrlHelper/UrlHelper.ts","../../../projects/fusionauth-angular-sdk/src/sdkcore/RedirectHelper/RedirectHelper.ts","../../../projects/fusionauth-angular-sdk/src/sdkcore/CookieHelpers/CookieHelpers.ts","../../../projects/fusionauth-angular-sdk/src/sdkcore/SDKCore/SDKCore.ts","../../../projects/fusionauth-angular-sdk/src/sdkcore/testUtils/mockLoggedIn.ts","../../../projects/fusionauth-angular-sdk/src/sdkcore/testUtils/mockWindowLocation.ts","../../../projects/fusionauth-angular-sdk/src/lib/SSRCookieAdapter.ts","../../../projects/fusionauth-angular-sdk/src/lib/injectionToken.ts","../../../projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.html","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.html","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.html","../../../projects/fusionauth-angular-sdk/src/lib/fusion-auth.module.ts","../../../projects/fusionauth-angular-sdk/src/public-api.ts","../../../projects/fusionauth-angular-sdk/src/fusionauth-angular-sdk.ts"],"sourcesContent":["import { UrlHelperConfig, UrlHelperQueryParams } from './UrlHelperTypes';\n\n/** A class responsible for generating URLs that FusionAuth SDKs interact with. */\nexport class UrlHelper {\n serverUrl: string;\n clientId: string;\n redirectUri: string;\n scope?: string;\n\n mePath: string;\n loginPath: string;\n registerPath: string;\n logoutPath: string;\n tokenRefreshPath: string;\n postLogoutRedirectUri?: string;\n\n constructor(config: UrlHelperConfig) {\n this.serverUrl = config.serverUrl;\n this.clientId = config.clientId;\n this.redirectUri = config.redirectUri;\n this.scope = config.scope;\n this.postLogoutRedirectUri = config.postLogoutRedirectUri;\n\n this.mePath = config.mePath ?? '/app/me';\n this.loginPath = config.loginPath ?? '/app/login';\n this.registerPath = config.registerPath ?? '/app/register';\n this.logoutPath = config.logoutPath ?? '/app/logout';\n this.tokenRefreshPath = config.tokenRefreshPath ?? '/app/refresh';\n }\n\n getMeUrl(): URL {\n return this.generateUrl(this.mePath);\n }\n\n getLoginUrl(state?: string): URL {\n return this.generateUrl(this.loginPath, {\n client_id: this.clientId,\n redirect_uri: this.redirectUri,\n scope: this.scope,\n state,\n });\n }\n\n getRegisterUrl(state?: string): URL {\n return this.generateUrl(this.registerPath, {\n client_id: this.clientId,\n redirect_uri: this.redirectUri,\n scope: this.scope,\n state,\n });\n }\n\n getLogoutUrl(): URL {\n return this.generateUrl(this.logoutPath, {\n client_id: this.clientId,\n post_logout_redirect_uri: this.postLogoutRedirectUri || this.redirectUri,\n });\n }\n\n getTokenRefreshUrl(): URL {\n return this.generateUrl(this.tokenRefreshPath, {\n client_id: this.clientId,\n });\n }\n\n private generateUrl(path: string, params?: UrlHelperQueryParams): URL {\n const url = new URL(this.serverUrl);\n url.pathname = path;\n\n if (params) {\n const urlSearchParams = this.generateURLSearchParams(params);\n url.search = urlSearchParams.toString();\n }\n\n return url;\n }\n\n private generateURLSearchParams(\n params: UrlHelperQueryParams,\n ): URLSearchParams {\n const urlSearchParams = new URLSearchParams();\n\n Object.entries(params).forEach(([key, value]) => {\n if (value) {\n urlSearchParams.append(key, value);\n }\n });\n\n return urlSearchParams;\n }\n}\n","/** A class responsible for storing a redirect value in localStorage and cleanup afterward. */\nexport class RedirectHelper {\n private readonly REDIRECT_VALUE = 'fa-sdk-redirect-value';\n private get storage(): Storage {\n try {\n return localStorage;\n } catch {\n // fallback for non-browser environments where localStorage is not defined.\n return {\n /* eslint-disable */\n setItem(_key: string, _value: string) {},\n getItem(_key: string) {},\n removeItem(_key: string) {},\n /* eslint-enable */\n } as Storage;\n }\n }\n\n handlePreRedirect(state?: string) {\n const valueForStorage = `${this.generateRandomString()}:${state ?? ''}`;\n this.storage.setItem(this.REDIRECT_VALUE, valueForStorage);\n }\n\n handlePostRedirect(callback?: (state?: string) => void) {\n const stateValue = this.stateValue ?? undefined;\n callback?.(stateValue);\n this.storage.removeItem(this.REDIRECT_VALUE);\n }\n\n get didRedirect() {\n return Boolean(this.storage.getItem(this.REDIRECT_VALUE));\n }\n\n private get stateValue() {\n const redirectValue = this.storage.getItem(this.REDIRECT_VALUE);\n\n if (!redirectValue) {\n return null;\n }\n\n const [, ...stateValue] = redirectValue.split(':');\n return stateValue.join(':');\n }\n\n private generateRandomString() {\n const array = new Uint32Array(56 / 2);\n window.crypto.getRandomValues(array);\n return Array.from(array, (n: number) =>\n ('0' + n.toString(16)).substring(-2),\n ).join('');\n }\n}\n","/**\n * Gets the `app.at_exp` cookie and converts it to milliseconds since epoch.\n * Returns -1 if the cookie is not present.\n * @param cookieName - defaults to `app.at_exp`.\n * @param adapter - SSR frameworks like Nuxt, Next, and angular/ssr will pass in an adapter.\n */\nexport function getAccessTokenExpirationMoment(\n cookieName: string = 'app.at_exp',\n adapter?: CookieAdapter,\n): number | -1 {\n if (adapter) {\n return toMilliseconds(adapter.at_exp(cookieName));\n }\n\n let cookie;\n\n try {\n // `document` throws a ReferenceError if this runs in a\n // non-browser environment such as an SSR framework like Nuxt or Next.\n cookie = document.cookie;\n } catch {\n console.error(\n 'Error accessing cookies in fusionauth. If you are using SSR you must configure the SDK with a cookie adapter',\n );\n return -1;\n }\n\n const expCookie = cookie\n .split('; ')\n .map(c => c.split('='))\n .find(([name]) => name === cookieName);\n const cookieValue = expCookie?.[1];\n\n return toMilliseconds(cookieValue);\n}\n\nexport interface CookieAdapter {\n /** returns the `app.at_exp` cookie without manipulating the value. */\n at_exp: (cookieName?: string) => number | string | undefined;\n}\n\nfunction toMilliseconds(seconds?: number | string): number {\n if (!seconds) return -1;\n else return Number(seconds) * 1000;\n}\n","import { UrlHelper } from '../UrlHelper';\nimport { SDKConfig } from '../SDKConfig';\nimport { UserInfo } from '../SDKContext';\nimport { RedirectHelper } from '../RedirectHelper';\nimport { getAccessTokenExpirationMoment } from '../CookieHelpers';\n\n/** A class containing framework-agnostic SDK methods */\nexport class SDKCore {\n private config: SDKConfig;\n private urlHelper: UrlHelper;\n private redirectHelper: RedirectHelper = new RedirectHelper();\n private tokenExpirationTimeout?: NodeJS.Timeout;\n\n constructor(config: SDKConfig) {\n this.config = config;\n this.urlHelper = new UrlHelper({\n serverUrl: config.serverUrl,\n clientId: config.clientId,\n redirectUri: config.redirectUri,\n scope: config.scope,\n mePath: config.mePath,\n loginPath: config.loginPath,\n registerPath: config.registerPath,\n logoutPath: config.logoutPath,\n tokenRefreshPath: config.tokenRefreshPath,\n postLogoutRedirectUri: config.postLogoutRedirectUri,\n });\n this.scheduleTokenExpiration();\n }\n\n startLogin(state?: string) {\n this.redirectHelper.handlePreRedirect(state);\n window.location.assign(this.urlHelper.getLoginUrl(state));\n }\n\n startRegister(state?: string) {\n this.redirectHelper.handlePreRedirect(state);\n window.location.assign(this.urlHelper.getRegisterUrl(state));\n }\n\n startLogout() {\n window.location.assign(this.urlHelper.getLogoutUrl());\n }\n\n async fetchUserInfo() {\n const userInfoResponse = await fetch(this.urlHelper.getMeUrl(), {\n credentials: 'include',\n });\n\n if (!userInfoResponse.ok) {\n throw new Error(\n `Unable to fetch userInfo in fusionauth. Request failed with status code ${userInfoResponse?.status}`,\n );\n }\n\n const userInfo: UserInfo = await userInfoResponse.json();\n return userInfo;\n }\n\n async refreshToken(): Promise<Response> {\n const response = await fetch(this.urlHelper.getTokenRefreshUrl(), {\n method: 'POST',\n credentials: 'include',\n headers: {\n 'Content-Type': 'text/plain',\n },\n });\n\n if (!(response.status >= 200 && response.status < 300)) {\n const message =\n (await response?.text()) ||\n 'Error refreshing access token in fusionauth';\n throw new Error(message);\n }\n\n // a successful request means that app_exp was bumped into the future.\n // reschedule the access token expiration event.\n this.scheduleTokenExpiration();\n\n return response;\n }\n\n initAutoRefresh(): NodeJS.Timeout | undefined {\n if (!this.isLoggedIn) {\n return;\n }\n\n const secondsBeforeRefresh =\n this.config.autoRefreshSecondsBeforeExpiry ?? 10;\n\n const millisecondsBeforeRefresh = secondsBeforeRefresh * 1000;\n\n const now = new Date().getTime();\n const refreshTime = this.at_exp - millisecondsBeforeRefresh;\n const timeTillRefresh = Math.max(refreshTime - now, 0);\n\n return setTimeout(async () => {\n try {\n await this.refreshToken();\n this.initAutoRefresh();\n } catch (error) {\n this.config.onAutoRefreshFailure?.(error as Error);\n }\n }, timeTillRefresh);\n }\n\n handlePostRedirect(callback?: (state?: string) => void) {\n if (this.isLoggedIn && this.redirectHelper.didRedirect) {\n this.redirectHelper.handlePostRedirect(callback);\n }\n }\n\n get isLoggedIn() {\n return this.at_exp > new Date().getTime();\n }\n\n /** The moment of access token expiration in milliseconds since epoch. */\n private get at_exp(): number | -1 {\n return getAccessTokenExpirationMoment(\n this.config.accessTokenExpireCookieName,\n this.config.cookieAdapter,\n );\n }\n\n /** Schedules `onTokenExpiration` at moment of access token expiration. */\n private scheduleTokenExpiration(): void {\n clearTimeout(this.tokenExpirationTimeout);\n\n const now = new Date().getTime();\n const millisecondsTillExpiration = this.at_exp - now;\n\n if (millisecondsTillExpiration > 0) {\n this.tokenExpirationTimeout = setTimeout(\n this.config.onTokenExpiration,\n millisecondsTillExpiration,\n );\n }\n }\n}\n","/** Sets `app.at_exp` moment cookie so the user will be logged in for 1 hour. */\nfunction mockIsLoggedIn() {\n const expirationMoment = new Date();\n expirationMoment.setHours(expirationMoment.getHours() + 1);\n const oneHourInTheFutureInMilliseconds = expirationMoment.getTime() / 1000;\n document.cookie = `app.at_exp=${oneHourInTheFutureInMilliseconds}`;\n}\n\n/** Removes the `app.at_exp` cookie. */\nfunction removeAt_expCookie() {\n document.cookie = 'app.at_exp' + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';\n}\n\nexport { mockIsLoggedIn, removeAt_expCookie };\n","import { VitestUtils } from 'vitest';\n\nfunction mockWindowLocation(vi: VitestUtils) {\n const mockedLocation = {\n ...window.location,\n assign: vi.fn(),\n };\n vi.spyOn(window, 'location', 'get').mockReturnValue(mockedLocation);\n return mockedLocation;\n}\n\nexport { mockWindowLocation };\n","import { CookieAdapter } from '../sdkcore';\n\n/** An adapter class that supports accessing cookies with SSR */\nexport class SSRCookieAdapter implements CookieAdapter {\n constructor(private isBrowser: boolean) {}\n\n at_exp(cookieName: string = 'app.at_exp') {\n if (!this.isBrowser) {\n return;\n }\n\n try {\n const expCookie = document.cookie\n .split('; ')\n .map(c => c.split('='))\n .find(([name]) => name === cookieName);\n return expCookie?.[1];\n } catch (error) {\n console.error('Error within the SSRCookieAdapter: ', error);\n return -1;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { FusionAuthConfig } from './types';\n\nexport const FUSIONAUTH_SERVICE_CONFIG = new InjectionToken<FusionAuthConfig>(\n 'FUSIONAUTH_SERVICE_CONFIG',\n);\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Observable, catchError, BehaviorSubject } from 'rxjs';\n\nimport { SDKCore } from '../sdkcore';\nimport { SSRCookieAdapter } from './SSRCookieAdapter';\nimport { FusionAuthConfig, UserInfo } from './types';\nimport { FUSIONAUTH_SERVICE_CONFIG } from './injectionToken';\n\n/**\n * Service class to use with FusionAuth backend endpoints.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class FusionAuthService {\n private core: SDKCore;\n private autoRefreshTimer?: NodeJS.Timeout;\n private isLoggedInSubject: BehaviorSubject<boolean>;\n\n constructor(\n @Inject(FUSIONAUTH_SERVICE_CONFIG) config: FusionAuthConfig,\n @Inject(PLATFORM_ID) platformId: Object,\n ) {\n this.core = new SDKCore({\n ...config,\n onTokenExpiration: () => {\n this.isLoggedInSubject.next(false);\n },\n cookieAdapter: new SSRCookieAdapter(isPlatformBrowser(platformId)),\n });\n\n this.isLoggedInSubject = new BehaviorSubject(this.core.isLoggedIn);\n this.isLoggedIn$ = this.isLoggedInSubject.asObservable();\n\n this.core.handlePostRedirect(config.onRedirect);\n\n if (config.shouldAutoRefresh && this.core.isLoggedIn) {\n this.initAutoRefresh();\n }\n }\n\n /** An observable representing whether the user is logged in. */\n isLoggedIn$: Observable<boolean>;\n\n /** A function that returns whether the user is logged in. This returned value is non-observable. */\n isLoggedIn() {\n return this.core.isLoggedIn;\n }\n\n /**\n * Refreshes the access token a single time.\n * Automatic token refreshing can be enabled if the SDK is configured with `shouldAutoRefresh`.\n */\n async refreshToken(): Promise<Response> {\n return await this.core.refreshToken();\n }\n\n /**\n * Initializes automatic access token refreshing.\n * This is handled automatically if the SDK is configured with `shouldAutoRefresh`.\n */\n initAutoRefresh(): void {\n if (this.autoRefreshTimer) {\n clearTimeout(this.autoRefreshTimer);\n }\n\n this.autoRefreshTimer = this.core.initAutoRefresh();\n }\n\n /**\n * Returns an observable request that fetches userInfo, and catches error.\n */\n getUserInfoObservable(callbacks?: {\n onBegin?: () => void;\n onDone?: () => void;\n }): Observable<UserInfo> {\n callbacks?.onBegin?.();\n return new Observable<UserInfo>(observer => {\n this.core\n .fetchUserInfo()\n .then(userInfo => {\n observer.next(userInfo);\n })\n .catch(error => {\n observer.error(error);\n })\n .finally(() => {\n callbacks?.onDone?.();\n });\n }).pipe(\n catchError(error => {\n throw error;\n }),\n );\n }\n\n /**\n * Fetches userInfo from the 'me' endpoint.\n * @throws {Error} - if an error occurred while fetching.\n */\n async getUserInfo(): Promise<UserInfo> {\n return await this.core.fetchUserInfo();\n }\n\n /**\n * Initiates login flow.\n * @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.\n */\n startLogin(state?: string): void {\n this.core.startLogin(state);\n }\n\n /**\n * Initiates register flow.\n * @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.\n */\n startRegistration(state?: string): void {\n this.core.startRegister(state);\n }\n\n /**\n * Initiates logout flow.\n */\n logout(): void {\n this.core.startLogout();\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { FusionAuthService } from '../../fusion-auth.service';\n\n@Component({\n selector: 'fa-login',\n templateUrl: './fusion-auth-login-button.component.html',\n styleUrls: ['./fusion-auth-login-button.component.scss'],\n})\nexport class FusionAuthLoginButtonComponent {\n @Input() state: string | undefined;\n\n constructor(private fusionAuth: FusionAuthService) {}\n\n login() {\n this.fusionAuth.startLogin(this.state);\n }\n}\n","<button class=\"fa-button\" (click)=\"login()\">\n <span>Login</span>\n</button>\n","import { Component } from '@angular/core';\nimport { FusionAuthService } from '../../fusion-auth.service';\n\n@Component({\n selector: 'fa-logout',\n templateUrl: './fusion-auth-logout-button.component.html',\n styleUrls: ['./fusion-auth-logout-button.component.scss'],\n})\nexport class FusionAuthLogoutButtonComponent {\n constructor(private fusionAuth: FusionAuthService) {}\n\n logout() {\n this.fusionAuth.logout();\n }\n}\n","<button class=\"fa-logout-button\" (click)=\"logout()\">\n <span>logout</span>\n</button>\n","import { Component, Input } from '@angular/core';\nimport { FusionAuthService } from '../../fusion-auth.service';\n\n@Component({\n selector: 'fa-register',\n templateUrl: './fusion-auth-register-button.component.html',\n styleUrls: ['./fusion-auth-register-button.component.scss'],\n})\nexport class FusionAuthRegisterButtonComponent {\n @Input() state: string | undefined;\n\n constructor(private fusionAuth: FusionAuthService) {}\n\n register() {\n this.fusionAuth.startRegistration(this.state);\n }\n}\n","<button class=\"fa-button\" (click)=\"register()\">\n <span>Register Now</span>\n</button>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FusionAuthConfig } from './types';\nimport { FusionAuthService } from './fusion-auth.service';\nimport { FUSIONAUTH_SERVICE_CONFIG } from './injectionToken';\nimport { FusionAuthLoginButtonComponent } from './components/fusionauth-login.button/fusion-auth-login-button.component';\nimport { FusionAuthLogoutButtonComponent } from './components/fusionauth-logout.button/fusion-auth-logout-button.component';\nimport { FusionAuthRegisterButtonComponent } from './components/fusionauth-register.button/fusion-auth-register-button.component';\n\n@NgModule({\n declarations: [\n FusionAuthLoginButtonComponent,\n FusionAuthLogoutButtonComponent,\n FusionAuthRegisterButtonComponent,\n ],\n imports: [],\n exports: [\n FusionAuthLoginButtonComponent,\n FusionAuthLogoutButtonComponent,\n FusionAuthRegisterButtonComponent,\n ],\n})\nexport class FusionAuthModule {\n static forRoot(\n fusionAuthConfig: FusionAuthConfig,\n ): ModuleWithProviders<FusionAuthModule> {\n return {\n ngModule: FusionAuthModule,\n providers: [\n { provide: FUSIONAUTH_SERVICE_CONFIG, useValue: fusionAuthConfig },\n FusionAuthService,\n ],\n };\n }\n}\n","/*\n * Public API Surface of fusionauth-angular-sdk\n */\n\nexport * from './lib/fusion-auth.service';\nexport * from './lib/components/fusionauth-login.button/fusion-auth-login-button.component';\nexport * from './lib/components/fusionauth-logout.button/fusion-auth-logout-button.component';\nexport * from './lib/components/fusionauth-register.button/fusion-auth-register-button.component';\nexport * from './lib/fusion-auth.module';\nexport * from './lib/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FusionAuthService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fusionauth-angular-sdk.mjs","sources":["../../../projects/fusionauth-angular-sdk/src/sdkcore/UrlHelper/UrlHelper.ts","../../../projects/fusionauth-angular-sdk/src/sdkcore/RedirectHelper/RedirectHelper.ts","../../../projects/fusionauth-angular-sdk/src/sdkcore/CookieHelpers/CookieHelpers.ts","../../../projects/fusionauth-angular-sdk/src/sdkcore/SDKCore/SDKCore.ts","../../../projects/fusionauth-angular-sdk/src/sdkcore/testUtils/mockLoggedIn.ts","../../../projects/fusionauth-angular-sdk/src/sdkcore/testUtils/mockWindowLocation.ts","../../../projects/fusionauth-angular-sdk/src/lib/SSRCookieAdapter.ts","../../../projects/fusionauth-angular-sdk/src/lib/injectionToken.ts","../../../projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.html","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.html","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.html","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts","../../../projects/fusionauth-angular-sdk/src/lib/components/fusionauth-account.button/fusion-auth-account-button.component.html","../../../projects/fusionauth-angular-sdk/src/lib/fusion-auth.module.ts","../../../projects/fusionauth-angular-sdk/src/public-api.ts","../../../projects/fusionauth-angular-sdk/src/fusionauth-angular-sdk.ts"],"sourcesContent":["import { UrlHelperConfig, UrlHelperQueryParams } from './UrlHelperTypes';\n\n/** A class responsible for generating URLs that FusionAuth SDKs interact with. */\nexport class UrlHelper {\n serverUrl: string;\n clientId: string;\n redirectUri: string;\n scope?: string;\n\n mePath: string;\n loginPath: string;\n registerPath: string;\n logoutPath: string;\n tokenRefreshPath: string;\n postLogoutRedirectUri?: string;\n\n constructor(config: UrlHelperConfig) {\n this.serverUrl = config.serverUrl;\n this.clientId = config.clientId;\n this.redirectUri = config.redirectUri;\n this.scope = config.scope;\n this.postLogoutRedirectUri = config.postLogoutRedirectUri;\n\n this.mePath = config.mePath ?? '/app/me/';\n this.loginPath = config.loginPath ?? '/app/login/';\n this.registerPath = config.registerPath ?? '/app/register/';\n this.logoutPath = config.logoutPath ?? '/app/logout/';\n this.tokenRefreshPath = config.tokenRefreshPath ?? '/app/refresh/';\n }\n\n getMeUrl(): URL {\n return this.generateUrl(this.mePath);\n }\n\n getLoginUrl(state?: string): URL {\n return this.generateUrl(this.loginPath, {\n client_id: this.clientId,\n redirect_uri: this.redirectUri,\n scope: this.scope,\n state,\n });\n }\n\n getRegisterUrl(state?: string): URL {\n return this.generateUrl(this.registerPath, {\n client_id: this.clientId,\n redirect_uri: this.redirectUri,\n scope: this.scope,\n state,\n });\n }\n\n getLogoutUrl(): URL {\n return this.generateUrl(this.logoutPath, {\n client_id: this.clientId,\n post_logout_redirect_uri: this.postLogoutRedirectUri || this.redirectUri,\n });\n }\n\n getTokenRefreshUrl(): URL {\n return this.generateUrl(this.tokenRefreshPath, {\n client_id: this.clientId,\n });\n }\n\n getAccountManagementUrl(): URL {\n return this.generateUrl('/account/', {\n client_id: this.clientId,\n });\n }\n\n private generateUrl(path: string, params?: UrlHelperQueryParams): URL {\n const url = new URL(this.serverUrl);\n url.pathname = path;\n\n if (params) {\n const urlSearchParams = this.generateURLSearchParams(params);\n url.search = urlSearchParams.toString();\n }\n\n return url;\n }\n\n private generateURLSearchParams(\n params: UrlHelperQueryParams,\n ): URLSearchParams {\n const urlSearchParams = new URLSearchParams();\n\n Object.entries(params).forEach(([key, value]) => {\n if (value) {\n urlSearchParams.append(key, value);\n }\n });\n\n return urlSearchParams;\n }\n}\n","/** A class responsible for storing a redirect value in localStorage and cleanup afterward. */\nexport class RedirectHelper {\n private readonly REDIRECT_VALUE = 'fa-sdk-redirect-value';\n private get storage(): Storage {\n try {\n return localStorage;\n } catch {\n // fallback for non-browser environments where localStorage is not defined.\n return {\n /* eslint-disable */\n setItem(_key: string, _value: string) {},\n getItem(_key: string) {},\n removeItem(_key: string) {},\n /* eslint-enable */\n } as Storage;\n }\n }\n\n handlePreRedirect(state?: string) {\n const valueForStorage = `${this.generateRandomString()}:${state ?? ''}`;\n this.storage.setItem(this.REDIRECT_VALUE, valueForStorage);\n }\n\n handlePostRedirect(callback?: (state?: string) => void) {\n const stateValue = this.stateValue ?? undefined;\n callback?.(stateValue);\n this.storage.removeItem(this.REDIRECT_VALUE);\n }\n\n get didRedirect() {\n return Boolean(this.storage.getItem(this.REDIRECT_VALUE));\n }\n\n private get stateValue() {\n const redirectValue = this.storage.getItem(this.REDIRECT_VALUE);\n\n if (!redirectValue) {\n return null;\n }\n\n const [, ...stateValue] = redirectValue.split(':');\n return stateValue.join(':');\n }\n\n private generateRandomString() {\n const array = new Uint32Array(56 / 2);\n window.crypto.getRandomValues(array);\n return Array.from(array, (n: number) =>\n ('0' + n.toString(16)).substring(-2),\n ).join('');\n }\n}\n","/**\n * Gets the `app.at_exp` cookie and converts it to milliseconds since epoch.\n * Returns -1 if the cookie is not present.\n * @param cookieName - defaults to `app.at_exp`.\n * @param adapter - SSR frameworks like Nuxt, Next, and angular/ssr will pass in an adapter.\n */\nexport function getAccessTokenExpirationMoment(\n cookieName: string = 'app.at_exp',\n adapter?: CookieAdapter,\n): number | -1 {\n if (adapter) {\n return toMilliseconds(adapter.at_exp(cookieName));\n }\n\n let cookie;\n\n try {\n // `document` throws a ReferenceError if this runs in a\n // non-browser environment such as an SSR framework like Nuxt or Next.\n cookie = document.cookie;\n } catch {\n console.error(\n 'Error accessing cookies in fusionauth. If you are using SSR you must configure the SDK with a cookie adapter',\n );\n return -1;\n }\n\n const expCookie = cookie\n .split('; ')\n .map(c => c.split('='))\n .find(([name]) => name === cookieName);\n const cookieValue = expCookie?.[1];\n\n return toMilliseconds(cookieValue);\n}\n\nexport interface CookieAdapter {\n /** returns the `app.at_exp` cookie without manipulating the value. */\n at_exp: (cookieName?: string) => number | string | undefined;\n}\n\nfunction toMilliseconds(seconds?: number | string): number {\n if (!seconds) return -1;\n else return Number(seconds) * 1000;\n}\n","import { UrlHelper } from '../UrlHelper';\nimport { SDKConfig } from '../SDKConfig';\nimport { UserInfo } from '../SDKContext';\nimport { RedirectHelper } from '../RedirectHelper';\nimport { getAccessTokenExpirationMoment } from '../CookieHelpers';\n\n/** A class containing framework-agnostic SDK methods */\nexport class SDKCore {\n private config: SDKConfig;\n private urlHelper: UrlHelper;\n private redirectHelper: RedirectHelper = new RedirectHelper();\n private tokenExpirationTimeout?: NodeJS.Timeout;\n\n constructor(config: SDKConfig) {\n this.config = config;\n this.urlHelper = new UrlHelper({\n serverUrl: config.serverUrl,\n clientId: config.clientId,\n redirectUri: config.redirectUri,\n scope: config.scope,\n mePath: config.mePath,\n loginPath: config.loginPath,\n registerPath: config.registerPath,\n logoutPath: config.logoutPath,\n tokenRefreshPath: config.tokenRefreshPath,\n postLogoutRedirectUri: config.postLogoutRedirectUri,\n });\n this.scheduleTokenExpiration();\n }\n\n startLogin(state?: string) {\n this.redirectHelper.handlePreRedirect(state);\n window.location.assign(this.urlHelper.getLoginUrl(state));\n }\n\n startRegister(state?: string) {\n this.redirectHelper.handlePreRedirect(state);\n window.location.assign(this.urlHelper.getRegisterUrl(state));\n }\n\n startLogout() {\n window.location.assign(this.urlHelper.getLogoutUrl());\n }\n\n manageAccount() {\n window.location.assign(this.urlHelper.getAccountManagementUrl());\n }\n\n async fetchUserInfo<T = UserInfo>() {\n const userInfoResponse = await fetch(this.urlHelper.getMeUrl(), {\n credentials: 'include',\n });\n\n if (!userInfoResponse.ok) {\n throw new Error(\n `Unable to fetch userInfo in fusionauth. Request failed with status code ${userInfoResponse?.status}`,\n );\n }\n\n const userInfo: T = await userInfoResponse.json();\n return userInfo;\n }\n\n async refreshToken(): Promise<Response> {\n const response = await fetch(this.urlHelper.getTokenRefreshUrl(), {\n method: 'POST',\n credentials: 'include',\n headers: {\n 'Content-Type': 'text/plain',\n },\n });\n\n if (!(response.status >= 200 && response.status < 300)) {\n const message =\n (await response?.text()) ||\n 'Error refreshing access token in fusionauth';\n throw new Error(message);\n }\n\n // a successful request means that app_exp was bumped into the future.\n // reschedule the access token expiration event.\n this.scheduleTokenExpiration();\n\n return response;\n }\n\n initAutoRefresh(): NodeJS.Timeout | undefined {\n if (!this.isLoggedIn) {\n return;\n }\n\n const secondsBeforeRefresh =\n this.config.autoRefreshSecondsBeforeExpiry ?? 10;\n\n const millisecondsBeforeRefresh = secondsBeforeRefresh * 1000;\n\n const now = new Date().getTime();\n const refreshTime = this.at_exp - millisecondsBeforeRefresh;\n const timeTillRefresh = Math.max(refreshTime - now, 0);\n\n return setTimeout(async () => {\n try {\n await this.refreshToken();\n this.initAutoRefresh();\n } catch (error) {\n this.config.onAutoRefreshFailure?.(error as Error);\n }\n }, timeTillRefresh);\n }\n\n handlePostRedirect(callback?: (state?: string) => void) {\n if (this.isLoggedIn && this.redirectHelper.didRedirect) {\n this.redirectHelper.handlePostRedirect(callback);\n }\n }\n\n get isLoggedIn() {\n return this.at_exp > new Date().getTime();\n }\n\n /** The moment of access token expiration in milliseconds since epoch. */\n private get at_exp(): number | -1 {\n return getAccessTokenExpirationMoment(\n this.config.accessTokenExpireCookieName,\n this.config.cookieAdapter,\n );\n }\n\n /**\n * Schedules `onTokenExpiration` at moment of access token expiration.\n * SDKCore is not necessarily reactive like React, Angular, and Vue.\n * so `onTokenExpiration` is for reactive frameworks to hook in and perform actions as on token expiration.\n */\n private scheduleTokenExpiration(): void {\n clearTimeout(this.tokenExpirationTimeout);\n\n const now = new Date().getTime();\n const millisecondsTillExpiration = this.at_exp - now;\n\n if (millisecondsTillExpiration > 0) {\n this.tokenExpirationTimeout = setTimeout(\n this.config.onTokenExpiration,\n millisecondsTillExpiration,\n );\n }\n }\n}\n","/** Sets `app.at_exp` moment cookie so the user will be logged in for 1 hour. */\nfunction mockIsLoggedIn() {\n const expirationMoment = new Date();\n expirationMoment.setHours(expirationMoment.getHours() + 1);\n const oneHourInTheFutureInMilliseconds = expirationMoment.getTime() / 1000;\n document.cookie = `app.at_exp=${oneHourInTheFutureInMilliseconds}`;\n}\n\n/** Removes the `app.at_exp` cookie. */\nfunction removeAt_expCookie() {\n document.cookie = 'app.at_exp' + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';\n}\n\nexport { mockIsLoggedIn, removeAt_expCookie };\n","import { VitestUtils } from 'vitest';\n\nfunction mockWindowLocation(vi: VitestUtils) {\n const mockedLocation = {\n ...window.location,\n assign: vi.fn(),\n };\n vi.spyOn(window, 'location', 'get').mockReturnValue(mockedLocation);\n return mockedLocation;\n}\n\nexport { mockWindowLocation };\n","import { CookieAdapter } from '../sdkcore';\n\n/** An adapter class that supports accessing cookies with SSR */\nexport class SSRCookieAdapter implements CookieAdapter {\n constructor(private isBrowser: boolean) {}\n\n at_exp(cookieName: string = 'app.at_exp') {\n if (!this.isBrowser) {\n return;\n }\n\n try {\n const expCookie = document.cookie\n .split('; ')\n .map(c => c.split('='))\n .find(([name]) => name === cookieName);\n return expCookie?.[1];\n } catch (error) {\n console.error('Error within the SSRCookieAdapter: ', error);\n return -1;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { FusionAuthConfig } from './types';\n\nexport const FUSIONAUTH_SERVICE_CONFIG = new InjectionToken<FusionAuthConfig>(\n 'FUSIONAUTH_SERVICE_CONFIG',\n);\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Observable, catchError, BehaviorSubject } from 'rxjs';\n\nimport { SDKCore } from '../sdkcore';\nimport { SSRCookieAdapter } from './SSRCookieAdapter';\nimport { FusionAuthConfig, UserInfo } from './types';\nimport { FUSIONAUTH_SERVICE_CONFIG } from './injectionToken';\n\n/**\n * Service class to use with FusionAuth backend endpoints.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class FusionAuthService<T = UserInfo> {\n private core: SDKCore;\n private autoRefreshTimer?: NodeJS.Timeout;\n private isLoggedInSubject: BehaviorSubject<boolean>;\n\n constructor(\n @Inject(FUSIONAUTH_SERVICE_CONFIG) config: FusionAuthConfig,\n @Inject(PLATFORM_ID) platformId: Object,\n ) {\n this.core = new SDKCore({\n ...config,\n onTokenExpiration: () => {\n this.isLoggedInSubject.next(false);\n },\n cookieAdapter: new SSRCookieAdapter(isPlatformBrowser(platformId)),\n });\n\n this.isLoggedInSubject = new BehaviorSubject(this.core.isLoggedIn);\n this.isLoggedIn$ = this.isLoggedInSubject.asObservable();\n\n this.core.handlePostRedirect(config.onRedirect);\n\n if (config.shouldAutoRefresh && this.core.isLoggedIn) {\n this.initAutoRefresh();\n }\n }\n\n /** An observable representing whether the user is logged in. */\n isLoggedIn$: Observable<boolean>;\n\n /** A function that returns whether the user is logged in. This returned value is non-observable. */\n isLoggedIn() {\n return this.core.isLoggedIn;\n }\n\n /**\n * Refreshes the access token a single time.\n * Automatic token refreshing can be enabled if the SDK is configured with `shouldAutoRefresh`.\n */\n async refreshToken(): Promise<Response> {\n return await this.core.refreshToken();\n }\n\n /**\n * Initializes automatic access token refreshing.\n * This is handled automatically if the SDK is configured with `shouldAutoRefresh`.\n */\n initAutoRefresh(): void {\n if (this.autoRefreshTimer) {\n clearTimeout(this.autoRefreshTimer);\n }\n\n this.autoRefreshTimer = this.core.initAutoRefresh();\n }\n\n /**\n * Returns an observable request that fetches userInfo, and catches error.\n */\n getUserInfoObservable(callbacks?: {\n onBegin?: () => void;\n onDone?: () => void;\n }): Observable<T> {\n callbacks?.onBegin?.();\n return new Observable<T>(observer => {\n this.core\n .fetchUserInfo<T>()\n .then(userInfo => {\n observer.next(userInfo);\n })\n .catch(error => {\n observer.error(error);\n })\n .finally(() => {\n callbacks?.onDone?.();\n });\n }).pipe(\n catchError(error => {\n throw error;\n }),\n );\n }\n\n /**\n * Fetches userInfo from the 'me' endpoint.\n * @throws {Error} - if an error occurred while fetching.\n */\n async getUserInfo<T>(): Promise<T> {\n return await this.core.fetchUserInfo<T>();\n }\n\n /**\n * Initiates login flow.\n * @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.\n */\n startLogin(state?: string): void {\n this.core.startLogin(state);\n }\n\n /**\n * Initiates register flow.\n * @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.\n */\n startRegistration(state?: string): void {\n this.core.startRegister(state);\n }\n\n /**\n * Initiates logout flow.\n */\n logout(): void {\n this.core.startLogout();\n }\n\n /**\n * Redirects to [self service account management](https://fusionauth.io/docs/lifecycle/manage-users/account-management/)\n * Self service account management is only available in FusionAuth paid plans.\n */\n manageAccount(): void {\n this.core.manageAccount();\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { FusionAuthService } from '../../fusion-auth.service';\n\n@Component({\n selector: 'fa-login',\n templateUrl: './fusion-auth-login-button.component.html',\n styleUrls: ['./fusion-auth-login-button.component.scss'],\n})\nexport class FusionAuthLoginButtonComponent {\n @Input() state: string | undefined;\n\n constructor(private fusionAuth: FusionAuthService) {}\n\n login() {\n this.fusionAuth.startLogin(this.state);\n }\n}\n","<button class=\"fa-button\" (click)=\"login()\">\n <span>Login</span>\n</button>\n","import { Component } from '@angular/core';\nimport { FusionAuthService } from '../../fusion-auth.service';\n\n@Component({\n selector: 'fa-logout',\n templateUrl: './fusion-auth-logout-button.component.html',\n styleUrls: ['./fusion-auth-logout-button.component.scss'],\n})\nexport class FusionAuthLogoutButtonComponent {\n constructor(private fusionAuth: FusionAuthService) {}\n\n logout() {\n this.fusionAuth.logout();\n }\n}\n","<button class=\"fa-logout-button\" (click)=\"logout()\">\n <span>logout</span>\n</button>\n","import { Component, Input } from '@angular/core';\nimport { FusionAuthService } from '../../fusion-auth.service';\n\n@Component({\n selector: 'fa-register',\n templateUrl: './fusion-auth-register-button.component.html',\n styleUrls: ['./fusion-auth-register-button.component.scss'],\n})\nexport class FusionAuthRegisterButtonComponent {\n @Input() state: string | undefined;\n\n constructor(private fusionAuth: FusionAuthService) {}\n\n register() {\n this.fusionAuth.startRegistration(this.state);\n }\n}\n","<button class=\"fa-button\" (click)=\"register()\">\n <span>Register Now</span>\n</button>\n","import { Component } from '@angular/core';\nimport { FusionAuthService } from '../../fusion-auth.service';\n\n@Component({\n selector: 'fa-account',\n templateUrl: './fusion-auth-account-button.component.html',\n styleUrls: ['./fusion-auth-account-button.component.scss'],\n})\nexport class FusionAuthAccountButtonComponent {\n constructor(private fusionAuth: FusionAuthService) {}\n\n manageAccount() {\n this.fusionAuth.manageAccount();\n }\n}\n","<button class=\"fa-button\" (click)=\"manageAccount()\">\n <span>manage account</span>\n</button>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FusionAuthConfig } from './types';\nimport { FusionAuthService } from './fusion-auth.service';\nimport { FUSIONAUTH_SERVICE_CONFIG } from './injectionToken';\nimport { FusionAuthLoginButtonComponent } from './components/fusionauth-login.button/fusion-auth-login-button.component';\nimport { FusionAuthLogoutButtonComponent } from './components/fusionauth-logout.button/fusion-auth-logout-button.component';\nimport { FusionAuthRegisterButtonComponent } from './components/fusionauth-register.button/fusion-auth-register-button.component';\nimport { FusionAuthAccountButtonComponent } from './components/fusionauth-account.button/fusion-auth-account-button.component';\n\n@NgModule({\n declarations: [\n FusionAuthLoginButtonComponent,\n FusionAuthLogoutButtonComponent,\n FusionAuthRegisterButtonComponent,\n FusionAuthAccountButtonComponent,\n ],\n imports: [],\n exports: [\n FusionAuthLoginButtonComponent,\n FusionAuthLogoutButtonComponent,\n FusionAuthRegisterButtonComponent,\n FusionAuthAccountButtonComponent,\n ],\n})\nexport class FusionAuthModule {\n static forRoot(\n fusionAuthConfig: FusionAuthConfig,\n ): ModuleWithProviders<FusionAuthModule> {\n return {\n ngModule: FusionAuthModule,\n providers: [\n { provide: FUSIONAUTH_SERVICE_CONFIG, useValue: fusionAuthConfig },\n FusionAuthService,\n ],\n };\n }\n}\n","/*\n * Public API Surface of fusionauth-angular-sdk\n */\n\nexport * from './lib/fusion-auth.service';\nexport * from './lib/components/fusionauth-login.button/fusion-auth-login-button.component';\nexport * from './lib/components/fusionauth-logout.button/fusion-auth-logout-button.component';\nexport * from './lib/components/fusionauth-register.button/fusion-auth-register-button.component';\nexport * from './lib/components/fusionauth-account.button/fusion-auth-account-button.component';\nexport * from './lib/fusion-auth.module';\nexport * from './lib/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FusionAuthService"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FusionAuthService } from '../../fusion-auth.service';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class FusionAuthAccountButtonComponent {
|
|
4
|
+
private fusionAuth;
|
|
5
|
+
constructor(fusionAuth: FusionAuthService);
|
|
6
|
+
manageAccount(): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthAccountButtonComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FusionAuthAccountButtonComponent, "fa-account", never, {}, {}, never, never, false, never>;
|
|
9
|
+
}
|
|
@@ -4,9 +4,10 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "./components/fusionauth-login.button/fusion-auth-login-button.component";
|
|
5
5
|
import * as i2 from "./components/fusionauth-logout.button/fusion-auth-logout-button.component";
|
|
6
6
|
import * as i3 from "./components/fusionauth-register.button/fusion-auth-register-button.component";
|
|
7
|
+
import * as i4 from "./components/fusionauth-account.button/fusion-auth-account-button.component";
|
|
7
8
|
export declare class FusionAuthModule {
|
|
8
9
|
static forRoot(fusionAuthConfig: FusionAuthConfig): ModuleWithProviders<FusionAuthModule>;
|
|
9
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<FusionAuthModule, [typeof i1.FusionAuthLoginButtonComponent, typeof i2.FusionAuthLogoutButtonComponent, typeof i3.FusionAuthRegisterButtonComponent], never, [typeof i1.FusionAuthLoginButtonComponent, typeof i2.FusionAuthLogoutButtonComponent, typeof i3.FusionAuthRegisterButtonComponent]>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FusionAuthModule, [typeof i1.FusionAuthLoginButtonComponent, typeof i2.FusionAuthLogoutButtonComponent, typeof i3.FusionAuthRegisterButtonComponent, typeof i4.FusionAuthAccountButtonComponent], never, [typeof i1.FusionAuthLoginButtonComponent, typeof i2.FusionAuthLogoutButtonComponent, typeof i3.FusionAuthRegisterButtonComponent, typeof i4.FusionAuthAccountButtonComponent]>;
|
|
11
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<FusionAuthModule>;
|
|
12
13
|
}
|
|
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
/**
|
|
5
5
|
* Service class to use with FusionAuth backend endpoints.
|
|
6
6
|
*/
|
|
7
|
-
export declare class FusionAuthService {
|
|
7
|
+
export declare class FusionAuthService<T = UserInfo> {
|
|
8
8
|
private core;
|
|
9
9
|
private autoRefreshTimer?;
|
|
10
10
|
private isLoggedInSubject;
|
|
@@ -29,12 +29,12 @@ export declare class FusionAuthService {
|
|
|
29
29
|
getUserInfoObservable(callbacks?: {
|
|
30
30
|
onBegin?: () => void;
|
|
31
31
|
onDone?: () => void;
|
|
32
|
-
}): Observable<
|
|
32
|
+
}): Observable<T>;
|
|
33
33
|
/**
|
|
34
34
|
* Fetches userInfo from the 'me' endpoint.
|
|
35
35
|
* @throws {Error} - if an error occurred while fetching.
|
|
36
36
|
*/
|
|
37
|
-
getUserInfo(): Promise<
|
|
37
|
+
getUserInfo<T>(): Promise<T>;
|
|
38
38
|
/**
|
|
39
39
|
* Initiates login flow.
|
|
40
40
|
* @param {string} [state] - Optional value to be echoed back to the SDK upon redirect.
|
|
@@ -49,6 +49,11 @@ export declare class FusionAuthService {
|
|
|
49
49
|
* Initiates logout flow.
|
|
50
50
|
*/
|
|
51
51
|
logout(): void;
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Redirects to [self service account management](https://fusionauth.io/docs/lifecycle/manage-users/account-management/)
|
|
54
|
+
* Self service account management is only available in FusionAuth paid plans.
|
|
55
|
+
*/
|
|
56
|
+
manageAccount(): void;
|
|
57
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FusionAuthService<any>, never>;
|
|
58
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FusionAuthService<any>>;
|
|
54
59
|
}
|
package/lib/types.d.ts
CHANGED
|
@@ -61,14 +61,18 @@ export interface FusionAuthConfig {
|
|
|
61
61
|
}
|
|
62
62
|
export interface UserInfo {
|
|
63
63
|
applicationId?: string;
|
|
64
|
+
birthdate?: string;
|
|
64
65
|
email?: string;
|
|
65
66
|
email_verified?: boolean;
|
|
66
67
|
family_name?: string;
|
|
67
68
|
given_name?: string;
|
|
69
|
+
middle_name?: string;
|
|
70
|
+
name?: string;
|
|
71
|
+
phone_number?: string;
|
|
68
72
|
picture?: string;
|
|
73
|
+
preferred_username?: string;
|
|
69
74
|
roles?: any[];
|
|
70
75
|
sid?: string;
|
|
71
76
|
sub?: string;
|
|
72
77
|
tid?: string;
|
|
73
|
-
phone_number?: string;
|
|
74
78
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ export * from './lib/fusion-auth.service';
|
|
|
2
2
|
export * from './lib/components/fusionauth-login.button/fusion-auth-login-button.component';
|
|
3
3
|
export * from './lib/components/fusionauth-logout.button/fusion-auth-logout-button.component';
|
|
4
4
|
export * from './lib/components/fusionauth-register.button/fusion-auth-register-button.component';
|
|
5
|
+
export * from './lib/components/fusionauth-account.button/fusion-auth-account-button.component';
|
|
5
6
|
export * from './lib/fusion-auth.module';
|
|
6
7
|
export * from './lib/types';
|
|
@@ -52,14 +52,18 @@ export interface SDKContext {
|
|
|
52
52
|
*/
|
|
53
53
|
export type UserInfo = {
|
|
54
54
|
applicationId?: string;
|
|
55
|
+
birthdate?: string;
|
|
55
56
|
email?: string;
|
|
56
57
|
email_verified?: boolean;
|
|
57
58
|
family_name?: string;
|
|
58
59
|
given_name?: string;
|
|
60
|
+
name?: string;
|
|
61
|
+
middle_name?: string;
|
|
62
|
+
phone_number?: string;
|
|
59
63
|
picture?: string;
|
|
64
|
+
preferred_username?: string;
|
|
60
65
|
roles?: any[];
|
|
61
66
|
sid?: string;
|
|
62
67
|
sub?: string;
|
|
63
68
|
tid?: string;
|
|
64
|
-
phone_number?: string;
|
|
65
69
|
};
|
|
@@ -11,13 +11,18 @@ export declare class SDKCore {
|
|
|
11
11
|
startLogin(state?: string): void;
|
|
12
12
|
startRegister(state?: string): void;
|
|
13
13
|
startLogout(): void;
|
|
14
|
-
|
|
14
|
+
manageAccount(): void;
|
|
15
|
+
fetchUserInfo<T = UserInfo>(): Promise<T>;
|
|
15
16
|
refreshToken(): Promise<Response>;
|
|
16
17
|
initAutoRefresh(): NodeJS.Timeout | undefined;
|
|
17
18
|
handlePostRedirect(callback?: (state?: string) => void): void;
|
|
18
19
|
get isLoggedIn(): boolean;
|
|
19
20
|
/** The moment of access token expiration in milliseconds since epoch. */
|
|
20
21
|
private get at_exp();
|
|
21
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Schedules `onTokenExpiration` at moment of access token expiration.
|
|
24
|
+
* SDKCore is not necessarily reactive like React, Angular, and Vue.
|
|
25
|
+
* so `onTokenExpiration` is for reactive frameworks to hook in and perform actions as on token expiration.
|
|
26
|
+
*/
|
|
22
27
|
private scheduleTokenExpiration;
|
|
23
28
|
}
|