Sets a maximum age (minimum one day) for script storage values, after which they are deleted
Tento skript by neměl být instalován přímo. Jedná se o knihovnu, kterou by měly jiné skripty využívat pomocí meta příkazu // @require https://update.greasyfork.org/scripts/562172/1881822/Temporary-Script-Storage.js
Úložiště nastavené a přístupné prostřednictvím instance této třídy bude existovat pouze po dobu, kterou jste nastavili v konstruktoru, přestože musí být alespoň jeden den. Výchozí hodnota je 30 dní. Po uplynutí tohoto času vyprší a bude odstraněno, když se zavolá sweepExpiredEntries(), kterou můžete naplánovat pomocí setInterval().
Tato knihovna nemá vliv na úložiště skriptu nastavené přímo prostřednictvím setValue() GM obvyklým způsobem. Takové úložiště se bude chovat normálně.
Příklad použití:
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 {}
Kromě toho musí každý skript používající tuto knihovnu obsahovat následující metadata:
// @grant GM.getValue
// @grant GM.setValue
// @grant GM.deleteValue
// @grant GM.listValues
// @grant GM.info
To je nezbytné, protože uvedení toho, co každá knihovna potřebuje ve svých vlastních metadatech, není dostatečné. Skript nejvyšší úrovně musí poskytnout nezbytné @requires a @grants pro všechny své závislosti.