Swift 4 Decodable com chaves desconhecidas até a hora da decodificação

Como o protocolo Swift 4 Decodable lida com um dicionário que contém uma chave cujo nome não é conhecido até o tempo de execução? Por exemplo:

  [
    {
      "categoryName": "Trending",
      "Trending": [
        {
          "category": "Trending",
          "trailerPrice": "",
          "isFavourit": null,
          "isWatchlist": null
        }
      ]
    },
    {
      "categoryName": "Comedy",
      "Comedy": [
        {
          "category": "Comedy",
          "trailerPrice": "",
          "isFavourit": null,
          "isWatchlist": null
        }
      ]
    }
  ]

Aqui temos uma variedade de dicionários; o primeiro tem chavescategoryName eTrending, enquanto o segundo tem chavescategoryName eComedy. O valor docategoryName chave diz o nome da segunda chave. Como expresso isso usando Decodable?

questionAnswers(3)

yourAnswerToTheQuestion