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}