@createnextapp/async-local-storage

1.0.1 • Public • Published

async-local-storage

AsyncLocalStorage is an unencrypted, asynchronous, persistent, key-value storage system that is global to the app in web browser. It should be used instead of LocalStorage.

NPM npm bundle size

Why AsyncLocalStorage instead of LocalStorage?

Cons of LocalStorage

LocalStorage is synchronous, each local storage operation you run will be one-at-a-time. For complex applications this is a big no-no as it'll slow down your app's runtime.

Pros of AsyncLocalStorage

AsyncLocalStorage is asynchronous, each local async storage operation you run will be multi-at-a-time. It'll speed up your app's runtime.

The AsyncLocalStorage JavaScript code is a facade that provides a clear JavaScript API, real Error objects, and non-multi functions. Each method in the API returns a Promise object.

🔧 Install

async-local-storage is available on npm. It can be installed with the following command:

npm install --save @createnextapp/async-local-storage

async-local-storage is available on yarn as well. It can be installed with the following command:

yarn add @createnextapp/async-local-storage

💡 Usage

To learn more how to use async-local-storage:

Import

import AsyncLocalStorage from '@createnextapp/async-local-storage'

Store data

storeData = async () => {
  try {
    await AsyncLocalStorage.setItem('@key', 'value')
  } catch(e) {
    // error
  }
}

Read data

readData = async () => {
  let data

  try {
    data = await AsyncLocalStorage.getItem('@key')
  } catch(e) {
    // error
  }

  console.log(data)

  /*
    output: 
    value
  */
}

💖 Wrap Up

If you think any of the async-local-storage can be improved, please do open a PR with any updates and submit any issues. Also, I will continue to improve this, so you might want to watch/star this repository to revisit.

🌟 Contribution

We'd love to have your helping hand on contributions to async-local-storage by forking and sending a pull request!

Your contributions are heartily ♡ welcome, recognized and appreciated. (✿◠‿◠)

How to contribute:

  • Open pull request with improvements
  • Discuss ideas in issues
  • Spread the word
  • Reach out with any feedback

⚖️ License

The MIT License License: MIT

Package Sidebar

Install

npm i @createnextapp/async-local-storage

Weekly Downloads

417

Version

1.0.1

License

MIT

Unpacked Size

6.99 kB

Total Files

5

Last publish

Collaborators

  • create-next-app