Crates.io | sparkle-cache |
lib.rs | sparkle-cache |
version | 0.14.1 |
source | src |
created_at | 2022-09-26 13:36:26.216596 |
updated_at | 2022-12-06 20:37:35.47666 |
description | A backend-agnostic Discord cache implementation for the Twilight ecosystem. |
homepage | |
repository | https://github.com/laralove143/sparkle-cache/ |
max_upload_size | |
id | 674253 |
size | 139,100 |
A backend-agnostic Discord cache implementation for the Twilight ecosystem
It provides a Cache
trait that provides methods to get data from the cache and a Backend
trait used to add support
for a backend, refer to the documentation of each trait for more
This crate is for adding support for a backend, if you just need to use the cache, you should use one of the crates:
The models don't use any arrays and every field is a primitive type, this makes it compatible with schematic backends out of the box
Only the data from events are cached, though it's on the to-do list to add support for data that requires API methods
This means this data can't be cached for now:
This doesn't depend tightly on Twilight, you can easily fork this and change the Twilight models used in it
Because it tries to follow Twilight's version, minor versions will include breaking changes. This means you should pin
it to the latest version. For example instead of sparkle-cache = "0.14"
do sparkle-cache = "0.14.0"
. Of course try
to keep it at the latest version as updates usually contain bugfixes
Enables the testing module, it's intended for libraries implementing traits in this library, and it should be enabled
only under [dev-dependencies]
, for example
[package]
name = "sparkle-cache-some-backend"
[dev-dependencies]
sparkle-cache = { version = "x", features = ["tests"] }
[dependencies]
sparkle-cache = "x"
If the test error is related to this crate, please create an issue
Stickers are currently not cached as they can't be tested because of a bug in Twilight
Any feedback or bug reports will be very useful in further development, the code is in a working state with all essential methods done but there's many possible additions that will be added as you request them!