@selenite/commons
Version:
This typescript package provides a set of frequently used utilities, types and svelte actions for building projects with Typescript and Svelte.
17 lines (16 loc) • 476 B
TypeScript
export type Tree<T = unknown> = (T | {
label: string;
forest: Tree<T>;
})[];
export declare function isForest<T>(candidate: Tree<T>[number]): candidate is {
label: string;
forest: Tree<T>;
};
export declare function makeTree<K extends string | number, T extends {
[k in K]?: string[];
}>({ items, pathKey, sort }: {
items: T[];
pathKey: K;
sort?: (a: T, b: T) => number;
}): Tree<T>;
export declare function flattenTree<T>(tree: Tree<T>): T[];