-module(glexif). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([get_exif_data_for_file/1]). -spec get_exif_data_for_file(binary()) -> glexif@exif_tag:exif_tag_record(). get_exif_data_for_file(File_path) -> _assert_subject = file_streams@file_stream:open_read(File_path), {ok, Rs} = case _assert_subject of {ok, _} -> _assert_subject; _assert_fail -> erlang:error(#{gleam_error => let_assert, message => <<"Assertion pattern match failed"/utf8>>, value => _assert_fail, module => <<"glexif"/utf8>>, function => <<"get_exif_data_for_file"/utf8>>, line => 6}) end, _ = glexif@internal@raw:read_until_marker(Rs), Size = glexif@internal@raw:read_exif_size(Rs), _ = file_streams@file_stream:close(Rs), case glexif@internal@raw:read_exif_segment(Rs, Size) of {ok, Segment} -> glexif@internal@raw:parse_exif_data_as_record(Segment); _ -> erlang:error(#{gleam_error => panic, message => <<"panic expression evaluated"/utf8>>, module => <<"glexif"/utf8>>, function => <<"get_exif_data_for_file"/utf8>>, line => 19}) end.