Skip to content

telegramsjs/collection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@telegram.ts/collection

NPM Version NPM Downloads License

A powerful Map-based data structure with additional utility methods. This library extends JavaScript's native Map with methods inspired by Arrays, making it perfect for managing collections of data with unique identifiers.

Features

  • 🚀 Extends Native Map - Full compatibility with JavaScript's Map API
  • 📦 Rich Utility Methods - 50+ methods for working with collections
  • 🎯 Type-Safe - Written in TypeScript with full type inference
  • Performance Optimized - Caching and efficient iteration patterns
  • 🔗 Chainable API - Fluent interface for method chaining
  • 🛠️ Array-like Methods - Familiar methods like filter, map, reduce, and more

Installation

npm install @telegram.ts/collection
yarn add @telegram.ts/collection
pnpm add @telegram.ts/collection

Quick Start

import { Collection } from "@telegram.ts/collection";

// Create a collection
const users = new Collection<string, User>();

// Add items
users.set("123", { id: "123", name: "Alice", age: 25 });
users.set("456", { id: "456", name: "Bob", age: 30 });

// Use utility methods
const adults = users.filter((user) => user.age >= 18);
const names = users.map((user) => user.name);
const oldest = users.reduce((prev, curr) =>
  curr.age > prev.age ? curr : prev,
);

// Chain operations
users
  .filter((user) => user.age > 20)
  .each((user) => console.log(user.name))
  .map((user) => user.age);

Credits

This library is inspired by @discordjs/collection and adapted for telegram.ts use cases.

LICENSE

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please create a GitHub issue or submit a pull request. Additionally, feel free to reach out to me on Telegram via my username @SempaiJS or on Discord using my username sempaika_chess.

About

Utility data structure used in telegramsjs

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •