From 5281824b5d7168535a26249cfede7c1705b3c618 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Fri, 31 Mar 2023 00:49:45 +0200 Subject: [PATCH] fix(otp-generator): better computation of token --- src/composable/computedRefreshable.ts | 10 +++-- .../otp-code-generator-and-validator.vue | 37 +++++++------------ 2 files changed, 21 insertions(+), 26 deletions(-) diff --git a/src/composable/computedRefreshable.ts b/src/composable/computedRefreshable.ts index e89b79b3..89ab7348 100644 --- a/src/composable/computedRefreshable.ts +++ b/src/composable/computedRefreshable.ts @@ -1,15 +1,19 @@ -import { computedAsync } from '@vueuse/core'; +import { computedAsync, watchThrottled } from '@vueuse/core'; import { computed, ref, watch } from 'vue'; export { computedRefreshable, computedRefreshableAsync }; -function computedRefreshable(getter: () => T) { +function computedRefreshable(getter: () => T, { throttle }: { throttle?: number } = {}) { const dirty = ref(true); let value: T; const update = () => (dirty.value = true); - watch(getter, update); + if (throttle) { + watchThrottled(getter, update, { throttle }); + } else { + watch(getter, update); + } const computedValue = computed(() => { if (dirty.value) { diff --git a/src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue b/src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue index d7a35cc2..c435a335 100644 --- a/src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue +++ b/src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue @@ -65,11 +65,12 @@