# isRefSubject

Checks if a value is a `RefSubject`.

## Signatures

```ts
export declare function isRefSubject(value: any): value is RefSubject<any, any, any>;
```

## Why

Checks if a value is a `RefSubject`.

## Ownership and lifetime

The derived ref owns no independent state or subscription. It follows the source lifetime and
routes writes through the source's synchronized update boundary.

## Examples

```ts
import { Effect } from "effect"
import * as RefSubject from "@typed/fx/RefSubject"

const program = Effect.gen(function* () {
  const ref = yield* RefSubject.make(42)
  const isRef = RefSubject.isRefSubject(ref)
  console.log(isRef) // true

  const notRef = { value: 42 }
  const isNotRef = RefSubject.isRefSubject(notRef)
  console.log(isNotRef) // false
})
```
