// Copyright 2017-2026 @pezkuwi/react-hooks authors & contributors // SPDX-License-Identifier: Apache-2.0 import type { OnDemandQueueStatus } from './types.js'; import { useEffect, useState } from 'react'; import { createNamedHook, useApi, useCall } from '@pezkuwi/react-hooks'; function extractInfo (value: OnDemandQueueStatus) { return { freedIndices: value.freedIndices, nextIndex: value.nextIndex, smallestIndex: value.smallestIndex, traffic: value.traffic }; } function useQueueStatusImpl (): OnDemandQueueStatus | undefined { const { api } = useApi(); const queue = useCall(api.query.onDemandAssignmentProvider?.queueStatus); const [state, setState] = useState(); useEffect((): void => { queue && setState( extractInfo(queue) ); }, [queue]); return state; } export const useQueueStatus = createNamedHook('useQueueStatus', useQueueStatusImpl);