object StringDecoder extends DecoderCompanion[String, DecodeError, codecs.type] with PlatformSpecificDecoders
Provides instance creation and summing methods for StringDecoder.
Default StringDecoder instances are provided in codecs.
- Source
- StringDecoder.scala
- Alphabetic
- By Inheritance
- StringDecoder
- PlatformSpecificDecoders
- DecoderCompanion
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- macro def apply[D](implicit ev: Decoder[String, D, DecodeError, codecs.type]): Decoder[String, D, DecodeError, codecs.type]
Summons an implicit instance of Decoder if one is found, fails compilation otherwise.
Summons an implicit instance of Decoder if one is found, fails compilation otherwise.
This is a slightly faster, less verbose version of
implicitly
.- Definition Classes
- DecoderCompanion
- def dateDecoder(format: DateFormat): StringDecoder[Date]
Creates a StringDecoder instance for
java.util.Date
.Creates a StringDecoder instance for
java.util.Date
.- Definition Classes
- PlatformSpecificDecoders
- def from[D](f: (String) => Either[DecodeError, D]): Decoder[String, D, DecodeError, codecs.type]
Creates a new Decoder instance from the specified function.
Creates a new Decoder instance from the specified function.
- Definition Classes
- DecoderCompanion
- Annotations
- @inline()
- def fromPartial[D](f: PartialFunction[String, Either[DecodeError, D]])(implicit t: IsError[DecodeError]): Decoder[String, D, DecodeError, codecs.type]
- Definition Classes
- DecoderCompanion
- Annotations
- @SuppressWarnings()
- def fromUnsafe[D](f: (String) => D)(implicit t: IsError[DecodeError]): Decoder[String, D, DecodeError, codecs.type]
Creates a new Decoder instance from the specified function.
Creates a new Decoder instance from the specified function.
This method turns the specified function safe. The error message might end up being a bit generic though - use from if you want to deal with errors explicitly.
- Definition Classes
- DecoderCompanion
- Annotations
- @inline()
- def makeSafe[D](typeName: String)(f: (String) => D): (String) => StringResult[D]
Creates a safe decoding function from the specified unsafe one.
Creates a safe decoding function from the specified unsafe one.
This method expects the specified decoding function to be able to fail by throwing exceptions. These will be caught and wrapped in DecodeError.
This is typically used in conjunction with [StringDecoder.from], when creating instances for types that are not isomorphic to
String
.- D
decoded type.
- typeName
name of the decoded type (used in error messages).
- f
decoding function.
scala> val decoder = StringDecoder.makeSafe("Int")(_.toInt) scala> decoder("1") res1: StringResult[Int] = Right(1) scala> decoder("foobar") res2: StringResult[Int] = Left(DecodeError: 'foobar' is not a valid Int)
Example: - def oneOf[D](ds: Decoder[String, D, DecodeError, codecs.type]*)(implicit i: IsError[DecodeError]): Decoder[String, D, DecodeError, codecs.type]
Creates a new Decoder instance from the specified alternatives.
Creates a new Decoder instance from the specified alternatives.
When decoding, each of the specified decoders will be attempted. The result will be the first success if found, or the last failure otherwise.
- Definition Classes
- DecoderCompanion
- Annotations
- @inline()