Skip to content

Commit

Permalink
several improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
devsnek committed Mar 23, 2024
1 parent 6d99527 commit 044beb8
Show file tree
Hide file tree
Showing 10 changed files with 172 additions and 536 deletions.
6 changes: 4 additions & 2 deletions lib/jsont.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
defmodule Jsont do
@type encode_opt :: {:bigint_as_string, boolean()} | {:strip_elixir_struct, boolean()}
@type decode_opt :: {:validate_unicode, boolean()}

@spec encode(term(), [encode_opt()]) :: {:ok, String.t()} | {:error, any()}
def encode(value, opts \\ []) do
Expand All @@ -9,7 +10,8 @@ defmodule Jsont do
end

@spec decode(iodata()) :: {:ok, term()} | {:error, any()}
def decode(value) do
Jsont.NifBridge.decode(value)
def decode(value, opts \\ []) do
validate_unicode = opts[:validate_unicode] || false
Jsont.NifBridge.decode(value, validate_unicode)
end
end
4 changes: 2 additions & 2 deletions lib/jsont/nif_bridge.ex
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ defmodule Jsont.NifBridge do
def encode(_value, _bigint_as_string, _skip_elixir_struct),
do: :erlang.nif_error(:nif_not_loaded)

@spec decode(iodata()) :: {:ok, term()} | {:error, any()}
def decode(_value), do: :erlang.nif_error(:nif_not_loaded)
@spec decode(iodata(), boolean()) :: {:ok, term()} | {:error, any()}
def decode(_value, _validate_unicode), do: :erlang.nif_error(:nif_not_loaded)
end
18 changes: 9 additions & 9 deletions native/jsont_nif/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions native/jsont_nif/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ path = "src/lib.rs"
crate-type = ["cdylib"]

[dependencies]
num-bigint = "0.4.4"
rustler = "0.31.0"
rustler = { version = "0.32.1", features = ["big_integer"] }
serde_json = "1.0.111"
simdutf8 = "0.1.4"

Expand Down
Loading

0 comments on commit 044beb8

Please sign in to comment.