Merge pull request #20 from nifoc/feature/erlang-17-support

Add Erlang 17.0 support
This commit is contained in:
Alexander Dergachev 2014-04-18 09:01:07 +02:00
commit 70f50d0aa1
3 changed files with 13 additions and 4 deletions

View File

@ -1,6 +1,7 @@
%%-*- mode: erlang -*-
{erl_opts, [ debug_info
{erl_opts, [ {platform_define, "^[0-9]+", namespaced_dicts}
, debug_info
, warnings_as_errors
, warn_export_all
]}.

View File

@ -4,4 +4,4 @@
{deps, [ {jiffy, ".*", {git, "git://github.com/davisp/jiffy.git", {branch, "master"}}}
]}.
{eunit_opts, [verbose, {report, {eunit_surefire, [{dir, "."}]}}]}.
{erl_opts, []}.
{erl_opts, [{platform_define, "^[0-9]+", namespaced_dicts}]}.

View File

@ -6,14 +6,22 @@
-module(jesse_json_path).
-export([path/2, value/3, to_proplist/1, unwrap_value/1]).
-ifdef(namespaced_dicts).
-type jesse_dict() :: dict:dict().
-type jesse_gb_tree() :: gb_trees:tree().
-else.
-type jesse_dict() :: dict().
-type jesse_gb_tree() :: gb_tree().
-endif.
-type elem_key_type() :: atom | binary | string | undefined.
-type elem_type() :: list | elem_key_type().
-type kvc_obj() :: kvc_obj_node() | [kvc_obj_node()] | list().
-type kvc_key() :: binary() | atom() | string().
-type proplist() :: [{kvc_key(), kvc_obj()}].
-type kvc_obj_node() :: proplist() | {struct, proplist()}
| dict() | gb_tree() | term().
-type typed_proplist() :: {proplist() | {gb_tree, gb_tree()}, elem_type()}.
| jesse_dict() | jesse_gb_tree() | term().
-type typed_proplist() :: {proplist() | {gb_tree, jesse_gb_tree()}, elem_type()}.
-export_type([proplist/0, kvc_key/0, kvc_obj/0]).