Skip to content

feat!: introduce comprehensive OpenAPI 3.0.x/3.1.x parser with validation, walking, and upgrading #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 18 commits into
base: main
Choose a base branch
from

Conversation

TristanSpeakEasy
Copy link
Member

🚀 Introduce Comprehensive OpenAPI 3.0.x/3.1.x Parser

Overview

This major release introduces a complete OpenAPI parser capable of handling both OpenAPI 3.0.x and 3.1.x documents with full validation, walking, upgrading, and mutation capabilities.

✨ Key Features

🔍 Full OpenAPI Support

  • OpenAPI 3.0.x and 3.1.x: Complete parsing support for both specification versions
  • Validation: Built-in validation against the OpenAPI Specification
  • Type Safety: Strongly typed Go structs for all OpenAPI elements

🚶 Document Traversal

  • Walking: Powerful iterator pattern for traversing all elements in OpenAPI documents
  • Reference Resolution: Resolve $ref references within documents
  • Circular Reference Handling: Proper handling of circular references in schemas

⬆️ Document Upgrading

  • Automatic Upgrading: Convert OpenAPI 3.0.x documents to 3.1.1
  • Backward Compatibility: Maintain compatibility while leveraging new features

🔧 Document Manipulation

  • Mutation: Modify OpenAPI documents programmatically
  • Extension Support: Full support for OpenAPI extensions (x-* fields)
  • JSON Schema Access: Direct access to JSON Schema functionality

🛠️ Development Experience

  • Mise Integration: Complete development task automation with mise
  • Quality Gates: Comprehensive linting, formatting, and testing workflows
  • CI/CD Ready: GitHub Actions integration with quality checks

🏗️ Architecture Changes

Package Restructuring

  • jsonschema/oas31jsonschema/oas3: Unified JSON Schema handling
  • New openapi/ package: Complete OpenAPI document support
  • New references/ package: Reference resolution system
  • New system/ package: File system and HTTP client abstractions

Core Improvements

  • Enhanced marshalling: Better YAML/JSON handling with ordered maps
  • Improved validation: More comprehensive error reporting
  • Better caching: Intelligent caching for performance optimization

📊 Impact

  • 285 files changed: Comprehensive codebase enhancement
  • 61,015 insertions: Massive feature addition
  • 1,596 deletions: Code cleanup and optimization
  • Breaking Changes: This is a major version release with breaking changes

🧪 Testing

  • Comprehensive test coverage: Extensive test suites for all new functionality
  • Example-driven testing: Real-world OpenAPI document testing
  • Performance testing: Stress tests for large documents
  • Integration testing: End-to-end workflow validation

🔄 Migration Guide

This release includes breaking changes. Key migration points:

  1. Package imports: Update jsonschema/oas31 imports to jsonschema/oas3
  2. API changes: Some method signatures have been updated for consistency
  3. New features: Take advantage of new OpenAPI parsing capabilities

🎯 Use Cases

  • API Documentation: Parse and validate OpenAPI specifications
  • Code Generation: Use parsed documents for generating client/server code
  • API Testing: Validate API responses against OpenAPI schemas
  • Documentation Tools: Build documentation from OpenAPI specifications
  • API Governance: Enforce API standards and best practices

🚦 Quality Assurance

  • Linting: Zero-tolerance linting with golangci-lint
  • Formatting: Consistent code formatting enforcement
  • Security: Vulnerability scanning with govulncheck
  • Performance: Benchmarking and optimization

This release represents a significant milestone in providing comprehensive OpenAPI tooling for the Go ecosystem.

@TristanSpeakEasy TristanSpeakEasy added the enhancement New feature or request label Aug 7, 2025
Copy link

github-actions bot commented Aug 7, 2025

📊 Test Coverage Report

Current Coverage: 65.1%
Main Branch Coverage: 57.0%

Coverage Change: 📈 +8.1% (improved)

Coverage by Package

github.com/speakeasy-api/openapi/arazzo/arazzo.go:55:					WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:63:					Unmarshal					91.7%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:86:					Marshal						100.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:91:					Sync						0.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:99:					Validate					88.0%
github.com/speakeasy-api/openapi/arazzo/components.go:41:				Validate					84.0%
github.com/speakeasy-api/openapi/arazzo/core/criterion.go:32:				Unmarshal					80.0%
github.com/speakeasy-api/openapi/arazzo/core/criterion.go:72:				SyncChanges					0.0%
github.com/speakeasy-api/openapi/arazzo/core/factory_registration.go:11:		init						50.0%
github.com/speakeasy-api/openapi/arazzo/core/reusable.go:26:				Unmarshal					0.0%
github.com/speakeasy-api/openapi/arazzo/core/reusable.go:59:				SyncChanges					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:41:			newCondition					87.5%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:80:			Validate					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:106:			handleQuotedString				100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:53:			Validate					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:84:			IsTypeProvided					66.7%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:104:			GetCore						0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:109:			IsTypeProvided					66.7%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:118:			GetType						60.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:131:			GetVersion					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:139:			Populate					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:175:			Sync						66.7%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:183:			GetCondition					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:188:			Validate					66.7%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:228:			validateCondition				53.3%
github.com/speakeasy-api/openapi/arazzo/criterion/factory_registration.go:6:		init						50.0%
github.com/speakeasy-api/openapi/arazzo/factory_registration.go:12:			init						92.9%
github.com/speakeasy-api/openapi/arazzo/failureaction.go:57:				Validate					58.3%
github.com/speakeasy-api/openapi/arazzo/info.go:32:					Validate					75.0%
github.com/speakeasy-api/openapi/arazzo/parameter.go:48:				Validate					81.5%
github.com/speakeasy-api/openapi/arazzo/payloadreplacement.go:31:			Validate					76.5%
github.com/speakeasy-api/openapi/arazzo/requestbody.go:32:				Validate					93.3%
github.com/speakeasy-api/openapi/arazzo/reusable.go:41:					Get						0.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:49:					IsReference					0.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:53:					GetReferencedObject				0.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:101:				Validate					87.5%
github.com/speakeasy-api/openapi/arazzo/reusable.go:135:				validateReference				71.4%
github.com/speakeasy-api/openapi/arazzo/reusable.go:203:				validateComponentReference			62.5%
github.com/speakeasy-api/openapi/arazzo/reusable.go:226:				typeToComponentType				75.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:240:				componentTypeToReusableType			0.0%
github.com/speakeasy-api/openapi/arazzo/sourcedescription.go:19:			Find						75.0%
github.com/speakeasy-api/openapi/arazzo/sourcedescription.go:55:			Validate					76.9%
github.com/speakeasy-api/openapi/arazzo/step.go:22:					Find						75.0%
github.com/speakeasy-api/openapi/arazzo/step.go:68:					Validate					80.8%
github.com/speakeasy-api/openapi/arazzo/successaction.go:51:				Validate					75.0%
github.com/speakeasy-api/openapi/arazzo/successaction.go:116:				validationActionWorkflowIDAndStepID		77.8%
github.com/speakeasy-api/openapi/arazzo/validation.go:11:				validateJSONSchema				61.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:51:					Walk						100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:60:					walk						69.2%
github.com/speakeasy-api/openapi/arazzo/walk.go:91:					walkInfo					66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:106:					walkSourceDescriptions				88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:125:					walkSourceDescription				66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:140:					walkWorkflows					100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:159:					walkWorkflow					62.5%
github.com/speakeasy-api/openapi/arazzo/walk.go:199:					walkReusableParameters				88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:218:					walkReusableParameter				66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:234:					walkJSONSchema					87.5%
github.com/speakeasy-api/openapi/arazzo/walk.go:254:					convertSchemaMatchFunc				100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:268:					convertSchemaLocation				100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:286:					walkSteps					88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:305:					walkStep					66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:335:					walkReusableSuccessActions			22.2%
github.com/speakeasy-api/openapi/arazzo/walk.go:354:					walkReusableSuccessAction			0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:370:					walkReusableFailureActions			22.2%
github.com/speakeasy-api/openapi/arazzo/walk.go:389:					walkReusableFailureAction			0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:405:					walkComponents					14.3%
github.com/speakeasy-api/openapi/arazzo/walk.go:440:					walkComponentInputs				0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:459:					walkComponentParameters				0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:478:					walkParameter					0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:493:					walkComponentSuccessActions			0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:512:					walkSuccessAction				0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:527:					walkComponentFailureActions			0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:546:					walkFailureAction				0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:610:					getMatchFunc					66.7%
github.com/speakeasy-api/openapi/arazzo/workflow.go:21:					Find						75.0%
github.com/speakeasy-api/openapi/arazzo/workflow.go:64:					Validate					63.2%
github.com/speakeasy-api/openapi/cache/manager.go:23:					ClearAllCaches					100.0%
github.com/speakeasy-api/openapi/cache/manager.go:31:					ClearURLCache					100.0%
github.com/speakeasy-api/openapi/cache/manager.go:38:					ClearReferenceCache				100.0%
github.com/speakeasy-api/openapi/cache/manager.go:45:					ClearFieldCache					100.0%
github.com/speakeasy-api/openapi/cache/manager.go:57:					GetAllCacheStats				100.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:31:			main						0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:38:			updateExamples					0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:54:			processPackage					0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:89:			parseExamplesFile				0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:115:			extractExample					0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:159:			parseDocComment					0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:191:			generateTitleFromName				0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:207:			extractOutputComment				0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:234:			generateReadmeContent				0.0%
github.com/speakeasy-api/openapi/cmd/update-examples/main.go:255:			updateReadmeFile				0.0%
github.com/speakeasy-api/openapi/errors/errors.go:16:					Error						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:21:					Is						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:26:					As						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:36:					Wrap						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:45:					Error						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:52:					Is						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:56:					As						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:60:					Unwrap						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:67:					Is						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:72:					As						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:77:					New						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:82:					Join						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:90:					UnwrapErrors					0.0%
github.com/speakeasy-api/openapi/expression/expression.go:82:				Validate					100.0%
github.com/speakeasy-api/openapi/expression/expression.go:180:				IsExpression					83.3%
github.com/speakeasy-api/openapi/expression/expression.go:208:				GetType						100.0%
github.com/speakeasy-api/openapi/expression/expression.go:214:				GetParts					91.7%
github.com/speakeasy-api/openapi/expression/expression.go:236:				GetJSONPointer					100.0%
github.com/speakeasy-api/openapi/expression/expression.go:241:				getType						100.0%
github.com/speakeasy-api/openapi/expression/expression.go:256:				validateName					100.0%
github.com/speakeasy-api/openapi/expression/expressions.go:4:				ExtractExpressions				100.0%
github.com/speakeasy-api/openapi/expression/factory_registration.go:8:			init						50.0%
github.com/speakeasy-api/openapi/expression/value.go:11:				GetValueOrExpressionValue			0.0%
github.com/speakeasy-api/openapi/extensions/core/extensions.go:16:			UnmarshalExtensionModel				75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:29:				NewElem						0.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:43:				New						75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:55:				Init						100.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:59:				SetCore						75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:68:				GetCore						0.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:72:				Populate					0.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:90:				UnmarshalExtensionModel				66.7%
github.com/speakeasy-api/openapi/extensions/extensions.go:115:				GetExtensionValue				70.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:137:				IsEqual						100.0%
github.com/speakeasy-api/openapi/extensions/factory_registration.go:6:			init						75.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:14:					Hash						100.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:25:					toHashableString				97.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:97:					structToHashableString				95.7%
github.com/speakeasy-api/openapi/hashing/hashing.go:143:				sequencedMapToHashableString			92.9%
github.com/speakeasy-api/openapi/internal/interfaces/interfaces.go:41:			ImplementsInterface				0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:14:			CreateStringYamlNode				0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:24:			CreateIntYamlNode				0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:34:			CreateBoolYamlNode				0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:44:			CreateMapYamlNode				0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:61:			isInterfaceNil					0.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:74:			AssertEqualSequencedMap				0.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:32:			ClassifyReference				100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:99:			IsURL						100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:108:			IsFilePath					100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:117:			IsFragment					100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:129:			JoinWith					92.9%
github.com/speakeasy-api/openapi/internal/utils/references.go:163:			joinURL						66.7%
github.com/speakeasy-api/openapi/internal/utils/references.go:187:			joinFilePath					100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:223:			getWindowsDir					80.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:234:			joinWindowsPaths				100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:268:			isWindowsAbsolutePath				80.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:282:			JoinReference					100.0%
github.com/speakeasy-api/openapi/internal/utils/slices.go:3:				MapSlice					0.0%
github.com/speakeasy-api/openapi/internal/utils/string_builder.go:19:			BuildAbsoluteReference				100.0%
github.com/speakeasy-api/openapi/internal/utils/string_builder.go:28:			BuildString					0.0%
github.com/speakeasy-api/openapi/internal/utils/string_builder.go:50:			JoinWithSeparator				100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:18:			ParseURLCached					100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:25:			Parse						100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:49:			Clear						100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:62:			GetURLCacheStats				100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:72:			ClearGlobalURLCache				100.0%
github.com/speakeasy-api/openapi/internal/utils/versions.go:9:				ParseVersion					100.0%
github.com/speakeasy-api/openapi/json/json.go:17:					YAMLToJSON					0.0%
github.com/speakeasy-api/openapi/json/json.go:29:					handleYAMLNode					0.0%
github.com/speakeasy-api/openapi/json/json.go:46:					handleMappingNode				0.0%
github.com/speakeasy-api/openapi/json/json.go:77:					handleSequenceNode				0.0%
github.com/speakeasy-api/openapi/json/json.go:97:					handleScalarNode				0.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:37:				WithStructTags					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:43:				getOptions					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:58:				String						0.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:63:				Validate					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:74:				GetTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:91:				PartsToJSONPointer				0.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:100:			getCurrentStackTarget				100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:120:			getTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:148:			getMapTarget					76.2%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:191:			getSliceTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:226:			getStructTarget					86.4%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:274:			getKeyBasedStructTarget				100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:322:			getIndexBasedStructTarget			87.5%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:338:			getNavigableWithKeyTarget			80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:358:			getNavigableWithIndexTarget			80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:378:			getNavigableNoderTarget				77.8%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:396:			buildPath					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:407:			EscapeString					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:411:			escape						100.0%
github.com/speakeasy-api/openapi/jsonpointer/models.go:15:				navigateModel					88.0%
github.com/speakeasy-api/openapi/jsonpointer/navigation.go:22:				unescapeValue					100.0%
github.com/speakeasy-api/openapi/jsonpointer/navigation.go:28:				getIndex					100.0%
github.com/speakeasy-api/openapi/jsonpointer/navigation.go:38:				getNavigationStack				100.0%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:10:				getYamlNodeTarget				61.1%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:51:				getYamlDocumentTarget				66.7%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:60:				getYamlMappingTarget				89.7%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:121:				getYamlSequenceTarget				90.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/core/factory_registration.go:9:	init						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:29:			GetPropertyName					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:37:			GetMapping					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:45:			GetExtensions					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:53:			Validate					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:69:			IsEqual						50.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:30:			GetDescription					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:38:			GetURL						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:46:			GetExtensions					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:54:			IsEqual						53.8%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:83:			Validate					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/factory_registration.go:12:		init						86.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:35:				increment					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:162:				Inline						90.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:233:				analyzeReferences				76.1%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:421:				inlineRecursive					69.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:626:				inlineSchemaInPlace				83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:652:				removeUnusedDefs				95.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:693:				generateUniqueDefName				25.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:709:				rewriteExternalReference			51.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:788:				consolidateDefinitions				81.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:42:			NewJSONSchemaFromSchema				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:51:			NewJSONSchemaFromReference			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:62:			NewJSONSchemaFromBool				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:72:			NewReferencedScheme				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:105:			GetExtensions					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:122:			GetParent					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:138:			GetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:151:			SetParent					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:164:			SetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:172:			IsEqual						60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:187:			Validate					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:215:			ConcreteToReferenceable				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:21:			IsResolved					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:29:			IsReference					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:37:			GetRef						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:45:			GetAbsRef					83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:60:			Resolve						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:72:			GetResolvedSchema				88.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:111:			MustGetResolvedSchema				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:123:			resolve						97.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:209:			joinReferenceChain				60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:220:			resolveJSONSchemaWithTracking			95.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:267:			resolveDefsReference				61.1%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:311:			tryResolveDefsUsingJSONPointerNavigation	90.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:357:			getParentJSONPointer				83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:371:			unmarshaller					71.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:78:				GetRef						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:86:				IsReference					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:94:				GetExclusiveMaximum				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:102:				GetExclusiveMinimum				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:110:				GetType						57.1%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:127:				GetAllOf					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:135:				GetOneOf					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:143:				GetAnyOf					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:151:				GetDiscriminator				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:159:				GetExamples					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:167:				GetPrefixItems					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:175:				GetContains					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:183:				GetMinContains					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:191:				GetMaxContains					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:199:				GetIf						0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:207:				GetElse						0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:215:				GetThen						0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:223:				GetDependentSchemas				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:231:				GetPatternProperties				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:239:				GetPropertyNames				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:247:				GetUnevaluatedItems				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:255:				GetUnevaluatedProperties			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:263:				GetItems					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:271:				GetAnchor					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:279:				GetNot						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:287:				GetProperties					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:295:				GetDefs						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:303:				GetTitle					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:311:				GetMultipleOf					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:319:				GetMaximum					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:327:				GetMinimum					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:335:				GetMaxLength					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:343:				GetMinLength					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:351:				GetPattern					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:359:				GetFormat					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:367:				GetMaxItems					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:375:				GetMinItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:383:				GetUniqueItems					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:391:				GetMaxProperties				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:399:				GetMinProperties				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:407:				GetRequired					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:415:				GetEnum						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:423:				GetAdditionalProperties				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:431:				GetDescription					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:439:				GetDefault					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:447:				GetConst					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:455:				GetNullable					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:463:				GetReadOnly					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:471:				GetWriteOnly					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:479:				GetExternalDocs					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:487:				GetExample					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:495:				GetDeprecated					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:503:				GetSchema					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:511:				GetXML						0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:519:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:529:				IsEqual						60.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:765:				equalJSONSchemas				80.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:775:				equalJSONSchemaSlices				25.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:791:				equalSequencedMaps				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:822:				equalStringSlices				87.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:838:				equalValueSlices				87.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:33:			Validate					60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:45:			Validate					82.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:82:			getRootCauses					72.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:129:			initValidation					76.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:16:				NewExclusiveMaximumFromBool			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:22:				NewExclusiveMaximumFromFloat64			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:28:				NewExclusiveMinimumFromBool			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:34:				NewExclusiveMinimumFromFloat64			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:40:				NewTypeFromArray				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:47:				NewTypeFromString				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:35:				WalkExternalDocs				75.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:46:				Walk						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:55:				walkSchema					45.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:221:				walkExternalDocs				83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:257:				getSchemaMatchFunc				60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:36:				GetName						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:44:				GetNamespace					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:52:				GetPrefix					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:60:				GetAttribute					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:68:				GetWrapped					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:76:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:84:				IsEqual						47.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:120:				Validate					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:38:				GetRootNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:42:				GetRootNodeLine					0.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:49:				SetRootNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:53:				GetValid					0.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:57:				GetValidYaml					0.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:61:				DetermineValidity				85.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:76:				SetValid					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:81:				SetConfig					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:85:				GetConfig					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:92:				GetJSONPointer					87.5%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:114:				Marshal						75.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:142:				resetNodeStylesForYAML				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:147:				resetNodeStylesForYAMLRecursive			73.3%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:189:				findNodePath					85.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:223:				findNodePathInMapping				85.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:257:				findNodePathInSequence				80.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:272:				resolveAlias					60.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:286:				getNodeKeyString				66.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:301:				buildJSONPointer				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:317:				escapeJSONPointerToken				100.0%
github.com/speakeasy-api/openapi/marshaller/extensions.go:35:				UnmarshalExtension				78.6%
github.com/speakeasy-api/openapi/marshaller/extensions.go:70:				syncExtensions					84.9%
github.com/speakeasy-api/openapi/marshaller/factory.go:43:				RegisterType					87.5%
github.com/speakeasy-api/openapi/marshaller/factory.go:63:				CreateInstance					87.5%
github.com/speakeasy-api/openapi/marshaller/factory.go:82:				IsRegistered					0.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:92:				isTesting					100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:97:				init						58.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:160:				buildFieldCacheForType				89.2%
github.com/speakeasy-api/openapi/marshaller/factory.go:255:				getFieldMapCached				100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:272:				ClearGlobalFieldCache				0.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:285:				GetFieldCacheStats				0.0%
github.com/speakeasy-api/openapi/marshaller/marshal.go:26:				Marshal						66.7%
github.com/speakeasy-api/openapi/marshaller/marshal.go:48:				Sync						71.4%
github.com/speakeasy-api/openapi/marshaller/model.go:58:				GetCore						66.7%
github.com/speakeasy-api/openapi/marshaller/model.go:68:				GetCoreAny					0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:89:				GetRootNode					60.0%
github.com/speakeasy-api/openapi/marshaller/model.go:100:				GetRootNodeLine					0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:107:				GetRootNodeColumn				0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:114:				GetPropertyLine					92.9%
github.com/speakeasy-api/openapi/marshaller/model.go:148:				SetCore						100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:155:				SetCoreAny					100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:163:				GetCachedReferencedObject			0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:170:				StoreReferencedObjectInCache			0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:174:				GetCachedReferenceDocument			0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:186:				StoreReferenceDocumentInCache			0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:190:				InitCache					0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:35:					Unmarshal					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:50:					GetValue					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:54:					GetValueType					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:58:					SyncValue					85.7%
github.com/speakeasy-api/openapi/marshaller/node.go:72:					SetPresent					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:76:					GetKeyNode					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:80:					GetKeyNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:87:					GetKeyNodeOrRootLine				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:95:					GetValueNode					0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:99:					GetValueNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:106:				GetValueNodeOrRootLine				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:115:				GetSliceValueNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:133:				GetMapKeyNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:152:				GetMapKeyNodeOrRootLine				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:161:				GetMapValueNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/marshaller/node.go:180:				GetNavigableNode				0.0%
github.com/speakeasy-api/openapi/marshaller/populator.go:28:				Populate					47.4%
github.com/speakeasy-api/openapi/marshaller/populator.go:65:				populateModel					81.4%
github.com/speakeasy-api/openapi/marshaller/populator.go:171:				populateValue					70.2%
github.com/speakeasy-api/openapi/marshaller/populator.go:287:				getSequencedMapInterface			81.8%
github.com/speakeasy-api/openapi/marshaller/populator.go:335:				getSourceForPopulation				70.0%
github.com/speakeasy-api/openapi/marshaller/populator.go:353:				isEmbeddedSequencedMapType			100.0%
github.com/speakeasy-api/openapi/marshaller/sequencedmap.go:23:				unmarshalSequencedMap				88.4%
github.com/speakeasy-api/openapi/marshaller/sequencedmap.go:115:			populateSequencedMap				75.8%
github.com/speakeasy-api/openapi/marshaller/sequencedmap.go:186:			syncSequencedMapChanges				80.9%
github.com/speakeasy-api/openapi/marshaller/syncer.go:20:				SyncValue					85.7%
github.com/speakeasy-api/openapi/marshaller/syncer.go:100:				syncChanges					79.6%
github.com/speakeasy-api/openapi/marshaller/syncer.go:272:				syncArraySlice					86.4%
github.com/speakeasy-api/openapi/marshaller/syncer.go:372:				reorderArrayElements				73.5%
github.com/speakeasy-api/openapi/marshaller/syncer.go:471:				dereferenceAndInitializeIfNeededToLastPtr	100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:490:				dereferenceToLastPtr				100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:498:				getUnderlyingValue				100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:506:				initializeAndGetSequencedMapInterface		100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:547:				getSourceInterface				71.4%
github.com/speakeasy-api/openapi/marshaller/syncer.go:563:				dereferenceType					100.0%
github.com/speakeasy-api/openapi/marshaller/tests/core/factory_registration.go:10:	init						0.0%
github.com/speakeasy-api/openapi/marshaller/tests/core/models.go:103:			Unmarshal					0.0%
github.com/speakeasy-api/openapi/marshaller/tests/factory_registration.go:9:		init						0.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:33:				Unmarshal					78.6%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:64:				UnmarshalNode					77.8%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:83:				UnmarshalCore					80.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:103:			UnmarshalModel					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:107:			UnmarshalKeyValuePair				100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:124:			DecodeNode					0.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:128:			unmarshal					78.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:230:			unmarshalMapping				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:255:			unmarshalModel					85.7%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:443:			unmarshalStruct					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:447:			decodeNode					80.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:470:			unmarshalSequence				83.3%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:515:			unmarshalNode					66.7%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:566:			implementsInterface				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:587:			isEmbeddedSequencedMap				100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:592:			isStructType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:597:			isSliceType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:602:			isMapType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:607:			validateNodeKind				85.7%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:623:			isTypeMismatchError				50.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:639:			initializeEmbeddedSequencedMap			66.7%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:666:			getOptionalParentName				100.0%
github.com/speakeasy-api/openapi/openapi/callbacks.go:29:				NewCallback					0.0%
github.com/speakeasy-api/openapi/openapi/callbacks.go:36:				GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/callbacks.go:43:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:47:				GetSchemas					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:55:				GetResponses					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:63:				GetParameters					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:71:				GetExamples					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:79:				GetRequestBodies				66.7%
github.com/speakeasy-api/openapi/openapi/components.go:87:				GetHeaders					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:95:				GetSecuritySchemes				66.7%
github.com/speakeasy-api/openapi/openapi/components.go:103:				GetLinks					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:111:				GetCallbacks					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:119:				GetPathItems					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:127:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/components.go:135:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/core/factory_registration.go:11:		init						0.0%
github.com/speakeasy-api/openapi/openapi/core/paths.go:16:				NewPaths					0.0%
github.com/speakeasy-api/openapi/openapi/core/paths.go:35:				NewPathItem					0.0%
github.com/speakeasy-api/openapi/openapi/core/reference.go:27:				Unmarshal					0.0%
github.com/speakeasy-api/openapi/openapi/core/reference.go:56:				SyncChanges					0.0%
github.com/speakeasy-api/openapi/openapi/core/security.go:29:				GetMapKeyNodeOrRoot				0.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:42:				GetContentType					0.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:67:				GetContentTypeValue				100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:75:				GetStyle					100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:84:				GetExplode					100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:92:				GetAllowReserved				100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:100:				GetHeaders					0.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:108:				GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:116:				Validate					94.4%
github.com/speakeasy-api/openapi/openapi/examples.go:34:				GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/examples.go:42:				GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/examples.go:50:				GetValue					66.7%
github.com/speakeasy-api/openapi/openapi/examples.go:58:				GetExternalValue				66.7%
github.com/speakeasy-api/openapi/openapi/examples.go:66:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/examples.go:74:				ResolveExternalValue				0.0%
github.com/speakeasy-api/openapi/openapi/examples.go:80:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/factory_registration.go:13:			init						94.6%
github.com/speakeasy-api/openapi/openapi/header.go:47:					GetSchema					66.7%
github.com/speakeasy-api/openapi/openapi/header.go:55:					GetRequired					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:63:					GetDeprecated					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:71:					GetStyle					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:79:					GetExplode					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:87:					GetContent					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:95:					GetExample					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:103:					GetExamples					0.0%
github.com/speakeasy-api/openapi/openapi/header.go:111:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/header.go:119:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/header.go:127:					Validate					92.9%
github.com/speakeasy-api/openapi/openapi/info.go:40:					GetTitle					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:48:					GetVersion					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:56:					GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:64:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:72:					GetTermsOfService				66.7%
github.com/speakeasy-api/openapi/openapi/info.go:80:					GetContact					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:88:					GetLicense					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:96:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:104:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:151:					GetName						66.7%
github.com/speakeasy-api/openapi/openapi/info.go:159:					GetURL						66.7%
github.com/speakeasy-api/openapi/openapi/info.go:167:					GetEmail					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:175:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:183:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:221:					GetName						66.7%
github.com/speakeasy-api/openapi/openapi/info.go:229:					GetIdentifier					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:237:					GetURL						66.7%
github.com/speakeasy-api/openapi/openapi/info.go:245:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/info.go:253:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:40:					GetOperationID					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:48:					GetOperationRef					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:56:					GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:64:					GetParameters					66.7%
github.com/speakeasy-api/openapi/openapi/links.go:72:					GetRequestBody					0.0%
github.com/speakeasy-api/openapi/openapi/links.go:80:					GetServer					0.0%
github.com/speakeasy-api/openapi/openapi/links.go:88:					GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/links.go:95:					ResolveOperation				0.0%
github.com/speakeasy-api/openapi/openapi/links.go:100:					Validate					92.9%
github.com/speakeasy-api/openapi/openapi/marshalling.go:19:				WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/openapi/marshalling.go:27:				Unmarshal					92.9%
github.com/speakeasy-api/openapi/openapi/marshalling.go:54:				Marshal						100.0%
github.com/speakeasy-api/openapi/openapi/marshalling.go:60:				Sync						0.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:33:				GetSchema					66.7%
github.com/speakeasy-api/openapi/openapi/mediatype.go:41:				GetEncoding					66.7%
github.com/speakeasy-api/openapi/openapi/mediatype.go:49:				GetExamples					66.7%
github.com/speakeasy-api/openapi/openapi/mediatype.go:57:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/mediatype.go:65:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:87:				GetExample					66.7%
github.com/speakeasy-api/openapi/openapi/openapi.go:64:					GetOpenAPI					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:72:					GetInfo						0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:80:					GetExternalDocs					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:88:					GetTags						0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:96:					GetServers					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:104:				GetSecurity					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:112:				GetPaths					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:120:				GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:128:				GetWebhooks					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:136:				GetComponents					0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:144:				GetJSONSchemaDialect				0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:152:				Validate					94.3%
github.com/speakeasy-api/openapi/openapi/operation.go:53:				GetOperationID					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:61:				GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:69:				GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:77:				GetDeprecated					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:85:				GetTags						66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:93:				GetServers					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:101:				GetSecurity					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:109:				GetParameters					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:117:				GetRequestBody					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:125:				GetResponses					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:133:				GetCallbacks					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:141:				GetExternalDocs					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:149:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/operation.go:158:				IsDeprecated					0.0%
github.com/speakeasy-api/openapi/openapi/operation.go:163:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:24:				String						0.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:76:				GetName						66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:84:				GetIn						66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:92:				GetSchema					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:100:				GetRequired					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:108:				GetDeprecated					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:116:				GetAllowEmptyValue				66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:130:				GetStyle					28.6%
github.com/speakeasy-api/openapi/openapi/parameter.go:147:				GetExplode					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:155:				GetContent					0.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:163:				GetExample					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:171:				GetExamples					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:179:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:187:				GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:195:				GetAllowReserved				66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:203:				Validate					64.7%
github.com/speakeasy-api/openapi/openapi/paths.go:28:					NewPaths					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:35:					GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/paths.go:43:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:77:					Is						0.0%
github.com/speakeasy-api/openapi/openapi/paths.go:104:					NewPathItem					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:111:					GetOperation					66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:125:					Get						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:130:					Put						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:135:					Post						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:140:					Delete						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:145:					Options						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:150:					Head						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:155:					Patch						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:160:					Trace						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:165:					GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:173:					GetServers					0.0%
github.com/speakeasy-api/openapi/openapi/paths.go:181:					GetParameters					0.0%
github.com/speakeasy-api/openapi/openapi/paths.go:189:					GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/paths.go:197:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:205:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:89:				Resolve						66.7%
github.com/speakeasy-api/openapi/openapi/reference.go:105:				IsReference					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:113:				IsResolved					75.0%
github.com/speakeasy-api/openapi/openapi/reference.go:129:				GetReference					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:137:				GetObject					81.8%
github.com/speakeasy-api/openapi/openapi/reference.go:160:				MustGetObject					66.7%
github.com/speakeasy-api/openapi/openapi/reference.go:173:				GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:181:				GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:197:				GetParent					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:213:				GetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:226:				SetParent					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:239:				SetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:247:				Validate					93.8%
github.com/speakeasy-api/openapi/openapi/reference.go:277:				Populate					84.6%
github.com/speakeasy-api/openapi/openapi/reference.go:303:				GetNavigableNode				33.3%
github.com/speakeasy-api/openapi/openapi/reference.go:315:				resolve						82.8%
github.com/speakeasy-api/openapi/openapi/reference.go:370:				resolveObjectWithTracking			92.1%
github.com/speakeasy-api/openapi/openapi/reference.go:445:				joinReferenceChain				75.0%
github.com/speakeasy-api/openapi/openapi/reference.go:460:				unmarshaller					75.0%
github.com/speakeasy-api/openapi/openapi/reference.go:476:				ensureMutex					100.0%
github.com/speakeasy-api/openapi/openapi/requests.go:31:				GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/requests.go:39:				GetContent					66.7%
github.com/speakeasy-api/openapi/openapi/requests.go:47:				GetRequired					66.7%
github.com/speakeasy-api/openapi/openapi/requests.go:55:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:29:				NewResponses					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:36:				GetDefault					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:44:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:51:				Populate					84.0%
github.com/speakeasy-api/openapi/openapi/responses.go:100:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:141:				GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:149:				GetHeaders					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:157:				GetContent					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:165:				GetLinks					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:173:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:181:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:22:				String						0.0%
github.com/speakeasy-api/openapi/openapi/security.go:38:				String						0.0%
github.com/speakeasy-api/openapi/openapi/security.go:74:				GetType						66.7%
github.com/speakeasy-api/openapi/openapi/security.go:82:				GetDescription					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:90:				GetName						66.7%
github.com/speakeasy-api/openapi/openapi/security.go:98:				GetIn						66.7%
github.com/speakeasy-api/openapi/openapi/security.go:106:				GetScheme					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:114:				GetBearerFormat					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:122:				GetFlows					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:130:				GetOpenIdConnectUrl				0.0%
github.com/speakeasy-api/openapi/openapi/security.go:138:				GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:146:				Validate					95.5%
github.com/speakeasy-api/openapi/openapi/security.go:208:				NewSecurityRequirement				0.0%
github.com/speakeasy-api/openapi/openapi/security.go:214:				Populate					93.8%
github.com/speakeasy-api/openapi/openapi/security.go:249:				Validate					90.9%
github.com/speakeasy-api/openapi/openapi/security.go:300:				GetImplicit					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:308:				GetPassword					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:316:				GetClientCredentials				66.7%
github.com/speakeasy-api/openapi/openapi/security.go:324:				GetAuthorizationCode				66.7%
github.com/speakeasy-api/openapi/openapi/security.go:332:				GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:340:				Validate					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:381:				GetAuthorizationURL				66.7%
github.com/speakeasy-api/openapi/openapi/security.go:389:				GetTokenURL					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:397:				GetRefreshURL					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:405:				GetScopes					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:413:				GetExtensions					0.0%
github.com/speakeasy-api/openapi/openapi/security.go:421:				Validate					79.4%
github.com/speakeasy-api/openapi/openapi/serialization.go:10:				String						0.0%
github.com/speakeasy-api/openapi/openapi/server.go:40:					GetURL						66.7%
github.com/speakeasy-api/openapi/openapi/server.go:48:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/server.go:56:					GetVariables					66.7%
github.com/speakeasy-api/openapi/openapi/server.go:64:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/server.go:72:					Validate					93.8%
github.com/speakeasy-api/openapi/openapi/server.go:119:					GetDefault					66.7%
github.com/speakeasy-api/openapi/openapi/server.go:127:					GetEnum						66.7%
github.com/speakeasy-api/openapi/openapi/server.go:135:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/server.go:143:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:162:					resolveServerVariables				93.8%
github.com/speakeasy-api/openapi/openapi/tag.go:32:					GetName						66.7%
github.com/speakeasy-api/openapi/openapi/tag.go:40:					GetDescription					66.7%
github.com/speakeasy-api/openapi/openapi/tag.go:48:					GetExternalDocs					66.7%
github.com/speakeasy-api/openapi/openapi/tag.go:56:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/tag.go:64:					Validate					100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:18:					WithUpgradeSamePatchVersion			100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:26:					Upgrade						93.8%
github.com/speakeasy-api/openapi/openapi/upgrade.go:65:					upgradeSchema					100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:77:					upgradeExample					100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:90:					upgradeExclusiveMinMax				100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:110:				upgradeNullableSchema				66.7%
github.com/speakeasy-api/openapi/openapi/upgrade.go:142:				createNullSchema				100.0%
github.com/speakeasy-api/openapi/openapi/utils.go:25:					ResolveAllReferences				100.0%
github.com/speakeasy-api/openapi/openapi/utils.go:90:					resolveAny					88.2%
github.com/speakeasy-api/openapi/openapi/walk.go:20:					Walk						75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:29:					walk						85.7%
github.com/speakeasy-api/openapi/openapi/walk.go:76:					walkInfo					85.0%
github.com/speakeasy-api/openapi/openapi/walk.go:122:					walkPaths					88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:144:					walkReferencedPathItem				62.5%
github.com/speakeasy-api/openapi/openapi/walk.go:164:					walkPathItem					70.0%
github.com/speakeasy-api/openapi/openapi/walk.go:191:					walkOperation					70.0%
github.com/speakeasy-api/openapi/openapi/walk.go:242:					walkReferencedParameters			88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:262:					walkReferencedParameter				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:282:					walkParameter					55.6%
github.com/speakeasy-api/openapi/openapi/walk.go:307:					walkReferencedRequestBody			87.5%
github.com/speakeasy-api/openapi/openapi/walk.go:327:					walkRequestBody					80.0%
github.com/speakeasy-api/openapi/openapi/walk.go:342:					walkResponses					81.8%
github.com/speakeasy-api/openapi/openapi/walk.go:370:					walkReferencedResponse				87.5%
github.com/speakeasy-api/openapi/openapi/walk.go:390:					walkResponse					55.6%
github.com/speakeasy-api/openapi/openapi/walk.go:415:					walkMediaTypes					100.0%
github.com/speakeasy-api/openapi/openapi/walk.go:435:					walkMediaType					66.7%
github.com/speakeasy-api/openapi/openapi/walk.go:466:					walkEncodings					88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:486:					walkEncoding					62.5%
github.com/speakeasy-api/openapi/openapi/walk.go:507:					walkReferencedHeaders				88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:527:					walkReferencedHeader				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:547:					walkHeader					55.6%
github.com/speakeasy-api/openapi/openapi/walk.go:572:					walkReferencedExamples				88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:592:					walkReferencedExample				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:612:					walkExample					66.7%
github.com/speakeasy-api/openapi/openapi/walk_components.go:12:				walkComponents					69.2%
github.com/speakeasy-api/openapi/openapi/walk_components.go:78:				walkComponentSchemas				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:98:				walkComponentResponses				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:118:			walkComponentParameters				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:138:			walkComponentExamples				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:158:			walkComponentRequestBodies			88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:178:			walkComponentHeaders				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:198:			walkComponentSecuritySchemes			100.0%
github.com/speakeasy-api/openapi/openapi/walk_components.go:218:			walkComponentLinks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:238:			walkComponentCallbacks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:258:			walkComponentPathItems				88.9%
github.com/speakeasy-api/openapi/openapi/walk_matching.go:152:				geMatchFunc					83.3%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:11:				walkSchema					87.5%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:31:				convertSchemaMatchFunc				100.0%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:45:				convertSchemaLocation				100.0%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:63:				walkExternalDocs				87.5%
github.com/speakeasy-api/openapi/openapi/walk_security.go:10:				walkSecurity					100.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:30:				walkSecurityRequirement				75.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:41:				walkReferencedSecurityScheme			75.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:61:				walkSecurityScheme				80.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:76:				walkOAuthFlows					71.4%
github.com/speakeasy-api/openapi/openapi/walk_security.go:109:				walkOAuthFlow					66.7%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:10:			walkTags					85.7%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:25:			walkTag						62.5%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:44:			walkServers					100.0%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:59:			walkServer					87.5%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:77:			walkVariables					100.0%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:91:			walkVariable					100.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:11:			walkWebhooks					88.9%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:31:			walkReferencedLinks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:51:			walkReferencedLink				75.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:71:			walkLink					60.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:86:			walkReferencedCallbacks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:106:		walkReferencedCallback				75.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:126:		walkCallback					66.7%
github.com/speakeasy-api/openapi/pointer/pointer.go:5:					From						0.0%
github.com/speakeasy-api/openapi/pointer/pointer.go:10:					Value						0.0%
github.com/speakeasy-api/openapi/references/factory_registration.go:8:			init						50.0%
github.com/speakeasy-api/openapi/references/reference.go:15:				GetURI						75.0%
github.com/speakeasy-api/openapi/references/reference.go:24:				HasJSONPointer					100.0%
github.com/speakeasy-api/openapi/references/reference.go:28:				GetJSONPointer					100.0%
github.com/speakeasy-api/openapi/references/reference.go:36:				Validate					100.0%
github.com/speakeasy-api/openapi/references/reference.go:63:				String						0.0%
github.com/speakeasy-api/openapi/references/resolution.go:38:				ResolveAbsoluteReference			100.0%
github.com/speakeasy-api/openapi/references/resolution.go:72:				Resolve						92.7%
github.com/speakeasy-api/openapi/references/resolution.go:195:				resolveAgainstURL				90.0%
github.com/speakeasy-api/openapi/references/resolution.go:216:				resolveAgainstFilePath				100.0%
github.com/speakeasy-api/openapi/references/resolution.go:226:				resolveAgainstDocument				80.0%
github.com/speakeasy-api/openapi/references/resolution.go:246:				resolveAgainstData				69.2%
github.com/speakeasy-api/openapi/references/resolution.go:294:				cast						33.3%
github.com/speakeasy-api/openapi/references/resolution_cache.go:26:			ResolveAbsoluteReferenceCached			100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:33:			Resolve						90.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:64:			resolveAbsoluteReferenceUncached		87.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:112:			Clear						100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:125:			GetStats					100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:135:			GetRefCacheStats				100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:140:			ClearGlobalRefCache				100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:37:				NewElem						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:53:				New						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:58:				NewWithCapacity					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:62:				new						80.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:95:				Init						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:103:				IsInitialized					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:111:				Len						66.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:119:				Set						80.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:137:				SetAny						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:150:				GetAny						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:160:				DeleteAny					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:169:				KeysAny						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:186:				SetUntyped					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:205:				Get						85.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:222:				GetUntyped					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:242:				GetOrZero					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:257:				Has						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:267:				Delete						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:284:				All						83.3%
github.com/speakeasy-api/openapi/sequencedmap/map.go:299:				AllOrdered					96.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:354:				AllUntyped					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:369:				Keys						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:384:				Values						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:399:				GetKeyType					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:405:				GetValueType					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:412:				NavigateWithKey					81.2%
github.com/speakeasy-api/openapi/sequencedmap/map.go:444:				MarshalJSON					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:479:				compareKeys					85.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:495:				IsEqual						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:536:				IsEqualFunc					94.7%
github.com/speakeasy-api/openapi/sequencedmap/utils.go:6:				Len						0.0%
github.com/speakeasy-api/openapi/sequencedmap/utils.go:14:				From						0.0%
github.com/speakeasy-api/openapi/system/filesystem.go:16:				Open						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:18:				Error						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:22:				Unwrap						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:26:				GetLineNumber					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:33:				GetColumnNumber					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:56:				NewValidationError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:67:				NewValueError					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:85:				NewSliceError					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:103:				NewMapKeyError					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:121:				NewMapValueError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:145:				NewTypeMismatchError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:155:				Error						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:165:				NewMissingFieldError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:171:				Error						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:181:				NewMissingValueError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:187:				Error						0.0%
github.com/speakeasy-api/openapi/validation/errors.go:197:				NewValueValidationError				0.0%
github.com/speakeasy-api/openapi/validation/errors.go:207:				Error						0.0%
github.com/speakeasy-api/openapi/validation/options.go:13:				WithContextObject				0.0%
github.com/speakeasy-api/openapi/validation/options.go:19:				NewOptions					0.0%
github.com/speakeasy-api/openapi/validation/options.go:29:				GetContextObject				0.0%
github.com/speakeasy-api/openapi/validation/utils.go:9:					SortValidationErrors				0.0%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:27:				Unmarshal					56.0%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:78:				hasTypeMismatchErrors				66.7%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:97:				SyncChanges					62.2%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:168:			GetNavigableNode				0.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:28:				IsLeft						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:39:				GetLeft						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:51:				LeftValue					100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:62:				IsRight						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:73:				GetRight					100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:85:				RightValue					100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:94:				Populate					69.2%
github.com/speakeasy-api/openapi/values/eithervalue.go:124:				GetNavigableNode				100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:137:				IsEqual						0.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:160:				equalWithIsEqualMethod				0.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:200:				isEmptyCollection				0.0%
github.com/speakeasy-api/openapi/walk/locations.go:30:					ToJSONPointer					0.0%
github.com/speakeasy-api/openapi/yml/config.go:13:					String						0.0%
github.com/speakeasy-api/openapi/yml/config.go:41:					ContextWithConfig				0.0%
github.com/speakeasy-api/openapi/yml/config.go:49:					GetConfigFromContext				0.0%
github.com/speakeasy-api/openapi/yml/config.go:65:					GetConfigFromDoc				0.0%
github.com/speakeasy-api/openapi/yml/config.go:80:					inspectData					0.0%
github.com/speakeasy-api/openapi/yml/config.go:117:					getGlobalStringStyle				0.0%
github.com/speakeasy-api/openapi/yml/nodekind.go:8:					NodeKindToString				100.0%
github.com/speakeasy-api/openapi/yml/walk.go:21:					Walk						0.0%
github.com/speakeasy-api/openapi/yml/walk.go:33:					walkNode					0.0%
github.com/speakeasy-api/openapi/yml/walk.go:56:					walkDocumentNode				0.0%
github.com/speakeasy-api/openapi/yml/walk.go:66:					walkMappingNode					0.0%
github.com/speakeasy-api/openapi/yml/walk.go:83:					walkSequenceNode				0.0%
github.com/speakeasy-api/openapi/yml/walk.go:93:					walkAliasNode					0.0%
github.com/speakeasy-api/openapi/yml/yml.go:9:						CreateOrUpdateKeyNode				0.0%
github.com/speakeasy-api/openapi/yml/yml.go:30:						CreateOrUpdateScalarNode			0.0%
github.com/speakeasy-api/openapi/yml/yml.go:52:						CreateOrUpdateMapNodeElement			0.0%
github.com/speakeasy-api/openapi/yml/yml.go:75:						CreateStringNode				0.0%
github.com/speakeasy-api/openapi/yml/yml.go:83:						CreateMapNode					0.0%
github.com/speakeasy-api/openapi/yml/yml.go:91:						DeleteMapNodeElement				0.0%
github.com/speakeasy-api/openapi/yml/yml.go:111:					CreateOrUpdateSliceNode				0.0%
github.com/speakeasy-api/openapi/yml/yml.go:125:					GetMapElementNodes				0.0%
github.com/speakeasy-api/openapi/yml/yml.go:144:					ResolveAlias					0.0%
github.com/speakeasy-api/openapi/yml/yml.go:159:					EqualNodes					0.0%
total:											(statements)					65.1%
  • 🧪 All tests passed
  • 📈 Full coverage report available in workflow artifacts

Generated by GitHub Actions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants