restate / v1.0.0

API başvurusu

@kkwaenggwari/restate 1.0'ın her export'u; argümanları, dönüş değerleri ve davranışıyla.

Bu sayfadaExport'larStore metotlarıKayıtlı store metotlarıpersistedRestate seçenekleriDurum alanlarırestateManager ve scope.managerDepolama adaptörü arayüzü

Export'lar

Her şey web'de ve React Native'de @kkwaenggwari/restate'ten import edilir.

ExportDöndürürNe için
restate(initial, updater | options?)Store hook'uBellekte paylaşılan bir store oluşturmak.
persistedRestate(initial, options)Kayıtlı store hook'uDepolamadan geri yüklenen ve depolamaya kaydedilen bir store oluşturmak.
useRestateScope(factory?)Factory sonucu ya da scopeBir bileşende store'lara sahip olmak; ayrıldıktan sonra yok edilirler.
createRestateScope()RestateScopeReact dışında store'lara sahip olmak; sonunda destroy() çağırın.
shallow(left, right)booleanSeçimleri bir düzey derinlikte karşılaştırmak.
batch(callback)Callback'in sonucuBirkaç değişiklikten sonra aboneleri bir kez bilgilendirmek.
restateManagerRestateManagerBaşlangıç verilerini beklemek ve genel store'larda toplu işlemler yürütmek.
createIndexedDBStorage(options?)RestateStorageKendi veritabanı ya da store adınızla bir IndexedDB adaptörü oluşturmak.
createMMKVStorage(options?)RestateStorageKendi örneğiniz ya da yapılandırmanızla bir MMKV adaptörü oluşturmak.

Store metotları

Store, hook olarak çağırdığınız ve bu metotlara sahip bir fonksiyondur.

ÜyeAçıklama
useStore()Tüm değeri döndürür ve her değişiklikte yeniden render edilir.
useStore(selector, isEqual?)Seçimi döndürür; isEqual (varsayılan Object.is) değişiklik bildirdiğinde yeniden render edilir.
get()Abonelik olmadan geçerli değer.
set(value | updater)Değeri değiştirir ya da öncekinden hesaplar. destroy() sonrasında yok sayılır.
reset()Bildirilen başlangıç değerini geri getirir ve döndürür.
subscribe(listener)Her değişiklikten sonra listener(value, previous, event) çağırır; aboneliği iptal eden bir fonksiyon döndürür.
subscribeSelector(selector, listener, isEqual?)listener'ı yalnızca seçim değiştiğinde çağırır.
on(type, listener)change, reset, save ya da error gibi olayları dinler.
start() / stop() / isRunning()updater'ın elle denetimi.
destroy() / isDestroyed()listener'ları ve updater'ı serbest bırakır. Sonraki abonelikler STORE_DESTROYED fırlatır.
getInitial() / getServerSnapshot() / getError()Başlangıç değeri, sunucu anlık görüntüsü ve son listener hatası.
id / kindBenzersiz id; memory ya da persistent.

Kayıtlı store metotları

persistedRestate bu ek üyelere sahip bir store döndürür.

ÜyeAçıklama
readyOtomatik yükleme bittiğinde, başarısız olsa bile, tamamlanan Promise. status()'u kontrol edin.
save()Geçerli değeri yazar; gerçekten yazılan değerle tamamlanır.
restore()Kayıtlı değeri belleğe okur.
hasSaved()Kayıtlı bir kayıt olup olmadığı.
clearStorage()Kayıtlı kaydı siler; bellek değişmez.
resetAndClearStorage()Belleği başlangıç değerine sıfırlar ve kayıtlı kaydı siler.
initialize()Yeniden yükler; örneğin başarısız bir kaydı düzelttikten sonra.
status()Durumun dondurulmuş anlık görüntüsü; bir alan değişene kadar aynı nesne.
useStatus(selector?, isEqual?)Durum ya da seçilen kısmı değiştiğinde yeniden render edilen hook.
key / storageKey / storageMantıksal key, ad alanlı key ve kullanılan adaptör.

persistedRestate seçenekleri

key zorunludur. Diğer tüm seçenekler isteğe bağlıdır.

SeçenekVarsayılanAnlamı
keyzorunluKaydın mantıksal key'i.
namespace"@kkwaenggwari/restate"Kayıtlı key'in ön eki; boş dize onu kapatır.
storageIndexedDB / MMKVPlatform varsayılanı yerine kullanılacak adaptör.
autoSavefalsetrue her değişiklikten sonra kaydeder; { delayMs } bir duraklama bekler.
version / migrate1 / yokKayıt sürümü ve eski kayıtların yükseltilme yolu.
validateyokDeğerleri kaydetmeden önce ve geri yükleme ya da taşıma sonrasında denetler.
serializerJSONKendi serialize ve deserialize fonksiyonlarınız.
operationTimeoutMs30000Bir depolama işleminin en uzun süresi.
maxPendingOperations256Etkin olan dahil izin verilen bekleyen işlemler.
maxStorageCharacters5242880UTF-16 kod birimi olarak en büyük kodlanmış değer.
updater / managed / serverSnapshot / onError—restate seçenekleriyle aynı.

Durum alanları

status() ve useStatus() bu alanları döndürür.

AlanAnlamı
readyOtomatik yükleme bitti.
dirtyBellek en son yüklenen, kaydedilen ya da geri yüklenen değerden farklı.
operationGeçerli depolama işlemi ya da null.
pendingEtkin olan dahil tamamlanmamış depolama işlemleri.
blockedİptal edilmiş ya da zaman aşımına uğramış bir adaptör çağrısı henüz bitmedi.
availableDepolamanın kullanılıp kullanılamayacağı.
error / observerErrorSon depolama hatası; son durum listener hatası.
lastSavedAt / lastRestoredAtSon başarının epoch milisaniyesi ya da null.

restateManager ve scope.manager

Her manager kendisine kayıtlı kalıcı store'ları izler.

ÜyeAçıklama
readyErişim anında kayıtlı store'ları bekler; BULK_OPERATION_FAILED ile reddeder.
saveAll(options?) / restoreAll(options?)Her store'da save ya da restore çalıştırır; { concurrency } paralel işi sınırlar.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Kayıtları temizler, belleği sıfırlar ya da ikisini birden yapar.
list() / get(idOrKey) / size()Kayıtlı store'ların incelenmesi.
subscribe(listener) / status()manager olaylarını ve listener hatalarını gözlemler.
destroyAll()Kayıtlı her store'u yok eder.

Depolama adaptörü arayüzü

storage olarak bu metotlara sahip bir nesne verin. Her metot bir değer ya da Promise döndürebilir.

MetotAçıklama
getItem(key, context?)Kayıtlı dizeyi ya da null döndürür.
setItem(key, value, context?)Bir dize kaydeder.
removeItem(key, context?)Bir kaydı siler.
isAvailable?()Depolamanın kullanılıp kullanılamayacağını senkron olarak bildirir.
clear?() / close?()İsteğe bağlı boşaltma ve temizlik.
coordinationKey?Aynı temel depolamanın sarmalayıcılarının paylaştığı nesne.

Belgelerde ara

Tüm kılavuzların başlık, açıklama ve içeriğinde arayın.