Skip to content

Commit 8d90141

Browse files
committed
fix: missing codecs
1 parent c220805 commit 8d90141

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

data/src/main/scala/ackcord/data/DiscordProtocol.scala

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,60 @@ trait DiscordProtocol {
348348
)
349349
}
350350

351+
implicit val textDisplayCodec: Codec[TextDisplay] = {
352+
val base: Codec[TextDisplay] = derivation.deriveCodec(derivation.renaming.snakeCase, false, None)
353+
354+
Codec.from(
355+
base,
356+
(a: TextDisplay) => base(a).deepMerge(Json.obj("type" := a.tpe))
357+
)
358+
}
359+
360+
implicit val thumbnailCodec: Codec[Thumbnail] = {
361+
val base: Codec[Thumbnail] = derivation.deriveCodec(derivation.renaming.snakeCase, false, None)
362+
363+
Codec.from(
364+
base,
365+
(a: Thumbnail) => base(a).deepMerge(Json.obj("type" := a.tpe))
366+
)
367+
}
368+
369+
implicit val mediaGalleryCodec: Codec[MediaGallery] = {
370+
val base: Codec[MediaGallery] = derivation.deriveCodec(derivation.renaming.snakeCase, false, None)
371+
372+
Codec.from(
373+
base,
374+
(a: MediaGallery) => base(a).deepMerge(Json.obj("type" := a.tpe))
375+
)
376+
}
377+
378+
implicit val fileCodec: Codec[File] = {
379+
val base: Codec[File] = derivation.deriveCodec(derivation.renaming.snakeCase, false, None)
380+
381+
Codec.from(
382+
base,
383+
(a: File) => base(a).deepMerge(Json.obj("type" := a.tpe))
384+
)
385+
}
386+
387+
implicit val separatorCodec: Codec[Separator] = {
388+
val base: Codec[Separator] = derivation.deriveCodec(derivation.renaming.snakeCase, false, None)
389+
390+
Codec.from(
391+
base,
392+
(a: Separator) => base(a).deepMerge(Json.obj("type" := a.tpe))
393+
)
394+
}
395+
396+
implicit val containerCodec: Codec[Container] = {
397+
val base: Codec[Container] = derivation.deriveCodec(derivation.renaming.snakeCase, false, None)
398+
399+
Codec.from(
400+
base,
401+
(a: Container) => base(a).deepMerge(Json.obj("type" := a.tpe))
402+
)
403+
}
404+
351405
implicit val actionRowContentCodec: Codec[ActionRowContent] = Codec.from(
352406
(c: HCursor) =>
353407
c.get[ComponentType]("type").flatMap {

0 commit comments

Comments
 (0)