Temporary-Script-Storage

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

Detta skript bör inte installeras direkt. Det är ett bibliotek för andra skript att inkludera med meta-direktivet // @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!)

Upphovsman
JasonMel
Version
1.0.4
Skapad
2026-01-11
Uppdaterad
2026-07-21
Size
31,2 KB
Licens
MIT (https://mit-license.org/)

Lagring som ställs in och nås genom en instans av denna klass kommer bara att existera så länge som livslängden du angav i konstruktorn, även om den måste vara minst en dag. Standardvärdet är 30 dagar. Efter det kommer det att förfalla och raderas när sweepExpiredEntries() anropas, vilket du kan schemalägga med setInterval().

Detta bibliotek har ingen effekt på skriptlagring som ställs in direkt genom GM:s setValue() på det vanliga sättet. Sådan lagring kommer att bete sig normalt.

Exempel på användning:

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

Dessutom måste alla skript som använder detta bibliotek innehålla följande metadata:

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

Detta är nödvändigt eftersom det inte räcker att sätta vad varje bibliotek behöver i sina egna metadata. Skriptet på toppnivå måste tillhandahålla de nödvändiga @require och @grant för alla dess beroenden.