namespace GFramework.Game.Config; /// /// 提供面向宿主的 YAML 文本校验入口,使保存前校验可以复用运行时同一套 schema 规则。 /// public static class YamlConfigTextValidator { /// /// 使用指定 schema 文件同步校验 YAML 文本。 /// /// 所属配置表名称。 /// Schema 文件绝对路径。 /// YAML 文件路径,仅用于诊断信息。 /// 待校验的 YAML 文本。 /// 为空白时抛出。 /// 时抛出。 /// 当 schema 文件不可用,或 YAML 内容与 schema 不匹配时抛出。 public static void Validate( string tableName, string schemaPath, string yamlPath, string yamlText) { var schema = YamlConfigSchemaValidator.Load(tableName, schemaPath); YamlConfigSchemaValidator.Validate(tableName, schema, yamlPath, yamlText); } /// /// 使用指定 schema 文件异步校验 YAML 文本。 /// /// 所属配置表名称。 /// Schema 文件绝对路径。 /// YAML 文件路径,仅用于诊断信息。 /// 待校验的 YAML 文本。 /// 取消令牌。 /// 表示异步校验操作的任务。 /// 为空白时抛出。 /// 时抛出。 /// 当 schema 文件不可用,或 YAML 内容与 schema 不匹配时抛出。 public static async Task ValidateAsync( string tableName, string schemaPath, string yamlPath, string yamlText, CancellationToken cancellationToken = default) { var schema = await YamlConfigSchemaValidator.LoadAsync(tableName, schemaPath, cancellationToken) .ConfigureAwait(false); YamlConfigSchemaValidator.Validate(tableName, schema, yamlPath, yamlText); } }