Sets a maximum age (minimum one day) for script storage values, after which they are deleted
Tätä skriptiä ei tulisi asentaa suoraan. Se on kirjasto muita skriptejä varten sisällytettäväksi metadirektiivillä // @require https://update.greasyfork.org/scripts/562172/1881822/Temporary-Script-Storage.js.
Tämän luokan ilmentymän kautta asetettu ja käytetty tallennus on olemassa vain niin kauan kuin konstruktorissa asettamasi elinikä, vaikka se on oltava vähintään yksi päivä. Oletusarvo on 30 päivää. Tämän jälkeen se vanhenee ja poistetaan, kun sweepExpiredEntries() kutsutaan, jonka voit ajoittaa setInterval():llä.
Tällä kirjastolla ei ole vaikutusta tallennustilaan, joka asetetaan suoraan GM:n setValue():n avulla tavallisella tavalla. Tällainen tallennus käyttäytyy normaalisti.
Käyttöesimerkki:
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 {}
Lisäksi jokaisen tätä kirjastoa käyttävän skriptin on sisällettävä seuraavat metatiedot:
// @grant GM.getValue
// @grant GM.setValue
// @grant GM.deleteValue
// @grant GM.listValues
// @grant GM.info
Tämä on välttämätöntä, koska sen, mitä kukin kirjasto tarvitsee omissa metatiedoissaan, asettaminen ei riitä. Ylimmän tason skriptin on annettava vaaditut @requiret ja @grantt kaikille sen riippuvuuksille.