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.

Examples