Add strictPopulate type to PopulateOptions #11544
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 strictPopulate to PopulateOptions, otherwise given option can't be used in TS projects when enforcing types.
Summary
When using populate in mongoose 6, the types for populate options might've been overlooked.
PopulateOptions
interface is missingstrictPopulate
prop, so I added one, with description from the doc. Otherwise I can't use populate with given option.Examples
Previously this was not allowed in typescript dev environment due to enforcing of types, and a type error was thrown.
Now I added the respective type and all works.
For future reference
It seems that the
options?: any
seems to be unnecessary and wrongfully referring tooptions.options
. But when we look at the current codebase withstrictPopulate
for example, then the value will be taken fromoptions.strictPopulate
, notoptions.options.strictPopulate
.TL;DR I'd suggest removing the
options?: any
from thePopulateOptions
entirely and replace it with the specific options (i.e. strictPopulate, like in this PR)