Packages

p

urldsl

language

package language

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. trait PathSegment[T, A] extends AnyRef

    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.

  2. final class 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)

  3. final class PathSegmentWithQueryParams[PathType, PathError, ParamsType, ParamsError] extends AnyRef
  4. trait QueryParameters[Q, A] extends AnyRef
  5. final class QueryParametersImpl[A] extends AnyRef
  6. 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
  7. trait Tupler1 extends AnyRef
  8. trait Tupler2 extends Tupler1
  9. trait Tupler3 extends Tupler2
  10. trait Tupler4 extends Tupler3

Value Members

  1. object PathSegment
  2. object PathSegmentImpl
  3. object QueryParameters
  4. object QueryParametersImpl
  5. object Tupler extends Tupler4

Ungrouped