@global-savings-group/extension-storage
Advanced tools
Comparing version 0.2.0 to 0.2.1
@@ -1,7 +0,6 @@ | ||
import { AsyncStorage } from './interfaces.js'; | ||
import { LocalStorage } from './storage/local.storage.js'; | ||
import { MemoryStorage } from './storage/memory.storage.js'; | ||
import { SessionStorage } from './storage/session.storage.js'; | ||
export { AsyncStorage } from './interfaces.js'; | ||
export { MemoryStorage } from './storage/memory.storage.js'; | ||
export declare const localStorageService: LocalStorage; | ||
export declare const sessionStorageService: SessionStorage; | ||
export { AsyncStorage, MemoryStorage, }; |
import { LocalStorage } from './storage/local.storage.js'; | ||
import { MemoryStorage } from './storage/memory.storage.js'; | ||
import { SessionStorage } from './storage/session.storage.js'; | ||
export { MemoryStorage } from './storage/memory.storage.js'; | ||
export const localStorageService = new LocalStorage(); | ||
export const sessionStorageService = new SessionStorage(); | ||
export { MemoryStorage, }; |
@@ -5,3 +5,2 @@ /// <reference types="chrome" /> | ||
protected areaName: chrome.storage.AreaName; | ||
protected storage: chrome.storage.StorageArea; | ||
constructor(areaName: chrome.storage.AreaName); | ||
@@ -12,2 +11,3 @@ get<T = any>(name: string): Promise<T | null>; | ||
onChanged: (key: string, callback: (newValue: any, oldValue: any) => void) => void; | ||
protected getStorage(): chrome.storage.StorageArea; | ||
} |
@@ -11,21 +11,31 @@ export class ChromeStorage { | ||
}; | ||
this.storage = chrome.storage[areaName]; | ||
} | ||
async get(name) { | ||
return new Promise(async (resolve) => { | ||
if (chrome.runtime.getManifest().manifest_version === 2) { | ||
this.storage.get([name], (data) => resolve(data?.[name] ?? null)); | ||
} | ||
else { | ||
const data = await this.storage.get([name]); | ||
resolve(data?.[name] ?? null); | ||
} | ||
if (chrome.runtime.getManifest().manifest_version === 3) { | ||
const data = await this.getStorage().get([name]); | ||
return data?.[name] ?? null; | ||
} | ||
return new Promise((resolve) => { | ||
this.getStorage().get([name], (data) => resolve(data?.[name] ?? null)); | ||
}); | ||
} | ||
async remove(key) { | ||
return this.storage.remove(key); | ||
if (chrome.runtime.getManifest().manifest_version === 3) { | ||
return this.getStorage().remove(key); | ||
} | ||
return new Promise((resolve) => { | ||
this.getStorage().remove(key, () => resolve()); | ||
}); | ||
} | ||
async set(key, value) { | ||
return this.storage.set({ [key]: value }); | ||
if (chrome.runtime.getManifest().manifest_version === 3) { | ||
return this.getStorage().set({ [key]: value }); | ||
} | ||
return new Promise((resolve) => { | ||
this.getStorage().set({ [key]: value }, () => resolve()); | ||
}); | ||
} | ||
getStorage() { | ||
return chrome.storage[this.areaName]; | ||
} | ||
} |
{ | ||
"name": "@global-savings-group/extension-storage", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "Cross-browser storage service for browser extensions", | ||
@@ -5,0 +5,0 @@ "author": "Global Savings Group", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
4845
111
0