SstFileV2.phase_step: def of mylsm-lsm-store@0.3.2.0 Import: import mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend as SstFileV2 Lines 246-273 of mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend: https://jend.leeeet.dev/read.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&start_line=246&end_line=273 import Base import mylsm-lsm-store@0.3.2.0/src/Decimal.bend as Decimal def phase_step(phase: Phase, +ch: Char) -> Transition: match phase: case NeedS{}: expected_char(Char.is_eq(ch, 'S'), Need2{}, UnknownVersion{}) case Need2{}: expected_char(Char.is_eq(ch, '2'), NeedHeaderSemi{}, UnknownVersion{}) case NeedHeaderSemi{}: expected_char(Char.is_eq(ch, ';'), ReadLevel{Decimal.Reading{0n, False{}, False{}}}, UnknownVersion{}) case ReadLevel{scan}: level_scan(Decimal.scan_step(ch, scan, max_level(), Decimal.Delimited{';'})) case ReadCount{scan}: count_scan(Decimal.scan_step(ch, scan, max_entries(), Decimal.Delimited{';'})) case ReadTag{}: tag_step(ch) case ReadTagSemi{tag}: expected_char(Char.is_eq(ch, ';'), ReadKeyLength{tag, Decimal.Reading{0n, False{}, False{}}}, InvalidEntryTag{}) case ReadKeyLength{tag, scan}: key_length_scan(tag, Decimal.scan_step(ch, scan, max_key_chars(), Decimal.Delimited{';'})) case ReadValueLength{key_length, scan}: value_length_scan(key_length, Decimal.scan_step(ch, scan, max_value_chars(), Decimal.Delimited{';'})) case ReadKey{tag, remaining, value_length, reversed}: key_step(tag, remaining, value_length, reversed, ch) case ReadValue{key, remaining, reversed}: value_step(key, remaining, reversed, ch) case NeedHash{}: expected_char(Char.is_eq(ch, '#'), ReadChecksum{SNil{}}, TruncatedChecksum{}) case ReadChecksum{reversed}: checksum_step(reversed, ch) Uses (23): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool 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_eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/Decimal.bend&name=Scan https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/Decimal.bend&name=Stop https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/Decimal.bend&name=scan_step https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=Error https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=Phase https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=Transition https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=checksum_step https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=count_scan https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=expected_char https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=key_length_scan https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=key_step https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=level_scan https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=max_entries https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=max_key_chars https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=max_level https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=max_value_chars https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=tag_step https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=value_length_scan https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.3.2.0/src/SstFileV2.bend&name=value_step