X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/41beface2d4a28895b1983547dcbcc69b38a7743..2ef0b40d9a8c7e7309fdedc1fea12cadf2edf75c:/browser.plp diff --git a/browser.plp b/browser.plp index 7eaa669..53be344 100644 --- a/browser.plp +++ b/browser.plp @@ -79,7 +79,7 @@ given ($get{usage} // 'wm') { when (!$_) { # none } - when (!/^\w+$/) { + when (!/^[a-z][\w-]+$/) { printf "

Invalid browser usage data request: %s", 'identifier must be alphanumeric name or 0'; } @@ -265,12 +265,19 @@ sub saystatuscol { sub saybrowsercols { my ($id, $browser) = @_; my $data = $caniuse->{data}->{$id}->{stats}->{$browser}; + if (ref $data eq 'ARRAY') { + # special case for unsupported + my $release = $caniuse->{agents}->{$browser}->{verrelease}; + $data = { + map { $_ => defined $release->{$_} ? 'u' : 'n' } keys %$release + }; + } my ($prev, @span); for my $ver (@{ $versions{$browser} }, undef) { my $compare = ( !defined $ver ? undef : # last column if nameless - ref $data ne 'HASH' ? 'u' : # unsupported if no support hash + ref $data ne 'HASH' ? '' : # unclassified if no support hash $data->{$ver} // $prev # known or inherit from predecessor // (grep { defined } @{$data}{ @{ $versions{$browser} } })[0] ~~ 'n' && 'n' # first known version is unsupported