qubit-metadata 0.6.1

Type-safe metadata model with schemas and composable filters
// =============================================================================
//    Copyright (c) 2025 - 2026 Haixing Hu.
//
//    SPDX-License-Identifier: Apache-2.0
//
//    Licensed under the Apache License, Version 2.0.
// =============================================================================
//! [`UnknownMetadataFieldPolicy`] — handling for undeclared metadata keys.

use serde::Deserialize;
use serde::Serialize;

/// Policy for metadata fields that are not declared by a schema.
///
/// # Examples
///
/// ```
/// use qubit_metadata::UnknownMetadataFieldPolicy;
///
/// assert_eq!(UnknownMetadataFieldPolicy::default(), UnknownMetadataFieldPolicy::Reject);
/// ```
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
#[serde(rename_all = "snake_case")]
pub enum UnknownMetadataFieldPolicy {
    /// Reject metadata keys that are not declared in the schema.
    #[default]
    Reject,
    /// Allow metadata keys that are not declared in the schema.
    Allow,
}