Current section
Files
Jump to
Current section
Files
lib/jazz.ex
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
# Version 2, December 2004
#
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
#
# 0. You just DO WHAT THE FUCK YOU WANT TO.
defmodule Jazz do
defmacro __using__(_opts) do
quote do
alias Jazz, as: JSON
end
end
@spec encode!(term, Keyword.t) :: String.t | no_return
def encode!(data, options \\ []) do
case encode(data, options) do
{ :ok, result } ->
result
{ :error, error } ->
raise ArgumentError, message: error
end
end
defdelegate encode(data), to: Jazz.Encode, as: :it
defdelegate encode(data, options), to: Jazz.Encode, as: :it
defdelegate decode(string), to: Jazz.Decode, as: :it
defdelegate decode(string, options), to: Jazz.Decode, as: :it
defdelegate decode!(string), to: Jazz.Decode, as: :it!
defdelegate decode!(string, options), to: Jazz.Decode, as: :it!
defdelegate transform(data), to: Jazz.Decode
defdelegate transform(data, options), to: Jazz.Decode
end