Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
thirty
now adds type safety for return types of all middlewares and its actual handler. Previously the return type of a composed handler wasPromise<any>
. This allows a lot more features and makesthirty
in a whole more type-safe.Usage
Additional changes
createRoutes
helperHandler
toNext
forEachSqsRecord
middlewareserializeJson
middlewareforEachSqsRecord
Consider the following setup not using that middleware:
You have to do a lot of boilerplate code, which makes the actual business code of processing one message hard to read.
forEachSqsRecord
lets you process one message without any of that boilerplate:serializeJson
Before that middleware you had to serialize your response body's manually and parse it back again in your tests in order to assert response bodys - especially partially.
But
serializeJson
makes type-safe and testing less verbose: