$ npm init
$ npm install @mitchallen/lambda-adapter --save
- lambda-adapter
Module
- lambda-adapter-factory
Factory module
Module
Factory module
Factory method It takes one spec parameter that must be an object with named parameters
Kind: static method of lambda-adapter-factory
Returns: Promise
- that resolves to {module:lambda-adapter}
Param | Type | Description |
---|---|---|
spec | Object |
Named parameters object |
spec.env | Object |
An object containing key values pairs of env variables |
spec.regex | Object |
Path regex, like '/:model/:id' |
spec.event | Object |
Event from Lambda handler |
spec.callback | function |
Callback from Lambda handler |
Example (Using adapter)
// lambda function
var factory = require("@mitchallen/lambda-adapter"),
exports.handler = function(event, context, callback) {
factory.create({
env: {
"stripeKey": process.env.TEST_STRIPE_SECRET || null
},
event: event,
callback: callback
})
.then(function(adapter) {
var env = adapter.env;
var params = adapter.params;
response = adapter.response;
var stripeKey = env["stripeKey"];
var a = params.a,
b = params.b;
// ...
if(bad-condition) {
response.fail(err);
} else {
response.json(object);
}
})
.catch( function(err) {
console.error(err);
});
};
Example (Passing adapter)
// lambda function
var factory = require("@mitchallen/lambda-adapter"),
otherFactory = require(...);
exports.handler = function(event, context, callback) {
factory.create({
env: {
"stripeKey": process.env.TEST_STRIPE_SECRET || null
},
event: event,
callback: callback
})
.then(function(adapter) {
return otherFactory.create({ adapter: adapter });
});
};
To test, go to the root folder and type (sans $):
$ npm test
In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.
- Expanded and reworked, breaking backward compatibility
- Added env parameter for passing environment parameters
- fixed some stringify issue that affect API gatewat
- Broke backward compatibility
- response.success replaced by response.json and response.jsonp
- brought code coverage up to 100%
- fixed type-o in code doc
- updated description in package.json and README
- initial release