localstorage-ponyfill

Universal LocalStorage for browser and Node.js.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
localstorage-ponyfill
5311.0.24 years ago5 years agoMinified + gzip package size for localstorage-ponyfill in KB

Readme

localstorage-ponyfill Build Status
Universal LocalStorage ponyfill library for browser and Node.js.

Install

Install with npm:
npm install localstorage-ponyfill

Usage

Auto(Browser or Node.js)

Automatically select mode.
import { createLocalStorage } from "localstorage-ponyfill";
const localStorage = createLocalStorage();
localStorage.setItem("key", "value");
const value = localStorage.getItem("key");
assert.strictEqual(value, "value");        

Browser

Native localStorage.
import { createLocalStorage } from "localstorage-ponyfill";
const localStorage = createLocalStorage({ mode : "browser" });

Node.js

Use node-localstorage
Store data to <app-root>/.cache/localstorage-ponyfill/* by default. You can setting the path by storeFilePath option.
import { createLocalStorage } from "localstorage-ponyfill";
const localStorage = createLocalStorage({ mode : "node" });

In memory

Use localstorage-memory
import { createLocalStorage } from "localstorage-ponyfill";
const localStorage = createLocalStorage({ mode : "memory" });

API

Same with Window.localStorage
export interface LocalStoragePonyfill {
    readonly length: number;

    clear(): void;

    getItem(key: string): string | null;

    key(index: number): string | null;

    removeItem(key: string): void;

    setItem(key: string, data: string): void;

    [key: string]: any;

    [index: number]: string;
}

Changelog

See Releases page.

Running tests

Install devDependencies and Run npm test:
npm i -d && npm test

Contributing

Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu