API reference / @evolu/common / Resources / ResourcesConfig

Interface: ResourcesConfig<TResource, TResourceKey, TResourceConfig, TConsumer, TConsumerId>

Defined in: packages/common/src/Resources.ts:75

Type Parameters

Type Parameter
TResource extends Disposable
TResourceKey extends string
TResourceConfig
TConsumer
TConsumerId extends string

Properties

PropertyModifierTypeDescriptionDefined in
createResourcereadonly(config) => TResourceCreates a new resource for the given config.packages/common/src/Resources.ts:83
disposalDelay?readonlynumberDelay in milliseconds before disposing unused resources. Helps avoid resource churn during rapid add/remove cycles. Defaults to 100ms.packages/common/src/Resources.ts:95
getConsumerIdreadonly(consumer) => TConsumerIdExtracts a unique identifier from a consumer for reference counting.packages/common/src/Resources.ts:89
getResourceKeyreadonly(config) => TResourceKeyExtracts a unique key from a resource config for deduplication.packages/common/src/Resources.ts:86
onConsumerAdded?readonly(consumer, resource, resourceKey) => voidCalled when a consumer is added to a resource for the first time. This happens when the consumer's reference count goes from 0 to 1 for this resource.packages/common/src/Resources.ts:102
onConsumerRemoved?readonly(consumer, resource, resourceKey) => voidCalled when a consumer is completely removed from a resource. This happens when the consumer's reference count goes from 1 to 0 for this resource.packages/common/src/Resources.ts:112

Was this page helpful?