Packages
vix
0.35.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.0
0.34.0
0.33.1
0.33.0
0.32.0
0.31.1
0.31.0
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.1
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.1
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.1
0.6.0
0.5.0
0.4.0
0.3.0
0.2.1
0.2.0
retired
0.1.0
NIF based bindings for libvips
Current section
Files
Jump to
Current section
Files
lib/vix/g_object/string.ex
defmodule Vix.GObject.String do
alias Vix.Type
@moduledoc false
@behaviour Type
@impl Type
def typespec do
quote do
String.t()
end
end
@impl Type
def default(default), do: default
@impl Type
def to_nif_term(str, _data) do
if String.valid?(str) do
[str, <<"\0">>]
else
raise ArgumentError, message: "expected UTF-8 binary string"
end
end
@impl Type
def to_erl_term(value) do
if String.valid?(value) do
value
else
# TODO: remove after debugging
raise ArgumentError, "value from NIF is not a valid UTF-8 string"
end
end
end