sparkle-cache 0.13.21

A backend-agnostic Discord cache implementation for the Twilight ecosystem.
Documentation
# Sparkle Cache

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

## Compatibility

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

## Incompleteness

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:

- Private channels
- Bans
- Auto moderation rules
- Integrations
- Scheduled events
- Invites
- Webhooks
- Missing data that you can create a PR to add to this list

## Support for libraries other than Twilight

This doesn't depend tightly on Twilight, you can easily fork this and change the Twilight models used in it

## Features

### Tests

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

```toml
[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

The tests currently don't cover stickers because
of [a bug in Twilight](https://github.com/twilight-rs/twilight/issues/1954)

## Your help is needed

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!