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}