Skip to main content

qubit_codec/value/
value_string_codec_registration.rs

1// =============================================================================
2//    Copyright (c) 2026 Haixing Hu.
3//
4//    SPDX-License-Identifier: Apache-2.0
5//
6//    Licensed under the Apache License, Version 2.0.
7// =============================================================================
8
9//! Registration type for string-wire value codecs.
10
11use crate::ValueCodecRegistration;
12use crate::ValueStringCodecDescriptor;
13
14/// A registration for a value codec that encodes to and decodes from strings.
15///
16/// # Examples
17///
18/// ```
19/// # #[cfg(all(feature = "json", feature = "registry"))]
20/// # {
21/// use qubit_codec::JsonStringValueCodec;
22/// use qubit_codec::ValueCodecId;
23/// use qubit_codec::ValueCodecRegistration;
24/// use qubit_codec::ValueCodecRegistrationSource;
25/// use qubit_codec::ValueStringCodecDescriptor;
26/// use qubit_codec::ValueStringCodecRegistration;
27///
28/// static DESCRIPTOR: ValueStringCodecDescriptor =
29///     ValueStringCodecDescriptor::of::<JsonStringValueCodec<u32>, u32>();
30/// let registration: ValueStringCodecRegistration = ValueCodecRegistration::new(
31///     ValueCodecId::new("example.u32"),
32///     &DESCRIPTOR,
33///     ValueCodecRegistrationSource::new("qubit-codec", "doctest", "src/example.rs", 1),
34/// );
35/// assert_eq!(registration.id().as_str(), "example.u32");
36/// # }
37/// ```
38pub type ValueStringCodecRegistration = ValueCodecRegistration<ValueStringCodecDescriptor>;