extension

fun extension(name: String, value: ProblemValue)(source)

Adds one extension member (§3.2), written as a sibling of the standard members, not nested under an extensions key.

Setting the same name twice throws. A problem document gets assembled in one place, and a silent overwrite there is far likelier to be a bug than something you meant to do.

Throws

if name was already set on this builder.


fun extension(name: String, value: String)(source)

Adds a string extension member, written quoted. "30" stays a string, not the number 30.


fun extension(name: String, value: Int)(source)

Adds an integer extension member.


fun extension(name: String, value: Long)(source)

Adds a 64-bit integer extension member.


fun extension(name: String, value: Double)(source)

Adds a floating-point extension member.

Throws

if value is NaN or infinite. Neither has a JSON representation (RFC 8259 §6).


fun extension(name: String, value: Boolean)(source)

Adds a boolean extension member.


fun <T> extension(name: String, value: T, serializer: SerializationStrategy<T>)(source)

Adds one extension member holding an arbitrary serializable value.