mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-19 03:32:21 +08:00
51 lines
1.2 KiB
TypeScript
51 lines
1.2 KiB
TypeScript
import {StorageEngine} from './storage';
|
|
|
|
|
|
/**
|
|
* The LocalStorage storage engine uses the browser's local storage system for
|
|
* storing key/value pairs.
|
|
*
|
|
* Note: LocalStorage should ONLY be used for temporary data that you can afford to lose.
|
|
* Given disk space constraints on a mobile device, local storage might be "cleaned up"
|
|
* by the operating system (iOS).
|
|
*
|
|
* For guaranteed, long-term storage, use the SqlStorage engine which stores data in a file.
|
|
* @demo /docs/v2/demos/local-storage/
|
|
* @see {@link /docs/v2/platform/storage/ Storage Platform Docs}
|
|
*/
|
|
export class LocalStorage extends StorageEngine {
|
|
constructor() {
|
|
super();
|
|
}
|
|
get(key) {
|
|
return new Promise((resolve, reject) => {
|
|
try {
|
|
let value = window.localStorage.getItem(key);
|
|
resolve(value);
|
|
} catch(e) {
|
|
reject(e);
|
|
}
|
|
});
|
|
}
|
|
set(key, value) {
|
|
return new Promise((resolve, reject) => {
|
|
try {
|
|
window.localStorage.setItem(key, value);
|
|
resolve();
|
|
} catch(e) {
|
|
reject(e);
|
|
}
|
|
});
|
|
}
|
|
remove(key) {
|
|
return new Promise((resolve, reject) => {
|
|
try {
|
|
window.localStorage.removeItem(key);
|
|
resolve();
|
|
} catch(e) {
|
|
reject(e);
|
|
}
|
|
});
|
|
}
|
|
}
|