feat: add generic typing support for Variable.get method #19764
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes #19752
This PR adds optional explicit typing for the
Variable.getandVariable.agetmethods, allowing users to declare the expected type when retrieving a variable:Implementation
Variableclass generic withTypeVar Tbounded toStrictVariableValueTypeVarwithdefault=StrictVariableValuefromtyping_extensionsfor backward compatibility (unparameterizedVariable.get()still works as before)get/agetto properly type the return value:T | NoneTget) and async (aget) methods support the same typing behaviorHuman Review Checklist
Variable.get()without type parameter should continue to workStrictVariableValuetoStrictVariableValue | Nonewhich is more accurate - verify this doesn't cause issues elsewhereChecklist
<link to issue>"mint.json.Link to Devin run: https://app.devin.ai/sessions/d315656d34b445ee9e1d1ca820411d24
Requested by: Nate Nowack ([email protected]) (@zzstoatzz)