A simplified way to generate masive mock data based on a schema, you can use the awesome fake/random data generators like (FakerJs, ChanceJs, CasualJs and RandExpJs)
Add a new buildSync method alongside the existing build 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 calling buildSync - this could be achieved cleanly in typescript by giving the Mocker class a generic Schema type that is referenced in conditional types on the build and buildSync 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.
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.