| 1234567891011121314151617181920212223242526272829 |
- import type { UnwrapRef } from 'vue'
- import { ref, isRef } from 'vue'
- const RefUtils = {
- /**
- * Convertit la valeur passée en référence.
- * S'il s'agit déjà d'une ref, selon que `maintainReactivity` est vrai ou faux, on conserve la référence existante
- * ou bien on la recréé pour briser la réactivité.
- *
- * @param value
- * @param maintainReactivity
- */
- castToRef<T>(
- value: T | Ref<T>,
- maintainReactivity: boolean = true,
- ): Ref<T> | Ref<UnwrapRef<T>> {
- if (isRef(value)) {
- if (maintainReactivity) {
- return value
- } else {
- return ref(value.value as T)
- }
- } else {
- return ref(value as T)
- }
- }
- }
- export default RefUtils
|