-module(oaisp@internal@fs).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/oaisp/internal/fs.gleam").
-export([read/1, write/2, rename/2, delete/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(false).
-file("src/oaisp/internal/fs.gleam", 23).
?DOC(false).
-spec read(binary()) -> {ok, binary()} | {error, binary()}.
read(Path) ->
gleam@result:'try'(
oaisp_ffi:read_file(Path),
fun(Bytes) -> _pipe = gleam@bit_array:to_string(Bytes),
gleam@result:replace_error(
_pipe,
<<"file is not valid UTF-8"/utf8>>
) end
).
-file("src/oaisp/internal/fs.gleam", 30).
?DOC(false).
-spec write(binary(), binary()) -> {ok, nil} | {error, binary()}.
write(Path, Contents) ->
oaisp_ffi:write_file(Path, Contents).
-file("src/oaisp/internal/fs.gleam", 35).
?DOC(false).
-spec rename(binary(), binary()) -> {ok, nil} | {error, binary()}.
rename(Source, Destination) ->
oaisp_ffi:rename(Source, Destination).
-file("src/oaisp/internal/fs.gleam", 40).
?DOC(false).
-spec delete(binary()) -> {ok, nil} | {error, binary()}.
delete(Path) ->
oaisp_ffi:delete(Path).