cassava
Version:
AWS API Gateway Router
31 lines • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.testRouter = exports.createTestProxyEvent = void 0;
const createTestLambdaContext_1 = require("./createTestLambdaContext");
var createTestProxyEvent_1 = require("./createTestProxyEvent");
Object.defineProperty(exports, "createTestProxyEvent", { enumerable: true, get: function () { return createTestProxyEvent_1.createTestProxyEvent; } });
/**
* Test the given Router with the given ProxyEvent and return the result
* in a Promise. This plus `createTestProxyEvent` is the easiest way to test
* a Router, especially with the async/await pattern.
*/
function testRouter(router, proxyEvent) {
return new Promise((resolve, reject) => {
if (!router || !router.getLambdaHandler) {
reject(new Error("router must be an instance of Router"));
}
const responsePromise = router.getLambdaHandler()(proxyEvent, createTestLambdaContext_1.createTestLambdaContext(proxyEvent), (err, res) => {
if (err) {
reject(err);
}
else {
resolve(res);
}
});
if (responsePromise) {
responsePromise.then(res => resolve(res), err => reject(err));
}
});
}
exports.testRouter = testRouter;
//# sourceMappingURL=index.js.map