restate / v1.0.0

Referência da API

Todos os exports de @kkwaenggwari/restate 1.0, com argumentos, valores de retorno e comportamento.

Nesta páginaExportsMétodos do storeMétodos do store salvoOpções de persistedRestateCampos de statusrestateManager e scope.managerInterface de adaptador de armazenamento

Exports

Tudo é importado de @kkwaenggwari/restate na web e no React Native.

ExportRetornaUse para
restate(initial, updater | options?)Hook do storeCriar um store compartilhado em memória.
persistedRestate(initial, options)Hook do store salvoCriar um store que restaura e salva pelo armazenamento.
useRestateScope(factory?)Resultado da factory ou scopeSer dono de stores em um componente; destruídos depois da desmontagem.
createRestateScope()RestateScopeSer dono de stores fora do React; chame destroy() ao terminar.
shallow(left, right)booleanComparar seleções em um nível.
batch(callback)Resultado do callbackNotificar os assinantes uma vez depois de várias mudanças.
restateManagerRestateManagerEsperar os dados de inicialização e executar operações em lote nos stores globais.
createIndexedDBStorage(options?)RestateStorageCriar um adaptador de IndexedDB com nome de banco ou de store próprio.
createMMKVStorage(options?)RestateStorageCriar um adaptador de MMKV com sua própria instância ou configuração.

Métodos do store

Um store é uma função que você chama como hook, com estes métodos.

MembroDescrição
useStore()Retorna o valor inteiro e renderiza de novo a cada mudança.
useStore(selector, isEqual?)Retorna a seleção; renderiza de novo quando isEqual (por padrão Object.is) indica mudança.
get()Valor atual, sem assinar.
set(value | updater)Substitui o valor ou o calcula a partir do anterior. Ignorado depois de destroy().
reset()Restaura o valor inicial declarado e o retorna.
subscribe(listener)Chama listener(value, previous, event) depois de cada mudança; retorna uma função para cancelar a assinatura.
subscribeSelector(selector, listener, isEqual?)Chama listener só quando a seleção muda.
on(type, listener)Escuta eventos como change, reset, save ou error.
start() / stop() / isRunning()Controla o updater manualmente.
destroy() / isDestroyed()Libera os listeners e o updater. Assinaturas posteriores lançam STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Valor inicial, snapshot do servidor e o último erro de listener.
id / kindid único; memory ou persistent.

Métodos do store salvo

persistedRestate retorna um store com estes membros adicionais.

MembroDescrição
readyPromise que se resolve quando o carregamento automático termina, mesmo que tenha falhado. Verifique status().
save()Grava o valor atual; resolve com o valor efetivamente gravado.
restore()Lê o valor salvo para a memória.
hasSaved()Se existe um registro salvo.
clearStorage()Apaga o registro salvo; a memória não muda.
resetAndClearStorage()Redefine a memória para o valor inicial e apaga o registro salvo.
initialize()Carrega de novo, por exemplo depois de corrigir um registro com falha.
status()Snapshot congelado do status; o mesmo objeto até algum campo mudar.
useStatus(selector?, isEqual?)Hook que renderiza de novo quando o status ou a parte selecionada muda.
key / storageKey / storageChave lógica, chave com namespace e o adaptador em uso.

Opções de persistedRestate

key é obrigatória. Todas as outras opções são opcionais.

OpçãoPadrãoSignificado
keyobrigatóriaChave lógica do registro.
namespace"@kkwaenggwari/restate"Prefixo da chave armazenada; uma string vazia o desativa.
storageIndexedDB / MMKVAdaptador usado no lugar do padrão da plataforma.
autoSavefalsetrue salva depois de cada mudança; { delayMs } espera uma pausa.
version / migrate1 / nenhumaVersão do registro e como atualizar registros antigos.
validatenenhumaVerifica os valores antes de salvar e depois de restaurar ou migrar.
serializerJSONFunções serialize e deserialize próprias.
operationTimeoutMs30000Tempo máximo de uma operação de armazenamento.
maxPendingOperations256Operações pendentes permitidas, incluindo a ativa.
maxStorageCharacters5242880Maior valor codificado, em unidades de código UTF-16.
updater / managed / serverSnapshot / onError—Igual às opções de restate.

Campos de status

status() e useStatus() retornam estes campos.

CampoSignificado
readyO carregamento automático terminou.
dirtyA memória difere do último valor carregado, salvo ou restaurado.
operationA operação de armazenamento em andamento, ou null.
pendingOperações de armazenamento ainda não concluídas, incluindo a ativa.
blockedUma chamada ao adaptador cancelada ou expirada ainda não terminou.
availableSe o armazenamento pode ser usado.
error / observerErrorÚltimo erro de armazenamento; último erro de listener de status.
lastSavedAt / lastRestoredAtMilissegundos epoch do último sucesso, ou null.

restateManager e scope.manager

Cada manager acompanha os stores persistentes registrados nele.

MembroDescrição
readyEspera os stores registrados no momento do acesso; rejeita com BULK_OPERATION_FAILED.
saveAll(options?) / restoreAll(options?)Executa save ou restore em cada store; { concurrency } limita o trabalho em paralelo.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Limpar registros, redefinir a memória ou as duas coisas.
list() / get(idOrKey) / size()Inspecionar os stores registrados.
subscribe(listener) / status()Observar eventos do manager e erros de listeners.
destroyAll()Destruir todos os stores registrados.

Interface de adaptador de armazenamento

Passe como storage um objeto com estes métodos. Todo método pode retornar um valor ou uma Promise.

MétodoDescrição
getItem(key, context?)Retorna a string salva ou null.
setItem(key, value, context?)Guarda a string.
removeItem(key, context?)Apaga o registro.
isAvailable?()Informa de forma síncrona se o armazenamento pode ser usado.
clear?() / close?()Limpeza e encerramento opcionais.
coordinationKey?Objeto compartilhado entre wrappers do mesmo armazenamento subjacente.

Pesquisar na documentação

Pesquisa em títulos, descrições e texto de todos os guias.