1.0.41 • Published 5 years ago

superon v1.0.41

Weekly downloads
5
License
ISC
Repository
gitlab
Last release
5 years ago

SUPERON is a tiny functional bus (nodejs+browser) which separates mechanisms vs policy:

  • fast: BAM!
  • tiny: only 917 bytes (gzipped)
  • simple: your functions are the events, byebye emit('some-event')
  • business rule engine: add your own expression language and save/load rules from db

pied piper

bizniz rools!

custom errors

on(app)
app.on.error = (e) => console.error(e)

extendable modules

let mod = require('module_somebody_made')

on(mod) mod.export.on( (o) => { // bugfix: export() should always return object to prevent // further crashes along the pipeline if( !o ) return {error:"empty object"} })

// 0 pullrequests made
// 0 bothered maintainers

immutable when needed

app.foo.fork = (i) => i 
app.foo.on( (i) => app.foo.fork( i.clone() ) )

easy housekeeping

var hook = app.foo.on( (i) => i.x+=1 )
hook.remove() // remove one
on.remove()   // remove all BAM!

immersive-cli-driven development with SUPERON

  • SUPERON is service-agnostic: turn on/off multi-services (http/mqtt/irc/etc) using superon
  • end-user friendly: pass enduser-expression languages like filtrex or json-logic-js to .when()
  • database friendly: save/load enduser-rules using .load() and .serialize()
  • plugins: functions as plugins
  • isomorphic cli: control/modify policies using curl, browser
  • immersive cli: easily extendable with vorpal, inquirer, enquirer

Philosophy

  • Unix rule policy vs mechanism
  • Unix rule of transparency

Easy-peasy plugins

// todo

1.0.41

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago