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
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
createResource | readonly | (config) => TResource | Creates a new resource for the given config. | packages/common/src/Resources.ts:83 |
disposalDelay? | readonly | number | Delay in milliseconds before disposing unused resources. Helps avoid resource churn during rapid add/remove cycles. Defaults to 100ms. | packages/common/src/Resources.ts:95 |
getConsumerId | readonly | (consumer) => TConsumerId | Extracts a unique identifier from a consumer for reference counting. | packages/common/src/Resources.ts:89 |
getResourceKey | readonly | (config) => TResourceKey | Extracts a unique key from a resource config for deduplication. | packages/common/src/Resources.ts:86 |
onConsumerAdded? | readonly | (consumer, resource, resourceKey) => void | Called 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) => void | Called 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 |