Add comprehensive reference documentation for: - Vitest: environments, projects/workspaces, type testing, vi utilities - Pinia: HMR, Nuxt integration, SSR setup - Vue: built-in components (Transition, Teleport, Suspense, KeepAlive) and advanced directives
32 lines
633 B
Markdown
32 lines
633 B
Markdown
---
|
|
category: Utilities
|
|
---
|
|
|
|
# isDefined
|
|
|
|
Non-nullish checking type guard for Ref.
|
|
|
|
## Usage
|
|
|
|
```ts
|
|
import { isDefined } from '@vueuse/core'
|
|
|
|
const example = ref(Math.random() ? 'example' : undefined) // Ref<string | undefined>
|
|
|
|
if (isDefined(example))
|
|
example // Ref<string>
|
|
```
|
|
|
|
## Type Declarations
|
|
|
|
```ts
|
|
export type IsDefinedReturn = boolean
|
|
export declare function isDefined<T>(
|
|
v: ComputedRef<T>,
|
|
): v is ComputedRef<Exclude<T, null | undefined>>
|
|
export declare function isDefined<T>(
|
|
v: Ref<T>,
|
|
): v is Ref<Exclude<T, null | undefined>>
|
|
export declare function isDefined<T>(v: T): v is Exclude<T, null | undefined>
|
|
```
|