0.0.2 • Published 7 years ago

shari-lambda v0.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

Shari λ

Helper framework to get you up and running and consuming Shari SNS events.

All you have to do is register the event you want to listen to and the class which will handle it. As long as this class returns a Promise, you're all set.

index.js

'use strict';

var ShariLambda = require('shari-lambda');
var MyHandler   = require('./my_handler.js');

// Register the event and how to handle to Shari Lambda
ShariLambda.EventHandlerRegistry.register('my_event_to_handle', new MyHandler());

// Export the Shari Lambda handler to AWS Lambda
exports.handle = ShariLambda.handle;

my_handler.js

class MyHandler {
  handle(event) {
    return Promise.resolve('handled');
  }
}
module.exports = MyHandler;

config.js

'use strict';

function environmentName() {
  return process.env.ENVIRONMENT || 'development';
}

module.exports.Config = {
  environmentName: environmentName,
  functionName: function() {
    return '';
  },
  honeybadger: {
    apiKey: '',
    server: { environment_name: environmentName() },
    logger: console,
    developmentEnvironments: ['development', 'dev', 'test']
  }
}

If you want a default handler to handle all events you can do so:

'use strict';

var ShariLambda = require('shari-lambda');
var BookingEventHandler = require('./booking_event_handler.js');

ShariLambda.EventHandlerRegistry.registerDefaultHandler(new BookingEventHandler());

exports.handle = ShariLambda.handle;

Features

  • Heartbeat
  • Honeybadger failure
  • Async with Promises