]> source.dussan.org Git - nextcloud-server.git/commit
Add template typing to the QBMapper 23375/head
authorChristoph Wurst <christoph@winzerhof-wurst.at>
Fri, 9 Oct 2020 12:27:59 +0000 (14:27 +0200)
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>
Mon, 12 Oct 2020 11:12:35 +0000 (11:12 +0000)
commita1856176d5f5ca25ea9192a1dc614f84f169bdb5
treec320c86ccc46ebde9135cf0f4d52ff63731e3460
parente58134e0c9e9aaf345e91116541a498fdcba5d26
Add template typing to the QBMapper

The QBMapper is kind of a generic type, though this concept does not
exist in php. Hence you have a lot of type coercion in subtypes (mappers
in the individual apps) because you suddenly don't expect an Entity[]
but your specific type.

Luckily Psalm lets us type those. Then in the subclass you can
psalm-implement the mapper with a concrete type and psalm will do all
the magic to ensure types are used correctly.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
lib/public/AppFramework/Db/QBMapper.php