1.1.0 • Published 1 year ago

@unboared/rn-utils v1.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

A set of react native utils

Storage (cookies, session, etc)

Global storage (Sessions)

This type of storage maintains a state for the duration of a user session. This state can be accessed from anywhere at any time but will be reset the next time the user logs in.

import { createGlobalStorage } from '@unboared/utils.storage';

interface UsernameState {
    username: string;
    setUsername: (newUsername: string) => void;
}

const useLanguage = createGlobalStorage<UsernameState>(
    (set) => ({
        username: 'Unknown',
        setUsername: (newUsername: string) => set({ username: newUsername }),
    })
)

Persistent storage (Cookies)

This type of data storage maintains a state in the device's storage. This state can be accessed from anywhere at any time and will maintain its value from session to session.

import { createPersistStorage } from '@unboared/utils.storage';

type Language = 'en' | 'fr' | 'sp'

interface LanguageState {
    lang: Language;
    setLanguage: (newLang: Language) => void;
}

const useLanguage = createPersistStorage<LanguageState>(
    '_lang',
    (set) => ({
        lang: 'en',
        setLanguage: (newLang: Language) => set({ lang: newLang }),
    })
)