@spartacus/user
Version:
User feature library for Spartacus
32 lines • 4.55 kB
JavaScript
import { Injectable } from '@angular/core';
import { UserAccountChangedEvent, } from '@spartacus/user/account/root';
import { LoginEvent, LogoutEvent, } from '@spartacus/core';
import { switchMap } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "../connectors/user-account.connector";
import * as i2 from "@spartacus/core";
export class UserAccountService {
constructor(userAccountConnector, userIdService, query) {
this.userAccountConnector = userAccountConnector;
this.userIdService = userIdService;
this.query = query;
this.userQuery = this.query.create(() => this.userIdService
.takeUserId(true)
.pipe(switchMap((userId) => this.userAccountConnector.get(userId))), {
reloadOn: [UserAccountChangedEvent],
resetOn: [LoginEvent, LogoutEvent],
});
}
/**
* Returns the current user.
*/
get() {
return this.userQuery.get();
}
}
UserAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserAccountService, deps: [{ token: i1.UserAccountConnector }, { token: i2.UserIdService }, { token: i2.QueryService }], target: i0.ɵɵFactoryTarget.Injectable });
UserAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserAccountService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserAccountService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.UserAccountConnector }, { type: i2.UserIdService }, { type: i2.QueryService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2NvdW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9mZWF0dXJlLWxpYnMvdXNlci9hY2NvdW50L2NvcmUvZmFjYWRlL3VzZXItYWNjb3VudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUVMLHVCQUF1QixHQUV4QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFDTCxVQUFVLEVBQ1YsV0FBVyxHQUlaLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSTNDLE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFDWSxvQkFBMEMsRUFDMUMsYUFBNEIsRUFDNUIsS0FBbUI7UUFGbkIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBZHJCLGNBQVMsR0FBZ0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2xELEdBQUcsRUFBRSxDQUNILElBQUksQ0FBQyxhQUFhO2FBQ2YsVUFBVSxDQUFDLElBQUksQ0FBQzthQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDdkU7WUFDRSxRQUFRLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUNuQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDO1NBQ25DLENBQ0YsQ0FBQztJQU1DLENBQUM7SUFFSjs7T0FFRztJQUNILEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7K0dBdkJVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBVc2VyLFxuICBVc2VyQWNjb3VudENoYW5nZWRFdmVudCxcbiAgVXNlckFjY291bnRGYWNhZGUsXG59IGZyb20gJ0BzcGFydGFjdXMvdXNlci9hY2NvdW50L3Jvb3QnO1xuaW1wb3J0IHtcbiAgTG9naW5FdmVudCxcbiAgTG9nb3V0RXZlbnQsXG4gIFF1ZXJ5LFxuICBRdWVyeVNlcnZpY2UsXG4gIFVzZXJJZFNlcnZpY2UsXG59IGZyb20gJ0BzcGFydGFjdXMvY29yZSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVc2VyQWNjb3VudENvbm5lY3RvciB9IGZyb20gJy4uL2Nvbm5lY3RvcnMvdXNlci1hY2NvdW50LmNvbm5lY3Rvcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyQWNjb3VudFNlcnZpY2UgaW1wbGVtZW50cyBVc2VyQWNjb3VudEZhY2FkZSB7XG4gIHByb3RlY3RlZCB1c2VyUXVlcnk6IFF1ZXJ5PFVzZXI+ID0gdGhpcy5xdWVyeS5jcmVhdGUoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMudXNlcklkU2VydmljZVxuICAgICAgICAudGFrZVVzZXJJZCh0cnVlKVxuICAgICAgICAucGlwZShzd2l0Y2hNYXAoKHVzZXJJZCkgPT4gdGhpcy51c2VyQWNjb3VudENvbm5lY3Rvci5nZXQodXNlcklkKSkpLFxuICAgIHtcbiAgICAgIHJlbG9hZE9uOiBbVXNlckFjY291bnRDaGFuZ2VkRXZlbnRdLFxuICAgICAgcmVzZXRPbjogW0xvZ2luRXZlbnQsIExvZ291dEV2ZW50XSxcbiAgICB9XG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHVzZXJBY2NvdW50Q29ubmVjdG9yOiBVc2VyQWNjb3VudENvbm5lY3RvcixcbiAgICBwcm90ZWN0ZWQgdXNlcklkU2VydmljZTogVXNlcklkU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcXVlcnk6IFF1ZXJ5U2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdXNlci5cbiAgICovXG4gIGdldCgpOiBPYnNlcnZhYmxlPFVzZXIgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyUXVlcnkuZ2V0KCk7XG4gIH1cbn1cbiJdfQ==