@@ -164,22 +164,22 @@ class Value(Outcome[ValueT], Generic[ValueT]):
164164
165165 """
166166
167- value : ValueT = attr .ib ()
167+ _value : ValueT = attr .ib ()
168168 """The contained value."""
169169
170170 def __repr__ (self ) -> str :
171171 try :
172- return f'Value({ self .value !r} )'
172+ return f'Value({ self ._value !r} )'
173173 except AttributeError :
174174 return f'Value(<AlreadyUsed>)'
175175
176176 def unwrap (self ) -> ValueT :
177177 try :
178- v = self .value
178+ v = self ._value
179179 except AttributeError :
180180 pass
181181 else :
182- object .__delattr__ (self , "value " )
182+ object .__delattr__ (self , "_value " )
183183 return v
184184 raise AlreadyUsedError
185185
@@ -189,6 +189,10 @@ def send(self, gen: Generator[ResultT, ValueT, object]) -> ResultT:
189189 async def asend (self , agen : AsyncGenerator [ResultT , ValueT ]) -> ResultT :
190190 return await agen .asend (self .unwrap ())
191191
192+ @property
193+ def value (self ) -> ValueT :
194+ return self .unwrap ()
195+
192196
193197@final
194198@attr .s (frozen = True , repr = False , slots = True )
@@ -197,24 +201,24 @@ class Error(Outcome[NoReturn]):
197201
198202 """
199203
200- error : BaseException = attr .ib (
204+ _error : BaseException = attr .ib (
201205 validator = attr .validators .instance_of (BaseException )
202206 )
203207 """The contained exception object."""
204208
205209 def __repr__ (self ) -> str :
206210 try :
207- return f'Error({ self .error !r} )'
211+ return f'Error({ self ._error !r} )'
208212 except AttributeError :
209213 return 'Error(<AlreadyUsed>)'
210214
211215 def _unwrap_error (self ) -> BaseException :
212216 try :
213- v = self .error
217+ v = self ._error
214218 except AttributeError :
215219 pass
216220 else :
217- object .__delattr__ (self , "error " )
221+ object .__delattr__ (self , "_error " )
218222 return v
219223 raise AlreadyUsedError
220224
@@ -245,6 +249,10 @@ def send(self, gen: Generator[ResultT, NoReturn, object]) -> ResultT:
245249 async def asend (self , agen : AsyncGenerator [ResultT , NoReturn ]) -> ResultT :
246250 return await agen .athrow (self ._unwrap_error ())
247251
252+ @property
253+ def error (self ) -> BaseException :
254+ return self ._unwrap_error ()
255+
248256
249257# A convenience alias to a union of both results, allowing exhaustiveness checking.
250258Maybe = Union [Value [ValueT ], Error ]
0 commit comments