UNPKG

@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
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[];