From c350c977d5a82a10c581b5284a8a76700e8df165 Mon Sep 17 00:00:00 2001 From: robonen Date: Wed, 23 Oct 2024 07:48:40 +0700 Subject: [PATCH] chore(packages/vue): update jsdoc, fill package.json --- packages/vue/package.json | 15 ++++++++++----- .../src/composables/tryOnBeforeMount/index.ts | 2 ++ .../vue/src/composables/tryOnMounted/index.ts | 2 ++ .../composables/tryOnScopeDispose/index.test.ts | 1 + .../src/composables/tryOnScopeDispose/index.ts | 2 ++ .../src/composables/useAppSharedState/index.ts | 2 ++ packages/vue/src/composables/useCached/index.ts | 2 ++ packages/vue/src/composables/useClamp/index.ts | 2 ++ .../src/composables/useContextFactory/index.ts | 2 ++ packages/vue/src/composables/useCounter/index.ts | 2 ++ .../vue/src/composables/useLastChanged/index.ts | 2 ++ packages/vue/src/composables/useMounted/index.ts | 2 ++ .../src/composables/useOffsetPagination/index.ts | 2 ++ .../vue/src/composables/useRenderCount/index.ts | 2 ++ .../vue/src/composables/useRenderInfo/index.ts | 5 ++++- .../vue/src/composables/useSupported/index.ts | 2 ++ .../vue/src/composables/useSyncRefs/index.ts | 2 ++ packages/vue/src/utils/components.ts | 16 ++++++++++++++++ packages/vue/src/utils/error.ts | 7 +++++++ 19 files changed, 66 insertions(+), 6 deletions(-) diff --git a/packages/vue/package.json b/packages/vue/package.json index ee98d61..4808423 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,10 +1,15 @@ { "name": "@robonen/vue", - "private": true, - "version": "0.0.0", - "license": "UNLICENSED", - "description": "", - "keywords": [], + "version": "0.0.1", + "license": "Apache-2.0", + "description": "Collection of powerful tools for Vue", + "keywords": [ + "vue", + "tools", + "ui", + "utilities", + "composables" + ], "author": "Robonen Andrew ", "repository": { "type": "git", diff --git a/packages/vue/src/composables/tryOnBeforeMount/index.ts b/packages/vue/src/composables/tryOnBeforeMount/index.ts index c5ee1a5..fc63aa1 100644 --- a/packages/vue/src/composables/tryOnBeforeMount/index.ts +++ b/packages/vue/src/composables/tryOnBeforeMount/index.ts @@ -25,6 +25,8 @@ export interface TryOnBeforeMountOptions { * * @example * tryOnBeforeMount(() => console.log('Before mount async'), { sync: false }); + * + * @since 0.0.1 */ export function tryOnBeforeMount(fn: VoidFunction, options: TryOnBeforeMountOptions = {}) { const { diff --git a/packages/vue/src/composables/tryOnMounted/index.ts b/packages/vue/src/composables/tryOnMounted/index.ts index a0f966e..67232f1 100644 --- a/packages/vue/src/composables/tryOnMounted/index.ts +++ b/packages/vue/src/composables/tryOnMounted/index.ts @@ -25,6 +25,8 @@ export interface TryOnMountedOptions { * * @example * tryOnMounted(() => console.log('Mounted!'), { sync: false }); + * + * @since 0.0.1 */ export function tryOnMounted(fn: VoidFunction, options: TryOnMountedOptions = {}) { const { diff --git a/packages/vue/src/composables/tryOnScopeDispose/index.test.ts b/packages/vue/src/composables/tryOnScopeDispose/index.test.ts index 22ea7c9..d386876 100644 --- a/packages/vue/src/composables/tryOnScopeDispose/index.test.ts +++ b/packages/vue/src/composables/tryOnScopeDispose/index.test.ts @@ -14,6 +14,7 @@ const ComponentStub = defineComponent({ setup(props) { tryOnScopeDispose(props.callback); }, + template: '
', }); describe('tryOnScopeDispose', () => { diff --git a/packages/vue/src/composables/tryOnScopeDispose/index.ts b/packages/vue/src/composables/tryOnScopeDispose/index.ts index 5e309c0..f5189ef 100644 --- a/packages/vue/src/composables/tryOnScopeDispose/index.ts +++ b/packages/vue/src/composables/tryOnScopeDispose/index.ts @@ -11,6 +11,8 @@ import { getCurrentScope, onScopeDispose } from 'vue'; * * @example * tryOnScopeDispose(() => console.log('Scope disposed')); + * + * @since 0.0.1 */ export function tryOnScopeDispose(callback: VoidFunction) { if (getCurrentScope()) { diff --git a/packages/vue/src/composables/useAppSharedState/index.ts b/packages/vue/src/composables/useAppSharedState/index.ts index 69b74a9..e03ba7a 100644 --- a/packages/vue/src/composables/useAppSharedState/index.ts +++ b/packages/vue/src/composables/useAppSharedState/index.ts @@ -23,6 +23,8 @@ import { effectScope } from 'vue'; * const increment = () => state.count++; * return { state, increment }; * }); + * + * @since 0.0.1 */ export function useAppSharedState(stateFactory: Fn) { let initialized = false; diff --git a/packages/vue/src/composables/useCached/index.ts b/packages/vue/src/composables/useCached/index.ts index e45d323..9deb294 100644 --- a/packages/vue/src/composables/useCached/index.ts +++ b/packages/vue/src/composables/useCached/index.ts @@ -19,6 +19,8 @@ export type Comparator = (a: Value, b: Value) => boolean; * @example * const externalValue = ref(0); * const cachedValue = useCached(externalValue, (a, b) => a === b, { immediate: true }); + * + * @since 0.0.1 */ export function useCached( externalValue: MaybeRefOrGetter, diff --git a/packages/vue/src/composables/useClamp/index.ts b/packages/vue/src/composables/useClamp/index.ts index 2ed2d47..3be6025 100644 --- a/packages/vue/src/composables/useClamp/index.ts +++ b/packages/vue/src/composables/useClamp/index.ts @@ -18,6 +18,8 @@ import { computed, isReadonly, ref, toValue, type ComputedRef, type MaybeRef, ty * @example * const value = ref(10); * const clampedValue = useClamp(value, () => 0, () => 5); + * + * @since 0.0.1 */ export function useClamp(value: MaybeRef, min: MaybeRefOrGetter, max: MaybeRefOrGetter): WritableComputedRef; export function useClamp(value: MaybeRefOrGetter, min: MaybeRefOrGetter, max: MaybeRefOrGetter): ComputedRef { diff --git a/packages/vue/src/composables/useContextFactory/index.ts b/packages/vue/src/composables/useContextFactory/index.ts index 801e233..71d9120 100644 --- a/packages/vue/src/composables/useContextFactory/index.ts +++ b/packages/vue/src/composables/useContextFactory/index.ts @@ -12,6 +12,8 @@ import { VueToolsError } from '../..'; * * @example * const [injectContext, provideContext] = useContextFactory('MyContext'); + * + * @since 0.0.1 */ export function useContextFactory(name: string) { const injectionKey: InjectionKey = Symbol(name); diff --git a/packages/vue/src/composables/useCounter/index.ts b/packages/vue/src/composables/useCounter/index.ts index 48c5d79..41ef8e4 100644 --- a/packages/vue/src/composables/useCounter/index.ts +++ b/packages/vue/src/composables/useCounter/index.ts @@ -31,6 +31,8 @@ export interface UseConterReturn { * * @example * const { count, increment, decrement, set, get, reset } = useCounter(0, { min: 0, max: 10 }); + * + * @since 0.0.1 */ export function useCounter( initialValue: MaybeRefOrGetter = 0, diff --git a/packages/vue/src/composables/useLastChanged/index.ts b/packages/vue/src/composables/useLastChanged/index.ts index c16cded..dea5e24 100644 --- a/packages/vue/src/composables/useLastChanged/index.ts +++ b/packages/vue/src/composables/useLastChanged/index.ts @@ -24,6 +24,8 @@ export interface UseLastChangedOptions< * @example * const value = ref(0); * const lastChanged = useLastChanged(value, { immediate: true }); + * + * @since 0.0.1 */ export function useLastChanged(source: WatchSource, options?: UseLastChangedOptions): Ref; export function useLastChanged(source: WatchSource, options: UseLastChangedOptions | UseLastChangedOptions): Ref diff --git a/packages/vue/src/composables/useMounted/index.ts b/packages/vue/src/composables/useMounted/index.ts index 802207a..1b92e6e 100644 --- a/packages/vue/src/composables/useMounted/index.ts +++ b/packages/vue/src/composables/useMounted/index.ts @@ -14,6 +14,8 @@ import { getLifeCycleTarger } from '../..'; * * @example * const isMounted = useMounted(getCurrentInstance()); + * + * @since 0.0.1 */ export function useMounted(instance?: ComponentInternalInstance) { const isMounted = ref(false); diff --git a/packages/vue/src/composables/useOffsetPagination/index.ts b/packages/vue/src/composables/useOffsetPagination/index.ts index 93df385..65bd7c0 100644 --- a/packages/vue/src/composables/useOffsetPagination/index.ts +++ b/packages/vue/src/composables/useOffsetPagination/index.ts @@ -63,6 +63,8 @@ export type UseOffsetPaginationInfinityReturn = Omit console.log(currentPageSize), * onTotalPagesChange: ({ totalPages }) => console.log(totalPages), * }); + * + * @since 0.0.1 */ export function useOffsetPagination(options: Omit): UseOffsetPaginationInfinityReturn; export function useOffsetPagination(options: UseOffsetPaginationOptions): UseOffsetPaginationReturn; diff --git a/packages/vue/src/composables/useRenderCount/index.ts b/packages/vue/src/composables/useRenderCount/index.ts index 3228174..d40737b 100644 --- a/packages/vue/src/composables/useRenderCount/index.ts +++ b/packages/vue/src/composables/useRenderCount/index.ts @@ -15,6 +15,8 @@ import { getLifeCycleTarger } from '../..'; * * @example * const count = useRenderCount(getCurrentInstance()); + * + * @since 0.0.1 */ export function useRenderCount(instance?: ComponentInternalInstance) { const { count, increment } = useCounter(0); diff --git a/packages/vue/src/composables/useRenderInfo/index.ts b/packages/vue/src/composables/useRenderInfo/index.ts index 7d91b55..e7518c8 100644 --- a/packages/vue/src/composables/useRenderInfo/index.ts +++ b/packages/vue/src/composables/useRenderInfo/index.ts @@ -1,3 +1,4 @@ +import { timestamp } from '@robonen/stdlib'; import { onBeforeMount, onBeforeUpdate, onMounted, onUpdated, readonly, ref, type ComponentInternalInstance } from 'vue'; import { useRenderCount } from '../useRenderCount'; import { getLifeCycleTarger } from '../..'; @@ -15,6 +16,8 @@ import { getLifeCycleTarger } from '../..'; * * @example * const { component, count, duration, lastRendered } = useRenderInfo(getCurrentInstance()); + * + * @since 0.0.1 */ export function useRenderInfo(instance?: ComponentInternalInstance) { const target = getLifeCycleTarger(instance); @@ -33,6 +36,6 @@ export function useRenderInfo(instance?: ComponentInternalInstance) { component: target?.type.name ?? target?.uid, count: useRenderCount(instance), duration: readonly(duration), - lastRendered: Date.now(), + lastRendered: timestamp(), }; } \ No newline at end of file diff --git a/packages/vue/src/composables/useSupported/index.ts b/packages/vue/src/composables/useSupported/index.ts index 720778f..8a39902 100644 --- a/packages/vue/src/composables/useSupported/index.ts +++ b/packages/vue/src/composables/useSupported/index.ts @@ -14,6 +14,8 @@ import { useMounted } from '../useMounted'; * * @example * const isSupported = useSupported(() => 'ResizeObserver' in window); + * + * @since 0.0.1 */ export function useSupported(feature: () => unknown) { const isMounted = useMounted(); diff --git a/packages/vue/src/composables/useSyncRefs/index.ts b/packages/vue/src/composables/useSyncRefs/index.ts index 1023097..612bd7b 100644 --- a/packages/vue/src/composables/useSyncRefs/index.ts +++ b/packages/vue/src/composables/useSyncRefs/index.ts @@ -21,6 +21,8 @@ import { isArray } from '@robonen/stdlib'; * const source = ref(0); * const target1 = ref(0); * useSyncRefs(source, target1, { immediate: true }); + * + * @since 0.0.1 */ export function useSyncRefs( source: WatchSource, diff --git a/packages/vue/src/utils/components.ts b/packages/vue/src/utils/components.ts index 62eed3e..5765af6 100644 --- a/packages/vue/src/utils/components.ts +++ b/packages/vue/src/utils/components.ts @@ -1,5 +1,21 @@ import { getCurrentInstance, type ComponentInternalInstance } from 'vue'; +/** + * @name getLifeCycleTarger + * @category Utils + * @description Function to get the target instance of the lifecycle hook + * + * @param {ComponentInternalInstance} target The target instance of the lifecycle hook + * @returns {ComponentInternalInstance | null} Instance of the lifecycle hook or null + * + * @example + * const target = getLifeCycleTarger(); + * + * @example + * const target = getLifeCycleTarger(instance); + * + * @since 0.0.1 + */ export function getLifeCycleTarger(target?: ComponentInternalInstance) { return target || getCurrentInstance(); } \ No newline at end of file diff --git a/packages/vue/src/utils/error.ts b/packages/vue/src/utils/error.ts index 5ebcb71..65fd163 100644 --- a/packages/vue/src/utils/error.ts +++ b/packages/vue/src/utils/error.ts @@ -1,3 +1,10 @@ +/** + * @name VueToolsError + * @category Error + * @description VueToolsError is a custom error class that represents an error in Vue Tools + * + * @since 0.0.1 + */ export class VueToolsError extends Error { constructor(message: string) { super(message);