السلام عليكم ورحمة الله وبركاته

تجد المكتبة على الرابط التالي:

https://github.com/ahmedsaoud31/jsCache

سبق أن طرحت مكتبة مماثلة ولكنها للغة الخادم PHP على الرابط التالي:

https://io.hsoub.com/go/18503

وبنفس طريقة العمل تم إنشاء مكتبة للغة javaScript وهى أحد الأساليب التي تجعل الكود أكثر قراءة وفهم وقابل للتطوير، يمكن إعتبارها تطبيق عملي لبعض ما تم سرده بشكل نظري عن تحسين كتابة الأكواد التي تم الحديث عنها في الموضوع التالي:

https://io.hsoub.com/go/18103

طريقة الإستخدام

قم بتضمين الفئة
<script src="Cache/Cache.js"></script>
لحفظ البيانات إستخدم الدالة set الوسيط الأول عبارة عن الاسم والوسيط الثاني هو للقيمة والثالث إختياري للوقت
Cache.set('age', 35);

Cache.set('data', {'id':100, 'name':'ahmed','email':'ahmedsaoud31@gmail.com'});
لجلب البيانات المحفوظة مسبقاً إستخدم الدالة get
age = Cache.get('age');

data = Cache.get('data');
لجلب بيانات محددة في سطر وحيد مرر اسماء المتغيرات كمصفوفة لنفس الدالة كالتالي
var data = Cache.get(['age','data']);
alert(data.age);
alert(data.data.name);
لجلب جميع البيانات المخزنة يمكنك استخدام نفس الدالة السابقة بدون أي وسائط
var data = Cache.get();
alert(data.age);
alert(data.data.name);
لحفظ البيانات لوقت محدد يمكنك إستخدام الدالة set مع وضع الزمن المراد حذف البيانات بعده كوسيط ثالث للدالة بالدقائق
المثال التالي لحفظ البيانات لمدة يوم واحد
Cache.set('age', 100, 24*60);

data = {'id':100, 'name':'ahmed','email':'ahmedsaoud31@gmail.com'};

Cache.set('data', data, 24*60);
يمكنك تخزين بيانات مختلفة كـ سلاسل نصية، مصفوفات، قيم منطقية، أرقام وكائنات
var obj = {};

obj.id = 200;

obj.name = 'Ahmed';

obj.email = 'ahmedsaoud31@gmail.com';

Cache.set('obj', obj);

Cache.set('sign', true);

Cache.set('num', 2015);

Cache.set('arr', [1,2,3,4]);

Cache.set('str', 'ahmed');
لحفظ البيانات للأبد، إترك الوسيط الثالث الخاص بالوقت للدالة set فارغاً
Cache.set('name', 'ahmed');
لحذف قيمة مخزنة إستخدم الدالة delete
Cache.delete('data');
لحذف مجموعة قيم دفعة واحدة قم بتمرير اسماء القيم داخل مصفوفة كوسيط لنفس الدالة delete
Cache.delete(['data','age','obj']);
إذا أردت حذف جميع البيانات المخزنة يمكنك إستخدام نفس الدالة delete بدون أي وسائط
Cache.delete();
إذا أردت التحقق من وجود قيمة مخزنة مسبقاً أم لا إستخدم الدالة has
if(Cache.has('age'))
    alert(Cache.get('age'));
للتحقق من أن المتصفح يدعم التخزين المحلي استخدم الدالة support
if(Cache.support())
    alert('متصفحك يدعم التخزين المحلي');

تخزين سعيد ツ