Skip to content

Commit 6e7cc97

Browse files
committed
feat(storage): clear() removes all entries in the storage engine
1 parent 51dd628 commit 6e7cc97

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

ionic/platform/storage/local-storage.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,15 @@ export class LocalStorage extends StorageEngine {
7979
}
8080
});
8181
}
82+
83+
clear(): Promise<any> {
84+
return new Promise((resolve, reject) => {
85+
try {
86+
window.localStorage.clear();
87+
resolve();
88+
} catch (e) {
89+
reject(e);
90+
}
91+
});
92+
}
8293
}

ionic/platform/storage/sql.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ export class SqlStorage extends StorageEngine {
142142
*/
143143
remove(key: string): Promise<any> {
144144
return this.query('delete from kv where key = ?', [key]);
145+
}
145146

147+
clear(): Promise<any> {
148+
return this.query('delete from kv');
146149
}
147150
}

ionic/platform/storage/storage.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ export class Storage {
5151
query(query: string, params?: any) {
5252
return this._strategy.query(query, params);
5353
}
54+
55+
clear() {
56+
return this._strategy.clear();
57+
}
5458
}
5559

5660
export interface IStorageEngine {
@@ -75,4 +79,7 @@ export class StorageEngine {
7579
query(query: string, params?: any): Promise<any> {
7680
throw Error("query() not implemented for this storage engine");
7781
}
82+
clear(): Promise<any> {
83+
throw Error("clear() not implemented for this storage engine");
84+
}
7885
}

0 commit comments

Comments
 (0)