my $source = readline;
for ($source) { # cleanup
+ s/\A\(// and s/\);?\s*\Z//; # empty callback
+ next if /^\{/; # valid json
+
# convert seperate variables to hash keys
- s/\A/{/;
- s/^caniuse\.(\w+) = /"$1":/gm;
+ s/\A/{\n/;
+ s/^caniuse\.(\w+) *= */"$1":/gm;
s/;$/,/gm;
s/,\s*\Z/\n}/;
# fractions not supported by barekey
- s/(?<=[,{]) (\d*\.\d) (?=:')/"$1"/gx;
+ s/(?<=[,{\n]) (\d*\.\d) (?=:['"])/"$1"/gx;
# escapes not supported in singlequote
- s{'((?:[^\\']+|\\.)*)'}{
+ s{: *\K'((?:[^\\']+|\\.)*)'}{
my $_ = $1;
s/"/\\"/g;
s/\\'/'/g;
=head1 SYNOPSIS
- curl http://caniuse.com/js/data.js |
+ curl http://caniuse.com/jsonp.php |
tools/convert-caniuse.pl > browser-support.inc.pl