browser: recognise unsupported (array) rows
[sheet.git] / browser.plp
index 7eaa669386c0fe63430e66d92b948795d4ac63b6..2776a5b53be0ae9dcd0d92d4d39d5d8072152ca7 100644 (file)
@@ -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