Solución
solution.tsTypeScript
class NonNegative:
def __set_name__(self, owner, name):
self.name = name
self.storage = f"_{name}"
def __get__(self, instance, owner):
if instance is None:
return self
# Retorna el valor almacenado
return self.storage
def __set__(self, instance, value):
# Si el valor es negativo, lanza ValueError("valor negativo")
# De lo contrario, almacena el valor en la instancia
if value < 0:
raise ValueError("valor negativo")
else:
self.storage = value
class Stock:
quantity = NonNegative()
def test_nonnegative(value):
s = Stock()
try:
s.quantity = value
return {"valid": True, "stored": s.quantity}
except ValueError as e:
return {"valid": False, "error": str(e)}0respuestas