element-plus/docs/.vitepress/vitepress/composables/feature-flag.ts
2022-05-03 15:18:29 +08:00

23 lines
575 B
TypeScript

import { computed, unref } from 'vue'
import { useData } from 'vitepress'
import { isClient, useBrowserLocation } from '@vueuse/core'
import type { MaybeRef } from '@vueuse/core'
const location = useBrowserLocation()
export const useFeatureFlag = (flag: MaybeRef<string>) => {
const { theme } = useData()
return computed(() => {
const _flag = unref(flag)
if (isClient) {
const params = new URLSearchParams(location.value.search)
if (params.get(`feature:${_flag}`)) {
return true
}
}
return theme.value.features[_flag]
})
}