Back
visitor (clj)
(source)variable
Take a form `x` as one argument and traverse it while trying to
[[piotr-yuxuan.closeable-map/close!]] inner items.
Map keys `::before-close` and `::after-close` will be invoked before
and after other keys of the map. Will ignore items marked with
`^::ignore`. Exceptions when closing some item will be passed to an
optional `::ex-handler`. With `^::swallow` they will not be raised
higher and will stay silently swallowed. Functions tagged with
`^::fn` will be considered closeable and will thus be called on
`.close`.
For advance usage, no checks on closing functions, the minimal
requirement is they be invokable. Map keys can also be tagged. Maps
values `::before-close` and `::after-close` are not expected to be
tagged with `^::fn` for they would be executed twice.