Listen

Note

Exported from bookshelf-schema/lib/listen

Declare event listener.

Examples

CoffeeScript

Listen = require 'bookshelf-schema/lib/listen'

class User extends db.Model
  tableName: 'users'

  @schema [
    Listen 'saved', ( -> console.log "#{@username} saved" )
    Listen 'fetched', 'onFetched'
  ]

  onFetched: -> console.log "#{@username} fetched"

JavaScript

var Listen = require('bookshelf-schema/lib/listen');

var User = db.Model.extend( {
    tableName: 'users',
    onFetched: function() {
      console.log this.username + ' fetched';
    }
  }, {
    schema: [
      Listen('saved', function(){ console.log( this.username + ' saved'); }),
      Listen('fetched', 'onFetched')
    ]
});

Callbacks are called in context of model instance. If callback is a string it should be a model method name.

Base class

class Listen(event, callbacks...)
Arguments:
  • event (String) – Bookshelf event
  • callback ((Function|String)) – callback function or method name