All files drivers.ts

100% Statements 11/11
100% Branches 0/0
100% Functions 5/5
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  1x     2x   1x 16x   1x 7x   1x 20x   1x 1x 1x  
import { StorageDriver } from './interfaces'
export default class StroageDriverImpl implements StorageDriver {
	private storage
	constructor(storage: Storage) {
		this.storage = storage
	}
	set(key: string, value: any) {
		this.storage.setItem(key, JSON.stringify(value))
	}
	get(key: string) {
		return JSON.parse(this.storage.getItem(key))
	}
	has(key: string) {
		return !!this.storage.getItem(key)
	}
}
export const localStorage = new StroageDriverImpl(window.localStorage)
export const sessionStorage = new StroageDriverImpl(window.sessionStorage)