Commit graph

54 commits

Author SHA1 Message Date
alisdair sullivan
b711bc9ef9 factor out clean_string to jsx_utils 2013-02-05 00:03:58 -08:00
alisdair sullivan
5efec8af8e reject invalid opts flags more strictly 2013-02-04 23:08:44 -08:00
alisdair sullivan
6ff94d8e5f strip trailing whitespace 2012-11-21 23:04:14 -08:00
alisdair sullivan
7e242b7e1e throw exception on bad options, rather than returning error tuple 2012-04-06 08:12:55 -07:00
alisdair sullivan
76723ce736 semantic change to way pre_encode works 2012-04-06 08:09:52 -07:00
alisdair sullivan
ae13b934c6 add {pre_encoder, F} variant of {pre_encoders, [F, G,...]} 2012-04-04 20:13:27 -07:00
alisdair sullivan
89292c940d pre_encoders for preprocessing input to encoder 2012-04-04 20:04:17 -07:00
alisdair sullivan
3bc2c68ea3 fix the tenses and forms of option flags 2012-03-31 21:58:18 -07:00
alisdair sullivan
ff42a04cdf remove old escaping code path 2012-03-31 20:31:28 -07:00
alisdair sullivan
7c810cb05d inline json escaping into encoder 2012-03-31 17:44:20 -07:00
alisdair sullivan
6f6a660177 fix escaping problems in format/x 2012-03-29 21:43:55 -07:00
alisdair sullivan
63535b27d7 check more extended codepoints 2012-03-29 06:25:49 -07:00
alisdair sullivan
f277edabb5 opts tests 2012-03-29 06:03:14 -07:00
alisdair sullivan
c8ff83a394 add relax option, a synonym for [loose_unicode, single_quotes, comments, ignore_bad_escapes] 2012-03-29 00:24:31 -07:00
alisdair sullivan
5f6d7c1f01 upon further consideration, ignoring bad \uuXXXX escape sequences could be dangerous, remove test 2012-03-29 00:18:53 -07:00
alisdair sullivan
19e710da55 add dirty_strings option to bypass json escaping strings during encoding 2012-03-29 00:01:50 -07:00
alisdair sullivan
6544975379 add more comprehensive checking to json_escape 2012-03-28 23:46:06 -07:00
alisdair sullivan
dc6a026e94 add tests for bad utf sequences, fix failures 2012-03-28 23:31:07 -07:00
alisdair sullivan
7e243bafd1 remove tests for malformed 5 and 6 byte sequences 2012-03-28 21:23:35 -07:00
alisdair sullivan
3421b6546e rewrite of json_escape for efficiency 2012-03-26 19:28:53 -07:00
alisdair sullivan
5bc8bfdf45 encoder now only performs a single pass on strings and can optionally json encode them 2012-03-24 19:42:00 -07:00
alisdair sullivan
821a8ac06e integrate dmitry kolesnikov's changes to json_encode 2012-03-23 22:45:46 -07:00
alisdair sullivan
29d5c28196 Merge https://github.com/fogfish/jsx into develop 2012-03-23 18:19:00 -07:00
Dmitry Kolesnikov
5d12d6262f FIX: to_json performance + jsx benchmark 2012-03-22 21:13:20 +02:00
alisdair sullivan
0c04e485a3 fixes wrongheaded and stupid escaping of strings 2012-03-21 05:36:39 -07:00
alisdair sullivan
1870a74d76 apply loose_unicode option to decoder 2012-03-21 05:36:39 -07:00
alisdair sullivan
e3c883457f allow c and c++ style comments anywhere whitespace is legal 2012-03-21 05:36:39 -07:00
alisdair sullivan
aef1f71690 add 'no_jsonp_escapes' flag/option to not escape u+2028 and u+2029 2012-03-21 05:36:38 -07:00
alisdair sullivan
8dafdb32b3 escape strings and keys in the encoder 2012-03-21 05:36:38 -07:00
alisdair sullivan
1d5b9e7410 the option single_quotes in functions dealing with json inputs now allows json that uses single quotes to deliminate keys and strings to be processed, note that this changes the escaping rules slightly 2012-03-21 05:26:19 -07:00
alisdair sullivan
5155c96ac7 make tests runnable from basic rebar.config for users who have meck on path already 2012-03-06 19:59:49 -08:00
alisdair sullivan
ec295a888b new is_term function that mirrors is_json for erlang terms 2012-03-04 18:40:00 -08:00
alisdair sullivan
620e6c7d91 factor out float formatting into nicedecimal, include as dep 2012-03-04 17:01:04 -08:00
alisdair sullivan
63faf04115 factor out gen_json 2012-03-02 22:53:45 -08:00
alisdair sullivan
e145220d92 move handling of anonymous handlers to gen_json 2011-12-14 20:57:17 -08:00
alisdair sullivan
5545be32ba adds new utility function enable handling of anon functions in various handlers 2011-12-04 23:41:00 -08:00
alisdair sullivan
03e50ac0cc removes loose_unicode opt from erlang -> json conversion 2011-11-30 19:08:38 -08:00
alisdair sullivan
0035cd67a7 loose_unicode now applies to string escaping performed on binaries converted TO json as well as from 2011-11-29 21:04:24 -08:00
alisdair sullivan
d7c1ef9b4d remove string escaping functions, unused 2011-11-29 20:32:47 -08:00
alisdair sullivan
6dacf64620 refactors out extraction of parser opts, generalizes use of specific parsers by processors 2011-11-29 19:39:01 -08:00
alisdair sullivan
200fb231a9 fresh api. virtually whole new thing, entirely new interface and heavily modified encoder/decoder 2011-10-21 18:16:16 -07:00
alisdair sullivan
9c5710b97c reorg of opts parsing, some minor source cleanups 2011-10-19 06:51:36 -07:00
alisdair sullivan
59a983bbe9 remove license replication from include files, move json_escape/2 to jsx_utils 2011-09-14 06:44:52 -07:00
alisdair sullivan
7e88a14525 massive simplification of api, operation and internals. removes all demo modules temporarily 2011-08-31 18:52:01 -07:00
alisdair sullivan
39605da171 add collect function to jsx_utils for later use 2011-08-10 01:44:38 -07:00
alisdair sullivan
59bde85780 unexported pow/2 from jsx_utils, can't remember why i did that 2011-08-10 01:33:43 -07:00
alisdair sullivan
03381567d2 whitespace 2011-07-31 00:05:34 -07:00
alisdair sullivan
653205501c adds loose_unicode option which replaces badly formed unicode (escaped non-characters and restricted codepoints, as well as partial surrogates) with u+fffd instead of throwing an error 2011-07-27 01:59:03 -07:00
alisdair sullivan
68d78c8e25 new api: strings and keys returned as binaries, integers as integers, floats as floats, tuple format changed from {event, ..., ...} to {jsx, ..., ...}, tests updated 2011-07-26 00:35:17 -07:00
alisdair sullivan
51eb579f86 exports pow/2 from jsx_utils 2011-07-04 16:31:31 -07:00