GithubHelp home page GithubHelp logo

isabella232 / mollitia Goto Github PK

View Code? Open in Web Editor NEW

This project forked from genesys/mollitia

0.0 0.0 0.0 5.69 MB

JavaScript Resilience Library

Home Page: https://genesys.github.io/mollitia/

License: MIT License

JavaScript 3.83% TypeScript 95.19% Handlebars 0.97%

mollitia's Introduction

Mollitia

Quality Gate Status Coverage Version Downloads License


Mollitia Icon

Mollitia is a JavaScript Resilience library that works on Node and on browsers. The purpose of such kind of tool is to help organize asynchronous operations under a highly customizable circuit that helps managing 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 patterns into one library. It is very similar at what does Resilience4j on Java, 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 support the Circuit Breaker module
    • Cannot have Method Agnostic circuits.
    • Cannot create module or addons.
  • brakes
    • Only support the Circuit Breaker module
    • Cannot have Method Agnostic circuits.
    • Cannot create module or addons.

License

mollitia's People

Contributors

tichon29 avatar cadgerfeast avatar actions-user avatar nicob-29 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.