PathCodec

zio.blocks.endpoint.PathCodec
See thePathCodec companion trait
object PathCodec

Attributes

Companion
trait
Source
PathCodec.scala
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
PathCodec.type

Members list

Type members

Classlikes

final case class Concat[A, B, C](left: PathCodec[A], right: PathCodec[B], combiner: WithOut[A, B, C]) extends PathCodec[C]

Attributes

Source
PathCodec.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait PathCodec[C]
class Object
trait Matchable
class Any
Show all
final case class Fallback(left: PathCodec[Unit], right: PathCodec[Unit]) extends PathCodec[Unit]

Attributes

Source
PathCodec.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait PathCodec[Unit]
class Object
trait Matchable
class Any
Show all
final case class Ignored[A](codec: PathCodec[A]) extends PathCodec[Unit]

Attributes

Source
PathCodec.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait PathCodec[Unit]
class Object
trait Matchable
class Any
Show all
final case class Segment[A](segment: SegmentCodec[A]) extends PathCodec[A]

Attributes

Source
PathCodec.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait PathCodec[A]
class Object
trait Matchable
class Any
Show all
final case class Transform[A, B](codec: PathCodec[A], decode: A => Either[DecodeError, B], encode: B => Either[DecodeError, A]) extends PathCodec[B]

Attributes

Source
PathCodec.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait PathCodec[B]
class Object
trait Matchable
class Any
Show all

Inherited and Abstract types

type MirroredElemLabels <: Tuple

The names of the product elements.

The names of the product elements.

Attributes

Inherited from:
Mirror
Source
Mirror.scala
type MirroredLabel <: String

The name of the type.

The name of the type.

Attributes

Inherited from:
Mirror
Source
Mirror.scala

Value members

Concrete methods

def apply(value: String): PathCodec[Unit] { type PathVars = NoPathVars; }

Builds a literal-only path from a raw string (for example PathCodec("users/42")).

Builds a literal-only path from a raw string (for example PathCodec("users/42")).

Encoding trio, documented once here: Path.apply does NOT percent-decode (a raw %20 stays a literal %20 segment), so neither does this constructor — Path.fromEncoded is the decoding counterpart (both live in http-model). Encoded literals cannot be expressed at all: a literal carrying / or characters requiring URL encoding is rejected by SegmentCodec.validateLiteralValue. RoutePattern.apply(method, pathString) funnels through this same constructor.

Attributes

Source
PathCodec.scala
def apply[A, PV](segment: SegmentCodec[A] { type PathVars = PV; }): PathCodec[A] { type PathVars = PV; }

Attributes

Source
PathCodec.scala
def literal(value: String): PathCodec[Unit] { type PathVars = NoPathVars; }

Attributes

Source
PathCodec.scala
def render(codec: PathCodec[_], prefix: String = ..., suffix: String = ...): String

Attributes

Source
PathCodec.scala

Inherited methods

def bool[N <: String & Singleton](name: N): PathCodec[Boolean] { type PathVars = HasPathVars; }

Attributes

Inherited from:
PathCodecPlatformSpecific (hidden)
Source
PathCodecPlatformSpecific.scala
def int[N <: String & Singleton](name: N): PathCodec[Int] { type PathVars = HasPathVars; }

Attributes

Inherited from:
PathCodecPlatformSpecific (hidden)
Source
PathCodecPlatformSpecific.scala
def long[N <: String & Singleton](name: N): PathCodec[Long] { type PathVars = HasPathVars; }

Attributes

Inherited from:
PathCodecPlatformSpecific (hidden)
Source
PathCodecPlatformSpecific.scala
def string[N <: String & Singleton](name: N): PathCodec[String] { type PathVars = HasPathVars; }

Attributes

Inherited from:
PathCodecPlatformSpecific (hidden)
Source
PathCodecPlatformSpecific.scala
def uuid[N <: String & Singleton](name: N): PathCodec[UUID] { type PathVars = HasPathVars; }

Attributes

Inherited from:
PathCodecPlatformSpecific (hidden)
Source
PathCodecPlatformSpecific.scala

Concrete fields

val empty: PathCodec[Unit] { type PathVars = NoPathVars; }

Attributes

Source
PathCodec.scala
val trailing: PathCodec[Path] { type PathVars = HasPathVars; }

Attributes

Source
PathCodec.scala

Implicits

Implicits

implicit def segmentToPathCodec[A, PV](value: SegmentCodec[A] { type PathVars = PV; }): PathCodec[A] { type PathVars = PV; }

Attributes

Source
PathCodec.scala
implicit def stringToPathCodec(value: String): PathCodec[Unit] { type PathVars = NoPathVars; }

Attributes

Source
PathCodec.scala
implicit val unitUnit: WithOut[Unit, Unit, Unit]

Attributes

Source
PathCodec.scala