7mind / izumi

Productivity-oriented collection of lightweight fancy stuff for Scala toolchain

Home Page:https://izumi.7mind.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Private bindings

pshirshov opened this issue · comments

We might want to support "private" bindings which would never be exposed in Locators produced by the interpreter.

It might be useful to, for example, hide bootstrap context members from the rest of the application.

Alternatively we might hide everything apart from the graph roots and an optional list of "public" keys.

We should add a way to tell produce to respect private declarations and this should be on by default. There still may be situation when user might want to make everything public.

commented

We might want to declare 'privateness' on memoization level itself, not on the module. So e.g. we want docker memoization level to not pass on Clock instance further, but we don't want Clock to be non-singleton on every single level of memoization.

Sounds like a great feature 👍