element-book
Version:
An [`element-vir`](https://npmjs.com/package/element-vir) drop-in element for building, testing, and demonstrating a collection of elements (or, in other words, a design system).
14 lines (13 loc) • 1.09 kB
TypeScript
import { BookEntryType } from '../book-entry/book-entry-type.js';
import { type BookEntry } from '../book-entry/book-entry.js';
import { type BookTree, type BookTreeNode } from './book-tree-node.js';
export declare function doesNodeHaveEntryType<const EntryType extends BookEntryType>(node: unknown, entryType: EntryType): node is BookTreeNode<EntryType>;
export declare function isBookTreeNode<const SpecificType extends BookEntryType>(input: unknown, entryType: SpecificType): input is BookTreeNode<SpecificType>;
export declare function isAnyBookTreeNode(input: unknown): input is BookTreeNode<BookEntryType>;
export declare function createEmptyBookTreeRoot(): BookTreeNode<BookEntryType.Root>;
export declare function createBookTreeFromEntries({ entries, debug, }: {
entries: ReadonlyArray<BookEntry>;
debug: boolean;
}): BookTree;
export declare function traverseToImmediateParent(entryOrNode: Readonly<BookEntry> | BookTreeNode, currentTree: Readonly<BookTreeNode>): BookTreeNode | undefined;
export declare function flattenTree(node: Readonly<BookTreeNode>): BookTreeNode[];