From 0824c8f059f6fc2388876b67b0e9e88ae75e1682 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 9 Oct 2022 11:27:00 -0700 Subject: [PATCH] Removed confusing aliases --- detekt-baseline.xml | 8 ++--- .../net/thauvin/erik/jokeapi/JokeApi.kt | 14 ++++----- .../net/thauvin/erik/jokeapi/JokeConfig.kt | 2 +- .../thauvin/erik/jokeapi/models/Category.kt | 12 ++------ .../net/thauvin/erik/jokeapi/models/Flag.kt | 4 +-- .../net/thauvin/erik/jokeapi/models/Format.kt | 6 +++- .../thauvin/erik/jokeapi/models/Language.kt | 29 ++++++++----------- .../thauvin/erik/jokeapi/GetRawJokesTest.kt | 2 +- .../thauvin/erik/jokeapi/JokeConfigTest.kt | 2 +- 9 files changed, 35 insertions(+), 44 deletions(-) diff --git a/detekt-baseline.xml b/detekt-baseline.xml index 7a212fe..af692ce 100644 --- a/detekt-baseline.xml +++ b/detekt-baseline.xml @@ -2,10 +2,10 @@ - ComplexMethod:JokeApi.kt$fun getRawJokes( categories: Set<Category> = setOf(Category.ANY), language: Language = Language.ENGLISH, flags: Set<Flag> = emptySet(), type: Type = Type.ALL, format: Format = Format.JSON, search: String = "", idRange: IdRange = IdRange(), amount: Int = 1, safe: Boolean = false, auth: String = "" ): String - LongParameterList:JokeApi.kt$( amount: Int, categories: Set<Category> = setOf(Category.ANY), language: Language = Language.ENGLISH, flags: Set<Flag> = emptySet(), type: Type = Type.ALL, search: String = "", idRange: IdRange = IdRange(), safe: Boolean = false, splitNewLine: Boolean = false, auth: String = "" ) - LongParameterList:JokeApi.kt$( categories: Set<Category> = setOf(Category.ANY), language: Language = Language.ENGLISH, flags: Set<Flag> = emptySet(), type: Type = Type.ALL, format: Format = Format.JSON, search: String = "", idRange: IdRange = IdRange(), amount: Int = 1, safe: Boolean = false, auth: String = "" ) - LongParameterList:JokeApi.kt$( categories: Set<Category> = setOf(Category.ANY), language: Language = Language.ENGLISH, flags: Set<Flag> = emptySet(), type: Type = Type.ALL, search: String = "", idRange: IdRange = IdRange(), safe: Boolean = false, splitNewLine: Boolean = false, auth: String = "" ) + ComplexMethod:JokeApi.kt$fun getRawJokes( categories: Set<Category> = setOf(Category.ANY), language: Language = Language.EN, flags: Set<Flag> = emptySet(), type: Type = Type.ALL, format: Format = Format.JSON, search: String = "", idRange: IdRange = IdRange(), amount: Int = 1, safe: Boolean = false, auth: String = "" ): String + LongParameterList:JokeApi.kt$( amount: Int, categories: Set<Category> = setOf(Category.ANY), language: Language = Language.EN, flags: Set<Flag> = emptySet(), type: Type = Type.ALL, search: String = "", idRange: IdRange = IdRange(), safe: Boolean = false, splitNewLine: Boolean = false, auth: String = "" ) + LongParameterList:JokeApi.kt$( categories: Set<Category> = setOf(Category.ANY), language: Language = Language.EN, flags: Set<Flag> = emptySet(), type: Type = Type.ALL, format: Format = Format.JSON, search: String = "", idRange: IdRange = IdRange(), amount: Int = 1, safe: Boolean = false, auth: String = "" ) + LongParameterList:JokeApi.kt$( categories: Set<Category> = setOf(Category.ANY), language: Language = Language.EN, flags: Set<Flag> = emptySet(), type: Type = Type.ALL, search: String = "", idRange: IdRange = IdRange(), safe: Boolean = false, splitNewLine: Boolean = false, auth: String = "" ) LongParameterList:JokeConfig.kt$JokeConfig$( val categories: Set<Category>, val language: Language, val flags: Set<Flag>, val type: Type, val format: Format, val search: String, val idRange: IdRange, val amount: Int, val safe: Boolean, val splitNewLine: Boolean, val auth: String ) LongParameterList:JokeException.kt$JokeException$( val internalError: Boolean, val code: Int, message: String, val causedBy: List<String>, val additionalInfo: String, val timestamp: Long, cause: Throwable? = null ) MagicNumber:util.kt$200 diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt index bd850fd..4967019 100644 --- a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt +++ b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt @@ -179,7 +179,7 @@ class JokeApi private constructor() { */ fun getJoke( categories: Set = setOf(Category.ANY), - language: Language = Language.ENGLISH, + language: Language = Language.EN, flags: Set = emptySet(), type: Type = Type.ALL, search: String = "", @@ -218,7 +218,7 @@ fun getJoke( fun getJokes( amount: Int, categories: Set = setOf(Category.ANY), - language: Language = Language.ENGLISH, + language: Language = Language.EN, flags: Set = emptySet(), type: Type = Type.ALL, search: String = "", @@ -259,7 +259,7 @@ fun getJokes( */ fun getRawJokes( categories: Set = setOf(Category.ANY), - language: Language = Language.ENGLISH, + language: Language = Language.EN, flags: Set = emptySet(), type: Type = Type.ALL, format: Format = Format.JSON, @@ -272,14 +272,14 @@ fun getRawJokes( val params = mutableMapOf() // Categories - val path = if (!categories.contains(Category.ANY)) { - categories.stream().map(Category::value).collect(Collectors.joining(",")) - } else { + val path = if (categories.isEmpty() || categories.contains(Category.ANY)) { Category.ANY.value + } else { + categories.stream().map(Category::value).collect(Collectors.joining(",")) } // Language - if (language != Language.ENGLISH) { + if (language != Language.EN) { params[Parameter.LANG] = language.value } diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeConfig.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeConfig.kt index ff6d83c..50f8dc4 100644 --- a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeConfig.kt @@ -67,7 +67,7 @@ class JokeConfig private constructor( */ data class Builder( var categories: Set = setOf(Category.ANY), - var language: Language = Language.ENGLISH, + var language: Language = Language.EN, var flags: Set = emptySet(), var type: Type = Type.ALL, var format: Format = Format.JSON, diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Category.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Category.kt index 86a766b..9861c08 100644 --- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Category.kt +++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Category.kt @@ -33,22 +33,14 @@ package net.thauvin.erik.jokeapi.models /** - * The supported [categories and aliases](https://jokeapi.dev/#categories), use [ANY] for all. + * The supported [categories](https://jokeapi.dev/#categories), use [ANY] for all. */ enum class Category(val value: String) { ANY("Any"), CHRISTMAS("Christmas"), DARK("Dark"), - MISC("Misc"), - MISCELLANEOUS(MISC.value), - PROGRAMMING("Programming"), - CODING(PROGRAMMING.value), - DEVELOPMENT(PROGRAMMING.value), - PUN("Pun"), - - SPOOKY("Spooky"), - HALLOWEEN(SPOOKY.value) + SPOOKY("Spooky") } diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Flag.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Flag.kt index c0e022e..1321817 100644 --- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Flag.kt +++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Flag.kt @@ -36,11 +36,11 @@ package net.thauvin.erik.jokeapi.models * The supported [blacklist flags](https://jokeapi.dev/#flags-param), use [ALL] to prevent all. */ enum class Flag(val value: String) { + EXPLICIT("explicit"), NSFW("nsfw"), - RELIGIOUS("religious"), POLITICAL("political"), RACIST("racist"), + RELIGIOUS("religious"), SEXIST("sexist"), - EXPLICIT("explicit"), ALL("${NSFW.value},${RELIGIOUS.value},${POLITICAL.value},${RACIST.value},${SEXIST.value},${EXPLICIT.value}") } diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Format.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Format.kt index 46ef81a..57f13b9 100644 --- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Format.kt +++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Format.kt @@ -36,5 +36,9 @@ package net.thauvin.erik.jokeapi.models * The supported response [formats](https://jokeapi.dev/#format-param). */ enum class Format(val value: String) { - JSON("json"), XML("xml"), YAML("yaml"), TEXT("txt"), TXT(TEXT.value) + JSON("json"), + /** Plain Text */ + TXT("txt"), + XML("xml"), + YAML("yaml") } diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Language.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Language.kt index d45b368..3abb17f 100644 --- a/src/main/kotlin/net/thauvin/erik/jokeapi/models/Language.kt +++ b/src/main/kotlin/net/thauvin/erik/jokeapi/models/Language.kt @@ -36,21 +36,16 @@ package net.thauvin.erik.jokeapi.models * The supported [languages](https://jokeapi.dev/#lang). */ enum class Language(val value: String) { - ENGLISH("en"), - EN(ENGLISH.value), - - CZECH("cs"), - CS(CZECH.value), - - GERMAN("de"), - DE(GERMAN.value), - - SPANISH("es"), - ES(SPANISH.value), - - FRENCH("fr"), - FR(FRENCH.value), - - PORTUGUESE("pt"), - PT(PORTUGUESE.value) + /** Czech */ + CS("cs"), + /** German */ + DE("de"), + /** English */ + EN("en"), + /** Spanish */ + ES("es"), + /** French */ + FR("fr"), + /** Portuguese */ + PT("pt") } diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/GetRawJokesTest.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/GetRawJokesTest.kt index b745da8..770b563 100644 --- a/src/test/kotlin/net/thauvin/erik/jokeapi/GetRawJokesTest.kt +++ b/src/test/kotlin/net/thauvin/erik/jokeapi/GetRawJokesTest.kt @@ -49,7 +49,7 @@ import kotlin.test.assertContains internal class GetRawJokesTest { @Test fun `Get Raw Joke with TXT`() { - val response = getRawJokes(format = Format.TEXT) + val response = getRawJokes(format = Format.TXT) assertThat(response, "getRawJoke(txt)").all { isNotEmpty() doesNotContain("Error") diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/JokeConfigTest.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/JokeConfigTest.kt index 90e7c73..a1e792e 100644 --- a/src/test/kotlin/net/thauvin/erik/jokeapi/JokeConfigTest.kt +++ b/src/test/kotlin/net/thauvin/erik/jokeapi/JokeConfigTest.kt @@ -112,7 +112,7 @@ class JokeConfigTest { fun `Get Raw Joke with Builder`() { val config = JokeConfig.Builder().apply { categories(setOf(Category.PROGRAMMING)) - format(Format.TEXT) + format(Format.TXT) search("bar") amount(2) safe(true)