All Projects â†’ suguru03 â†’ Aigle

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.

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
Rubico
[a]synchronous functional programming
Stars: ✭ 133 (-58.18%)
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

npm CircleCI Status Coverage Status

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.

or prebuilt scripts from here.

This 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

class functions

Control flow

prototype functions

class functions

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].