Packages

p

urldsl

language

package language

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. language
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final class AllImpl[P, Q, F] extends PathSegmentImpl[P] with QueryParametersImpl[Q] with FragmentImpl[F]
  2. trait Fragment[T, +E] extends UrlPart[T, E]

    Represents the fragment (or ref) of an URL, containing an information of type T, or an error of type E.

    Represents the fragment (or ref) of an URL, containing an information of type T, or an error of type E.

    T

    type represented by this PathSegment

    E

    type of the error that this PathSegment produces on "illegal" url paths.

  3. trait FragmentImpl[E] extends AnyRef

    This is the analogue of PathSegmentImpl for the Fragment trait.

    This is the analogue of PathSegmentImpl for the Fragment trait. It "pre-applies" the error type based on the provided FragmentMatchingError.

    E

    type of the "pre-applied" errors

  4. final class PathQueryFragmentRepr[PathType, +PathError, ParamsType, +ParamsError, FragmentType, +FragmentError] extends UrlPart[PathQueryFragmentMatching[PathType, ParamsType, FragmentType], PathQueryFragmentError[PathError, ParamsError, FragmentError]]
  5. trait PathSegment[T, +A] extends UrlPart[T, A]

    Represents a part of the path string of an URL, containing an information of type T, or an error of type A.

    Represents a part of the path string of an URL, containing an information of type T, or an error of type A.

    T

    type represented by this PathSegment

    A

    type of the error that this PathSegment produces on "illegal" url paths.

  6. trait PathSegmentImpl[A] extends AnyRef

    Using the pre-defined path segments in PathSegment can be cumbersome if you have to constantly specify the error type A, for example in the PathSegment.segment or PathSegment.root methods.

    Using the pre-defined path segments in PathSegment can be cumbersome if you have to constantly specify the error type A, for example in the PathSegment.segment or PathSegment.root methods. Therefore, you can invoke an implementation of this class and import its members instead. We don't redefine PathSegment.intSegment and PathSegment.stringSegment since they can be easily and conveniently invoked using the segment method below.

    A

    type of error.

    Example:
    1. val pathSegmentImpl = PathSegmentImpl[DummyError]
      import pathSegmentImpl._
      
      root / "hello"  // this is of type PathSegment[Unit, DummyError] thanks to the import above.
       (note that in this case there is already a PathSegmentImpl for [[urldsl.errors.DummyError]] in the
       [[PathSegment]] companion object)
  7. final class PathSegmentWithQueryParams[PathType, +PathError, ParamsType, +ParamsError] extends UrlPart[UrlMatching[PathType, ParamsType], Either[PathError, ParamsError]]
  8. trait QueryParameters[Q, +A] extends UrlPart[Q, A]
  9. trait QueryParametersImpl[A] extends AnyRef
  10. trait Tupler[A, B] extends AnyRef

    Defines a strategy for tupling A and B values, according to types A and B.

    Defines a strategy for tupling A and B values, according to types A and B.

    The actual implementation avoids nested tuples and eliminates Unit, so that instead of ending with, e.g., the following type:

    ((Unit, Int), (((Unit, Unit), String)))

    We just get:

    (Int, String)

    The following rules are implemented (by increasing priority):

    • A, B -> (A, B)
    • A, (B, C) -> (A, B, C)
    • (A, B), C -> (A, B, C)
    • (A, B), (C, D) -> (A, B, C, D)
    • A, (B, C, D, E) -> (A, B, C, D, E)
    • (A, B), (C, D, E) -> (A, B, C, D, E)
    • (A, B, C), D -> (A, B, C, D)
    • (A, B, C, D), E -> (A, B, C, D, E)
    • (A, B, C, D, E), F -> (A, B, C, D, E, F)
    • A, Unit -> A
    • Unit, A -> A
  11. trait Tupler1 extends AnyRef
  12. trait Tupler2 extends Tupler1
  13. trait Tupler3 extends Tupler2
  14. trait Tupler4 extends Tupler3
  15. trait UrlPart[T, +E] extends AnyRef

    A UrlPart represents a part of (or the entire) URL and is able to extract some information out of it.

    A UrlPart represents a part of (or the entire) URL and is able to extract some information out of it. When it succeeds to extract information, it returns an element of type T (wrapped in a Right). When it fails to extract such information, it returns an error type E (wrapped in a Left.

    A UrlPart is also able to generate its corresponding part of the URL by ingesting an element of type T. When doing that, it outputs a String (whose semantic may vary depending on the type of UrlPart you are dealing with).

Inherited from AnyRef

Inherited from Any

Ungrouped