FasterXML / FasterXML/jackson-module-kotlin
Enhance `Sequence` support
- 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.