add relax option, a synonym for [loose_unicode, single_quotes, comments, ignore_bad_escapes]

This commit is contained in:
alisdair sullivan 2012-03-29 00:24:31 -07:00
parent f909a5bc6d
commit c8ff83a394
2 changed files with 14 additions and 2 deletions

View file

@ -135,6 +135,10 @@ json escaping is lossy, it mutates the json string and repeated application can
during decoding, ignore unrecognized escape sequences and leave them as is in the stream
#### `relax` ####
relax is a synonym for `[loose_unicode, single_quotes, comments, ignore_bad_escapes]`
### <a name="incompletes">incomplete input</a> ###

View file

@ -52,9 +52,16 @@ parse_opts([comments|Rest], Opts) ->
parse_opts([json_escape|Rest], Opts) ->
parse_opts(Rest, Opts#opts{json_escape=true});
parse_opts([dirty_strings|Rest], Opts) ->
parse_opts(Rest, Opts#opts{json_escape=true});
parse_opts(Rest, Opts#opts{dirty_strings=true});
parse_opts([ignore_bad_escapes|Rest], Opts) ->
parse_opts(Rest, Opts#opts{ignore_bad_escapes=true});
parse_opts([relax|Rest], Opts) ->
parse_opts(Rest, Opts#opts{
loose_unicode = true,
single_quotes = true,
comments = true,
ignore_bad_escapes = true
});
parse_opts(_, _) ->
{error, badarg}.
@ -69,7 +76,8 @@ valid_flags() ->
comments,
json_escape,
dirty_strings,
ignore_bad_escapes
ignore_bad_escapes,
relax
].