Sets a maximum age (minimum one day) for script storage values, after which they are deleted
This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greasyfork.org/scripts/562172/1881822/Temporary-Script-Storage.js
Складиште постављено и приступљено кроз инстанцу ове класе ће постојати само док траје животни век који сте поставили у конструктору, иако мора бити барем један дан. Подразумевано је 30 дана. После тога ће истећи и бити обрисано када се позове sweepExpiredEntries(), што можете заказати са setInterval().
Ова библиотека нема никаквог утицаја на складиште скрипта постављено директно кроз GM setValue() на уобичајени начин. Такво складиште ће се понашати нормално.
Пример коришћења:
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 {}
Поред тога, свaki скрипт који користи ову библиотеку мора садржавати следеће метаподатке:
// @grant GM.getValue
// @grant GM.setValue
// @grant GM.deleteValue
// @grant GM.listValues
// @grant GM.info
Ово је неопходно јер постављање онога што свака библиотека требa у своје метаподатке није довољно. Скрипта на вишој нивоу мора обезбедити неопходне @require и @grant за све своје зависности.