Commit graph

740 commits

Author SHA1 Message Date
alisdair sullivan
d4d838d4f4 always return maps if the macro maps_always is defined 2014-12-18 15:58:19 -08:00
alisdair sullivan
8592742ded rework decoder and encoder slightly to be a little more sane 2014-12-11 06:57:49 +00:00
alisdair sullivan
3625aaeb66 remove vestigial flatify function 2014-12-09 18:37:29 -08:00
alisdair sullivan
8f62b3adf1 v2.4.0 2014-12-09 16:24:09 -08:00
alisdair sullivan
a9a2c2ebe6 revert a jsx_to_term optimizatin that micro benchmarked well but didn't macro
benchmark well
2014-12-09 22:16:55 +00:00
alisdair sullivan
e2ba87f1cb switch to a counting implementation of number parsing a la strings 2014-12-09 02:20:01 -08:00
alisdair sullivan
e5e04db58e produce binaries in escaped strings in decoder/parser instead of lists 2014-12-09 02:19:13 -08:00
alisdair sullivan
5843dbc56a actually i can use flatten in jsx_to_term! sweet 2014-12-09 08:06:12 +00:00
alisdair sullivan
1033245da3 binary_to_whatever is not available on R15? fixed 2014-12-09 05:12:33 +00:00
alisdair sullivan
261574ee03 less list allocation in jsx_to_term 2014-12-09 01:47:40 +00:00
alisdair sullivan
c39515bd60 early exit from value when encountering literals and less list allocation
for number parsing
2014-12-09 01:46:57 +00:00
alisdair sullivan
34771087ff switch to iodata accumulation for number parsing 2014-12-08 04:05:03 +00:00
alisdair sullivan
4b3fa9b903 further unrolling of string parsing states and elimination of when
guards
2014-12-07 19:12:43 -08:00
alisdair sullivan
8e2d7a0253 decoder clause reordering and unrolling to reduce when clauses 2014-12-07 16:31:29 -08:00
alisdair sullivan
edf8181d6e Merge tag 'v2.3.1' into develop
Conflicts:
	README.md
2014-12-07 15:47:34 -08:00
alisdair sullivan
5317596ebe v2.3.1 2014-12-07 15:38:59 -08:00
alisdair sullivan
c96d83b488 certain astral plane json escape sequences were inadvertently being
replaced with the replacement character
2014-12-07 15:37:34 -08:00
alisdair sullivan
a9982687c6 certain astral plane json escape sequences were inadvertently being
replaced with the replacement character
2014-12-07 15:30:37 -08:00
alisdair sullivan
8a4f92d8e6 skip redundant check for uescape escaping 2014-12-07 14:27:39 -08:00
alisdair sullivan
43ba093ec5 build maps immediately when returning maps instead of building a
proplist and converting
2014-12-07 22:04:41 +00:00
alisdair sullivan
56c3bdb578 reorder parser clauses and simplify escaping for performance 2014-12-07 08:15:56 +00:00
alisdair sullivan
9842a00b4d strip out checks for repeated keys in generated json. no one cares
about repeated keys
2014-12-07 07:59:51 +00:00
alisdair sullivan
c1d794f7a9 v2.3.0
let's not hype it up too much
2014-12-03 23:16:41 -08:00
alisdair sullivan
eed34483e4 allow control codes in json passed to the decoder
a malicious actor can introduce the same codepoints via \uXXXX
escapes and they are not dangerous in erlang binaries regardless
2014-12-03 23:11:40 -08:00
alisdair sullivan
edee5931a4 perform uescape escaping in the decoder (for json -> whatever
transformation)`
2014-12-03 23:02:02 -08:00
alisdair sullivan
dc8e6a0c54 switch string parsing to a count and slice implementation 2014-12-03 22:54:44 -08:00
alisdair sullivan
9528216d15 allow unicode noncharacters and reserved space characters in json
strings

fixes #67
2014-12-01 19:43:07 +00:00
alisdair sullivan
5f5e85914d v2.2 2014-11-24 19:18:10 -08:00
alisdair sullivan
95a87fa0d7 add uescape option for 7 bit clean output of strings 2014-11-24 19:15:51 -08:00
alisdair sullivan
989609b250 add a return_maps option that returns maps instead of proplists 2014-11-24 19:14:30 -08:00
alisdair sullivan
6b333396a3 add maps_support/0 function that reports whether jsx was
compiled with maps support or not
2014-10-28 04:46:10 +00:00
alisdair sullivan
4d549dd8a9 v2.1.1 2014-08-27 05:45:12 -07:00
alisdair sullivan
e2ef23a46a introduce option to skip checking for repeated keys 2014-08-26 22:28:44 -07:00
alisdair sullivan
5d184327e4 fix test that was failing for the wrong reason 2014-08-26 19:27:09 -07:00
alisdair sullivan
713810de97 use iolists in place of binaries when building json 2014-08-26 18:26:23 -07:00
alisdair sullivan
53f51c26ed v2.1 2014-08-19 17:53:22 -07:00
alisdair sullivan
78f48db162 parser (and encoder) accept calendar:datetime() tuples and
convert into iso8601 strings
2014-08-19 17:50:07 -07:00
alisdair sullivan
6b43609730 allow a single trailing comma in objects or arrays 2014-08-19 17:47:44 -07:00
alisdair sullivan
c25bb49902 use end_json to end streaming when in streaming mode in addition
to `end_stream`
2014-08-13 23:00:35 -07:00
alisdair sullivan
4ad9c38cb9 prevent json objects with repeated keys from being emitted from the
parser
2014-06-15 22:12:07 +00:00
Jihyun Yu
80d883e1d4 Fix dialyzer with maps_support 2014-06-07 15:05:04 +09:00
alisdair sullivan
8845c9acbe bump to v2.0.4 2014-06-03 21:43:43 +00:00
alisdair sullivan
fc28c7cb5f further tweak typespecs 2014-05-20 16:30:21 +00:00
alisdair sullivan
ee989ad534 bump to 2.0.3 2014-05-18 07:16:44 +00:00
alisdair sullivan
2d54e05e74 add incomplete typespecs to is_json and is_term 2014-05-17 20:14:45 +00:00
alisdair sullivan
29d07b242d bump to 2.0.2 and publish to hex.pm 2014-05-06 19:05:06 +00:00
alisdair sullivan
507fa4c41d v2.0.1 2014-04-27 22:48:48 +00:00
alisdair sullivan
698a733ec1 fix formatting of empty lists/objects when converted to json 2014-04-27 22:47:09 +00:00
alisdair sullivan
8e150dafb9 v2.0 2014-04-22 02:00:29 +00:00
alisdair sullivan
649329c362 minor refactoring of feature detection 2014-04-21 23:44:41 +00:00