nestjs-seeder icon indicating copy to clipboard operation
nestjs-seeder copied to clipboard

feat: pass in index to FactoryValueGenerator

Open simplenotezy opened this issue 6 months ago • 2 comments

Description

This PR introduces a new feature in the FactoryValueGenerator class to include the current index in its operations. This enhancement allows for greater flexibility, e.g. the creation of consistent UUIDs across different seeds, which is particularly useful during development.

Key Benefits

  • Consistent UUID Generation: By incorporating the current index, the generated UUIDs can remain consistent across reseeds.
  • Improved Developer Productivity: Developers can then refire the same API requests without needing to reconfigure IDs, streamlining the development process.

Implementation Details

  • The FactoryValueGenerator has been updated to include the current index in its UUID generation logic.
  • No breaking changes are introduced; existing functionalities remain intact. I had to add ts-ignore though, which I am not particularly proud of, but seems to be the most sensible solution to maintain backwards compatability

Example

@Factory((_, __, index) =>
  uuidv5(index.toString(), '6ba7b810-9dad-11d1-80b4-00c04fd430c8'),
)
id: string;

Checklist

  • [x] Code has been tested locally
  • [x] Documentation has been updated
  • [ ] All tests pass N/A

Please review the changes and provide feedback. Thanks!

simplenotezy avatar Aug 06 '24 10:08 simplenotezy