LS (Local Storage)

Bu kütüphane, tarayıcının localStorage özelliğini daha akıllı ve güvenli bir şekilde kullanmanızı sağlar. Standart localStorage yalnızca düz metin (string) saklayabilirken, bu kütüphane nesne (object), dizi (array), sayı ve boolean gibi veri tiplerini otomatik olarak dönüştürerek kaydeder ve okur.

Този скрипт не може да бъде инсталиран директно. Това е библиотека за други скриптове и може да бъде използвана с мета-директива // @require https://update.greasyfork.org/scripts/591381/1902888/LS%20%28Local%20Storage%29.js

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

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

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name        LS (Local Storage)
// @namespace   http://tampermonkey.net/
// @version     1
// @description Bu kütüphane, tarayıcının localStorage özelliğini daha akıllı ve güvenli bir şekilde kullanmanızı sağlar. Standart localStorage yalnızca düz metin (string) saklayabilirken, bu kütüphane nesne (object), dizi (array), sayı ve boolean gibi veri tiplerini otomatik olarak dönüştürerek kaydeder ve okur.
// @author      Atilla
// @license     MIT
// ==/UserScript==
(function (root, factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD (RequireJS vb.)
    define([], factory);
  } else if (typeof module === 'object' && module.exports) {
    // CommonJS (Node.js, Webpack, require)
    module.exports = factory();
  } else {
    // Tarayıcı Doğrudan Kullanım (<script src="...">)
    // Pencere (window) nesnesine "LS" adıyla ekler
    root.LS = factory();
  }
}(typeof self !== 'undefined' ? self : this, function () {
  
  // Kütüphane mantığı burada başlar
  return {
    /**
     * Veriyi JSON formatına çevirerek kaydeder.
     * @param {string} key 
     * @param {any} value 
     */
    set: function (key, value) {
      localStorage.setItem(key, JSON.stringify(value));
    },

    /**
     * Veriyi okur ve otomatik olarak orijinal tipine çözümler.
     * @param {string} key 
     * @returns {any}
     */
    get: function (key) {
      var value = localStorage.getItem(key);
      if (value === null) return null; // Veri yoksa direkt null dön
      
      try {
        return JSON.parse(value);
      } catch (e) {
        return value; // Veri düz metin ise direkt döndür
      }
    },

    /**
     * Belirtilen anahtardaki veriyi siler.
     * @param {string} key 
     */
    remove: function (key) {
      localStorage.removeItem(key);
    },

    /**
     * Tüm depolama alanını temizler.
     */
    clear: function () {
      localStorage.clear();
    }
  };

}));