# RefHashRing.has

Check if a node exists in the HashRing.

## Signatures

```ts
export declare const has: {
    <A extends PrimaryKey.PrimaryKey>(node: A): <E, R>(ref: RefHashRing<A, E, R>) => RefSubject.Computed<boolean, E, R>;
    <A extends PrimaryKey.PrimaryKey, E, R>(ref: RefHashRing<A, E, R>, node: A): RefSubject.Computed<boolean, E, R>;
};
```

## Why

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

## Ownership and lifetime

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