UNPKG

storybook

Version:

Storybook: Develop, document, and test UI components in isolation

42 lines (40 loc) 1.08 kB
// src/shared/open-service/query-state.ts function buildQueryState(data, lifecycle) { let isPending = lifecycle.status === "pending", isLoading = lifecycle.loadStatus === "loading"; return { data, error: lifecycle.error, status: lifecycle.status, loadStatus: lifecycle.loadStatus, isPending, isSuccess: lifecycle.status === "success", isError: lifecycle.status === "error", isLoading, isInitialLoading: isPending && isLoading && data === void 0, isRefreshing: isLoading && !isPending }; } function toError(value) { return value instanceof Error ? value : new Error(String(value)); } function seedQueryState(query, input, selector) { try { let output = query.get(input); return buildQueryState(selector ? selector(output) : output, { status: "pending", error: void 0, loadStatus: "loading" }); } catch (error) { return buildQueryState(void 0, { status: "error", error: toError(error), loadStatus: "idle" }); } } export { buildQueryState, toError, seedQueryState };