/// Schema 验证器 /// 验证 OpenAPI 3.0 文档的完整性和正确性 library; import 'package:swagger_generator_flutter/core/models.dart'; import 'package:swagger_generator_flutter/validators/core/validation_context.dart'; import 'package:swagger_generator_flutter/validators/core/validation_result.dart'; import 'package:swagger_generator_flutter/validators/core/validation_rule.dart'; import 'package:swagger_generator_flutter/validators/rules/component_rules.dart'; import 'package:swagger_generator_flutter/validators/rules/info_rules.dart'; import 'package:swagger_generator_flutter/validators/rules/path_rules.dart'; import 'package:swagger_generator_flutter/validators/rules/security_rules.dart'; import 'package:swagger_generator_flutter/validators/rules/server_rules.dart'; import 'package:swagger_generator_flutter/validators/rules/structure_rules.dart'; export 'package:swagger_generator_flutter/validators/core/validation_context.dart'; export 'package:swagger_generator_flutter/validators/core/validation_result.dart'; export 'package:swagger_generator_flutter/validators/core/validation_rule.dart'; /// Schema 验证器 class SchemaValidator { SchemaValidator({ List? rules, }) : _rules = rules ?? _defaultRules; final List _rules; static final List _defaultRules = [ InfoValidationRule(), ServerValidationRule(), PathValidationRule(), ComponentValidationRule(), SecurityValidationRule(), StructureValidationRule(), ]; /// 验证 OpenAPI 文档 ValidationResult validateDocument( SwaggerDocument document, { ValidationOptions options = const ValidationOptions(), }) { final context = ValidationContext( document: document, options: options, ); final results = []; for (final rule in _rules) { results.add(rule.validate(context)); } return results.merge(); } }