import type { InvestmentResourceMeta } from "@/shared/api"; type SectionState = { error: boolean; hasData: boolean; loading: boolean; partial?: boolean; }; function hasSectionData(data: unknown) { return data !== undefined; } function section(query: { data: unknown; isError: boolean; meta?: InvestmentResourceMeta; }): SectionState { const isError = query.isError || query.meta?.lastAttempt.state === "failed"; const hasData = hasSectionData(query.data); return { error: isError, hasData, loading: !hasData && !isError, partial: query.meta?.completeness === "incomplete", }; } export { section, type SectionState };