The Function
function getEnrollmentByStudentIdAndCourseId( studentId: string, courseId: string ) { // fetch logic return result; }
The Mistake
Believe it or not this function caused me a day of debugging. Because of the way I was calling it like this.
const studentId = "ID"; const courseId = "ID"; const enrollment = getEnrollmentByStudentIdAndCourseId(courseId, studentId);
I was passing the arguments in the wrong order. The function signature was getEnrollmentByStudentIdAndCourseId(studentId, courseId) but I was calling it with getEnrollmentByStudentIdAndCourseId(courseId, studentId).
The reason why i took so long debugging it was because function was still returning a result even though the arguments were in the wrong order, but it was the wrong result. I think this is ultimately a mistake i made by writing a bad prisma query that caused it.
The Adjustment
make the argument passing more explicit by using object
type Args = { courseId: string; studentId: string; }; function getEnrollmentByStudentIdAndCourseId({ courseId, studentId }: Args) { // fetch logic return result; }
Ever since then, when I have a function that takes multiple arguments of the same type like IDs, I started to use object destructuring to make the argument passing more. And also like… made better prisma queries.
I hope this helps you avoid the same mistake I made. Happy coding!