RemoteData
RemoteData:
object
Defined in: Core/RemoteData.ts:31
Type Declaration
Section titled “Type Declaration”apply: <
E2,A>(arg) => <B,E1>(remoteData) =>RemoteData<E2|E1,B>
Applies a function wrapped in a RemoteData to a value wrapped in a RemoteData.
Type Parameters
Section titled “Type Parameters”E2 = never
A = unknown
Parameters
Section titled “Parameters”RemoteData<E2, A>
Returns
Section titled “Returns”<B, E1>(remoteData) => RemoteData<E2 | E1, B>
Example
Section titled “Example”chain: <
E2,A,B>(transform) => <E1>(remoteData) =>RemoteData<E2|E1,B>
Chains RemoteData computations. If the input is Success, passes the value to transform. Otherwise, propagates the current state.
Type Parameters
Section titled “Type Parameters”E2
A
B
Parameters
Section titled “Parameters”transform
Section titled “transform”(value) => RemoteData<E2, B>
Returns
Section titled “Returns”<E1>(remoteData) => RemoteData<E2 | E1, B>
RemoteData.map to transform the success value without returning a new RemoteData.
Example
Section titled “Example”filter
Section titled “filter”filter: {<
A,B,E2>(predicate,onFalse): <E1>(remoteData) =>RemoteData<E2|E1,B>; <A,E2>(predicate,onFalse): <E1>(remoteData) =>RemoteData<E2|E1,A>; }
Filters a Success value. When the predicate passes, the value is kept. When it fails,
Success becomes Failure using the error produced by onFalse. All other states pass through unchanged.
Call Signature
Section titled “Call Signature”<
A,B,E2>(predicate,onFalse): <E1>(remoteData) =>RemoteData<E2|E1,B>
Type Parameters
Section titled “Type Parameters”A
B
E2
Parameters
Section titled “Parameters”predicate
Section titled “predicate”(value) => value is B
onFalse
Section titled “onFalse”(value) => E2
Returns
Section titled “Returns”<E1>(remoteData) => RemoteData<E2 | E1, B>
Call Signature
Section titled “Call Signature”<
A,E2>(predicate,onFalse): <E1>(remoteData) =>RemoteData<E2|E1,A>
Type Parameters
Section titled “Type Parameters”A
E2
Parameters
Section titled “Parameters”predicate
Section titled “predicate”(value) => boolean
onFalse
Section titled “onFalse”(value) => E2
Returns
Section titled “Returns”<E1>(remoteData) => RemoteData<E2 | E1, A>
Example
Section titled “Example”from:
object
from.Maybe
Section titled “from.Maybe”Maybe: <
E>(onNone) => <A>(maybe) =>RemoteData<E,A>
Converts a Maybe to a RemoteData. Some becomes Success, None becomes Failure using the onNone error producer.
Type Parameters
Section titled “Type Parameters”E
Parameters
Section titled “Parameters”onNone
Section titled “onNone”() => E
Returns
Section titled “Returns”<A>(maybe) => RemoteData<E, A>
Example
Section titled “Example”from.Result
Section titled “from.Result”Result: <
E,A>(result) =>RemoteData<E,A>
Converts a Result to a RemoteData. Ok becomes Success, Err becomes Failure.
Type Parameters
Section titled “Type Parameters”E
A
Parameters
Section titled “Parameters”result
Section titled “result”Result<E, A>
Returns
Section titled “Returns”RemoteData<E, A>
Example
Section titled “Example”getOrElse
Section titled “getOrElse”getOrElse: <
B>(fallback) => <A,E>(remoteData) =>B|A
Returns the success value or a default value if the RemoteData is not Success.
The default can be a different type, widening the result to A | B.
Type Parameters
Section titled “Type Parameters”B
Parameters
Section titled “Parameters”fallback
Section titled “fallback”() => B
Returns
Section titled “Returns”<A, E>(remoteData) => B | A
RemoteData.match to handle all four lifecycle states.
Example
Section titled “Example”is:
object
is.failure
Section titled “is.failure”failure: <
E,A>(remoteData) =>remoteData is Failure<E>=isFailure
Type guard that checks if a RemoteData is Failure.
Type Parameters
Section titled “Type Parameters”E
A
Parameters
Section titled “Parameters”remoteData
Section titled “remoteData”RemoteData<E, A>
Returns
Section titled “Returns”remoteData is Failure<E>
RemoteData.is.success to check if data loaded successfully.
Example
Section titled “Example”is.loading
Section titled “is.loading”loading: <
E,A>(remoteData) =>remoteData is Loading=isLoading
Type guard that checks if a RemoteData is Loading.
Type Parameters
Section titled “Type Parameters”E
A
Parameters
Section titled “Parameters”remoteData
Section titled “remoteData”RemoteData<E, A>
Returns
Section titled “Returns”remoteData is Loading
Example
Section titled “Example”is.notAsked
Section titled “is.notAsked”notAsked: <
E,A>(remoteData) =>remoteData is NotAsked=isNotAsked
Type guard that checks if a RemoteData is NotAsked.
Type Parameters
Section titled “Type Parameters”E
A
Parameters
Section titled “Parameters”remoteData
Section titled “remoteData”RemoteData<E, A>
Returns
Section titled “Returns”remoteData is NotAsked
Example
Section titled “Example”is.success
Section titled “is.success”success: <
E,A>(remoteData) =>remoteData is Success<A>=isSuccess
Type guard that checks if a RemoteData is Success.
Type Parameters
Section titled “Type Parameters”E
A
Parameters
Section titled “Parameters”remoteData
Section titled “remoteData”RemoteData<E, A>
Returns
Section titled “Returns”remoteData is Success<A>
RemoteData.is.failure to check if data loading failed.
Example
Section titled “Example”make:
object
make.failure
Section titled “make.failure”failure: <
E>(error) =>Failure<E> =makeFailure
Creates a Failure RemoteData with the given error.
Type Parameters
Section titled “Type Parameters”E
Parameters
Section titled “Parameters”E
Returns
Section titled “Returns”Failure<E>
Example
Section titled “Example”make.loading
Section titled “make.loading”loading: () =>
Loading=makeLoading
Creates a Loading RemoteData.
Returns
Section titled “Returns”Example
Section titled “Example”make.notAsked
Section titled “make.notAsked”notAsked: () =>
NotAsked=makeNotAsked
Creates a NotAsked RemoteData.
Returns
Section titled “Returns”Example
Section titled “Example”make.success
Section titled “make.success”success: <
A>(value) =>Success<A> =makeSuccess
Creates a Success RemoteData with the given value.
Type Parameters
Section titled “Type Parameters”A
Parameters
Section titled “Parameters”A
Returns
Section titled “Returns”Success<A>
Example
Section titled “Example”map: <
A,B>(transform) => <E>(remoteData) =>RemoteData<E,B>
Transforms the success value inside a RemoteData.
Type Parameters
Section titled “Type Parameters”A
B
Parameters
Section titled “Parameters”transform
Section titled “transform”(value) => B
Returns
Section titled “Returns”<E>(remoteData) => RemoteData<E, B>
- RemoteData.chain to sequence operations that themselves return a RemoteData.
- RemoteData.mapError to transform the error value instead of the success value.
Example
Section titled “Example”mapError
Section titled “mapError”mapError: <
E,F>(transform) => <A>(remoteData) =>RemoteData<F,A>
Transforms the error value inside a RemoteData.
Type Parameters
Section titled “Type Parameters”E
F
Parameters
Section titled “Parameters”transform
Section titled “transform”(error) => F
Returns
Section titled “Returns”<A>(remoteData) => RemoteData<F, A>
- RemoteData.map to transform the success value instead of the error value.
- RemoteData.chain to sequence operations that return a RemoteData.
Example
Section titled “Example”match: <
E,A,B>(cases) => (remoteData) =>B
Pattern matches on a RemoteData, returning the result of the matching case.
Type Parameters
Section titled “Type Parameters”E
A
B
Parameters
Section titled “Parameters”failure
Section titled “failure”(error) => B
loading
Section titled “loading”() => B
notAsked
Section titled “notAsked”() => B
success
Section titled “success”(value) => B
Returns
Section titled “Returns”(remoteData) => B
Example
Section titled “Example”recover
Section titled “recover”recover: <
E1,B,E2>(fallback) => <A>(remoteData) =>RemoteData<E2,B|A>
Recovers from a Failure state by providing a fallback RemoteData. The fallback can produce a different success type or resolve with a different error type.
Type Parameters
Section titled “Type Parameters”E1
B = never
E2 = never
Parameters
Section titled “Parameters”fallback
Section titled “fallback”(error) => RemoteData<E2, B>
Returns
Section titled “Returns”<A>(remoteData) => RemoteData<E2, B | A>
- RemoteData.getOrElse to extract the success value with a default fallback.
- RemoteData.mapError to transform the error without recovering from it.
Example
Section titled “Example”tap: <
A>(sideEffect) => <E>(remoteData) =>RemoteData<E,A>
Executes a side effect on the success value without changing the RemoteData.
Type Parameters
Section titled “Type Parameters”A
Parameters
Section titled “Parameters”sideEffect
Section titled “sideEffect”(value) => void
Returns
Section titled “Returns”<E>(remoteData) => RemoteData<E, A>
RemoteData.tapError to perform a side effect on the failure error.
Example
Section titled “Example”tapError
Section titled “tapError”tapError: <
E>(sideEffect) => <A>(remoteData) =>RemoteData<E,A>
Executes a side effect on the failure error without changing the RemoteData. Useful for logging errors.
Type Parameters
Section titled “Type Parameters”E
Parameters
Section titled “Parameters”sideEffect
Section titled “sideEffect”(error) => void
Returns
Section titled “Returns”<A>(remoteData) => RemoteData<E, A>
RemoteData.tap to perform a side effect on the success value.
Example
Section titled “Example”to:
object
to.Maybe
Section titled “to.Maybe”Maybe: <
E,A>(remoteData) =>Maybe<A>
Converts a RemoteData to a Maybe. Success becomes Some, all other states become None.
Type Parameters
Section titled “Type Parameters”E
A
Parameters
Section titled “Parameters”remoteData
Section titled “remoteData”RemoteData<E, A>
Returns
Section titled “Returns”Maybe<A>
- RemoteData.to.Result to convert to a Result with an error fallback.
- RemoteData.from.Maybe to convert a Maybe into a RemoteData.
Example
Section titled “Example”to.Result
Section titled “to.Result”Result: <
E2>(onNotReady) => <E1,A>(remoteData) =>Result<E2|E1,A>
Converts a RemoteData to a Result. Success becomes Ok, Failure becomes Err. NotAsked and Loading become Err with the provided fallback error.
Type Parameters
Section titled “Type Parameters”E2
Parameters
Section titled “Parameters”onNotReady
Section titled “onNotReady”() => E2
Returns
Section titled “Returns”<E1, A>(remoteData) => Result<E2 | E1, A>