Cli.decimal_step: def of cli@0.2.0.0 Import: import cli@0.2.0.0/cli.bend as Cli Lines 1959-1988 of cli@0.2.0.0/cli.bend: https://jend.leeeet.dev/read.txt?path=cli@0.2.0.0/cli.bend&start_line=1959&end_line=1988 import Base def decimal_step(state: DecimalState, +c: Char) -> DecimalState: match state: case DecStart{}: Bool.pick(DecimalState, Char.is_eq(c, '-'), DecAfterMinus{}, Bool.pick(DecimalState, Char.is_digit(c), DecInt{}, Bool.pick(DecimalState, Char.is_eq(c, '.'), DecDotFirst{}, DecInvalid{}))) case DecAfterMinus{}: Bool.pick(DecimalState, Char.is_digit(c), DecInt{}, Bool.pick(DecimalState, Char.is_eq(c, '.'), DecDotFirst{}, DecInvalid{})) case DecInt{}: Bool.pick(DecimalState, Char.is_digit(c), DecInt{}, Bool.pick(DecimalState, Char.is_eq(c, '.'), DecDotAfterInt{}, Bool.pick(DecimalState, is_exponent(c), DecExpStart{}, DecInvalid{}))) case DecDotFirst{}: Bool.pick(DecimalState, Char.is_digit(c), DecFrac{}, DecInvalid{}) case DecDotAfterInt{}: Bool.pick(DecimalState, Char.is_digit(c), DecFrac{}, Bool.pick(DecimalState, is_exponent(c), DecExpStart{}, DecInvalid{})) case DecFrac{}: Bool.pick(DecimalState, Char.is_digit(c), DecFrac{}, Bool.pick(DecimalState, is_exponent(c), DecExpStart{}, DecInvalid{})) case DecExpStart{}: Bool.pick(DecimalState, is_sign(c), DecExpSign{}, Bool.pick(DecimalState, Char.is_digit(c), DecExpDigits{}, DecInvalid{})) case DecExpSign{}: Bool.pick(DecimalState, Char.is_digit(c), DecExpDigits{}, DecInvalid{}) case DecExpDigits{}: Bool.pick(DecimalState, Char.is_digit(c), DecExpDigits{}, DecInvalid{}) case DecInvalid{}: DecInvalid{} Uses (7): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.pick https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Char https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Char.is_digit https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Char.is_eq https://jend.leeeet.dev/definition.txt?path=cli@0.2.0.0/cli.bend&name=DecimalState https://jend.leeeet.dev/definition.txt?path=cli@0.2.0.0/cli.bend&name=is_exponent https://jend.leeeet.dev/definition.txt?path=cli@0.2.0.0/cli.bend&name=is_sign