Skip to main content

qubit_metadata/schema/
unknown_metadata_field_policy.rs

1// =============================================================================
2//    Copyright (c) 2025 - 2026 Haixing Hu.
3//
4//    SPDX-License-Identifier: Apache-2.0
5//
6//    Licensed under the Apache License, Version 2.0.
7// =============================================================================
8//! [`UnknownMetadataFieldPolicy`] — handling for undeclared metadata keys.
9
10use serde::Deserialize;
11use serde::Serialize;
12
13/// Policy for metadata fields that are not declared by a schema.
14///
15/// # Examples
16///
17/// ```
18/// use qubit_metadata::UnknownMetadataFieldPolicy;
19///
20/// assert_eq!(UnknownMetadataFieldPolicy::default(), UnknownMetadataFieldPolicy::Reject);
21/// ```
22#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
23#[serde(rename_all = "snake_case")]
24pub enum UnknownMetadataFieldPolicy {
25    /// Reject metadata keys that are not declared in the schema.
26    #[default]
27    Reject,
28    /// Allow metadata keys that are not declared in the schema.
29    Allow,
30}