feat: Add lazyCompileValidationSchemas option #497
Merged
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.
Added lazyCompileValidationSchemas option which enables to compile validation schemas when actually needing them. This may speed up application startup dramatically depending on the API size.
I implemented this by wrapping the validate function in a getter. I could not just replace the validate function because ajv does some weird stuff with having properties on a function. I am not confident replacing that with anything, so wrapping it in getter seemed like only reasonable option.
The option is disabled by default, as to not change behavior for existing users, so that it can be released as minor or even patch version.