restate / v1.0.0

Référence de l’API

Chaque export de @kkwaenggwari/restate 1.0, avec ses arguments, ses valeurs de retour et son comportement.

Sur cette pageExportsMéthodes du storeMéthodes du store enregistréOptions de persistedRestateChamps de statutrestateManager et scope.managerInterface d’un adaptateur de stockage

Exports

Tout s’importe depuis @kkwaenggwari/restate, sur le web comme sur React Native.

ExportRenvoieÀ utiliser pour
restate(initial, updater | options?)Hook de storeCréer un store partagé en mémoire.
persistedRestate(initial, options)Hook de store enregistréCréer un store qui se restaure et s’enregistre via le stockage.
useRestateScope(factory?)Résultat de la factory ou scopePosséder des stores dans un composant ; détruits après le démontage.
createRestateScope()RestateScopePosséder des stores en dehors de React ; appelez destroy() à la fin.
shallow(left, right)booleanComparer les sélections sur un niveau.
batch(callback)Résultat du callbackNotifier les abonnés une seule fois après plusieurs changements.
restateManagerRestateManagerAttendre les données de démarrage et lancer des opérations groupées sur les stores globaux.
createIndexedDBStorage(options?)RestateStorageCréer un adaptateur IndexedDB avec un nom de base ou de magasin personnalisé.
createMMKVStorage(options?)RestateStorageCréer un adaptateur MMKV avec votre propre instance ou configuration.

Méthodes du store

Un store est une fonction que vous appelez comme un hook, dotée de ces méthodes.

MembreDescription
useStore()Renvoie la valeur entière et se re-rend à chaque changement.
useStore(selector, isEqual?)Renvoie la sélection ; se re-rend quand isEqual (Object.is par défaut) signale un changement.
get()Valeur actuelle, sans abonnement.
set(value | updater)Remplace la valeur ou la calcule à partir de la précédente. Ignoré après destroy().
reset()Restaure la valeur initiale déclarée et la renvoie.
subscribe(listener)Appelle listener(value, previous, event) après chaque changement ; renvoie une fonction de désabonnement.
subscribeSelector(selector, listener, isEqual?)N’appelle listener que lorsque la sélection change.
on(type, listener)Écoute des événements comme change, reset, save ou error.
start() / stop() / isRunning()Pilote l’updater à la main.
destroy() / isDestroyed()Libère les listeners et l’updater. Les abonnements suivants lèvent STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Valeur initiale, snapshot serveur et dernière erreur de listener.
id / kindid unique ; memory ou persistent.

Méthodes du store enregistré

persistedRestate renvoie un store doté de ces membres supplémentaires.

MembreDescription
readyPromise résolue quand le chargement automatique se termine, même en cas d’échec. Vérifiez status().
save()Écrit la valeur actuelle ; se résout avec la valeur réellement écrite.
restore()Lit la valeur enregistrée en mémoire.
hasSaved()Indique si un enregistrement sauvegardé existe.
clearStorage()Supprime l’enregistrement sauvegardé ; la mémoire ne change pas.
resetAndClearStorage()Réinitialise la mémoire à la valeur initiale et supprime l’enregistrement sauvegardé.
initialize()Recharge, par exemple après avoir corrigé un enregistrement en échec.
status()Instantané figé du statut ; le même objet tant qu’aucun champ ne change.
useStatus(selector?, isEqual?)Hook qui se re-rend quand le statut ou la partie sélectionnée change.
key / storageKey / storageClé logique, clé avec espace de noms et adaptateur utilisé.

Options de persistedRestate

key est obligatoire. Toutes les autres options sont facultatives.

OptionDéfautSignification
keyobligatoireClé logique de l’enregistrement.
namespace"@kkwaenggwari/restate"Préfixe de la clé stockée ; une chaîne vide le désactive.
storageIndexedDB / MMKVAdaptateur à utiliser à la place de celui par défaut de la plateforme.
autoSavefalsetrue enregistre après chaque changement ; { delayMs } attend une pause.
version / migrate1 / aucunVersion de l’enregistrement et façon de mettre à niveau les anciens.
validateaucunVérifie les valeurs avant l’enregistrement et après la restauration ou la migration.
serializerJSONFonctions serialize et deserialize personnalisées.
operationTimeoutMs30000Durée maximale d’une opération de stockage.
maxPendingOperations256Opérations en attente autorisées, y compris celle en cours.
maxStorageCharacters5242880Taille maximale de la valeur encodée, en unités de code UTF-16.
updater / managed / serverSnapshot / onError—Identique aux options de restate.

Champs de statut

status() et useStatus() renvoient ces champs.

ChampSignification
readyLe chargement automatique est terminé.
dirtyLa mémoire diffère de la dernière valeur chargée, enregistrée ou restaurée.
operationL’opération de stockage en cours, ou null.
pendingOpérations de stockage non terminées, y compris celle en cours.
blockedUn appel à l’adaptateur annulé ou expiré n’est pas encore terminé.
availableIndique si le stockage est utilisable.
error / observerErrorDernière erreur de stockage ; dernière erreur d’un listener de statut.
lastSavedAt / lastRestoredAtMillisecondes epoch du dernier succès, ou null.

restateManager et scope.manager

Chaque manager suit les stores persistants qui y sont enregistrés.

MembreDescription
readyAttend les stores enregistrés au moment de l’accès ; rejette avec BULK_OPERATION_FAILED.
saveAll(options?) / restoreAll(options?)Lance save ou restore pour chaque store ; { concurrency } limite le travail en parallèle.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Vide les enregistrements, réinitialise la mémoire, ou les deux.
list() / get(idOrKey) / size()Inspecte les stores enregistrés.
subscribe(listener) / status()Observe les événements du manager et les erreurs des listeners.
destroyAll()Détruit tous les stores enregistrés.

Interface d’un adaptateur de stockage

Passez en storage un objet doté de ces méthodes. Chaque méthode peut renvoyer une valeur ou une Promise.

MéthodeDescription
getItem(key, context?)Renvoie la chaîne enregistrée ou null.
setItem(key, value, context?)Enregistre la chaîne.
removeItem(key, context?)Supprime l’enregistrement.
isAvailable?()Indique de façon synchrone si le stockage est utilisable.
clear?() / close?()Vidage et nettoyage facultatifs.
coordinationKey?Objet partagé entre les enveloppes d’un même stockage sous-jacent.

Rechercher dans la documentation

Recherche dans les titres, les descriptions et le texte de tous les guides.