# RefGraph.hasNode

Check if a node exists.

## Signatures

```ts
export declare const hasNode: {
    (nodeIndex: Graph.NodeIndex): <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Computed<boolean, Err, R>;
    <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, nodeIndex: Graph.NodeIndex): RefSubject.Computed<boolean, Err, R>;
};
```

## Why

Makes has node a live projection of the graph; consumers can sample it now or observe it without
copying the source state.

## Ownership and lifetime

The has node view retains no independent state. An Effect read samples the source once; Fx
observation follows later pushes and its observing Scope owns subscription cleanup.
