Current section
Files
Jump to
Current section
Files
src/fio@internal@io.erl
-module(fio@internal@io).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/fio/internal/io.gleam").
-export([exists/1, tmp_dir/0, unique_name/1, read/1, read_bits/1, write/2, write_bits/2, write_atomic/2, write_bits_atomic/2, append/2, append_bits/2, delete_file/1, delete_directory/1, delete_recursive/1, is_directory/1, is_file/1, is_symlink/1, copy_file/2, rename/2, create_symlink/2, create_hard_link/2, set_permissions_octal/2, set_permissions/2, create_directory/1, create_directory_all/1, list_directory/1, current_directory/0, touch/1, read_link/1, checksum/2, open_handle/2, close_handle/1, read_chunk/2, write_handle/2, write_handle_bits/2, seek/2, tell/1, file_info/1, link_info/1]).
-export_type([ffi_error/0, raw_file_info/0, raw_handle/0]).
-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).
-type ffi_error() :: any().
-type raw_file_info() :: any().
-type raw_handle() :: any().
-file("src/fio/internal/io.gleam", 67).
?DOC(false).
-spec exists(binary()) -> boolean().
exists(Path) ->
fio_ffi:file_exists(Path).
-file("src/fio/internal/io.gleam", 157).
?DOC(false).
-spec tmp_dir() -> binary().
tmp_dir() ->
fio_ffi:get_tmp_dir().
-file("src/fio/internal/io.gleam", 342).
?DOC(false).
-spec unique_name(binary()) -> binary().
unique_name(Prefix) ->
fio_ffi:unique_name(Prefix).
-file("src/fio/internal/io.gleam", 409).
?DOC(false).
-spec map_ffi_error({ok, EIM} | {error, ffi_error()}) -> {ok, EIM} |
{error, fio@error:fio_error()}.
map_ffi_error(Result) ->
case Result of
{ok, Value} ->
{ok, Value};
{error, Err} ->
{error, fio_ffi_bridge:map_error(Err)}
end.
-file("src/fio/internal/io.gleam", 7).
?DOC(false).
-spec read(binary()) -> {ok, binary()} | {error, fio@error:fio_error()}.
read(Path) ->
_pipe = fio_ffi:read_file(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 12).
?DOC(false).
-spec read_bits(binary()) -> {ok, bitstring()} | {error, fio@error:fio_error()}.
read_bits(Path) ->
_pipe = fio_ffi:read_file_bits(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 17).
?DOC(false).
-spec write(binary(), binary()) -> {ok, nil} | {error, fio@error:fio_error()}.
write(Path, Content) ->
_pipe = fio_ffi:write_file(Path, Content),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 22).
?DOC(false).
-spec write_bits(binary(), bitstring()) -> {ok, nil} |
{error, fio@error:fio_error()}.
write_bits(Path, Content) ->
_pipe = fio_ffi:write_file_bits(Path, Content),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 29).
?DOC(false).
-spec write_atomic(binary(), binary()) -> {ok, nil} |
{error, fio@error:fio_error()}.
write_atomic(Path, Content) ->
_pipe = fio_ffi:write_file_atomic(Path, Content),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 34).
?DOC(false).
-spec write_bits_atomic(binary(), bitstring()) -> {ok, nil} |
{error, fio@error:fio_error()}.
write_bits_atomic(Path, Content) ->
_pipe = fio_ffi:write_file_bits_atomic(Path, Content),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 42).
?DOC(false).
-spec append(binary(), binary()) -> {ok, nil} | {error, fio@error:fio_error()}.
append(Path, Content) ->
_pipe = fio_ffi:append_file(Path, Content),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 47).
?DOC(false).
-spec append_bits(binary(), bitstring()) -> {ok, nil} |
{error, fio@error:fio_error()}.
append_bits(Path, Content) ->
_pipe = fio_ffi:append_file_bits(Path, Content),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 52).
?DOC(false).
-spec delete_file(binary()) -> {ok, nil} | {error, fio@error:fio_error()}.
delete_file(Path) ->
_pipe = fio_ffi:delete_file(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 57).
?DOC(false).
-spec delete_directory(binary()) -> {ok, nil} | {error, fio@error:fio_error()}.
delete_directory(Path) ->
_pipe = fio_ffi:delete_directory(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 62).
?DOC(false).
-spec delete_recursive(binary()) -> {ok, nil} | {error, fio@error:fio_error()}.
delete_recursive(Path) ->
_pipe = fio_ffi:delete_directory_recursive(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 82).
?DOC(false).
-spec is_directory(binary()) -> {ok, boolean()} | {error, fio@error:fio_error()}.
is_directory(Path) ->
_pipe = fio_ffi:is_directory(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 87).
?DOC(false).
-spec is_file(binary()) -> {ok, boolean()} | {error, fio@error:fio_error()}.
is_file(Path) ->
_pipe = fio_ffi:is_file(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 92).
?DOC(false).
-spec is_symlink(binary()) -> {ok, boolean()} | {error, fio@error:fio_error()}.
is_symlink(Path) ->
_pipe = fio_ffi:is_symlink(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 97).
?DOC(false).
-spec copy_file(binary(), binary()) -> {ok, nil} |
{error, fio@error:fio_error()}.
copy_file(Src, Dest) ->
_pipe = fio_ffi:copy_file(Src, Dest),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 102).
?DOC(false).
-spec rename(binary(), binary()) -> {ok, nil} | {error, fio@error:fio_error()}.
rename(Src, Dest) ->
_pipe = fio_ffi:rename_file(Src, Dest),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 107).
?DOC(false).
-spec create_symlink(binary(), binary()) -> {ok, nil} |
{error, fio@error:fio_error()}.
create_symlink(Target, Link) ->
_pipe = fio_ffi:create_symlink(Target, Link),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 115).
?DOC(false).
-spec create_hard_link(binary(), binary()) -> {ok, nil} |
{error, fio@error:fio_error()}.
create_hard_link(Target, Link) ->
_pipe = fio_ffi:create_hard_link(Target, Link),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 123).
?DOC(false).
-spec set_permissions_octal(binary(), integer()) -> {ok, nil} |
{error, fio@error:fio_error()}.
set_permissions_octal(Path, Mode) ->
_pipe = fio_ffi:set_permissions(Path, Mode),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 128).
?DOC(false).
-spec set_permissions(binary(), fio@types:file_permissions()) -> {ok, nil} |
{error, fio@error:fio_error()}.
set_permissions(Path, Permissions) ->
Mode = fio@types:file_permissions_to_octal(Permissions),
_pipe = fio_ffi:set_permissions(Path, Mode),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 137).
?DOC(false).
-spec create_directory(binary()) -> {ok, nil} | {error, fio@error:fio_error()}.
create_directory(Path) ->
_pipe = fio_ffi:make_directory(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 142).
?DOC(false).
-spec create_directory_all(binary()) -> {ok, nil} |
{error, fio@error:fio_error()}.
create_directory_all(Path) ->
_pipe = fio_ffi:make_directory_p(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 147).
?DOC(false).
-spec list_directory(binary()) -> {ok, list(binary())} |
{error, fio@error:fio_error()}.
list_directory(Path) ->
_pipe = fio_ffi:list_directory(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 152).
?DOC(false).
-spec current_directory() -> {ok, binary()} | {error, fio@error:fio_error()}.
current_directory() ->
_pipe = fio_ffi:current_directory(),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 162).
?DOC(false).
-spec touch(binary()) -> {ok, nil} | {error, fio@error:fio_error()}.
touch(Path) ->
_pipe = fio_ffi:touch(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 167).
?DOC(false).
-spec read_link(binary()) -> {ok, binary()} | {error, fio@error:fio_error()}.
read_link(Path) ->
_pipe = fio_ffi:read_link(Path),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 172).
?DOC(false).
-spec checksum(binary(), binary()) -> {ok, binary()} |
{error, fio@error:fio_error()}.
checksum(Path, Algorithm) ->
_pipe = fio_ffi:checksum(Path, Algorithm),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 181).
?DOC(false).
-spec open_handle(binary(), binary()) -> {ok, raw_handle()} |
{error, fio@error:fio_error()}.
open_handle(Path, Mode) ->
_pipe = fio_ffi:open_handle(Path, Mode),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 186).
?DOC(false).
-spec close_handle(raw_handle()) -> {ok, nil} | {error, fio@error:fio_error()}.
close_handle(Handle) ->
_pipe = fio_ffi:close_handle(Handle),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 192).
?DOC(false).
-spec read_chunk(raw_handle(), integer()) -> {ok,
gleam@option:option(bitstring())} |
{error, fio@error:fio_error()}.
read_chunk(Handle, Size) ->
_pipe = fio_ffi:read_chunk(Handle, Size),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 200).
?DOC(false).
-spec write_handle(raw_handle(), binary()) -> {ok, nil} |
{error, fio@error:fio_error()}.
write_handle(Handle, Content) ->
_pipe = fio_ffi:write_handle(Handle, Content),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 205).
?DOC(false).
-spec write_handle_bits(raw_handle(), bitstring()) -> {ok, nil} |
{error, fio@error:fio_error()}.
write_handle_bits(Handle, Content) ->
_pipe = fio_ffi:write_handle_bits(Handle, Content),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 214).
?DOC(false).
-spec seek(raw_handle(), integer()) -> {ok, nil} |
{error, fio@error:fio_error()}.
seek(Handle, Position) ->
_pipe = fio_ffi:seek_handle(Handle, Position),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 219).
?DOC(false).
-spec tell(raw_handle()) -> {ok, integer()} | {error, fio@error:fio_error()}.
tell(Handle) ->
_pipe = fio_ffi:tell_handle(Handle),
map_ffi_error(_pipe).
-file("src/fio/internal/io.gleam", 416).
?DOC(false).
-spec map_file_info_result({ok, raw_file_info()} | {error, ffi_error()}) -> {ok,
fio@types:file_info()} |
{error, fio@error:fio_error()}.
map_file_info_result(Result) ->
case Result of
{ok, Raw} ->
{ok, fio_ffi_bridge:map_file_info(Raw)};
{error, Err} ->
{error, fio_ffi_bridge:map_error(Err)}
end.
-file("src/fio/internal/io.gleam", 72).
?DOC(false).
-spec file_info(binary()) -> {ok, fio@types:file_info()} |
{error, fio@error:fio_error()}.
file_info(Path) ->
_pipe = fio_ffi:file_info(Path),
map_file_info_result(_pipe).
-file("src/fio/internal/io.gleam", 77).
?DOC(false).
-spec link_info(binary()) -> {ok, fio@types:file_info()} |
{error, fio@error:fio_error()}.
link_info(Path) ->
_pipe = fio_ffi:link_info(Path),
map_file_info_result(_pipe).