UNPKG

@js-sugar/angular

Version:

JS-Sugar core package (Angular)

20 lines 2.54 kB
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=