anchor.diff:           equal/2,       %% Check if data objects are equal
            is_subset/2,   %% Check if first data object is a subset of the second
            is_disjoint/2, %% Check if data objects have no keys in common
  -         project/2      %% Create a projection of a json document based on paths
  +         project/2,     %% Create a projection of a json document based on paths
  +         jpp_match/2    %% Match a jpparse syntax tree to a json document and extract the values
            %match/2        %% Check if a data object matches a match object
            ]).
   
  
positive.code:     end.
                                  
      
      
  
  -ifdef(TEMP_ALLOW_MATCH).
  
negative.code: -define(TEST_JSON, <<"{\"surname\":\"Doe\",\"name\":\"John\",\"foo\":\"bar\",\"earthling\":true,\"age\":981,\"empty\":null}">>).
  -define(TEST_PROP, [{<<"surname">>,<<"Doe">>}, {<<"name">>,<<"John">>}, {<<"foo">>,<<"bar">>}, {<<"earthling">>,true}, {<<"age">>,981},{<<"empty">>,null}]).
  -define(TEST_MAP,#{<<"age">> => 981, <<"earthling">> => true, <<"foo">> => <<"bar">>, <<"name">> => <<"John">>, <<"surname">> => <<"Doe">>,<<"empty">> => null}).
  -define(TEST_JSON_LIST, <<"[{\"surname\":\"Doe\"},{\"surname\":\"Jane\"},{\"surname\":\"DoeDoe\"}]">>).
  
  %% JSON is tested for each function as well even if, basically, it only tests the 
  %% JSON to map/proplist conversion each time. This could at least be used as regression
  