Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kobezzza/Collection
Minimalistic JavaScript library for working with collections of data.
https://github.com/kobezzza/Collection
Last synced: 16 days ago
JSON representation
Minimalistic JavaScript library for working with collections of data.
- Host: GitHub
- URL: https://github.com/kobezzza/Collection
- Owner: kobezzza
- License: mit
- Created: 2016-07-08T22:59:44.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-03-20T21:19:56.000Z (over 1 year ago)
- Last Synced: 2024-10-14T00:51:36.429Z (about 1 month ago)
- Language: JavaScript
- Homepage:
- Size: 4.04 MB
- Stars: 9
- Watchers: 5
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Collection
==========Collection — minimalistic JavaScript library for working with collections of data.
[![NPM version](http://img.shields.io/npm/v/collection.js.svg?style=flat)](http://badge.fury.io/js/collection.js)
[![NPM download](https://img.shields.io/npm/dm/collection.js.svg?style=flat)](http://badge.fury.io/js/collection.js)[![Build Status](https://github.com/kobezzza/Collection/workflows/build/badge.svg?branch=master)](https://github.com/kobezzza/Collection/actions?query=workflow%3Abuild)
[![Coverage Status](http://img.shields.io/coveralls/kobezzza/Collection.svg?style=flat)](https://coveralls.io/r/kobezzza/Collection?branch=master)[Demo (threads)](http://jsfiddle.net/kobezzza/hut2jhL9/)
[Documentation](https://github.com/kobezzza/Collection/wiki)
## Features
* Universal interface for multiple data types: arrays, typed arrays, tables, Map, Set, generators and @@iterator protocol;
* The rich set of iterators;
* Built-in self JIT compilation of requests provides a very high speed of execution, which is comparable to the native cycles JavaScript;
* Support lightweight threads based on generators;
* Work in browsers, as well as on the server ([node.js](http://nodejs.org));
* The engine is written in pure JavaScript and does not have any dependencies;
* The source code is designed to work with Google Closure Compiler in advanced mode;
* The modular architecture allows to build your library;
* Good code coverage;
* Detailed [documentation](https://github.com/kobezzza/Collection/wiki) with examples.### Usage
```js
// Iterate over the elements in reverse order starting with the 5th
$C(document.querySelectorAll('.foo')).forEach((el) => {
...
}, {
reverse: true,
startIndex: 5
});// Return an array of all the even elements of the original array
$C([1, 2, 3, 4]).get((el) => el % 2 === 0);// Create a new object based on the source,
// {a: 2, b: 4}
$C({a: 4, b: 16}).map(Math.sqrt);// Iterate very large object in the lightweight thread
await $C(new Array(1e8)).thread().forEach(() => {
...
});
```## [License](https://github.com/kobezzza/Collection/blob/master/LICENSE)
The MIT License.