flow-js - Javascript Library for Multi-step Asynchronous Logic

  •        60

Flow-JS provides a continuation-esque construct that makes it much easier to express multi-step asynchronous logic in non-blocking callback-heavy environments like Node.js or javascript in the web browser. The concept is best explained with an example. The following code uses a simple asynchronous key-store to look-up a user's ID from his username and then sets his email address, first name, and last name.

https://github.com/willconant/flow-js

Tags
Implementation
License
Platform

   




Related Projects

underscore - JavaScript's utility _ belt

  •    Javascript

JavaScript's functional programming helper library.

ClientServerProject - 一个C-S模版,该模版由三部分的程序组成,一个服务端运行的程序,一个客户端运行的程序,还有一个公共的组件,实现了基础的账户管理功能,版本控制,软件升级,公告管理,消息群发,共享文件上传下载,批量文件传送功能。具体的操作方法见演示就行。本项目的一个目标是:提供一个基础的中小型系统的C-S框架,客户端有三种模式,无缝集成访问,winform版本,wpf版本,asp

  •    CSharp

A CS development framework based on small-to-medium sized refining, covering computer-side, web-side, and mobile-side full-platform system templates, will include some commonly used repetitive function codes, such as network communication mechanisms, in most one-to-many system designs. Client version control, account control management, password modification, announcement management, server configuration, various common windows, etc., and most small and medium-sized systems just need simple rights management.  This framework contains four client-side modes, the first commonly used winform client, the second is the wpf client, the third is the asp.net mvc mode, and the fourth is the client of the Android platform. You can choose a mode on winform and wpf clients, then your system provides some functions (such as report viewing) to asp.net, and then provide an Android app for mobile phone use, if the server is assumed in the cloud, all People can interact with anytime, anywhere, data flow, all account models are unified, the browser is also convenient for some people who only need to view the report users do not need to deploy the client. Of course, the client can provide more powerful features.

oauth - A library for performing OAuth Device flow and Web application flow in Go client apps.

  •    Go

A library for Go client applications that need to perform OAuth authorization against a server, typically GitHub.com. Traditionally, OAuth for web applications involves redirecting to a URI after the user authorizes an app. While web apps (and some native client apps) can receive a browser redirect, client apps such as CLI applications do not have such an option.

browsh - A fully-modern text-based browser, rendering to TTY and browsers

  •    Javascript

Not all the world has good Internet. If you only have a 3kbps internet connection tethered from a phone, then it's good to SSH into a server and browse the web through, say, elinks. That way the server downloads the web pages and uses the limited bandwidth of an SSH connection to display the result. However, traditional text-based browsers lack JS and all other modern HTML5 support. Browsh is different in that it's backed by a real browser, namely headless Firefox, to create a purely text-based version of web pages and web apps. These can be easily rendered in a terminal or indeed, ironically, in another browser. Do note that currently the browser client doesn't have feature parity with the terminal client.

Elm - Functional Reactive Programming Language compiles to Javascript

  •    Javascript

Elm is a functional reactive programming (FRP) language that compiles to HTML, CSS, and JS. FRP is a concise and elegant way to create highly interactive applications and avoid callbacks. It aims to make web development more pleasant. Functional Reactive Programming (FRP) is a high-level way to work with interactions. It provides control flow structures for time.


transducers

  •    Javascript

A small library for generalized transformation of data. This provides a bunch of transformation functions that can be applied to any data structure. It is a direct port of Clojure's transducers in JavaScript. Read more in this post. The algorithm behind this, explained in the above post, not only allows for it to work with any data structure (arrays, objects, iterators, immutable data structures, you name it) but it also provides better performance than other alternatives such as underscore or lodash. This is because there are no intermediate collections. See this post for benchmarks.

webcoin - :globe_with_meridians::moneybag: SPV Bitcoin client for Node.js and the browser

  •    Javascript

Webcoin is a Bitcoin client that works in Node.js and the browser. In the browser, it uses WebRTC to make P2P connections rather than relying on a centralized server to get data (like all the other JS Bitcoin libraries). It's kind of like the Bitcoin equivalent of WebTorrent.I am currently making some major refactors to the codebase, and documenting all of it. Much of the code in this repo is being broken out into smaller modules, each with comprehensive tests and docs.

matrix-js-sdk - Matrix Client-Server SDK for JavaScript

  •    Javascript

This is the Matrix Client-Server v1/v2 alpha SDK for JavaScript. This SDK can be run in a browser or in Node.js. Download either the full or minified version from https://github.com/matrix-org/matrix-js-sdk/releases/latest and add that as a <script> to your page. There will be a global variable matrixcs attached to window through which you can access the SDK. See below for how to include libolm to enable end-to-end-encryption.

wayfarer - :eyeglasses: composable trie based router

  •    Javascript

Composable trie based router. It's faster than traditional, linear, regular expression-matching routers, although insignficantly, and scales with the number of routes. If you're looking for a client-side router check out sheet-router. If you're looking for a server router check out server-router.

mixpanel-node - A node.js API for mixpanel

  •    Javascript

This library provides many of the features in the official JavaScript mixpanel library. It is easy to use, and fully async. It is intended to be used on the server (it is not a client module). The in-browser client library is available at https://github.com/mixpanel/mixpanel-js. mixpanel-node is a server-side library, optimized for stateless shared usage; e.g., in a web application, the same mixpanel instance is used across requests for all users. Rather than setting a distinct_id through identify() calls like Mixpanel client-side libraries (where a single Mixpanel instance is tied to a single user), this library requires you to pass the distinct_id with every tracking call. See https://github.com/mixpanel/mixpanel-node/issues/13.

tobi - Tobi: Expressive server-side functional testing with jQuery

  •    Javascript

Expressive server-side functional testing with jQuery and jsdom. Tobi allows you to test your web application as if it were a browser. Interactions with your app are performed via jsdom, htmlparser, and jQuery, in combination with Tobi's Cookie Jar, provides a natural JavaScript API for traversing, manipulating and asserting the DOM, and session based browsing.

VIE - Semantic Interaction Framework for JavaScript

  •    Javascript

VIE is a utility library for implementing decoupled Content Management systems. VIE is developed as part of the EU-funded IKS project.VIE development is now targeting a 2.0 release. Read this blog post to find out the changes from VIE 1.0. There is also a good introductory post on VIE on the IKS blog.

bionode - Modular and universal bioinformatics

  •    Javascript

To use bionode as a command line tool, you can install it globally with -g. Or, if you want to use it as a JavaScript library, you need to install it in your local project folder inside the node_modules directory by doing the same command without -g.

MobX - Simple, scalable state management.

  •    Javascript

MobX is a battle tested, simple and scalable state management library transparently applying functional reactive programming (TFRP). The Mobx design principle is very simple: Anything that can be derived from the application state, should be derived. Automatically. This includes the UI, data serialization, server communication, etc.

js-stellar-sdk - Main Stellar client library for the Javascript language

  •    Javascript

js-stellar-sdk is a Javascript library for communicating with a Stellar Horizon server. It is used for building Stellar apps either on Node.js or in the browser. Warning! Node version of stellar-base (stellar-sdk dependency) package is using ed25519 package, a native implementation of Ed25519 in Node.js, as an optional dependency. This means that if for any reason installation of this package fails, stellar-base (and stellar-sdk) will fallback to the much slower implementation contained in tweetnacl.

async - Async utilities for node and the browser

  •    Javascript

Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript. Although originally designed for use with Node.js and installable via npm i async, it can also be used directly in the browser.

js-cookie - A simple, lightweight JavaScript API for handling browser cookies

  •    Javascript

If you're viewing this at https://github.com/js-cookie/js-cookie, you're reading the documentation for the master branch. View documentation for the latest release. Do not include the script directly from GitHub (http://raw.github.com/...). The file is being served as text/plain and as such being blocked in Internet Explorer on Windows 7 for instance (because of the wrong MIME type). Bottom line: GitHub is not a CDN.

logdown.js - :pencil2: Debug utility with markdown support that runs on browser and server

  •    Javascript

logdown is a debug utility for the browser and the server with Markdown support, providing a single interface and a similar behavior between the browser and the server. It doesn't have any dependencies for the browser version and it's only 2K gzipped.

universal-router - A simple middleware-style router for isomorphic JavaScript web apps

  •    Javascript

A simple middleware-style router that can be used in both client-side (e.g. React, Vue.js) and server-side applications (e.g. Node.js/Express, Koa).Play with an example on JSFiddle, CodePen, JS Bin in your browser or try RunKit node.js playground.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.