API reference@evolu/commonResource › SharedResourceByKeyWithClaims

Defined in: packages/common/src/Resource.ts:558

Shared Resources keyed by logical identity and retained by claims.

This combines SharedResourceByKey with claim tracking. Resources are kept alive while at least one claim retains their key.

By default, createSharedResourceByKeyWithClaims uses reference identity for both resource keys and claims, matching native Map and Set. Callers may instead provide lookup functions so logical equality is based on derived stable keys.

Extends

Methods

[asyncDispose]()

asyncDispose: PromiseLike<void>;

Defined in: node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts:40

Inherited from

AsyncDisposable.[asyncDispose]

Properties

addClaim

readonly addClaim: (claim: C, resourceKeys: readonly K[]) => Task<void, never, D>;

Defined in: packages/common/src/Resource.ts:565

Retains each resource key for claim.

getClaimsForResource

readonly getClaimsForResource: (key: K) => ReadonlySet<C>;

Defined in: packages/common/src/Resource.ts:580

Returns the current unique claims retaining key.

getResource

readonly getResource: (key: K) =>
  | BorrowedResource<T>
  | undefined;

Defined in: packages/common/src/Resource.ts:577

Returns the current resource for key, or undefined if absent.

getResourceKeysForClaim

readonly getResourceKeysForClaim: (claim: C) => ReadonlySet<K>;

Defined in: packages/common/src/Resource.ts:583

Returns the current unique resource keys retained by claim.

getResourcesForClaim

readonly getResourcesForClaim: (claim: C) => ReadonlySet<BorrowedResource<T>>;

Defined in: packages/common/src/Resource.ts:586

Returns the current unique resources retained by claim.

removeClaim

readonly removeClaim: (claim: C, resourceKeys: readonly K[]) => Task<void, never, D>;

Defined in: packages/common/src/Resource.ts:571

Releases each previously retained resource key for claim.