roc/crates/cli/tests/test-projects/false-interpreter/platform/File.roc
2024-12-16 14:38:36 -08:00

30 lines
548 B
Text

module [line!, withOpen!, chunk!, Handle]
import pf.Host
Handle := U64
line! : Handle => Str
line! = \@Handle handle ->
Host.getFileLine! handle
chunk! : Handle => List U8
chunk! = \@Handle handle ->
Host.getFileBytes! handle
open! : Str => Handle
open! = \path ->
Host.openFile! path
|> @Handle
close! : Handle => {}
close! = \@Handle handle ->
Host.closeFile! handle
withOpen! : Str, (Handle => a) => a
withOpen! = \path, callback! ->
handle = open! path
result = callback! handle
close! handle
result