UNPKG

valaxy-addon-git-log

Version:

Integrates git logs into your page of Valaxy site.

31 lines (26 loc) 1.04 kB
import type { MaybeRefOrGetter, Ref } from 'vue' import type { Contributor } from '../../types' import { computedAsync } from '@vueuse/core' import { computed, toValue } from 'vue' import { parseGithubUrl } from '../../utils' import { useAddonGitLogConfig } from '../options' import { fetchContributors } from '../services' import { useGitLog } from './gitlog' export function useContributor(path?: MaybeRefOrGetter<string>): Ref<Contributor[]> { const gitLog = useGitLog() const gitLogOptions = useAddonGitLogConfig() const strategy = gitLogOptions.value.contributor?.strategy if (strategy === 'runtime') { const contributors = computedAsync<Contributor[]>( async () => { const { owner, repo } = parseGithubUrl(gitLogOptions.value.repositoryUrl!) const _path = toValue(path || gitLog.value.path) return await fetchContributors(owner, repo, _path) }, gitLog.value.contributors, { lazy: true }, ) return contributors } return computed(() => gitLog.value.contributors) }