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);
}
}