Programming Style - AutoSponge/dev-notes GitHub Wiki
Behavioral programming
Assert-style
Logic
Async
- underdash array methods equivalent in iterators
- streams with async iteration
- timequeue
- revocable queue
- async-mutex locking mechanism across threads
- cockatiel express policies such as Backoff, Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback. Inspired by .NET Polly
- backoff and retry promises
- awaity
- greenlet move async fn to a worker
- CAF cancellable async functions (AbortController, cancelable, cancellable, abortable, fetch, signal, token)
- async/await lessons
- async-co
- async-throttle
- async-retry
- async-to-gen
- awaiting utilities for async/await pattern
- fasy FP iterator helpers that are async/generator aware
- await vs return await
- for-await-of
- async IIFE for Tasks
Guides
Promises
- promise-limit
- promise-fun collection of promise tools and patterns
Streams
- readable-stream Node-core streams for userland
- JSONStream
- into-stream Convert a string/promise/array/iterable/buffer/typedarray/arraybuffer/object into a stream
- pull-stream minimal streams
- dom-stream stream dom updates
- ynez toolkit for building streaming real-time applications using Node.js and Redis5 Streams
- stringio stream strings
- intro to browser streams ndjson
- flowage Easy transformations and filtering for NodeJS object streams.
- mhysa dep-free stream utilities
- msgpack-streams
- callbag-html
- pocket.io minimalistic replacement for socket.io
- clusterWS Lightweight, fast and powerful framework for building scalable WebSocket applications
- child process streams
- async-stream-generator
- callbag
- nanoiterator iterator with stream helper
- repsonse streaming response lib for server
- most-core
- monograpm streaming mongo api
- syncthrough
- substack/stream handbook
- mississippi stream utility fns
- steed mafintosh utility lib
- node-stream-buffer streams backed by buffers
- Guide to using WHATWG streams
Object-oriented (OOP)
- enum pattern
- endow super/sub classing with mixins
- extending es6 built-ins
Flow-based
Reactive
- augmentor general purpose, React like hooks
- dom-augmentor same but for dom element fns
- sinuous small UI lib based on Surplus observables
- bulb 4k library
- redux-features
- redux-observable rxjs5 + redux
- redux-zero
- most-core
- repatch dispatch reducers (inverted redux)
- dutier similar to redux
- recompose React higher order function utilities
- reactIDE IDE for react
- inferno + ramda
- "redux in rxjs"
- hypercycle hyperx shim for cyclejs
- cycle style guide
- react-most
- redux-observable RxJS + redux
- xstream (rxjs alternative)
- preact (react alternative)
- diffhtml react inspired vdom
- yo-yo (react alternative)
- inferno (react alternative)
- redux-style RxJS
- yolk (framework, rxjs)
- mobx state management
- incremental-dom (google's dom diffing)
- hyperx (es6 templates to hyper script)
- nanomorph (yoshua's diffing lib)
- morphdom (dom diffing)
- remote-csp
- irecord (immutable store with rx observable)
- kefir (reactive lib)
- freezer (data structure)
- flyd (streams, ramda, fantasy-land)
- webrx (ie9+ rxjs framework)
- observable, future, promise
- immutable libs
- seamless-immutable (backward compat immutable)
- most (rxjs alternative)
- ogen observable generators
- ee3 (high-performance eventEmitter)
Object-oriented
- enumify
- es6 symbols
- inversify (ioc container for typescript and vanillaJS)