FasterXML / FasterXML/jackson-module-kotlin

Enhance `Sequence` support

Open
#671 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Kotlin
Stars
1.2k
Forks
187
Avg merge
9h 48m
Merged PRs (30d)
16

Description

**Describe the solution you'd like**
Currently, the functionality of `Sequence` is limited compared to `Collection` and others.
For example, `@JsonDeserialize(contentUsing = ... ` is not available.

```kotlin
class SequenceTests {
val mapper = jacksonObjectMapper()

class ContentDeser : StdDeserializer(String::class.java) {
override fun deserialize(p: JsonParser, ctxt: DeserializationContext): String = p.text + "-deser"
}

data class ListWrapper(@JsonDeserialize(contentUsing = ContentDeser::class) val value: List)

@Test
fun listContentDeser() {
val result = mapper.readValue("""{"value":["foo"]}""")
assertEquals("foo-deser", result.value.single())
}

data class SequenceWrapper(@JsonDeserialize(contentUsing = ContentDeser::class) val value: Sequence)

@Test
fun sequenceContentDeser() {
val result = mapper.readValue("""{"value":["foo"]}""")
assertEquals("foo-deser", result.value.single()) // -> fails
}
}
```

There are several other features that are not available in principle.
These features should be available.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.