FasterXML / FasterXML/jackson-module-kotlin

Enhance `Sequence` support

Aperta
#671 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Kotlin
Stelle
1.2k
Fork
187
Merge medio
9h 48m
PR unite (30g)
16

Descrizione

**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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.