Sets a maximum age (minimum one day) for script storage values, after which they are deleted
Tento skript by nemal byť nainštalovaný priamo. Je to knižnica pre ďalšie skripty, ktorú by mali používať cez meta príkaz // @require https://update.greasyfork.org/scripts/562172/1881822/Temporary-Script-Storage.js
Úložisko nastavené a prístupné prostredníctvom inštancie tejto triedy bude existovať iba tak dlho, ako je životnosť, ktorú ste nastavili v konštruktore, hoci musí trvať aspoň jeden deň. Predvolená hodnota je 30 dní. Potom vyprší a bude vymazané, keď sa zavolá sweepExpiredEntries(), ktorú môžete naplánovať pomocou setInterval().
Táto knižnica nemá žiadny vplyv na úložisko skriptu nastaveného priamo prostredníctvom GM setValue() obvyklým spôsobom. Takové úložisko sa bude správať normálne.
Príklad použitia:
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 {}
Navyše, akýkoľvek skript používajúci túto knižnicu musí obsahovať nasledujúce metadáta:
// @grant GM.getValue
// @grant GM.setValue
// @grant GM.deleteValue
// @grant GM.listValues
// @grant GM.info
To je potrebné, pretože vloženie toho, čo každá knižnica potrebuje do svojich vlastných metadát, nestačí. Skript najvyššej úrovne musí poskytnúť potrebné @require a @grant pre všetky svoje závislosti.