// Copyright (c) 2025-2026 GeWuYou
// SPDX-License-Identifier: Apache-2.0
namespace GFramework.Game.Config;
///
/// 表示一个已归一化的字符串 format 约束。
/// 该模型同时保留 schema 原文与共享枚举,方便诊断信息稳定展示,又避免运行时校验反复解析字符串。
///
internal sealed class YamlConfigStringFormatConstraint
{
///
/// 初始化字符串 format 约束模型。
///
/// schema 中声明的 format 名称。
/// 归一化后的共享 format 枚举。
/// 当 为 时抛出。
/// 当 为空或仅包含空白字符时抛出。
public YamlConfigStringFormatConstraint(
string schemaName,
YamlConfigStringFormatKind kind)
{
ArgumentException.ThrowIfNullOrWhiteSpace(schemaName);
SchemaName = schemaName;
Kind = kind;
}
///
/// 获取 schema 中声明的 format 名称。
///
public string SchemaName { get; }
///
/// 获取归一化后的共享 format 枚举。
///
public YamlConfigStringFormatKind Kind { get; }
}