[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › Resource

Concurrency-safe helpers for efficient reuse of disposable resources.

## Functions

| Function                                                                                                                     | Description                                                                                                                |
| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| [createResourceRef](https://evolu.dev/docs/api-reference/common/Resource/functions/createResourceRef)                                     | Creates [ResourceRef](https://evolu.dev/docs/api-reference/common/Resource/interfaces/ResourceRef).                                     |
| [createSharedResource](https://evolu.dev/docs/api-reference/common/Resource/functions/createSharedResource)                               | Creates [SharedResource](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResource).                               |
| [createSharedResourceByKey](https://evolu.dev/docs/api-reference/common/Resource/functions/createSharedResourceByKey)                     | Creates [SharedResourceByKey](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResourceByKey).                     |
| [createSharedResourceByKeyWithClaims](https://evolu.dev/docs/api-reference/common/Resource/functions/createSharedResourceByKeyWithClaims) | Creates [SharedResourceByKeyWithClaims](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResourceByKeyWithClaims). |

## Interfaces

| Interface                                                                                                                       | Description                                                                                                                               |
| ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| [ResourceRef](https://evolu.dev/docs/api-reference/common/Resource/interfaces/ResourceRef)                                                   | [Resource](https://evolu.dev/docs/api-reference/common/Resource/type-aliases/Resource) reference.                                                      |
| [SharedResource](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResource)                                             | Shared [Resource](https://evolu.dev/docs/api-reference/common/Resource/type-aliases/Resource).                                                         |
| [SharedResourceByKey](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResourceByKey)                                   | Shared [Resource](https://evolu.dev/docs/api-reference/common/Resource/type-aliases/Resource)s keyed by logical identity.                              |
| [SharedResourceByKeyOptions](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResourceByKeyOptions)                     | Options for [createSharedResourceByKey](https://evolu.dev/docs/api-reference/common/Resource/functions/createSharedResourceByKey).                     |
| [SharedResourceByKeySnapshot](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResourceByKeySnapshot)                   | Snapshot returned by [SharedResourceByKey.snapshot](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResourceByKey#snapshot).     |
| [SharedResourceByKeyWithClaims](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResourceByKeyWithClaims)               | Shared [Resource](https://evolu.dev/docs/api-reference/common/Resource/type-aliases/Resource)s keyed by logical identity and retained by claims.       |
| [SharedResourceByKeyWithClaimsOptions](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResourceByKeyWithClaimsOptions) | Options for [createSharedResourceByKeyWithClaims](https://evolu.dev/docs/api-reference/common/Resource/functions/createSharedResourceByKeyWithClaims). |
| [SharedResourceOptions](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResourceOptions)                               | Options for [createSharedResource](https://evolu.dev/docs/api-reference/common/Resource/functions/createSharedResource).                               |
| [SharedResourceSnapshot](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResourceSnapshot)                             | Snapshot returned by [SharedResource.snapshot](https://evolu.dev/docs/api-reference/common/Resource/interfaces/SharedResource#snapshot).               |

<a id="createrefcount"></a>

## createRefCount

Re-exports [createRefCount](https://evolu.dev/docs/api-reference/common/RefCount/functions/createRefCount)

---

<a id="createrefcountbykey"></a>

## createRefCountByKey

Re-exports [createRefCountByKey](https://evolu.dev/docs/api-reference/common/RefCount/functions/createRefCountByKey)

---

<a id="createrefcountbykeyoptions"></a>

## CreateRefCountByKeyOptions

Re-exports [CreateRefCountByKeyOptions](https://evolu.dev/docs/api-reference/common/RefCount/interfaces/CreateRefCountByKeyOptions)

---

<a id="refcount"></a>

## RefCount

Re-exports [RefCount](https://evolu.dev/docs/api-reference/common/RefCount/interfaces/RefCount)

---

<a id="refcountbykey"></a>

## RefCountByKey

Re-exports [RefCountByKey](https://evolu.dev/docs/api-reference/common/RefCount/interfaces/RefCountByKey)

---

## Type Aliases

| Type Alias                                                                                | Description                                                                         |
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [BorrowedResource](https://evolu.dev/docs/api-reference/common/Resource/type-aliases/BorrowedResource) | Borrowed [Resource](https://evolu.dev/docs/api-reference/common/Resource/type-aliases/Resource). |
| [Resource](https://evolu.dev/docs/api-reference/common/Resource/type-aliases/Resource)                 | Disposable resource.                                                                |