@frontegg/angular 6.13.0-alpha.7349472316 → 6.13.0-alpha.7370106428
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/bundles/frontegg-angular.umd.js +53 -105
- package/bundles/frontegg-angular.umd.js.map +1 -1
- package/esm2015/lib/frontegg-app.module.js +1 -3
- package/esm2015/lib/frontegg-auth.service.js +4 -18
- package/esm2015/lib/frontegg-entitlements.service.js +51 -27
- package/fesm2015/frontegg-angular.js +53 -103
- package/fesm2015/frontegg-angular.js.map +1 -1
- package/lib/frontegg-app.module.d.ts.map +1 -1
- package/lib/frontegg-auth.service.d.ts +2 -15
- package/lib/frontegg-auth.service.d.ts.map +1 -1
- package/lib/frontegg-entitlements.service.d.ts +17 -4
- package/lib/frontegg-entitlements.service.d.ts.map +1 -1
- package/package.json +2 -2
- package/esm2015/lib/frontegg-user-subscription.service.js +0 -65
- package/lib/frontegg-user-subscription.service.d.ts +0 -31
- package/lib/frontegg-user-subscription.service.d.ts.map +0 -1
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject } from 'rxjs';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./frontegg-app.service";
|
|
5
|
-
/**
|
|
6
|
-
* A service for managing user state subscription
|
|
7
|
-
* The service gives the ability to subscribe to user state change and get a manipulated data when the user state changes
|
|
8
|
-
*/
|
|
9
|
-
export class FronteggUserSubscriptionService {
|
|
10
|
-
constructor(fronteggAppService) {
|
|
11
|
-
this.fronteggAppService = fronteggAppService;
|
|
12
|
-
this.userStateSubject = new BehaviorSubject(undefined);
|
|
13
|
-
const state = this.fronteggAppService.fronteggApp.store.getState();
|
|
14
|
-
this.updateUserStateIfNeeded(state.auth);
|
|
15
|
-
// Memoized user State
|
|
16
|
-
this.fronteggAppService.fronteggApp.store.subscribe(() => {
|
|
17
|
-
const newState = this.fronteggAppService.fronteggApp.store.getState();
|
|
18
|
-
this.updateUserStateIfNeeded(newState.auth);
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Trigger user subject change event if the user reference changes
|
|
23
|
-
* No need for deep equal because we already check it internally
|
|
24
|
-
* @param authState
|
|
25
|
-
*/
|
|
26
|
-
updateUserStateIfNeeded(authState) {
|
|
27
|
-
const userState = authState.user;
|
|
28
|
-
if (this.userStateSubject.value === userState) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
this.userStateSubject.next(userState);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* The function gives the ability to return a manipulated data of the user state as a subscription.
|
|
35
|
-
*
|
|
36
|
-
* @param dataManipulator Manipulator function that receives user state and returns a manipulated data
|
|
37
|
-
* @param observer For receiving manipulated data result
|
|
38
|
-
* @returns a subscription to be able to unsubscribe
|
|
39
|
-
*/
|
|
40
|
-
getUserManipulatorSubscription(dataManipulator, observer) {
|
|
41
|
-
// used for computing the end user result because we don't return the state itself, but a calculated one
|
|
42
|
-
const userSubject = new BehaviorSubject(undefined);
|
|
43
|
-
const stateSubscription = this.userStateSubject.subscribe(user => {
|
|
44
|
-
userSubject.next(dataManipulator(user));
|
|
45
|
-
});
|
|
46
|
-
// subscribing the consumer observer
|
|
47
|
-
const userResultSubscription = userSubject.asObservable().subscribe(observer);
|
|
48
|
-
// monkey patched to manage both un-subscriptions: state and user manipulated result
|
|
49
|
-
const originalUnsubscribe = userResultSubscription.unsubscribe.bind(userResultSubscription);
|
|
50
|
-
userResultSubscription.unsubscribe = () => {
|
|
51
|
-
originalUnsubscribe();
|
|
52
|
-
stateSubscription.unsubscribe();
|
|
53
|
-
};
|
|
54
|
-
return userResultSubscription;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
FronteggUserSubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggUserSubscriptionService, deps: [{ token: i1.FronteggAppService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
-
FronteggUserSubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggUserSubscriptionService, providedIn: 'root' });
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggUserSubscriptionService, decorators: [{
|
|
60
|
-
type: Injectable,
|
|
61
|
-
args: [{
|
|
62
|
-
providedIn: 'root',
|
|
63
|
-
}]
|
|
64
|
-
}], ctorParameters: function () { return [{ type: i1.FronteggAppService }]; } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctdXNlci1zdWJzY3JpcHRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zyb250ZWdnLWFwcC9zcmMvbGliL2Zyb250ZWdnLXVzZXItc3Vic2NyaXB0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzNDOzs7R0FHRztBQUlILE1BQU0sT0FBTywrQkFBK0I7SUFHMUMsWUFBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFGbEQscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQU0sU0FBUyxDQUFDLENBQUM7UUFHN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO1FBQ3BGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekMsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO1lBQ3ZGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHVCQUF1QixDQUFDLFNBQW9CO1FBQ2xELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFZLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUM3QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSw4QkFBOEIsQ0FDbkMsZUFBdUMsRUFDdkMsUUFBaUM7UUFFakMsd0dBQXdHO1FBQ3hHLE1BQU0sV0FBVyxHQUFHLElBQUksZUFBZSxDQUFTLFNBQThCLENBQUMsQ0FBQztRQUVoRixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDL0QsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVILG9DQUFvQztRQUNwQyxNQUFNLHNCQUFzQixHQUFHLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFN0Usb0ZBQW9GO1FBQ3BGLE1BQU0sbUJBQW1CLEdBQUcsc0JBQXNCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTVGLHNCQUFzQixDQUFDLFdBQVcsR0FBRyxHQUFFLEVBQUU7WUFDdkMsbUJBQW1CLEVBQUUsQ0FBQztZQUN0QixpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUM7UUFFRixPQUFPLHNCQUFzQixDQUFDO0lBQ2hDLENBQUM7OzZIQTFEVSwrQkFBK0I7aUlBQS9CLCtCQUErQixjQUY5QixNQUFNOzRGQUVQLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb24sIFBhcnRpYWxPYnNlcnZlciwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoU3RhdGUgfSBmcm9tICdAZnJvbnRlZ2cvcmVkdXgtc3RvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGcm9udGVnZ1N0YXRlIH0gZnJvbSAnQGZyb250ZWdnL3JlZHV4LXN0b3JlJztcbmltcG9ydCB7IEZyb250ZWdnQXBwU2VydmljZSB9IGZyb20gJy4vZnJvbnRlZ2ctYXBwLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBVc2VyID0gRnJvbnRlZ2dTdGF0ZVsnYXV0aCddWyd1c2VyJ107XG5cbi8qKlxuICogQSBzZXJ2aWNlIGZvciBtYW5hZ2luZyB1c2VyIHN0YXRlIHN1YnNjcmlwdGlvblxuICogVGhlIHNlcnZpY2UgZ2l2ZXMgdGhlIGFiaWxpdHkgdG8gc3Vic2NyaWJlIHRvIHVzZXIgc3RhdGUgY2hhbmdlIGFuZCBnZXQgYSBtYW5pcHVsYXRlZCBkYXRhIHdoZW4gdGhlIHVzZXIgc3RhdGUgY2hhbmdlc1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dVc2VyU3Vic2NyaXB0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgdXNlclN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih1bmRlZmluZWQpO1xuICAgIFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyb250ZWdnQXBwU2VydmljZTogRnJvbnRlZ2dBcHBTZXJ2aWNlKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpIGFzIEZyb250ZWdnU3RhdGU7XG4gICAgdGhpcy51cGRhdGVVc2VyU3RhdGVJZk5lZWRlZChzdGF0ZS5hdXRoKTtcblxuICAgIC8vIE1lbW9pemVkIHVzZXIgU3RhdGVcbiAgICB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgbmV3U3RhdGUgPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpIGFzIEZyb250ZWdnU3RhdGU7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJTdGF0ZUlmTmVlZGVkKG5ld1N0YXRlLmF1dGgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXIgdXNlciBzdWJqZWN0IGNoYW5nZSBldmVudCBpZiB0aGUgdXNlciByZWZlcmVuY2UgY2hhbmdlc1xuICAgKiBObyBuZWVkIGZvciBkZWVwIGVxdWFsIGJlY2F1c2Ugd2UgYWxyZWFkeSBjaGVjayBpdCBpbnRlcm5hbGx5XG4gICAqIEBwYXJhbSBhdXRoU3RhdGVcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlVXNlclN0YXRlSWZOZWVkZWQoYXV0aFN0YXRlOiBBdXRoU3RhdGUpOiB2b2lkIHtcbiAgICBjb25zdCB1c2VyU3RhdGUgPSBhdXRoU3RhdGUudXNlciBhcyBVc2VyO1xuICAgIGlmICh0aGlzLnVzZXJTdGF0ZVN1YmplY3QudmFsdWUgPT09IHVzZXJTdGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudXNlclN0YXRlU3ViamVjdC5uZXh0KHVzZXJTdGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIGdpdmVzIHRoZSBhYmlsaXR5IHRvIHJldHVybiBhIG1hbmlwdWxhdGVkIGRhdGEgb2YgdGhlIHVzZXIgc3RhdGUgYXMgYSBzdWJzY3JpcHRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhTWFuaXB1bGF0b3IgTWFuaXB1bGF0b3IgZnVuY3Rpb24gdGhhdCByZWNlaXZlcyB1c2VyIHN0YXRlIGFuZCByZXR1cm5zIGEgbWFuaXB1bGF0ZWQgZGF0YVxuICAgKiBAcGFyYW0gb2JzZXJ2ZXIgRm9yIHJlY2VpdmluZyBtYW5pcHVsYXRlZCBkYXRhIHJlc3VsdFxuICAgKiBAcmV0dXJucyBhIHN1YnNjcmlwdGlvbiB0byBiZSBhYmxlIHRvIHVuc3Vic2NyaWJlXG4gICAqL1xuICBwdWJsaWMgZ2V0VXNlck1hbmlwdWxhdG9yU3Vic2NyaXB0aW9uPFJlc3VsdD4oXG4gICAgZGF0YU1hbmlwdWxhdG9yOiAodXNlcjogVXNlcikgPT4gUmVzdWx0LCBcbiAgICBvYnNlcnZlcjogUGFydGlhbE9ic2VydmVyPFJlc3VsdD5cbiAgKTogU3Vic2NyaXB0aW9uIHtcbiAgICAvLyB1c2VkIGZvciBjb21wdXRpbmcgdGhlIGVuZCB1c2VyIHJlc3VsdCBiZWNhdXNlIHdlIGRvbid0IHJldHVybiB0aGUgc3RhdGUgaXRzZWxmLCBidXQgYSBjYWxjdWxhdGVkIG9uZVxuICAgIGNvbnN0IHVzZXJTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZXN1bHQ+KHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFJlc3VsdCk7XG4gICAgXG4gICAgY29uc3Qgc3RhdGVTdWJzY3JpcHRpb24gPSB0aGlzLnVzZXJTdGF0ZVN1YmplY3Quc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgdXNlclN1YmplY3QubmV4dChkYXRhTWFuaXB1bGF0b3IodXNlcikpO1xuICAgIH0pO1xuICAgIFxuICAgIC8vIHN1YnNjcmliaW5nIHRoZSBjb25zdW1lciBvYnNlcnZlclxuICAgIGNvbnN0IHVzZXJSZXN1bHRTdWJzY3JpcHRpb24gPSB1c2VyU3ViamVjdC5hc09ic2VydmFibGUoKS5zdWJzY3JpYmUob2JzZXJ2ZXIpXG5cbiAgICAvLyBtb25rZXkgcGF0Y2hlZCB0byBtYW5hZ2UgYm90aCB1bi1zdWJzY3JpcHRpb25zOiBzdGF0ZSBhbmQgdXNlciBtYW5pcHVsYXRlZCByZXN1bHRcbiAgICBjb25zdCBvcmlnaW5hbFVuc3Vic2NyaWJlID0gdXNlclJlc3VsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZS5iaW5kKHVzZXJSZXN1bHRTdWJzY3JpcHRpb24pO1xuXG4gICAgdXNlclJlc3VsdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSA9ICgpPT57XG4gICAgICBvcmlnaW5hbFVuc3Vic2NyaWJlKCk7XG4gICAgICBzdGF0ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH07XG5cbiAgICByZXR1cm4gdXNlclJlc3VsdFN1YnNjcmlwdGlvbjtcbiAgfSAgXG59XG4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Subscription, PartialObserver } from 'rxjs';
|
|
2
|
-
import { FronteggState } from '@frontegg/redux-store';
|
|
3
|
-
import { FronteggAppService } from './frontegg-app.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare type User = FronteggState['auth']['user'];
|
|
6
|
-
/**
|
|
7
|
-
* A service for managing user state subscription
|
|
8
|
-
* The service gives the ability to subscribe to user state change and get a manipulated data when the user state changes
|
|
9
|
-
*/
|
|
10
|
-
export declare class FronteggUserSubscriptionService {
|
|
11
|
-
private fronteggAppService;
|
|
12
|
-
private userStateSubject;
|
|
13
|
-
constructor(fronteggAppService: FronteggAppService);
|
|
14
|
-
/**
|
|
15
|
-
* Trigger user subject change event if the user reference changes
|
|
16
|
-
* No need for deep equal because we already check it internally
|
|
17
|
-
* @param authState
|
|
18
|
-
*/
|
|
19
|
-
private updateUserStateIfNeeded;
|
|
20
|
-
/**
|
|
21
|
-
* The function gives the ability to return a manipulated data of the user state as a subscription.
|
|
22
|
-
*
|
|
23
|
-
* @param dataManipulator Manipulator function that receives user state and returns a manipulated data
|
|
24
|
-
* @param observer For receiving manipulated data result
|
|
25
|
-
* @returns a subscription to be able to unsubscribe
|
|
26
|
-
*/
|
|
27
|
-
getUserManipulatorSubscription<Result>(dataManipulator: (user: User) => Result, observer: PartialObserver<Result>): Subscription;
|
|
28
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FronteggUserSubscriptionService, never>;
|
|
29
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<FronteggUserSubscriptionService>;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=frontegg-user-subscription.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frontegg-user-subscription.service.d.ts","sourceRoot":"","sources":["../../../../projects/frontegg-app/src/lib/frontegg-user-subscription.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAmB,MAAM,MAAM,CAAC;AAItE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;;AAE5D,oBAAY,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD;;;GAGG;AACH,qBAGa,+BAA+B;IAG9B,OAAO,CAAC,kBAAkB;IAFtC,OAAO,CAAC,gBAAgB,CAAuC;gBAE3C,kBAAkB,EAAE,kBAAkB;IAW1D;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;;;;;OAMG;IACI,8BAA8B,CAAC,MAAM,EAC1C,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EACvC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAChC,YAAY;yCAtCJ,+BAA+B;6CAA/B,+BAA+B;CA2D3C"}
|