From d48e6469a371bf925537d7e6336f0c009ffa798b Mon Sep 17 00:00:00 2001 From: robonen Date: Sun, 6 Oct 2024 06:47:53 +0700 Subject: [PATCH] refactor(packages/vue): some fixes, add resumable type --- packages/vue/src/composables/index.ts | 6 +++- .../useContextFactory/index.test.ts | 2 +- packages/vue/src/types/resumable.ts | 30 +++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 packages/vue/src/types/resumable.ts diff --git a/packages/vue/src/composables/index.ts b/packages/vue/src/composables/index.ts index 9177833..8194544 100644 --- a/packages/vue/src/composables/index.ts +++ b/packages/vue/src/composables/index.ts @@ -1,5 +1,9 @@ export * from './useCached'; +export * from './useContextFactory'; export * from './useCounter'; +export * from './useLastChanged'; +export * from './useMounted'; export * from './useRenderCount'; +export * from './useSupported'; export * from './useSyncRefs'; -export * from './useToggle'; \ No newline at end of file +export * from './useToggle'; diff --git a/packages/vue/src/composables/useContextFactory/index.test.ts b/packages/vue/src/composables/useContextFactory/index.test.ts index 0dc5033..9b797de 100644 --- a/packages/vue/src/composables/useContextFactory/index.test.ts +++ b/packages/vue/src/composables/useContextFactory/index.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect } from 'vitest'; import { defineComponent } from 'vue'; -import { useContextFactory } from './index'; +import { useContextFactory } from '.'; import { mount } from '@vue/test-utils'; import { VueToolsError } from '../../utils'; diff --git a/packages/vue/src/types/resumable.ts b/packages/vue/src/types/resumable.ts new file mode 100644 index 0000000..ad99dc8 --- /dev/null +++ b/packages/vue/src/types/resumable.ts @@ -0,0 +1,30 @@ +/** + * Often times, we want to pause and resume a process. This is a common pattern in + * reactive programming. This interface defines the options and actions for a resumable + * process. + */ + +/** + * The options for a resumable process. + * + * @typedef {Object} ResumableOptions + * @property {boolean} [immediate] Whether to immediately resume the process + * + */ +export interface ResumableOptions { + immediate?: boolean; +} + +/** + * The actions for a resumable process. + * + * @typedef {Object} ResumableActions + * @property {Function} resume Resumes the process + * @property {Function} pause Pauses the process + * @property {Function} toggle Toggles the process + */ +export interface ResumableActions { + resume: () => void; + pause: () => void; + toggle: () => void; +} \ No newline at end of file