Sets a maximum age (minimum one day) for script storage values, after which they are deleted
Αυτός ο κώδικας δεν πρέπει να εγκατασταθεί άμεσα. Είναι μια βιβλιοθήκη για άλλους κώδικες που περιλαμβάνεται μέσω της οδηγίας meta // @require https://update.greasyfork.org/scripts/562172/1881822/Temporary-Script-Storage.js
Η αποθήκευση που ορίζεται και προσπελάζεται μέσω μιας παρουσίας αυτής της κλάσης θα υπάρχει μόνο όσο διαρκεί ο χρόνος ζωής που ορίζετε στον κατασκευαστή, αν και πρέπει να είναι τουλάχιστον μία μέρα. Η προεπιλογή είναι 30 ημέρες. Μετά από αυτό το χρονικό διάστημα, θα λήξει και θα διαγραφεί όταν καλείται sweepExpiredEntries(), το οποίο μπορείτε να προγραμματίσετε με setInterval().
Αυτή η βιβλιοθήκη δεν έχει καμία επίδραση στην αποθήκευση σεναρίου που ορίζεται απευθείας μέσω του setValue() του GM με τον συνηθισμένο τρόπο. Αυτή η αποθήκευση θα συμπεριφέρεται κανονικά.
Παράδειγμα χρήσης:
const persistentStorage = new TTLStorage();
await persistentStorage.ready();
setInterval(() => persistentStorage.sweepExpiredEntries(), 1000 * 60 * 60 * 24);
try {
await persistentStorage.set("key1", "hello"); // throws
const msg = persistentStorage.get("key1"); // fast memory read
await persistentStorage.delete("key1"); // throws
} catch {}
Επιπλέον, οποιοδήποτε σενάριο που χρησιμοποιεί αυτή τη βιβλιοθήκη πρέπει να περιλαμβάνει τα ακόλουθα μεταδεδομένα:
// @grant GM.getValue
// @grant GM.setValue
// @grant GM.deleteValue
// @grant GM.listValues
// @grant GM.info
Αυτό είναι απαραίτητο επειδή το να τοποθετήσετε αυτά που χρειάζεται κάθε βιβλιοθήκη στα δικά της μεταδεδομένα δεν είναι αρκετό. Το σενάριο ανώτατου επιπέδου πρέπει να παρέχει τα απαραίτητα @requires και @grants για όλες τις εξαρτήσεις του.