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 الضرورية لجميع تبعياته.