diff --git a/packages/vue/src/composables/useCounter/index.test.ts b/packages/vue/src/composables/useCounter/index.test.ts index 6ad2196..fba7e50 100644 --- a/packages/vue/src/composables/useCounter/index.test.ts +++ b/packages/vue/src/composables/useCounter/index.test.ts @@ -1,6 +1,6 @@ import { it, expect, describe } from 'vitest'; -import { useCounter } from '.'; import { ref } from 'vue'; +import { useCounter } from '.'; describe('useCounter', () => { it('initialize count with the provided initial value', () => { diff --git a/packages/vue/src/composables/useCounter/index.ts b/packages/vue/src/composables/useCounter/index.ts index 3f27868..6b42ba4 100644 --- a/packages/vue/src/composables/useCounter/index.ts +++ b/packages/vue/src/composables/useCounter/index.ts @@ -1,4 +1,4 @@ -import { ref, unref, type MaybeRef } from 'vue'; +import { ref, unref, type MaybeRef, type Ref } from 'vue'; import { clamp } from '@robonen/stdlib'; export interface UseCounterOptions { @@ -6,6 +6,15 @@ export interface UseCounterOptions { max?: number; } +export interface UseConterReturn { + count: Ref; + increment: (delta?: number) => void; + decrement: (delta?: number) => void; + set: (value: number) => void; + get: () => number; + reset: (value?: number) => void; +} + /** * @name useCounter * @category Utilities @@ -15,6 +24,7 @@ export interface UseCounterOptions { * @param {UseCounterOptions} [options={}] The options for the counter * @param {number} [options.min=Number.MIN_SAFE_INTEGER] The minimum value of the counter * @param {number} [options.max=Number.MAX_SAFE_INTEGER] The maximum value of the counter + * @returns {UseConterReturn} The counter object * * @example * const { count, increment } = useCounter(0); @@ -22,7 +32,10 @@ export interface UseCounterOptions { * @example * const { count, increment, decrement, set, get, reset } = useCounter(0, { min: 0, max: 10 }); */ -export function useCounter(initialValue: MaybeRef = 0, options: UseCounterOptions = {}) { +export function useCounter( + initialValue: MaybeRef = 0, + options: UseCounterOptions = {}, +): UseConterReturn { let _initialValue = unref(initialValue); const count = ref(initialValue);