UNPKG

@typed/io

Version:

Runtime IO type system

22 lines 823 B
import { equals } from '@typed/logic'; import { isDoneLoading, isFailure, isLoading, isRefreshing, isRefreshingFailure, isRefreshingSuccess, isSuccess, NoData, } from '@typed/remote-data'; import { Record } from './Record'; import { refinement } from './refinement'; const isNoData = equals(NoData); const _RemoteData = refinement(Record, (r) => isNoData(r) || isLoading(r) || isDoneLoading(r) || isRefreshing(r)); export { _RemoteData as RemoteData }; export function remoteData(left, right) { return refinement(_RemoteData, (u) => { if (isFailure(u) || isRefreshingFailure(u)) { return left.is(u.value); } if (isSuccess(u) || isRefreshingSuccess(u)) { return right.is(u.value); } return true; }); } //# sourceMappingURL=RemoteData.js.map