Skip to main content

qubit_codec/value/
json_value_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//! Built-in registry entries for Serde JSON value codecs.
9
10use serde_json::Value;
11
12use crate::JsonBytesValueCodec;
13use crate::JsonStringValueCodec;
14use crate::register_value_bytes_codec;
15use crate::register_value_string_codec;
16
17/// Stable registry ID for JSON string value codecs.
18pub const JSON_STRING_VALUE_CODEC_ID: &str = "qubit.codec.json.string";
19
20/// Stable registry ID for JSON bytes value codecs.
21pub const JSON_BYTES_VALUE_CODEC_ID: &str = "qubit.codec.json.bytes";
22
23register_value_string_codec!(
24    id = JSON_STRING_VALUE_CODEC_ID,
25    codec = JsonStringValueCodec<Value>,
26    value = Value,
27);
28
29register_value_bytes_codec!(
30    id = JSON_BYTES_VALUE_CODEC_ID,
31    codec = JsonBytesValueCodec<Value>,
32    value = Value,
33);