Files
shlink-web-client/src/utils/services/LocalStorage.ts
2022-05-28 11:16:59 +02:00

15 lines
478 B
TypeScript

const PREFIX = 'shlink';
const buildPath = (path: string) => `${PREFIX}.${path}`;
export class LocalStorage {
public constructor(private readonly localStorage: Storage) {}
public readonly get = <T>(key: string): T | undefined => {
const item = this.localStorage.getItem(buildPath(key));
return item ? JSON.parse(item) as T : undefined;
};
public readonly set = (key: string, value: any) => this.localStorage.setItem(buildPath(key), JSON.stringify(value));
}