Skip to main content

qubit_json/encode/
json_collection_kind.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//! Defines JSON collection kinds used by value-encoding errors.
9
10/// JSON collection whose item count could not be represented.
11///
12/// # Examples
13///
14/// ```
15/// use qubit_json::encode::JsonCollectionKind;
16/// use qubit_json::encode::JsonSerializationError;
17/// use qubit_json::encode::JsonSerializationErrorKind;
18///
19/// let error = JsonSerializationError::new(JsonSerializationErrorKind::CollectionLengthOverflow {
20///     kind: JsonCollectionKind::Array,
21/// });
22/// assert_eq!(error.collection_kind(), Some(JsonCollectionKind::Array));
23/// ```
24#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
25pub enum JsonCollectionKind {
26    /// A JSON array.
27    Array,
28    /// A JSON object.
29    Object,
30}