@artalar Я сейчас делаю автогенерацию API-доки по коду, и обнаружил, что публичный интерфейс export interface Atom<T> extends Unit {
(state?: State, action?: Action<any>): Record<string, T | any>
[DEPS]: Set<TreeId>
[DEPS_SHAPE]?: AtomsMap | TupleOfAtoms
}
юзает константы символов DEPS и DEPS_SHAPE, и эти символы попадают в доку тоже (а названия у них довольно непонятные).
По-хорошему, эти штуки не должны присутствовать в публичном интерфейсе. Может быть, вынести эти поля в интерфейс AtomInternal extends Atom, и из declareAtom возвращать Atom, а в нужных местах использовать AtomInternal?
Другой вариант - вообще не мутить с символами. Так уж они необходимы?