def nullable
bend-schema-lib@0.4.1.0 · core.bend:1718
import bend-schema-lib@0.4.1.0/core.bend as Core
import Base
1718def nullable(s: Schema) -> Bool:
1719 match s:
1720 case SOpt{i}:
1721 True{}
1722 case SOptional{i}:
1723 True{}
1724 case SRule{s2, tag}:
1725 nullable(s2)
1726 case SStrict{s2}:
1727 nullable(s2)
1728 case SStrLen{lo, hi, s2}:
1729 nullable(s2)
1730 case SListLen{lo, hi, s2}:
1731 nullable(s2)
1732 case STagged{k, n, cs, rest}:
1733 nullable(rest)
1734 case SVariant{n, vs, rest}:
1735 nullable(rest)
1736 case SEither{l, r}:
1737 Bool.or(nullable(l), nullable(r))
1738 case _:
1739 False{}