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.
Add a new
buildSync
method alongside the existingbuild
method to allow the generator to be used where synchronous flow is required.This is a simple non-breaking surface-level change. The library does not currently include any internal async logic. The async behavior of the
build
method is designed to avoid an unwanted breaking interface change in the future if async logic is added (discussed here). If async generators are added in the future, I suggest that they be excluded from the set of generators available for use when callingbuildSync
- this could be achieved cleanly in typescript by giving theMocker
class a genericSchema
type that is referenced in conditional types on thebuild
andbuildSync
methods. This would also require adding strict type inference to the schema interface, but doing so could have the added benefit of returning non-opaque typed data.