@webeach/collection
v1.1.0
Published
Managed collection of items with hooks, events, and strict type safety
Maintainers
Readme
📦 Установка
npm install @webeach/collectionили
pnpm install @webeach/collectionили
yarn add @webeach/collection📥 Подключение
ES Modules
import { Collection } from '@webeach/collection';CommonJS
const { Collection } = require('@webeach/collection');Browser
<script type="module">
import { Collection } from 'https://unpkg.com/@webeach/collection';
</script>🚀 Быстрый старт
Добавление пользователей
import { Collection } from '@webeach/collection';
const users = new Collection({
primaryKey: 'id',
});
users.appendItem({
id: 1,
firstName: 'Ivan',
lastName: 'Petrov',
});
users.appendItem({
id: 2,
firstName: 'Jason',
lastName: 'Statham',
});
console.log(users.numItems); // 2
console.log(users.getItem(2).firstName); // JasonДобавление элемента и последующая его замена
import { Collection } from '@webeach/collection';
const products = new Collection({
primaryKey: 'sku',
});
products.appendItem({ sku: 'A001', name: 'Laptop' });
products.replaceItem('A001', { sku: 'A001', name: 'Laptop Pro' });
console.log(products.getItem('A001')?.name); // 'Laptop Pro'Массовая замена элементов через setItems
import { Collection } from '@webeach/collection';
const tasks = new Collection({
primaryKey: 'id',
initialItems: [
{ id: 1, title: 'Initial Task 1' },
{ id: 2, title: 'Initial Task 2' },
],
});
// Полностью заменяем содержимое коллекции
tasks.setItems([
{ id: 3, title: 'New Task 3' },
{ id: 4, title: 'New Task 4' },
]);
console.log(tasks.numItems); // 2
console.log(tasks.getItem(3)?.title); // 'New Task 3'🛠 API
Collection
- constructor
- Методы
- Свойства
- Хуки
CollectionUpdateEvent
- constructor
- Наследует API CustomEvent
🔖 Выпуск новой версии
Релизы обрабатываются автоматически с помощью semantic-release.
Перед публикацией новой версии убедись, что:
- Все изменения закоммичены и запушены в ветку
main. - Сообщения коммитов соответствуют формату Conventional Commits:
feat: ...— для новых фичfix: ...— для исправлений баговchore: ...,refactor: ...и другие типы — по необходимости
- Версионирование определяется автоматически на основе типа коммитов (
patch,minor,major).
👨💻 Автор
Разработка и поддержка: Руслан Мартынов
Если у тебя есть предложения или найден баг, открывай issue или отправляй pull request.
📄 Лицензия
Этот пакет распространяется под лицензией MIT.
