d2-admin/d2/use/switch.js

43 lines
749 B
JavaScript

import { computed, ref, unref } from 'vue'
/**
* Returns the Boolean value of the response and the switching method
*/
export function useSwitch (
defaultValue = false,
{
trueValue = true,
falseValue = false
} = {}
) {
const value = ref(defaultValue ? trueValue : falseValue)
function toggle () {
if (unref(isTrue)) {
switchFalse()
} else {
switchTrue()
}
}
function switchTrue () {
value.value = trueValue
}
function switchFalse () {
value.value = falseValue
}
const isTrue = computed(() => unref(value) === trueValue)
const isFalse = computed(() => unref(value) === falseValue)
return {
value,
toggle,
switchTrue,
switchFalse,
isTrue,
isFalse
}
}