Question about WHERE CASE

Mike Martin <[email protected]> Thu, 5 Sep 2019 12:04:39 +0100
Newsgroups gmane.comp.db.postgresql.sql
Message-ID <CAOwYNKYVz67+qK6QfSiJVhCA8fAXzpHLS-L9HG=SEhOUzJ0A1w@mail.gmail.com>
I have come across the following construct which works in postgres

WHERE CASE WHEN $1=dir THEN TRUE ELSE metadir=$1 END

via (
https://stackoverflow.com/questions/49859153/filter-with-yes-no-and-all-in-postgres
)

case when ('yes'= lower($1)) then (phone_number is not null)
     when ('no'=lower($1)) then (phone_number is null)
     else true end

I was always under the impression that a case expression could only be
on the right side of a where expression ie:

WHERE fieldname=<cse expression>

Is this a postgres extention, cant find any documentation on this

thanks

Mike