suguru03 / Aigle
Licence: mit
🦅 Aigle is an ideal promise library which is faster and more efficient than other libraries. It is a production-ready library that implements the Promise A+ standard.
Stars: ✠318
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Aigle
Async Busboy
Promise based multipart form parser for KoaJS
Stars: ✠159 (-50%)
Mutual labels: async, promise
Ppipe
pipes values through functions, an alternative to using the proposed pipe operator ( |> ) for ES
Stars: ✠192 (-39.62%)
Mutual labels: async, promise
Metasync
Asynchronous Programming Library for JavaScript & Node.js
Stars: ✠164 (-48.43%)
Mutual labels: async, promise
Functional Promises
Write code like a story w/ a powerful Fluent (function chaining) API
Stars: ✠141 (-55.66%)
Mutual labels: async, promise
Await Of
await wrapper for easier errors handling without try-catch
Stars: ✠240 (-24.53%)
Mutual labels: async, promise
Unityfx.async
Asynchronous operations (promises) for Unity3d.
Stars: ✠143 (-55.03%)
Mutual labels: async, promise
Fluture
🦋 Fantasy Land compliant (monadic) alternative to Promises
Stars: ✠2,249 (+607.23%)
Mutual labels: async, promise
Tas
Make it easy to develop large, complex Node.js app.
Stars: ✠128 (-59.75%)
Mutual labels: async, promise
React Organism
Dead simple React state management to bring pure components alive
Stars: ✠219 (-31.13%)
Mutual labels: async, promise
Tickedoff
Tiny library (<200B gzip) for deferring something by a "tick"
Stars: ✠213 (-33.02%)
Mutual labels: async, promise
Sieppari
Small, fast, and complete interceptor library for Clojure/Script
Stars: ✠133 (-58.18%)
Mutual labels: async, promise
Creed
Sophisticated and functionally-minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land
Stars: ✠265 (-16.67%)
Mutual labels: async, promise
Tascalate Concurrent
Implementation of blocking (IO-Bound) cancellable java.util.concurrent.CompletionStage and related extensions to java.util.concurrent.ExecutorService-s
Stars: ✠144 (-54.72%)
Mutual labels: async, promise
Kitchen Async
A Promise library for ClojureScript, or a poor man's core.async
Stars: ✠128 (-59.75%)
Mutual labels: async, promise
Kitsu
🦊 A simple, lightweight & framework agnostic JSON:API client
Stars: ✠166 (-47.8%)
Mutual labels: async, promise
Jdeferred
Java Deferred/Promise library similar to JQuery.
Stars: ✠1,483 (+366.35%)
Mutual labels: async, promise
Bach
Compose your async functions with elegance.
Stars: ✠117 (-63.21%)
Mutual labels: async, promise
Trilogy
TypeScript SQLite layer with support for both native C++ & pure JavaScript drivers.
Stars: ✠195 (-38.68%)
Mutual labels: async, promise
Task Easy
A simple, customizable, and lightweight priority queue for promises.
Stars: ✠244 (-23.27%)
Mutual labels: async, promise
Aigle is an ideal promise library which is faster and more efficient than other libraries. On top of being an impressive benchmark exercise, it is a production-ready library that implements the Promise A+ standard.
Also it has a lot of async style functions, you can start using Promise
easily.
Usage
Node.js
npm install --save aigle
const Aigle = require('aigle');
const each = require('aigle/each');
TypeScript
import Aigle from 'aigle';
import { Aigle } from 'aigle';
Async/Await
global.Promise = Aigle;
async function getUsers(ids) {
const users = await Promise.map(ids, getUser);
const targets = await Promise.filter(users, filterUser);
return targets;
}
async function getUsers(ids) {
return await Promise.map(ids, getUser).filter(filterUser);
}
Convert synchronous functions to asynchronous functions
Aigle.mixin(require('lodash'));
return Aigle.map([1.1, 1.4, 2.2], (n) => Aigle.delay(10, n * 2)) // [2.2, 2.8, 4.4]
.uniqBy((n) => Aigle.delay(10, Math.floor(n))) // [2.2, 4.4]
.sum() // 6.6
.times() // [0, 1, 2, 3, 4, 5];
.then((value) => console.log(value)); // [0, 1, 2, 3, 4, 5];
browser
Recommend to use webpack, browserify, Rollup or any bundling tool.
here.
or prebuilt scripts fromThis will expose to global as window.Promise
.
<script src="dist/aigle.min.js"></script>
window.Promise;
Functions
Core
prototype functions
class functions
Collections
prototype functions
concat
concatSeries
concatLimit
each
eachSeries
eachLimit
every
everySeries
everyLimit
filter
filterSeries
filterLimit
find
findSeries
findLimit
findIndex
findIndexSeries
findIndexLimit
findKey
findKeySeries
findKeyLimit
-
forEach
->each
-
forEachSeries
->eachSeries
-
forEachLimit
->eachLimit
groupBy
groupBySeries
groupByLimit
map
mapSeries
mapLimit
mapValues
mapValuesSeries
mapValuesLimit
omit
-
omitSeries
->omitBySeries
-
omitLimit
->omitByLimit
omitBy
omitBySeries
omitByLimit
pick
-
pickSeries
->pickBySeries
-
pickLimit
->pickByLimit
pickBy
pickBySeries
pickByLimit
reduce
reduceSeries
reduceLimit
reject
rejectSeries
rejectLimit
some
someSeries
someLimit
sortBy
sortBySeries
sortByLimit
transform
transformSeries
transformLimit
class functions
Promise.concat
Promise.concatSeries
Promise.concatLimit
Promise.each
Promise.eachSeries
Promise.eachLimit
Promise.every
Promise.everySeries
Promise.everyLimit
Promise.filter
Promise.filterSeries
Promise.filterLimit
Promise.find
Promise.findSeries
Promise.findLimit
Promise.findIndex
Promise.findIndexSeries
Promise.findIndexLimit
Promise.findKey
Promise.findKeySeries
Promise.findKeyLimit
-
Promise.forEach
->Promise.each
-
Promise.forEachSeries
->Promise.eachSeries
-
Promise.forEachLimit
->Promise.eachLimit
Promise.groupBy
Promise.groupBySeries
Promise.groupByLimit
Promise.map
Promise.mapSeries
Promise.mapLimit
Promise.mapValues
Promise.mapValuesSeries
Promise.mapValuesLimit
Promise.omit
-
Promise.omitSeries
->Promise.omitBySeries
-
Promise.omitLimit
->Promise.omitByLimit
Promise.omitBy
Promise.omitBySeries
Promise.omitByLimit
Promise.pick
-
Promise.pickSeries
->Promise.pickBySeries
-
Promise.pickLimit
->Promise.pickByLimit
Promise.pickBy
Promise.pickBySeries
Promise.pickByLimit
Promise.reduce
Promise.reduceSeries
Promise.reduceLimit
Promise.reject
Promise.rejectSeries
Promise.rejectLimit
Promise.some
Promise.someSeries
Promise.someLimit
Promise.sortBy
Promise.sortBySeries
Promise.sortByLimit
Promise.transform
Promise.transformSeries
Promise.transformLimit
Control flow
prototype functions
class functions
Promise.all
Promise.doUntil
Promise.doWhilst
Promise.parallel
Promise.props
Promise.race
Promise.retry
Promise.times
Promise.timesSeries
Promise.timesLimit
Promise.until
Promise.whilst
Utils
prototype functions
class functions
Debug
class functions
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].