typescript props as object or array - Theo's Typesafe Cult