1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jaywcjlove-store.js

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 9.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 16.03.2025 22:29 4639886

JavaScript localStorage

Скачивания Построение и тестирование storejs Статус покрытия README-zh.md

Простой, легковесный JavaScript API для работы с браузером localStorage, который легко освоить и использовать, имеет разумный размер 2.08кБ (сжатый: 0.97кБ) и не зависит от других библиотек. Он не должен мешать работе любых JavaScript библиотек или фреймворков.

Старая версия v1 документация предварительный просмотр.

Особенности:

🚀 Без зависимостей
🌱 Работает во всех браузерах
🔥 Тщательно протестировано
📦 Поддерживает AMD/CommonJS
💥 store.min.js 2.08кБ (сжатый: 0.97кБ)

Пример использования

Установлен через npm. Вам потребуется установленный Node.js.

$ npm install storejs --save
import store from 'storejs';

store('test', 'tank', 1);

Или скачайте вручную и подключите storejs в ваш HTML. Это также можно скачать через UNPKG или jsDelivr CDN:

CDN: UNPKG | jsDelivr | Githack | Statically | bundle.run```html

<script src="https://unpkg.com/cookiejs/dist/cookie.min.js"></script> <script type="text/javascript"> store('test', 'tank'); </script>

## Основной пример использования```js
store(ключ, данные);                 // Хранение одной строки данных
store({ключ: данные, ключ2: данные2}); // Хранение нескольких строковых данных
store(ключ);               // Получение строковых данных по ключу
store('?ключ');            // Определение существования ключа
store();                   // Получение всех ключ/данные
//store(false);🔫       // (Устарело) потому что легко очистить хранилище из-за значения null или ошибки
//store(ключ, false); 🔫 // (Устарело)
``````markdown
store.set(ключ, данные[, перезапись]);    // === store(ключ, данные);
store.set({ключ: данные, ключ2: данные2}); // === store({ключ: данные, ключ2: данные});
store.get(ключ[, альт]);                // === store(ключ);
store.get('?ключ');                     // Определение наличия ключа `ключ`
store.get('ключ1', 'ключ2', 'ключ3');    // Получение данных для `ключ1`, `ключ2`, `ключ3`
store.remove(ключ);                     // === store(ключ, false)
store.clear();                          // Очистка всех ключей/данных
store.keys();                           // Возвращает массив всех ключей
store.forEach(коллбэк);                // Циклический проход, возврат false завершает проход
store.search(строка);                  // Метод поиска

store.has(ключ); // ⇒ Определение наличия ключа, возвращает true/false

// ⇒ Предоставление метода коллбэка для обработки данных
store('тест', (ключ, значение) => {
  console.log(значение) // Обработка полученных данных через тест здесь
  return [3, 4, 5] // Возвращение данных и установка в хранилище
})
``````md
## API

### set

Хранение или удаление отдельной строки данных `store.set(ключ, данные[, перезапись]);`. Эквивалентный эффект `store(ключ, данные);`.

```js
store.set('wcj', '1');   // ⇒  1
store.set('wcj');        // ⇒  Удаление `wcj` и связанной строки данных

get

Получение строковых данных по ключу store.get(ключ[, альт]);. Эквивалентный эффект store(ключ).

store.get('wcj1'); // Получение строковых данных для `wcj1`
store('wcj1');     // Эквивалентная функциональность как выше

setAll

Массовое хранение множества строковых данных store.setAll(данные[, перезапись]);. Эквивалентный эффект store({ключ: данные, ключ2: данные});.

store.setAll({
  "wcj1": 123,
  "wcj2": 345
}); // Хранение двух строковых данных

store.setAll(["w1", "w2", "w3"]);
// Хранение трёх строковых данных
//  0 ⇒ "w1"
//  1 ⇒ "w2"
//  2 ⇒ "w3"

clear

Очистка всех ключей/данных. store.clear();

⚠️ Устарел store(false); из-за возможности случайного удаления данных при передаче пустого значения или возникновении ошибки

store.clear();

keys

Возвращает массив всех ключей. store.keys();.

store.keys(); // Возвращает массив всех ключей

Проверяет наличие ключа, возвращает true/false `store.has(key)`.

```js
store.has('w1'); // ⇒ true

удаление ключа

Удаляет данные ключа вместе с самим ключом store.remove(key).

store.remove('w1');  // Удаляет w1 и возвращает его значение
store('w1', false);  // Также удаляет w1

циклический проход

Циклический проход, возвращает false, чтобы завершить проход.

store.forEach((k, d) => {
  console.log(k, d);
  if (k === 3) return false;
});

Событие хранения

Ответ на изменения хранилища с помощью события StorageEvent.

if (window.addEventListener) {
  window.addEventListener('storage', handleStorage, false);
} else if (window.attachEvent) {
  window.attachEvent('onstorage', handleStorage);
}
function handleStorage(e) {
  if (!e) { e = window.event; }
  // showStorage();
}
Свойство Тип Описание
key String Название ключа, который был добавлен, удален или изменен
oldValue Any Предыдущее значение (теперь перезаписано), или null если был добавлен новый элемент
newValue Any Новое значение, или null если был добавлен элемент
url/uri String Страница, которая вызвала метод, который спровоцировал это изменение

Последовательный вызов

store.set('ad', OnClickListener()).get('ad');

TODO

  • store.get([key, key2]) Метод получения, возвращает JSON

  • store([key, key2]) Метод получения, возвращает JSON

  • onStorage Тестовые случаи и реализация метода## Связанные проекты

  • cookiejs 🍪 Простой, лёгковесный JavaScript API для работы с браузерными cookie, легко учиться и использовать, имеет разумный размер (~2kB, сжатый: 0,95kB) и не зависит от других библиотек или фреймворков.

Лицензия

Разрешено на условиях лицензии MIT.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/jaywcjlove-store.js.git
git@api.gitlife.ru:oschina-mirror/jaywcjlove-store.js.git
oschina-mirror
jaywcjlove-store.js
jaywcjlove-store.js
master