mirror of
https://github.com/bitwarden/browser
synced 2025-12-15 07:43:35 +00:00
Ps/pm 2910/state framework improvements (#6860)
* Allow for update logic in state update callbacks * Prefer reading updates to sending in stream * Inform state providers when they must deserialize * Update DefaultGlobalState to act more like DefaultUserState * Fully Implement AbstractStorageService * Add KeyDefinitionOptions * Address PR feedback * More Descriptive Error --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
This commit is contained in:
@@ -16,6 +16,9 @@ export class HtmlStorageService implements AbstractStorageService {
|
||||
return { htmlStorageLocation: HtmlStorageLocation.Session };
|
||||
}
|
||||
|
||||
get valuesRequireDeserialization(): boolean {
|
||||
return true;
|
||||
}
|
||||
get updates$() {
|
||||
return this.updatesSubject.asObservable();
|
||||
}
|
||||
@@ -62,7 +65,7 @@ export class HtmlStorageService implements AbstractStorageService {
|
||||
window.sessionStorage.setItem(key, json);
|
||||
break;
|
||||
}
|
||||
this.updatesSubject.next({ key, value: obj, updateType: "save" });
|
||||
this.updatesSubject.next({ key, updateType: "save" });
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
@@ -76,7 +79,7 @@ export class HtmlStorageService implements AbstractStorageService {
|
||||
window.sessionStorage.removeItem(key);
|
||||
break;
|
||||
}
|
||||
this.updatesSubject.next({ key, value: null, updateType: "remove" });
|
||||
this.updatesSubject.next({ key, updateType: "remove" });
|
||||
return Promise.resolve();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user