restate / v1.0.0

Αναφορά API

Κάθε export του @kkwaenggwari/restate 1.0, με ορίσματα, τιμές επιστροφής και συμπεριφορά.

Σε αυτή τη σελίδαExportsΜέθοδοι του storeΜέθοδοι αποθηκευμένου storeΕπιλογές του persistedRestateΠεδία κατάστασηςrestateManager και scope.managerΔιεπαφή προσαρμογέα αποθήκευσης

Exports

Όλα εισάγονται από το @kkwaenggwari/restate, στο web και στο React Native.

ExportΕπιστρέφειΓια
restate(initial, updater | options?)Hook storeΔημιουργία κοινού store στη μνήμη.
persistedRestate(initial, options)Hook αποθηκευμένου storeΔημιουργία store που ανακτάται από την αποθήκευση και αποθηκεύεται σε αυτή.
useRestateScope(factory?)Αποτέλεσμα factory ή scopeΚατοχή stores σε ένα component· καταστρέφονται μετά την αποπροσάρτηση.
createRestateScope()RestateScopeΚατοχή stores εκτός React· καλέστε destroy() στο τέλος.
shallow(left, right)booleanΣύγκριση επιλογών σε βάθος ενός επιπέδου.
batch(callback)Αποτέλεσμα του callbackΕιδοποίηση συνδρομητών μία φορά μετά από πολλές αλλαγές.
restateManagerRestateManagerΑναμονή δεδομένων εκκίνησης και εκτέλεση μαζικών λειτουργιών στα καθολικά stores.
createIndexedDBStorage(options?)RestateStorageΔημιουργία προσαρμογέα IndexedDB με δικό σας όνομα βάσης δεδομένων ή store.
createMMKVStorage(options?)RestateStorageΔημιουργία προσαρμογέα MMKV με δικό σας στιγμιότυπο ή ρύθμιση.

Μέθοδοι του store

Ένα store είναι συνάρτηση που καλείτε ως hook, με αυτές τις μεθόδους.

ΜέλοςΠεριγραφή
useStore()Επιστρέφει ολόκληρη την τιμή και αποδίδεται ξανά σε κάθε αλλαγή.
useStore(selector, isEqual?)Επιστρέφει μια επιλογή· αποδίδεται ξανά όταν το isEqual (προεπιλογή Object.is) αναφέρει αλλαγή.
get()Η τρέχουσα τιμή χωρίς συνδρομή.
set(value | updater)Αντικαθιστά την τιμή ή την υπολογίζει από την προηγούμενη. Αγνοείται μετά το destroy().
reset()Επαναφέρει τη δηλωμένη αρχική τιμή και την επιστρέφει.
subscribe(listener)Καλεί το listener(value, previous, event) μετά από κάθε αλλαγή· επιστρέφει συνάρτηση κατάργησης συνδρομής.
subscribeSelector(selector, listener, isEqual?)Καλεί τον listener μόνο όταν αλλάζει η επιλογή.
on(type, listener)Ακούει συμβάντα όπως change, reset, save ή error.
start() / stop() / isRunning()Χειροκίνητος έλεγχος του updater.
destroy() / isDestroyed()Απελευθερώνει listeners και updater. Οι μεταγενέστερες συνδρομές πετούν STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Αρχική τιμή, στιγμιότυπο διακομιστή και το τελευταίο σφάλμα listener.
id / kindΜοναδικό id· memory ή persistent.

Μέθοδοι αποθηκευμένου store

Το persistedRestate επιστρέφει store με αυτά τα επιπλέον μέλη.

ΜέλοςΠεριγραφή
readyPromise που εκπληρώνεται όταν τελειώσει η αυτόματη φόρτωση, ακόμη κι αν απέτυχε. Ελέγξτε το status().
save()Γράφει την τρέχουσα τιμή· εκπληρώνεται με την τιμή που γράφτηκε πραγματικά.
restore()Διαβάζει την αποθηκευμένη τιμή στη μνήμη.
hasSaved()Αν υπάρχει αποθηκευμένη εγγραφή.
clearStorage()Διαγράφει την αποθηκευμένη εγγραφή· η μνήμη δεν αλλάζει.
resetAndClearStorage()Επαναφέρει τη μνήμη στην αρχική τιμή και διαγράφει την αποθηκευμένη εγγραφή.
initialize()Φορτώνει ξανά, για παράδειγμα μετά τη διόρθωση μιας αποτυχημένης εγγραφής.
status()Παγωμένο στιγμιότυπο της κατάστασης· το ίδιο αντικείμενο μέχρι να αλλάξει κάποιο πεδίο.
useStatus(selector?, isEqual?)Hook που αποδίδεται ξανά όταν αλλάζει η κατάσταση ή το επιλεγμένο μέρος της.
key / storageKey / storageΤο λογικό key, το key με namespace και ο προσαρμογέας που χρησιμοποιείται.

Επιλογές του persistedRestate

Το key είναι υποχρεωτικό. Όλες οι άλλες επιλογές είναι προαιρετικές.

ΕπιλογήΠροεπιλογήΣημασία
keyυποχρεωτικόΤο λογικό key της εγγραφής.
namespace"@kkwaenggwari/restate"Πρόθεμα του αποθηκευμένου key· μια κενή συμβολοσειρά το απενεργοποιεί.
storageIndexedDB / MMKVΠροσαρμογέας αντί για την προεπιλογή της πλατφόρμας.
autoSavefalseΤο true αποθηκεύει μετά από κάθε αλλαγή· το { delayMs } περιμένει μια παύση.
version / migrate1 / κανέναΗ έκδοση της εγγραφής και ο τρόπος αναβάθμισης παλαιότερων εγγραφών.
validateκανέναΕλέγχει τις τιμές πριν από την αποθήκευση και μετά την ανάκτηση ή τη μεταφορά.
serializerJSONΔικές σας συναρτήσεις serialize και deserialize.
operationTimeoutMs30000Η μέγιστη διάρκεια μιας λειτουργίας αποθήκευσης.
maxPendingOperations256Επιτρεπόμενες εκκρεμείς λειτουργίες, μαζί με την ενεργή.
maxStorageCharacters5242880Η μεγαλύτερη κωδικοποιημένη τιμή, σε μονάδες κώδικα UTF-16.
updater / managed / serverSnapshot / onError—Όπως οι επιλογές του restate.

Πεδία κατάστασης

Τα status() και useStatus() επιστρέφουν αυτά τα πεδία.

ΠεδίοΣημασία
readyΗ αυτόματη φόρτωση ολοκληρώθηκε.
dirtyΗ μνήμη διαφέρει από την τελευταία τιμή που φορτώθηκε, αποθηκεύτηκε ή ανακτήθηκε.
operationΗ τρέχουσα λειτουργία αποθήκευσης ή null.
pendingΜη ολοκληρωμένες λειτουργίες αποθήκευσης, μαζί με την ενεργή.
blockedΜια ακυρωμένη ή ληγμένη κλήση προσαρμογέα δεν έχει ακόμη ολοκληρωθεί.
availableΑν μπορεί να χρησιμοποιηθεί η αποθήκευση.
error / observerErrorΤο τελευταίο σφάλμα αποθήκευσης· το τελευταίο σφάλμα listener κατάστασης.
lastSavedAt / lastRestoredAtΧιλιοστά του δευτερολέπτου epoch της τελευταίας επιτυχίας ή null.

restateManager και scope.manager

Κάθε manager παρακολουθεί τα αποθηκευμένα stores που είναι καταχωρισμένα σε αυτόν.

ΜέλοςΠεριγραφή
readyΠεριμένει τα stores που είναι καταχωρισμένα τη στιγμή της πρόσβασης· απορρίπτει με BULK_OPERATION_FAILED.
saveAll(options?) / restoreAll(options?)Εκτελεί save ή restore σε κάθε store· το { concurrency } περιορίζει την παράλληλη εργασία.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Καθαρίζει εγγραφές, επαναφέρει τη μνήμη ή και τα δύο.
list() / get(idOrKey) / size()Επιθεώρηση των καταχωρισμένων stores.
subscribe(listener) / status()Παρακολούθηση συμβάντων του manager και σφαλμάτων listeners.
destroyAll()Καταστρέφει κάθε καταχωρισμένο store.

Διεπαφή προσαρμογέα αποθήκευσης

Περάστε ως storage ένα αντικείμενο με αυτές τις μεθόδους. Κάθε μέθοδος μπορεί να επιστρέφει τιμή ή Promise.

ΜέθοδοςΠεριγραφή
getItem(key, context?)Επιστρέφει την αποθηκευμένη συμβολοσειρά ή null.
setItem(key, value, context?)Αποθηκεύει μια συμβολοσειρά.
removeItem(key, context?)Διαγράφει μια εγγραφή.
isAvailable?()Αναφέρει σύγχρονα αν μπορεί να χρησιμοποιηθεί η αποθήκευση.
clear?() / close?()Προαιρετικό flush και καθαρισμός.
coordinationKey?Αντικείμενο κοινό στα περιτυλίγματα της ίδιας υποκείμενης αποθήκευσης.

Αναζήτηση στην τεκμηρίωση

Αναζήτηση σε τίτλους, περιγραφές και περιεχόμενο όλων των οδηγών.