1.0.2 • Published 5 years ago

localstorage-ponyfill v1.0.2

Weekly downloads
425
License
MIT
Repository
github
Last release
5 years ago

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