Skip to main content

qubit_json/decode/
json_decode_context.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//! Contexts for immediate validated decode failures.
9
10/// Grammar location where a validated decode failure occurred.
11#[non_exhaustive]
12#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
13pub enum JsonDecodeContext {
14    /// A JSON value token was expected.
15    Value,
16    /// An object key token was expected.
17    ObjectKey,
18    /// A string token was being scanned.
19    String,
20    /// A number token was being scanned or projected.
21    Number,
22    /// An object colon was expected.
23    Colon,
24    /// An array separator or closing bracket was expected.
25    ArraySeparator,
26    /// An object separator or closing brace was expected.
27    ObjectSeparator,
28    /// The document had trailing input after its root value.
29    TrailingInput,
30}