ghost-portal/packages/react-hooks/src/useEndpoint.ts
Tarik Gul 384049fb6b
2025 (#11172)
* 2025

* update ci scripts to add access to scripts
2025-01-03 03:59:53 +02:00

23 lines
735 B
TypeScript

// Copyright 2017-2025 @polkadot/react-hooks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { LinkOption } from '@polkadot/apps-config/endpoints/types';
import { useMemo } from 'react';
import { createWsEndpoints } from '@polkadot/apps-config';
import { createNamedHook } from './createNamedHook.js';
const endpoints = createWsEndpoints((k, v) => v?.toString() || k);
export function getEndpoint (apiUrl?: string): LinkOption | null {
return endpoints.find(({ value }) => value === apiUrl) || null;
}
function useEndpointImpl (apiUrl?: string): LinkOption | null {
return useMemo(() => getEndpoint(apiUrl), [apiUrl]);
}
export const useEndpoint = createNamedHook('useEndpoint', useEndpointImpl);