danibram / mocker-data-generator

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)
https://danibram.github.io/mocker-data-generator/
MIT License
426 stars 45 forks source link

Add synchronous build method #110

Closed 10xjs closed 3 years ago

10xjs commented 3 years ago

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.

10xjs commented 3 years ago

this node 14.x bug appears to be causing the CI execution to fail

10xjs commented 3 years ago

CI will continue to fail pending the fix in https://github.com/danibram/mocker-data-generator/pull/112

danibram commented 3 years ago

Nice work @10xjs! Thanks!

danibram commented 3 years ago

Live in v2.9.0