mirror of
https://github.com/bitwarden/browser
synced 2026-01-03 09:03:32 +00:00
Ps/allow state provider migrations from v 9 (#7263)
* Provide missing spec helpers and fakers * We need to be able to migrate v9 stuff to state providers
This commit is contained in:
@@ -4,6 +4,9 @@ import {
|
||||
KeyDefinition,
|
||||
ActiveUserState,
|
||||
SingleUserState,
|
||||
SingleUserStateProvider,
|
||||
StateProvider,
|
||||
ActiveUserStateProvider,
|
||||
} from "../src/platform/state";
|
||||
import { UserId } from "../src/types/guid";
|
||||
|
||||
@@ -26,7 +29,7 @@ export class FakeGlobalStateProvider implements GlobalStateProvider {
|
||||
}
|
||||
}
|
||||
|
||||
export class FakeSingleUserStateProvider {
|
||||
export class FakeSingleUserStateProvider implements SingleUserStateProvider {
|
||||
states: Map<string, SingleUserState<unknown>> = new Map();
|
||||
get<T>(userId: UserId, keyDefinition: KeyDefinition<T>): SingleUserState<T> {
|
||||
let result = this.states.get(keyDefinition.buildCacheKey("user", userId)) as SingleUserState<T>;
|
||||
@@ -43,7 +46,7 @@ export class FakeSingleUserStateProvider {
|
||||
}
|
||||
}
|
||||
|
||||
export class FakeActiveUserStateProvider {
|
||||
export class FakeActiveUserStateProvider implements ActiveUserStateProvider {
|
||||
states: Map<string, ActiveUserState<unknown>> = new Map();
|
||||
get<T>(keyDefinition: KeyDefinition<T>): ActiveUserState<T> {
|
||||
let result = this.states.get(
|
||||
@@ -61,3 +64,21 @@ export class FakeActiveUserStateProvider {
|
||||
return this.get(keyDefinition) as FakeActiveUserState<T>;
|
||||
}
|
||||
}
|
||||
|
||||
export class FakeStateProvider implements StateProvider {
|
||||
getActive<T>(keyDefinition: KeyDefinition<T>): ActiveUserState<T> {
|
||||
return this.activeUser.get(keyDefinition);
|
||||
}
|
||||
|
||||
getGlobal<T>(keyDefinition: KeyDefinition<T>): GlobalState<T> {
|
||||
return this.global.get(keyDefinition);
|
||||
}
|
||||
|
||||
getUser<T>(userId: UserId, keyDefinition: KeyDefinition<T>): SingleUserState<T> {
|
||||
return this.singleUser.get(userId, keyDefinition);
|
||||
}
|
||||
|
||||
global: FakeGlobalStateProvider = new FakeGlobalStateProvider();
|
||||
singleUser: FakeSingleUserStateProvider = new FakeSingleUserStateProvider();
|
||||
activeUser: FakeActiveUserStateProvider = new FakeActiveUserStateProvider();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user