browser-ex-storage
TypeScript icon, indicating that this package has built-in type declarations

0.0.6 • Public • Published

browser-ex-storage

抹平各个环境storage api的差异,目前支持 chrome 插件环境和浏览器环境,提供 promise api

useage

npm i browser-ex-storage
import browserExStorage from 'browser-ex-storage'

export const storage  = env ==='browser'?browserExStorage('browser'):browserExStorage('chrome-ex')

await storage.get('key')

await storage.get(['key','key2'])

await storage.set({
    a:1,
    b:[1]
})

// total types

interface S {
    get<T extends string>(key: T): Promise<{
        [key in T]: any;
    }>;
    get<T extends string[]>(keys: T): Promise<{
        [key in T[number]]: any;
    }>;
    set: (obj: {
        [key: string]: any;
    }) => Promise<undefined>;
    remove: (key: string) => Promise<undefined>;
    clear: () => Promise<undefined>;
}
type EnvType = 'chrome-ex' | 'browser';

declare const browserExStorage: (type: EnvType) => S;

export default browserExStorage;

Package Sidebar

Install

npm i browser-ex-storage

Weekly Downloads

2

Version

0.0.6

License

MIT

Unpacked Size

4.89 kB

Total Files

5

Last publish

Collaborators

  • hongfa