Sets a maximum age (minimum one day) for script storage values, after which they are deleted
אין להתקין סקריפט זה ישירות. זוהי ספריה עבור סקריפטים אחרים // @require https://update.greasyfork.org/scripts/562172/1881822/Temporary-Script-Storage.js
אחסון שנוצר והנגיש דרך מופע של מחלקה זו יחיה רק כל עוד תוקף החיים שהגדרת בבנאי, אם כי חייב להיות לפחות יום אחד. ברירת המחדל היא 30 ימים. לאחר זמן זה, הוא יפוג ויימחק כאשר sweepExpiredEntries() נקרא, שאתה יכול לתזמן עם setInterval().
לספרייה זו אין השפעה על אחסון סקריפט שנוצר ישירות דרך setValue() של GM בדרך הרגילה. אחסון כזה יתנהג בדרך כלל.
דוגמה לשימוש:
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 {}
בנוסף, כל סקריפט המשתמש בספרייה זו חייב לכלול את המטא-דאטה הבא:
// @grant GM.getValue
// @grant GM.setValue
// @grant GM.deleteValue
// @grant GM.listValues
// @grant GM.info
זה הכרחי מכיוון שהצבת מה שכל ספרייה צריכה במטא-דאטה שלה אינה מספיקה. הסקריפט ברמה העליונה חייב לספק את ה-@requires וה-@grants הנדרשים לכל התלויות שלו.