Skip to content

Commit

Permalink
chore: Use the recommended function to get serializers for a type
Browse files Browse the repository at this point in the history
The function's docs say: "This overload works with full type information,
including type arguments and nullability, and is a recommended way to
retrieve a serializer."

Signed-off-by: Sebastian Schuberth <sebastian@doubleopen.org>
  • Loading branch information
sschuberth committed Aug 10, 2024
1 parent f6ba8bc commit 424dfcb
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 7 deletions.
4 changes: 2 additions & 2 deletions plugins/package-managers/bower/src/main/kotlin/Model.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ package org.ossreviewtoolkit.plugins.packagemanagers.bower

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.builtins.ListSerializer
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray
import kotlinx.serialization.json.JsonElement
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.JsonTransformingSerializer
import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.serializer

import org.ossreviewtoolkit.plugins.packagemanagers.bower.PackageMeta.Author

Expand Down Expand Up @@ -98,7 +98,7 @@ internal fun parsePackageInfoJson(json: String): PackageInfo = JSON.decodeFromSt
* serializer then can be simplified into a single item deserializer. See also
* https://github.com/Kotlin/kotlinx.serialization/issues/1169#issuecomment-2083213759.
*/
private object AuthorListSerializer : JsonTransformingSerializer<List<Author>>(ListSerializer(Author.serializer())) {
private object AuthorListSerializer : JsonTransformingSerializer<List<Author>>(serializer<List<Author>>()) {
override fun transformDeserialize(element: JsonElement): JsonElement =
JsonArray(
element.jsonArray.map { item ->
Expand Down
4 changes: 2 additions & 2 deletions plugins/package-managers/cocoapods/src/main/kotlin/Podspec.kt
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@
package org.ossreviewtoolkit.plugins.packagemanagers.cocoapods

import kotlinx.serialization.Serializable
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonElement
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.JsonPrimitive
import kotlinx.serialization.json.JsonTransformingSerializer
import kotlinx.serialization.json.jsonPrimitive
import kotlinx.serialization.serializer

@Serializable
internal data class Podspec(
Expand Down Expand Up @@ -71,7 +71,7 @@ internal fun String.parsePodspec(): Podspec = JSON.decodeFromString<Podspec>(thi
* 1. https://github.com/CocoaPods/Specs/blob/f75c24e7e9df1dac6ffa410a6fb30f01e026d4d6/Specs/8/5/e/SocketIOKit/2.0.1/SocketIOKit.podspec.json#L6-L9
* 2. https://github.com/CocoaPods/Specs/blob/f75c24e7e9df1dac6ffa410a6fb30f01e026d4d6/Specs/8/5/e/FirebaseObjects/0.0.1/FirebaseObjects.podspec.json#L6
*/
private object LicenseSerializer : JsonTransformingSerializer<String>(String.serializer()) {
private object LicenseSerializer : JsonTransformingSerializer<String>(serializer<String>()) {
override fun transformDeserialize(element: JsonElement): JsonElement =
if (element is JsonObject) {
element["type"]?.jsonPrimitive ?: JsonPrimitive("")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@
package org.ossreviewtoolkit.plugins.scanners.scancode

import kotlinx.serialization.Serializable
import kotlinx.serialization.builtins.ListSerializer
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.json.JsonArray
import kotlinx.serialization.json.JsonElement
import kotlinx.serialization.json.JsonTransformingSerializer
import kotlinx.serialization.serializer

import org.ossreviewtoolkit.utils.spdx.SpdxConstants
import org.ossreviewtoolkit.utils.spdx.SpdxExpression
Expand Down Expand Up @@ -205,7 +204,7 @@ data class LicenseReference(
* A serializer that wraps an old primitive input option from ScanCode 3 into an array like it is for recent ScanCode
* versions. Note that the input option format changed before the output format version property was introduced.
*/
private object InputListSerializer : JsonTransformingSerializer<List<String>>(ListSerializer(String.serializer())) {
private object InputListSerializer : JsonTransformingSerializer<List<String>>(serializer<List<String>>()) {
override fun transformDeserialize(element: JsonElement): JsonElement =
if (element !is JsonArray) JsonArray(listOf(element)) else element
}

0 comments on commit 424dfcb

Please sign in to comment.