Temporary-Script-Storage

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

Dette script bør ikke installeres direkte. Det er et bibliotek, som andre scripts kan inkludere med 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!)

Skaber
JasonMel
Version
1.0.4
Oprettet
11.01.2026
Opdateret
21.07.2026
Size
31,2 kB
Licens
MIT (https://mit-license.org/)

Lagerplads sat og tilgået gennem en instans af denne klasse vil kun eksistere så længe den levetid, du angiver i konstruktøren, selvom den skal være mindst en dag. Standarden er 30 dage. Herefter udløber den og slettes, når sweepExpiredEntries() kaldes, hvilket du kan planlægge med setInterval().

Dette bibliotek har ingen virkning på scriptlagerplads sat direkte gennem setValue() på GM på den sædvanlige måde. Sådan lagerplads vil opføre sig normalt.

Eksempel på brug:

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

Desuden skal ethvert script, der bruger dette bibliotek, indeholde følgende metadata:

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

Dette er nødvendigt, fordi det at placere det, som hvert bibliotek har brug for i dets eget metadata, ikke er nok. Det øverste scriptniveau skal levere de nødvendige @requires og @grants til alle dets afhængigheder.