Skip to content

Instantly share code, notes, and snippets.

@joeskeen
Created September 16, 2019 19:58
Show Gist options
  • Save joeskeen/93355852531ea451ef98dc6b4eb57a5a to your computer and use it in GitHub Desktop.
Save joeskeen/93355852531ea451ef98dc6b4eb57a5a to your computer and use it in GitHub Desktop.
import { Injectable } from '@angular/core';
import { LocalStorage } from '@ngx-pwa/local-storage';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
@Injectable()
export class PreferencesService {
constructor(private localStorage: LocalStorage) {
}
getPreference<T>(key: string): Observable<T> {
return this.localStorage.getItem<T>(key);
}
setPreference<T>(key: string, value: T): Observable<T> {
return this.localStorage.setItem(key, value)
.pipe(
map(() => value)
);
}
resetPreference(key: string): Observable<{}> {
return this.localStorage.removeItem(key);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment