flish

0.1.0 • Public • Published

flish

Flash messages made simple

npm install flish --save
var flish = require('flish')

API

  • flish methods are chainable
  • flish is designed for flash messages or notifications, but it can be used for generic tasks too

flish()

  • Get a flish instance
  • @return object

.use(handler)

  • Set the flash handler that gets invoked with the outgoing flashes array whenever .send() is called
  • @return this

.add(flash)

  • Enqueue flash string, object, or function
  • @return this

.send()

  • Flush and dispatch the flash queue
  • @return this

Examples

Log flash messages

var flish = require('flish')
 
// Create a flash instance and define its handler
var flash = flish().use(function(flashes) {
  flashes.forEach(function(text) {
    console.log(text)
  })
})
 
// Add some flashes and then send them
flash.add('You rock!')
flash.add('You roll!')
flash.send() // logs 'You rock!' and 'You roll!'
flash.add('You stole!')
flash.send() // logs 'You stole!'
flash.send() // logs nothing because no new flashes were added

Flash message objects

var flish = require('flish')
 
var flash = flish().use(function(flashes) {
  flashes.forEach(function(flash) {
    console[flash.level](flash.text)
  })
})
 
flash.add({
  text: 'You rock!',
  level: 'info'
}).add({
  text: 'You roll!',
  level: 'warn'
}).add({
  text: 'You stole!',
  level: 'error'
}).send()

HTML flash messages

<section id="flashes" role="status"></section>
#flashes:empty {
  display: none;
}
var flish = require('flish')
 
var flash = flish().use(function(flashes) {
  $('#flashes').html(flashes.map(function(flash) {
    var tag = flash.isError ? ['<p><strong>', '</strong></p>'] : ['<p>', '</p>']
    return tag.join(flash.message)
  }).join(''))
})
 
flash.add({
  message: 'You rock!'
}).add({
  message: 'You roll!'
}).add({
  message: 'You stole!',
  isError: true
}).send()

Flish instances are like arrays

var flish = require('flish')
var flash = flish()
 
if (flash.length) {
  flash.send()
}
 
if (flash.some(function(o) { return o.isError })) {
  flash.send()
}

License

MIT

Package Sidebar

Install

npm i flish

Weekly Downloads

10

Version

0.1.0

License

MIT

Last publish

Collaborators

  • ryanve