28 lines
795 B
TypeScript
28 lines
795 B
TypeScript
import LocalStorageProvider from './localStorageProvider';
|
|
import StorageProvider from './storageProvider';
|
|
|
|
export default class StorageService<ValueType> implements StorageProvider<ValueType> {
|
|
private provider: StorageProvider<ValueType>;
|
|
|
|
constructor(provider: StorageProvider<ValueType>) {
|
|
this.provider = provider;
|
|
}
|
|
|
|
static localStorage<ValuType>(): StorageService<ValuType> {
|
|
const localStorageService = new StorageService<ValuType>(new LocalStorageProvider<ValuType>());
|
|
return localStorageService;
|
|
}
|
|
|
|
setData(key: string, value: ValueType): void {
|
|
return this.provider.setData(key, value);
|
|
}
|
|
|
|
getData(key: string): ValueType | null {
|
|
return this.provider.getData(key);
|
|
}
|
|
|
|
deleteData(key: string): void {
|
|
this.provider.deleteData(key);
|
|
}
|
|
}
|