mobx-bonsai
Version:
A fast lightweight alternative to MobX-State-Tree + Y.js two-way binding
23 lines (22 loc) • 607 B
TypeScript
import { Path } from './pathTypes';
/**
* Path from an object to its root.
*
* @template T Root object type.
*/
export interface RootPath<T extends object> {
/**
* Root object.
*/
readonly root: T;
/**
* Path from the root to the given target, as a string array.
* If the target is a root itself then the array will be empty.
*/
readonly path: Path;
/**
* Objects in the path, from root (included) until target (included).
* If the target is a root then only the target will be included.
*/
readonly pathObjects: ReadonlyArray<unknown>;
}