feat: add mapping functions

This commit is contained in:
Justin Lin
2025-08-26 19:49:37 +10:00
parent 0dc1d411f4
commit e770b31402
5 changed files with 35 additions and 7 deletions

21
internal/author/mapper.go Normal file
View File

@@ -0,0 +1,21 @@
package author
import "tutorial.sqlc.dev/app/internal/author/gen"
func toAuthor(a gen.Author) Author {
return Author{
a.ID, a.Name, a.Bio.String,
}
}
func mapSlice[K any, V any](conv func(K) V) func([]K) []V {
return func(inputs []K) []V {
output := make([]V, len(inputs))
for i, input := range inputs {
output[i] = conv(input)
}
return output
}
}
var toAuthorSlice = mapSlice(toAuthor)