Skip to content

ReScript bindings for @react-native-async-storage/async-storage

License

Notifications You must be signed in to change notification settings

rescript-react-native/async-storage

Repository files navigation

@rescript-react-native/async-storage

Build Status Version ReScript Forum

ReScript bindings for @react-native-async-storage/async-storage.

Exposed as ReactNativeAsyncStorage module.

@rescript-react-native/async-storage X.y.* means it's compatible with @react-native-async-storage/async-storage X.y.*

Installation

When @react-native-async-storage/async-storage is properly installed & configured by following their installation instructions, you can install the bindings:

npm install @rescript-react-native/async-storage
# or
yarn add @rescript-react-native/async-storage

@rescript-react-native/async-storage should be added to bs-dependencies in your bsconfig.json:

{
  //...
  "bs-dependencies": [
    "@rescript/react",
    "rescript-react-native",
    // ...
+    "@rescript-react-native/async-storage"
  ],
  //...
}

Usage

Types

ReactNativeAsyncStorage.asyncStorageState

type asyncStorageState = {
  getItem: unit => Js.Promise.t(Js.Null.t(string)),
  setItem: string => Js.Promise.t(unit),
  mergeItem: string => Js.Promise.t(unit),
  removeItem: unit => Js.Promise.t(unit),
};


 let ReactNativeAsyncStorage.{getItem, setItem} =
    ReactNativeAsyncStorage.useAsyncStorage("useAsyncStorage");

Methods

ReactNativeAsyncStorage.getItem

string => Js.Promise.t(Js.Null.t(string))

ReactNativeAsyncStorage.setItem

(string, string) => Js.Promise.t(unit)

ReactNativeAsyncStorage.removeItem

string => Js.Promise.t(unit)

ReactNativeAsyncStorage.mergeItem

(string, string) => Js.Promise.t(unit)

ReactNativeAsyncStorage.clear

unit => Js.Promise.t(unit)

ReactNativeAsyncStorage.getAllKeys

unit => Js.Promise.t(Js.Null.t(array(string)))

ReactNativeAsyncStorage.multiGet

array(string) => Js.Promise.t(array((string, Js.Null.t(string))))

ReactNativeAsyncStorage.multiSet

array((string, string)) => Js.Promise.t(unit)

ReactNativeAsyncStorage.multiMerge

array((string, string)) => Js.Promise.t(unit)

ReactNativeAsyncStorage.multiRemove

array(string) => Js.Promise.t(unit)

ReactNativeAsyncStorage.flushGetRequests

unit => unit

ReactNativeAsyncStorage.useAsyncStorage

string => asyncStorageState

Changelog

Check the changelog for more informations about recent releases.


Contribute

Read the contribution guidelines before contributing.

Code of Conduct

We want this community to be friendly and respectful to each other. Please read our full code of conduct so that you can understand what actions will and will not be tolerated.