Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gregros/doddle
https://github.com/gregros/doddle
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/gregros/doddle
- Owner: GregRos
- Created: 2023-09-10T23:38:36.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-08-06T08:59:08.000Z (5 months ago)
- Last Synced: 2024-08-06T10:50:47.707Z (5 months ago)
- Language: TypeScript
- Size: 16.4 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Doddle
[![Doddle workflow status](https://img.shields.io/github/actions/workflow/status/GregRos/doddle/push.yaml?style=for-the-badge)](https://github.com/GregRos/doddle/actions/workflows/push.yaml)
[![Doddle package version](https://img.shields.io/npm/v/doddle?style=for-the-badge)](https://www.npmjs.com/package/doddle)
[![Doddle Coveralls](https://img.shields.io/coverallsCoverage/github/GregRos/doddle?style=for-the-badge)](https://coveralls.io/github/GregRos/doddle?branch=master)
[![Doddle minified size(gzip)]()](https://bundlejs.com/?q=doddle&treeshake=%5B%7Bseq%2Caseq%7D%5D)1. Mixed lazies still aren't great
2. Type orderBy array to force same length
3. Reverse parameterr should instead become orderByDescDoddle is a tiny but incredibly versatile library for working with collections and iterables, inspired by `LINQ`, `lodash`, `rxjs`, and other libraries. It also introduces its own simple yet elegant lazy primitive, which has many of the same qualities as a promise.
Doddle reproduces much of lodash's functionality for working with collections, but it's absolutely tiny. It offers its operators as instance methods because breaking them up into separate files has been shown to increase bundle size through overhead.
However, becuase it operates on iterables rather than on arrays directly, it will most likely be outperformed by other libraries.
Doddle is extensively tested, with over 1000 individual test cases. It also has a suite of [compile-time tests](https://github.com/GregRos/declare-it) that check the logic of its type definitions.
Doddle has been designed to be debuggable. It produces readable stack traces that mirror the code you write, and you can easily jump to, inspect, and place breakpoints in its source code.