Temporary-Script-Storage

Sets a maximum age (minimum one day) for script storage values, after which they are deleted

Dette scriptet burde ikke installeres direkte. Det er et bibliotek for andre script å inkludere med det nye metadirektivet // @require https://update.greasyfork.org/scripts/562172/1881822/Temporary-Script-Storage.js

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Forfatter
JasonMel
Versjon
1.0.4
Lagd
11.01.2026
Oppdatert
21.07.2026
Size
31,2 kB
Lisens
MIT (https://mit-license.org/)

Lagring satt og åpnet gjennom en instans av denne klassen vil bare vare så lenge som levetiden du setter i konstruktøren, selv om den må være minst en dag. Standarden er 30 dager. Etter det vil den utløpe og bli slettet når sweepExpiredEntries() kalles, som du kan planlegge med setInterval().

Dette biblioteket har ingen effekt på skriptlagring satt direkte gjennom GM sin setValue() på den vanlige måten. Slik lagring vil oppføre seg normalt.

Eksempel på bruk:

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 {}

I tillegg må ethvert skript som bruker dette biblioteket inkludere følgende metadata:

// @grant GM.getValue
// @grant GM.setValue
// @grant GM.deleteValue
// @grant GM.listValues
// @grant GM.info

Dette er nødvendig fordi det ikke er nok å legge det som hvert bibliotek trenger i sitt eget metadata. Skriptet på toppnivå må gi de nødvendige @requires og @grants for alle dets avhengigheter.