API reference › @evolu/common › Resource › 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.