mollitia icon indicating copy to clipboard operation
mollitia copied to clipboard

JavaScript Resilience Library

Mollitia

Quality Gate Status Coverage Version Downloads License


Mollitia Icon

Mollitia is a JavaScript Resilience library that works on Node and on browsers. Its purpose is to help organize asynchronous operations under a highly customizable circuit that helps manage error use cases. When everything is falling apart, it stops the classic flow and uses modules to manage failures.

Documentation

Full documentation website can be found here.

Installation

With Node or any web UI Framework

# Install the dependency
npm install mollitia --save
// Javascript
const { Circuit } = require('mollitia');
// ES6 or TypeScript
import { Circuit } from 'mollitia';

With CDN

<!-- CDN -->
<script type="text/javascript" src="https://unpkg.com/mollitia"></script>
<script>
  const { Circuit } = window.Mollitia;
</script>

Usage

// Imports the library
const { Circuit } = require('mollitia');
// Creates a circuit
const myCircuit = new Circuit();
// fn(yourFunction) - execute(yourParams...)
await circuit.fn(yourFunction).execute('dummy');

Features

The point of Mollitia is to get every Resilience pattern into one library. It is very similar to the Resilience4j Java library, but on Node.

  • Works on Node and on browser (even Internet Explorer 11, wow).
  • Implements a wide variety of Resilience patterns.
  • Has Method Agnostic circuits, meaning you don't have to create one circuit per function.
  • Supports addons.

Comparison with other libraries

  • cockatiel
    • Misses the Cache and Ratelimit modules.
    • Cannot create module or addons.
  • opossum
    • Only supports the Circuit Breaker module
    • Cannot have Method Agnostic circuits.
    • Cannot create module or addons.
  • brakes
    • Only supports the Circuit Breaker module
    • Cannot have Method Agnostic circuits.
    • Cannot create module or addons.

License