refUtils.ts 677 B

1234567891011121314151617181920212223242526
  1. import type { UnwrapRef } from 'vue'
  2. export default class RefUtils {
  3. /**
  4. * Convertit la valeur du filtre en référence. S'il s'agit déjà d'une ref,
  5. * selon que `maintainReactivity` soit vrai ou faux, on conserve la référence existante
  6. * ou bien on la recréé pour briser la réactivité.
  7. *
  8. * @param value
  9. * @param maintainReactivity
  10. */
  11. static castToRef<T>(
  12. value: T | Ref<T>,
  13. maintainReactivity: boolean = true,
  14. ): Ref<T> | Ref<UnwrapRef<T>> {
  15. if (isRef(value)) {
  16. if (maintainReactivity) {
  17. return value
  18. } else {
  19. return ref(value.value as T)
  20. }
  21. } else {
  22. return ref(value as T)
  23. }
  24. }
  25. }