cc-terminal
Version:
AngularJs Web based terminal module
18 lines • 2.24 kB
JavaScript
// https://jurebajt.com/state-management-in-angular-with-observable-store-services/
import { BehaviorSubject } from 'rxjs';
/**
* @description - This Class will work as a storage of any kind of data, but we will going to store the commands for now
*/
export class Store {
constructor(initialState) {
this._state$ = new BehaviorSubject(initialState);
this.state$ = this._state$.asObservable();
}
get state() {
return this._state$.getValue();
}
setState(nextState) {
this._state$.next(nextState);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYy10ZXJtaW5hbC9zcmMvbGliL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1GQUFtRjtBQUNuRixPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLEtBQUs7SUFJaEIsWUFBc0IsWUFBZTtRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFUyxRQUFRLENBQUMsU0FBWTtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2p1cmViYWp0LmNvbS9zdGF0ZS1tYW5hZ2VtZW50LWluLWFuZ3VsYXItd2l0aC1vYnNlcnZhYmxlLXN0b3JlLXNlcnZpY2VzL1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIC0gVGhpcyBDbGFzcyB3aWxsIHdvcmsgYXMgYSBzdG9yYWdlIG9mIGFueSBraW5kIG9mIGRhdGEsIGJ1dCB3ZSB3aWxsIGdvaW5nIHRvIHN0b3JlIHRoZSBjb21tYW5kcyBmb3Igbm93XG4gKi9cbmV4cG9ydCBjbGFzcyBTdG9yZTxUPiB7XG4gIHN0YXRlJDogT2JzZXJ2YWJsZTxUPjtcbiAgcHJpdmF0ZSBfc3RhdGUkOiBCZWhhdmlvclN1YmplY3Q8VD47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGluaXRpYWxTdGF0ZTogVCkge1xuICAgIHRoaXMuX3N0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoaW5pdGlhbFN0YXRlKTtcbiAgICB0aGlzLnN0YXRlJCA9IHRoaXMuX3N0YXRlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGUoKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFN0YXRlKG5leHRTdGF0ZTogVCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlJC5uZXh0KG5leHRTdGF0ZSk7XG4gIH1cbn1cbiJdfQ==