Temporary-Script-Storage

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

Ten skrypt nie powinien być instalowany bezpośrednio. Jest to biblioteka dla innych skyptów do włączenia dyrektywą meta // @require https://update.greasyfork.org/scripts/562172/1881822/Temporary-Script-Storage.js

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Greasemonkey lub Violentmonkey.

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

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Violentmonkey.

Aby zainstalować ten skrypt, wymagana będzie instalacja rozszerzenia Tampermonkey lub Userscripts.

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

Aby zainstalować ten skrypt, musisz zainstalować rozszerzenie menedżera skryptów użytkownika.

(Mam już menedżera skryptów użytkownika, pozwól mi to zainstalować!)

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.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Musisz zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

(Mam już menedżera stylów użytkownika, pozwól mi to zainstalować!)

Autor
JasonMel
Wersja
1.0.4
Utworzono
11-01-2026
Zaktualizowano
21-07-2026
Rozmiar
31,2 KB
Licencja
MIT (https://mit-license.org/)

Pamięć masowa ustawiona i dostępna poprzez instancję tej klasy będzie istnieć tylko tak długo, jak długość życia ustawiona w konstruktorze, chociaż musi wynosić co najmniej jeden dzień. Domyślnie wynosi 30 dni. Po tym czasie wygaśnie i zostanie usunięta, gdy zostanie wywołana funkcja sweepExpiredEntries(), którą możesz zaplanować za pomocą setInterval().

Ta biblioteka nie ma wpływu na magazyn skryptów ustawiony bezpośrednio za pomocą setValue() GM w zwykły sposób. Taki magazyn będzie zachowywać się normalnie.

Przykład użycia:

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

Ponadto każdy skrypt korzystający z tej biblioteki musi zawierać następujące metadane:

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

Jest to konieczne, ponieważ umieszczenie tego, czego każda biblioteka potrzebuje we własnych metadanych, nie jest wystarczające. Skrypt najwyższego poziomu musi dostarczyć niezbędne @require i @grant dla wszystkich swoich zależności.