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 | Ειδοποίηση συνδρομητών μία φορά μετά από πολλές αλλαγές. |
restateManager | RestateManager | Αναμονή δεδομένων εκκίνησης και εκτέλεση μαζικών λειτουργιών στα καθολικά 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 με αυτά τα επιπλέον μέλη.
| Μέλος | Περιγραφή |
|---|---|
ready | Promise που εκπληρώνεται όταν τελειώσει η αυτόματη φόρτωση, ακόμη κι αν απέτυχε. Ελέγξτε το 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· μια κενή συμβολοσειρά το απενεργοποιεί. |
storage | IndexedDB / MMKV | Προσαρμογέας αντί για την προεπιλογή της πλατφόρμας. |
autoSave | false | Το true αποθηκεύει μετά από κάθε αλλαγή· το { delayMs } περιμένει μια παύση. |
version / migrate | 1 / κανένα | Η έκδοση της εγγραφής και ο τρόπος αναβάθμισης παλαιότερων εγγραφών. |
validate | κανένα | Ελέγχει τις τιμές πριν από την αποθήκευση και μετά την ανάκτηση ή τη μεταφορά. |
serializer | JSON | Δικές σας συναρτήσεις serialize και deserialize. |
operationTimeoutMs | 30000 | Η μέγιστη διάρκεια μιας λειτουργίας αποθήκευσης. |
maxPendingOperations | 256 | Επιτρεπόμενες εκκρεμείς λειτουργίες, μαζί με την ενεργή. |
maxStorageCharacters | 5242880 | Η μεγαλύτερη κωδικοποιημένη τιμή, σε μονάδες κώδικα 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? | Αντικείμενο κοινό στα περιτυλίγματα της ίδιας υποκείμενης αποθήκευσης. |