@js-sugar/angular
Version:
JS-Sugar core package (Angular)
20 lines • 2.54 kB
JavaScript
import { Subject } from 'rxjs';
import { User } from './user';
export class UserStore {
constructor() {
this._userSubject = new Subject();
this.change = this._userSubject.asObservable();
}
get user() {
return this._user;
}
setUser(user) {
if (user === undefined || user instanceof User) {
this._user = user;
this._userSubject.next(user);
return;
}
throw Error('Invalid User.');
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9zZWN1cml0eS91c2VyL3VzZXItc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE1BQU0sT0FBTyxTQUFTO0lBT2xCO1FBTFEsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUczQyxXQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUduRCxDQUFDO0lBR0QsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFHTSxPQUFPLENBQUMsSUFBbUI7UUFDOUIsSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksWUFBWSxJQUFJLEVBQUU7WUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSyxDQUFDLENBQUM7WUFDOUIsT0FBTztTQUNWO1FBRUQsTUFBTSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBVc2VyU3RvcmU8VSBleHRlbmRzIFVzZXIgPSBhbnk+IHtcclxuICAgIHByaXZhdGUgX3VzZXI/OiBVO1xyXG4gICAgcHJpdmF0ZSBfdXNlclN1YmplY3QgPSBuZXcgU3ViamVjdDxVIHwgdW5kZWZpbmVkPigpO1xyXG5cclxuICAgIC8qKiBBbiBvYnNlcnZhYmxlIHRoYXQgZW1taXRzIHdoZW5ldmVyIFwidXNlclwiIHByb3BlcnR5IGNoYW5nZXMgLiAqL1xyXG4gICAgcmVhZG9ubHkgY2hhbmdlID0gdGhpcy5fdXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEdldHMgdGhlIFVzZXIuICovXHJcbiAgICBwdWJsaWMgZ2V0IHVzZXIoKTogVSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFNldHMgdGhlIFVzZXIuICovXHJcbiAgICBwdWJsaWMgc2V0VXNlcih1c2VyOiBVIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHVzZXIgPT09IHVuZGVmaW5lZCB8fCB1c2VyIGluc3RhbmNlb2YgVXNlcikge1xyXG4gICAgICAgICAgICB0aGlzLl91c2VyID0gdXNlcjtcclxuICAgICAgICAgICAgdGhpcy5fdXNlclN1YmplY3QubmV4dCh1c2VyISk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRocm93IEVycm9yKCdJbnZhbGlkIFVzZXIuJyk7XHJcbiAgICB9XHJcbn0iXX0=