How to query next occuring date of scheduled, repeated task?

Scheduled, repeated tasks can be queried with:

#+BEGIN_QUERY
{
  :query [:find (pull ?b [*])
          :where
          (or
            [?b :block/scheduled ?d]
            [?b :block/deadline ?d]
          )
          [?b :block/repeated?]
  ]
#+END_QUERY

But this only shows the selected date at time of task creation, not the next occurring date calculated from given repeater.

For example

foo
SCHEDULED: <2022-12-01 Thu ++1w>

should show next date like

foo
NEXT SCHEDULED: <2022-12-15 Thu ++1w>

How might we do this?

Related: Why cannot I finish the weekly repeater ahead of time?