shari-lambda

0.0.2 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i shari-lambda

Weekly Downloads

3

Version

0.0.2

License

MIT

Last publish

Collaborators

  • dekz
  • jacki3lene