refactor(indexeddb): use finer-grain feature flags to include/exclude serializers

Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
This commit is contained in:
Michael Goldenberg
2025-12-10 20:54:19 -05:00
committed by Ivan Enderlin
parent c57478ee18
commit 256fb0406d
3 changed files with 11 additions and 9 deletions
+7 -4
View File
@@ -15,10 +15,13 @@ rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]
[features]
default = ["e2e-encryption", "state-store", "event-cache-store", "media-store"]
event-cache-store = ["dep:matrix-sdk-base", "media-store"]
media-store = ["dep:matrix-sdk-base"]
state-store = ["dep:matrix-sdk-base", "growable-bloom-filter"]
e2e-encryption = ["dep:matrix-sdk-base", "dep:matrix-sdk-crypto"]
event-cache-store = ["dep:matrix-sdk-base", "media-store", "indexed-type-serializer"]
media-store = ["dep:matrix-sdk-base", "indexed-type-serializer"]
state-store = ["dep:matrix-sdk-base", "growable-bloom-filter", "safe-encode-traits"]
e2e-encryption = ["dep:matrix-sdk-base", "dep:matrix-sdk-crypto", "safe-encode-serializer"]
safe-encode-traits = []
safe-encode-serializer = ["dep:matrix-sdk-crypto", "safe-encode-traits"]
indexed-type-serializer = ["safe-encode-serializer"]
testing = ["matrix-sdk-crypto?/testing"]
experimental-encrypted-state-events = [
"matrix-sdk-crypto?/experimental-encrypted-state-events"
@@ -15,10 +15,7 @@
#[cfg(feature = "e2e-encryption")]
pub mod foreign;
#[cfg(all(
feature = "e2e-encryption",
any(feature = "event-cache-store", feature = "media-store")
))]
#[cfg(feature = "indexed-type-serializer")]
pub mod indexed_type;
#[cfg(all(
feature = "e2e-encryption",
@@ -37,6 +34,7 @@ pub use indexed_type::{
IndexedTypeSerializer,
};
#[cfg(any(feature = "safe-encode-traits", feature = "safe-encode-serializer"))]
pub mod safe_encode;
#[cfg(feature = "e2e-encryption")]
pub use safe_encode::types::{MaybeEncrypted, SafeEncodeSerializer, SafeEncodeSerializerError};
@@ -12,7 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#[cfg(feature = "safe-encode-traits")]
pub mod traits;
#[cfg(feature = "e2e-encryption")]
#[cfg(feature = "safe-encode-serializer")]
pub mod types;