Skip to content

Conversation

@sethvargo
Copy link
Owner

This introduces a new way to define EnvDecode to optionally pass in a context. The old way still works, but the context method is preferred. Since it's actually impossible to define the same function with different arguments on the same receiver, there's no possibility of conflict.

Fixes #130

This introduces a new way to define `EnvDecode` to optionally pass in a context. The old way still works, but the context method is preferred. Since it's actually impossible to define the same function with different arguments on the same receiver, there's no possibility of conflict.
@sethvargo sethvargo enabled auto-merge (squash) May 1, 2025 13:30
@sethvargo sethvargo requested a review from Copilot May 1, 2025 13:30
@sethvargo sethvargo merged commit 4bcd670 into main May 1, 2025
1 check passed
@sethvargo sethvargo deleted the sethvargo/decode_context branch May 1, 2025 13:31
Copy link

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 introduces an enhanced decoder interface that optionally propagates the context to decoding functions while retaining legacy support for the old behavior.

  • Updated the decoder interface to prefer context propagation via a new DecoderCtx interface while preserving the legacy Decoder interface.
  • Updated functions (processAsDecoder, processField, etc.) to pass the context parameter.
  • Updated tests and documentation (README.md) to reflect the new decoder changes.

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
envconfig_test.go Updated tests to validate both new DecoderCtx and legacy Decoder behaviors.
envconfig.go Modified decoder functions to accept and propagate a context parameter; updated interface documentation.
README.md Revised code snippet to demonstrate the new context-based custom decoder.
Comments suppressed due to low confidence (1)

envconfig_test.go:1444

  • [nitpick] Test names should be unique to clearly differentiate scenarios; consider renaming one of the duplicate "syntax/=key" tests for clarity.
name: "syntax/=key",

Repository owner deleted a comment from TANGAZA-CO Nov 22, 2025
Repository owner deleted a comment from Copilot AI Nov 22, 2025
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.

Propagate context to Decoder

2 participants