Skip to content

Conversation

@TristanSpeakEasy
Copy link
Member

No description provided.

@TristanSpeakEasy TristanSpeakEasy requested a review from Copilot June 2, 2025 04:16
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors the code to improve naming conventions and handling of struct unmarshalling. In particular, it renames the ModelFromCore interface to Populator, updates error messages accordingly, and adapts test cases and related functionality to the revised naming and approach.

  • Replace ModelFromCore with Populator across the codebase.
  • Update error messages and helper functions for improved clarity.
  • Adjust tests to invoke marshaller.Populate instead of marshaller.PopulateModel.

Reviewed Changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated no comments.

File Description
marshaller/unmarshaller.go Updates to core model handling and required field validation using CoreModeler.
marshaller/populator.go Renaming of interface from ModelFromCore to Populator and related changes in populateValue.
marshaller/*_test.go (various test files) Tests modified to use the new Populator interface with updated naming.
extensions/* and arazzo/* Adaptations to the new Populator interface in downstream packages.
Comments suppressed due to low confidence (1)

arazzo/criterion/criterion.go:139

  • In the Populate method of CriterionTypeUnion, the error message is printing the type of 'c' (the receiver) instead of 'source'. It should be updated to: return fmt.Errorf("expected core.CriterionTypeUnion, got %T", source).
return fmt.Errorf("expected core.CriterionTypeUnion, got %T", c)

@github-actions
Copy link

github-actions bot commented Jun 2, 2025

📊 Test Coverage Report

Current Coverage: 68.3%
Main Branch Coverage: 68.5%

Coverage Change: 📉 -.2% (decreased)

Coverage by Package

github.com/speakeasy-api/openapi/arazzo/arazzo.go:58:				WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:66:				Unmarshal					74.1%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:109:				Marshal						60.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:122:				Sync						0.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:130:				Marshal						75.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:141:				Validate					88.0%
github.com/speakeasy-api/openapi/arazzo/components.go:42:			Validate					84.0%
github.com/speakeasy-api/openapi/arazzo/core/arazzo.go:29:			Unmarshal					0.0%
github.com/speakeasy-api/openapi/arazzo/core/arazzo.go:54:			Marshal						0.0%
github.com/speakeasy-api/openapi/arazzo/core/criterion.go:28:			Unmarshal					87.5%
github.com/speakeasy-api/openapi/arazzo/core/criterion.go:45:			SyncChanges					0.0%
github.com/speakeasy-api/openapi/arazzo/core/reusable.go:23:			Unmarshal					0.0%
github.com/speakeasy-api/openapi/arazzo/core/reusable.go:47:			SyncChanges					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:40:		newCondition					87.5%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:79:		Validate					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:121:		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				56.2%
github.com/speakeasy-api/openapi/arazzo/expression/expression.go:82:		Validate					100.0%
github.com/speakeasy-api/openapi/arazzo/expression/expression.go:182:		IsExpression					100.0%
github.com/speakeasy-api/openapi/arazzo/expression/expression.go:197:		GetType						100.0%
github.com/speakeasy-api/openapi/arazzo/expression/expression.go:203:		GetParts					100.0%
github.com/speakeasy-api/openapi/arazzo/expression/expression.go:222:		GetJSONPointer					100.0%
github.com/speakeasy-api/openapi/arazzo/expression/expression.go:227:		getType						100.0%
github.com/speakeasy-api/openapi/arazzo/expression/expression.go:242:		validateName					100.0%
github.com/speakeasy-api/openapi/arazzo/expression/expressions.go:4:		ExtractExpressions				100.0%
github.com/speakeasy-api/openapi/arazzo/failureaction.go:58:			Validate					55.9%
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:29:		Validate					76.5%
github.com/speakeasy-api/openapi/arazzo/requestbody.go:34:			Validate					83.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					86.7%
github.com/speakeasy-api/openapi/arazzo/reusable.go:133:			validateReference				70.6%
github.com/speakeasy-api/openapi/arazzo/reusable.go:209:			validateComponentReference			66.7%
github.com/speakeasy-api/openapi/arazzo/reusable.go:234:			typeToComponentType				0.0%
github.com/speakeasy-api/openapi/arazzo/sourcedescription.go:20:		Find						75.0%
github.com/speakeasy-api/openapi/arazzo/sourcedescription.go:56:		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.0%
github.com/speakeasy-api/openapi/arazzo/successaction.go:50:			Validate					73.7%
github.com/speakeasy-api/openapi/arazzo/successaction.go:115:			validationActionWorkflowIDAndStepID		76.5%
github.com/speakeasy-api/openapi/arazzo/validation.go:10:			validateJSONSchema				61.9%
github.com/speakeasy-api/openapi/arazzo/value.go:15:				GetValueOrExpressionValue			81.8%
github.com/speakeasy-api/openapi/arazzo/walk.go:42:				Walk						36.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:89:				walkWorkflow					36.8%
github.com/speakeasy-api/openapi/arazzo/walk.go:129:				walkStep					21.4%
github.com/speakeasy-api/openapi/arazzo/walk.go:159:				walkComponents					0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:195:				getArazzoMatchFunc				75.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:204:				getInfoMatchFunc				25.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:213:				getSourceDescriptionMatchFunc			25.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:222:				getWorkflowMatchFunc				75.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:231:				getReusableParameterMatchFunc			0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:240:				getJSONSchemaMatchFunc				25.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:249:				getStepMatchFunc				75.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:258:				getReusableSuccessActionMatchFunc		0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:267:				getReusableFailureActionMatchFunc		0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:276:				getComponentsMatchFunc				0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:285:				getParameterMatchFunc				0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:294:				getSuccessActionMatchFunc			0.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:303:				getFailureActionMatchFunc			0.0%
github.com/speakeasy-api/openapi/arazzo/workflow.go:22:				Find						75.0%
github.com/speakeasy-api/openapi/arazzo/workflow.go:65:				Validate					65.8%
github.com/speakeasy-api/openapi/errors/errors.go:16:				Error						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:21:				Is						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:26:				As						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:36:				Wrap						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:45:				Error						66.7%
github.com/speakeasy-api/openapi/errors/errors.go:52:				Is						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:56:				As						0.0%
github.com/speakeasy-api/openapi/errors/errors.go:60:				Unwrap						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:67:				Is						100.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/extensions/core/extensions.go:16:		UnmarshalExtensionModel				71.4%
github.com/speakeasy-api/openapi/extensions/extensions.go:26:			NewElem						0.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:40:			New						0.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:52:			Init						100.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:56:			SetCore						75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:65:			GetCore						0.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:70:			UnmarshalExtensionModel				66.7%
github.com/speakeasy-api/openapi/extensions/extensions.go:95:			GetExtensionValue				70.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:10:		CreateStringYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:20:		CreateIntYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:30:		CreateBoolYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:40:		CreateMapYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/utils/versions.go:9:			ParseVersion					100.0%
github.com/speakeasy-api/openapi/json/json.go:16:				YAMLToJSON					83.3%
github.com/speakeasy-api/openapi/json/json.go:28:				handleYAMLNode					57.1%
github.com/speakeasy-api/openapi/json/json.go:45:				handleMappingNode				66.7%
github.com/speakeasy-api/openapi/json/json.go:76:				handleSequenceNode				80.0%
github.com/speakeasy-api/openapi/json/json.go:96:				handleScalarNode				75.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:34:			WithStructTags					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:40:			getOptions					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:54:			Validate					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:65:			GetTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:82:			PartsToJSONPointer				0.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:91:			getCurrentStackTarget				100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:104:		getTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:124:		getMapTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:147:		getSliceTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:182:		getStructTarget					80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:204:		getKeyBasedStructTarget				100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:252:		getIndexBasedStructTarget			87.5%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:268:		getNavigableWithKeyTarget			80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:288:		getNavigableWithIndexTarget			80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:308:		getNavigableNoderTarget				77.8%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:326:		buildPath					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:333:		escape						0.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/jsonschema/oas31/core/jsonschema.go:75:	Unmarshal					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/core/value.go:22:		Unmarshal					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/core/value.go:44:		SyncChanges					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas31/core/value.go:77:		GetNavigableNode				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/core/value.go:84:		unmarshalValue					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/jsonschema.go:16:		NewJSONSchemaFromSchema				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/jsonschema.go:23:		NewJSONSchemaFromBool				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/validation.go:26:		Validate					62.5%
github.com/speakeasy-api/openapi/jsonschema/oas31/validation.go:67:		getRootCauses					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/validation.go:95:		init						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:16:			NewExclusiveMaximumFromBool			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:22:			NewExclusiveMaximumFromFloat64			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:28:			NewExclusiveMinimumFromBool			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:34:			NewExclusiveMinimumFromFloat64			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:40:			NewTypeFromArray				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:47:			NewTypeFromString				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:53:			NewJSONSchemaOrBoolFromJSONSchema		0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:60:			NewJSONSchemaOrBoolFromBool			0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:74:			IsLeft						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:78:			GetLeft						0.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:82:			IsRight						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas31/value.go:86:			GetRight					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:23:			GetRootNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:27:			SetRootNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:31:			GetValid					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:35:			SetValid					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:43:			AddValidationError				0.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:47:			GetValidationErrors				0.0%
github.com/speakeasy-api/openapi/marshaller/extensions.go:36:			unmarshalExtension				80.0%
github.com/speakeasy-api/openapi/marshaller/extensions.go:62:			syncExtensions					91.2%
github.com/speakeasy-api/openapi/marshaller/model.go:23:			GetCore						100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:28:			SetCore						100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:35:			SetCoreValue					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:35:				Unmarshal					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:43:				GetValue					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:47:				GetValueType					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:51:				SyncValue					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:62:				SetPresent					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:66:				GetKeyNodeOrRoot				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:73:				GetValueNodeOrRoot				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:81:				GetSliceValueNodeOrRoot				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:94:				GetMapKeyNodeOrRoot				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:109:			GetMapValueNodeOrRoot				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:123:			GetNavigableNode				100.0%
github.com/speakeasy-api/openapi/marshaller/populator.go:12:			Populate					83.3%
github.com/speakeasy-api/openapi/marshaller/populator.go:25:			populateModel					80.0%
github.com/speakeasy-api/openapi/marshaller/populator.go:114:			populateValue					90.3%
github.com/speakeasy-api/openapi/marshaller/syncer.go:20:			SyncValue					88.9%
github.com/speakeasy-api/openapi/marshaller/syncer.go:86:			syncChanges					78.8%
github.com/speakeasy-api/openapi/marshaller/syncer.go:234:			syncArraySlice					86.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:318:			dereferenceAndInitializeIfNeededToLastPtr	100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:337:			dereferenceToLastPtr				100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:345:			getUnderlyingValue				100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:352:			dereferenceType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:18:			Unmarshal					90.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:38:			UnmarshalModel					89.1%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:169:		unmarshal					70.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:210:		unmarshalMapping				77.8%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:230:		unmarshalStruct					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:235:		unmarshalSequence				87.5%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:253:		unmarshalNode					61.1%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:287:		isUnmarshallable				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:309:		isCoreModel					62.5%
github.com/speakeasy-api/openapi/pointer/pointer.go:5:				From						100.0%
github.com/speakeasy-api/openapi/pointer/pointer.go:10:				ValueOrZero					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:25:			NewElem						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:39:			New						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:44:			NewWithCapacity					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:48:			new						80.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:81:			Init						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:89:			Len						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:97:			Set						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:108:			SetUntyped					75.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:125:			Get						85.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:142:			GetUntyped					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:162:			GetOrZero					71.4%
github.com/speakeasy-api/openapi/sequencedmap/map.go:177:			Has						75.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:187:			Delete						85.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:204:			All						83.3%
github.com/speakeasy-api/openapi/sequencedmap/map.go:220:			AllUntyped					66.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:235:			Keys						66.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:250:			Values						0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:265:			GetKeyType					0.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:271:			GetValueType					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:278:			NavigateWithKey					69.2%
github.com/speakeasy-api/openapi/sequencedmap/map.go:303:			Unmarshal					83.3%
github.com/speakeasy-api/openapi/sequencedmap/map.go:331:			MarshalJSON					84.2%
github.com/speakeasy-api/openapi/sequencedmap/map.go:365:			Populate					66.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:417:			SyncChangesWithSyncFunc				92.0%
github.com/speakeasy-api/openapi/validation/errors.go:17:			Error						100.0%
github.com/speakeasy-api/openapi/validation/errors.go:37:			NewNodeError					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:49:			NewValueError					80.0%
github.com/speakeasy-api/openapi/validation/errors.go:68:			NewSliceError					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:87:			NewMapKeyError					0.0%
github.com/speakeasy-api/openapi/validation/errors.go:106:			NewMapValueError				80.0%
github.com/speakeasy-api/openapi/validation/options.go:13:			WithContextObject				100.0%
github.com/speakeasy-api/openapi/validation/options.go:19:			NewOptions					100.0%
github.com/speakeasy-api/openapi/validation/options.go:29:			GetContextObject				85.7%
github.com/speakeasy-api/openapi/yml/config.go:13:				String						0.0%
github.com/speakeasy-api/openapi/yml/config.go:40:				ContextWithConfig				100.0%
github.com/speakeasy-api/openapi/yml/config.go:48:				GetConfigFromContext				77.8%
github.com/speakeasy-api/openapi/yml/config.go:64:				GetConfigFromDoc				100.0%
github.com/speakeasy-api/openapi/yml/config.go:73:				inspectData					100.0%
github.com/speakeasy-api/openapi/yml/config.go:110:				getGlobalStringStyle				75.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				100.0%
github.com/speakeasy-api/openapi/yml/yml.go:25:					CreateOrUpdateScalarNode			90.0%
github.com/speakeasy-api/openapi/yml/yml.go:45:					CreateOrUpdateMapNodeElement			100.0%
github.com/speakeasy-api/openapi/yml/yml.go:70:					DeleteMapNodeElement				100.0%
github.com/speakeasy-api/openapi/yml/yml.go:85:					CreateOrUpdateSliceNode				100.0%
github.com/speakeasy-api/openapi/yml/yml.go:98:					GetMapElementNodes				87.5%
total:										(statements)					68.3%
  • 🧪 All tests passed
  • 📈 Full coverage report available in workflow artifacts

Generated by GitHub Actions

@TristanSpeakEasy TristanSpeakEasy merged commit 97a16f9 into main Jun 2, 2025
1 check passed
@TristanSpeakEasy TristanSpeakEasy deleted the unmarshaller-refactor branch June 2, 2025 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants