In my testing, one of the things I noticed is that an empty list of replicas will lead to an unexpected undefined value. While I believe it would make sense for an empty list could be problematic in other ways, in situations like integration testing it may not make sense to set up a full replica instance.
This PR adds a coalesce to ensure that even when no replicas are instantiated, a valid Prisma instance (the primary) is returned. This way, we don't heave to worry about checking for an empty list and setting up types to condition on whether it is a replica or primary instance throughout the codebase.
In my testing, one of the things I noticed is that an empty list of replicas will lead to an unexpected undefined value. While I believe it would make sense for an empty list could be problematic in other ways, in situations like integration testing it may not make sense to set up a full replica instance.
This PR adds a coalesce to ensure that even when no replicas are instantiated, a valid Prisma instance (the primary) is returned. This way, we don't heave to worry about checking for an empty list and setting up types to condition on whether it is a replica or primary instance throughout the codebase.