serverless-offline
Version:
Emulate AWS λ and API Gateway locally when developing your Serverless project
41 lines (36 loc) • 943 B
JavaScript
;
const _ = require('lodash');
const sinon = require('sinon');
module.exports = class ServerlessBuilder {
constructor(serverless) {
const serverlessDefaults = {
service: {
provider: {
name: 'aws',
stage: 'dev',
region: 'us-east-1',
runtime: 'nodejs4.3',
},
functions: {},
getFunction(functionName) {
return this.functions[functionName];
},
},
cli: {
log: sinon.stub(),
},
version: '1.0.2',
config: {
servicePath: '',
},
};
this.serverless = _.merge(serverlessDefaults, serverless);
this.serverless.service.getFunction = this.serverless.service.getFunction.bind(this.serverless.service);
}
addFunction(functionName, functionConfig) {
this.serverless.service.functions[functionName] = functionConfig;
}
toObject() {
return this.serverless;
}
};