@hazae41/glacier
Version:
Yet another React data (re)fetching library
27 lines (24 loc) • 775 B
JavaScript
/**
* Fallback to given data/error if there is no data/error
* @example You got some data/error using SSR/ISR and want to display it on first render
* @example You still want to display something even if the fetcher returned nothing
* @param query
* @param fallback
*/
function useFallback(query, factory) {
if (factory == null)
return;
if (query.data != null)
return;
if (query.error != null)
return;
const fallback = factory();
if (fallback.isData())
Object.assign(query, { data: fallback });
if (fallback.isFail())
Object.assign(query, { error: fallback });
Object.assign(query, { current: fallback });
}
exports.useFallback = useFallback;
//# sourceMappingURL=use-fallback.cjs.map
;