File tree Expand file tree Collapse file tree 2 files changed +21
-8
lines changed
Expand file tree Collapse file tree 2 files changed +21
-8
lines changed Original file line number Diff line number Diff line change @@ -8,15 +8,24 @@ export default class StoragePromise {
88 this . storage = storage
99 }
1010
11- public get ( keys : string | string [ ] | Object | null ) : Promise < { [ key : string ] : any } > {
11+ get ( keys ? : string | string [ ] | Object | null ) : Promise < { [ key : string ] : any } > {
1212 return new Promise ( resolve => this . storage . get ( keys , resolve ) )
1313 }
1414
15- public set ( obj : Object ) : Promise < void > {
15+ set ( obj : Object ) : Promise < void > {
1616 return new Promise < void > ( resolve => this . storage . set ( obj , resolve ) )
1717 }
1818
19- public remove ( key : string | string [ ] ) : Promise < void > {
19+ remove ( key : string | string [ ] ) : Promise < void > {
2020 return new Promise ( resolve => this . storage . remove ( key , resolve ) )
2121 }
22+
23+ async getUsedMemory ( ) : Promise < number > {
24+ if ( this . storage . getBytesInUse ) {
25+ return new Promise ( resolve => this . storage . getBytesInUse ( resolve ) )
26+ } else {
27+ const store = await this . get ( )
28+ return JSON . stringify ( store ) . length
29+ }
30+ }
2231}
Original file line number Diff line number Diff line change 1+ import StoragePromise from "./common/storage-promise" ;
2+
13/**
24 * User memory of this extension
35 */
@@ -12,15 +14,17 @@ export declare type MemoryInfo = {
1214 total : number
1315}
1416
15- const total : number = chrome . storage . local . QUOTA_BYTES
17+ /**
18+ * 'QUOTA_BYTES' Not supported in Firefox
19+ */
20+ const total : number = chrome . storage . local . QUOTA_BYTES || 0
1621
1722/**
1823 * Get the used memory by bytes
1924 *
2025 * @since 0.0.9
2126 */
22- export function getUsedStorage ( ) : Promise < MemoryInfo > {
23- return new Promise (
24- resolve => chrome . storage . local . getBytesInUse ( used => resolve ( { used, total } ) )
25- )
27+ export async function getUsedStorage ( ) : Promise < MemoryInfo > {
28+ const used = await new StoragePromise ( chrome . storage . local ) . getUsedMemory ( )
29+ return { used, total }
2630}
You can’t perform that action at this time.
0 commit comments