import { type Config, type GetConnectorsReturnType, getConnectors, type ResolvedRegister, watchConnectors, } from '@wagmi/core' import type { ConfigParameter } from '@wagmi/core/internal' import { onScopeDispose, type Ref, ref } from 'vue' import { useConfig } from './useConfig.js' export type UseConnectorsParameters = ConfigParameter export type UseConnectorsReturnType = Ref< GetConnectorsReturnType > /** https://wagmi.sh/vue/api/composables/useConnectors */ export function useConnectors< config extends Config = ResolvedRegister['config'], >( parameters: UseConnectorsParameters = {}, ): UseConnectorsReturnType { const config = useConfig(parameters) const connectors = ref(getConnectors(config)) const unsubscribe = watchConnectors(config, { onChange(data) { connectors.value = data as never }, }) onScopeDispose(() => unsubscribe()) return connectors }