UNPKG

@wordpress/core-data

Version:
34 lines (31 loc) 871 B
import type { ResolutionStatus } from '@wordpress/data'; import { Status } from './constants'; /** * Normalizes a resolution status from the store into the resolution info * shared by the entity record hooks and `useQuerySelect`. * * @param resolutionStatus Status returned by the `getResolutionState` selector. * @return Resolution info object. */ export function getResolutionStatus( resolutionStatus?: ResolutionStatus ) { let status: Status; switch ( resolutionStatus ) { case 'resolving': status = Status.Resolving; break; case 'finished': status = Status.Success; break; case 'error': status = Status.Error; break; default: status = Status.Idle; } return { status, isResolving: status === Status.Resolving, hasStarted: status !== Status.Idle, hasResolved: status === Status.Success || status === Status.Error, }; }