New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@marblejs/core

Package Overview
Dependencies
Maintainers
2
Versions
132
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@marblejs/core

Reactive Node APIs made easy

  • 1.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
273
decreased by-40.78%
Maintainers
2
Weekly downloads
 
Created
Source

Marble.js logo

Travis-CI status npm version Codecov coverage Maintained with lerna

Functional reactive HTTP middleware framework built on top of Node.js platform, TypeScript and RxJS library.

Philosophy

If you don't have any experience with functional reactive programming, we strongly recommend to gain some basic overview first with ReactiveX intro or with The introduction to Reactive Programming you've been missing written by @andrestaltz.

If we think closely how typical HTTP API works we can quickly recognize that it deals with streams of asynchronous events also called as HTTP requests. Describing it very briefly - typically each request needs to be transformed into response that goes back to the client (which is our event initiator) using custom middlewares or designated endpoints. In reactive programming world, all those core concepts we can translate into very simple marble diagram:

Marble.js core concept

In this world everything is a stream. The core concept of Marble.js is based on the event flow of marble diagrams which are used to visually express time based behavior of HTTP streams. Ok, but why the heck we need those observables? Trends come and go, but asynchronously nature of JavaScript and Node.js platform constantly evolves. With reactive manner we can deliver complex features faster by providing the ability to compose complex tasks with ease and with less amount of code. If you have ever worked with libraries like Redux Observable, @ngrx/effects or other libraries that leverages functional reactive paradigm, you will feel like at home. Still there? So lets get started!

Documentation

For the latest updates, documentation, change log, and release information visit marblejs.com and follow @marble_js on Twitter.

Examples

To view the example project structure, visit the example repository.

Contributing

We strongly believe that open source is all about the people. Thats why we are looking for brave passionates of RxJS and Node.js who can help us with creating new middlewares for Marble.js. There are many things that you can help us with! We've got a list of middlewares that we would like to see in future releases, but we are open for new cool ideas!

So, how can I contribute to Marble.js middlewares? 🤔

  • Read the CONTRIBUTING guideance first!
  • We use monorepo architecture for entire framework-related packages - each middleware resides in main Marble.js repository
  • For reference code structure just look at example middleware implementation.
  • Each middleware package should follow the naming convention: @marblejs/middleware-{example_name}
  • If you have an idea and would like to contribute, just open an issue and describe the middelware idea that you would like to work on. We'll discuss the internals and proposed features there.
  • Open a Pull Request and... 🚀

Authors

Józef Flakus

contact: hello@jflakus.com

twitter: @jozflakus

Contributors

Sebastian Musial

Patryk Domałeczny

Lúcio Rubens

Krzysztof Miemiec

License

marble.js is MIT licensed

FAQs

Package last updated on 29 Sep 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc