Packages

c

fetch

Fetcher

class Fetcher[F[_], P, E, T] extends AnyRef

Fetch data and render a child with a fetch status. Child can process the data and typically memoizes it if it transforms it e.g. sorts it or converts the values. Fetch provides a generic F that must be an Effect so a result can be "fetched." You can create the Fetcher and provide the fetch "recipe" in F as a parameter or let the child initiate a fetch--you have a choice. Allowing the child to initiate a "fetch" makes the API messy. See this [blog](https://appddeevvmeanderings.blogspot.com/2018/12/abstracting-react-scalajs-react-fetcher.html) for more details on how to define your Runner. Any type of cancellation aspect should be handled in Runner.

Once you define your element by creating an instance of this class, you will want to import the FetchState types. Import the dependent value types using import myFetcher._.

F

Fetch effect. Produces a P. F may also hold an error, an implied Throwable. There are no constraints on F in this class because Runner expresses an optionally synchronous computation.

P

Result inside F. Generally can be broken out into E and T i.e. P is often a coproduct of E and T. P exists in the type signature so that we do not have to add a context constraint to F.

E

Error data to be delivered to child. It is often a Throwable but is dependent on the effect you are using and how you map your errors from that effect e.g. convert a Throwable to another type.

T

Resulting data to be delivered to child.

To do

Bake in cancellable when unmounting.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Fetcher
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Fetcher(Name: String)

Type Members

  1. case class Error(content: E) extends FetchState with Product with Serializable

    Load resulted in an error.

  2. type FetchCallback = (F[P]) => Unit

    Initiate a fetch for P.

  3. sealed trait FetchState extends AnyRef

    Load state passed to a child.

  4. trait Props extends Object
    Annotations
    @JSType()
  5. type Runner = (F[P]) => ((Either[E, T]) => Unit) => Unit

    Given a fetch request F[P] and a callback, run the F and call the callback to process the results.

    Given a fetch request F[P] and a callback, run the F and call the callback to process the results. The results have to be split into an error part and a "value" part so that the proper fetch state can be passed to the child.

  6. case class Success(item: T) extends FetchState with Product with Serializable

    Load was successful, hold item.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def apply(props: Props): ReactNode

    Provide data loading status to a child.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. val render: (Props) => ReactNode
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. case object Fetching extends FetchState with Product with Serializable

    Loading still in progress.

  22. case object NotRequested extends FetchState with Product with Serializable

    Initial state until a fetch request is made.

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped