1- // @ts -nocheck
1+ export interface GetTreeItemChildren {
2+ done : ( children : TreeItem [ ] ) => void
3+ node : TreeItem
4+ path : NumberOrStringArray
5+ lowerSiblingCounts : number [ ]
6+ treeIndex : number
7+ }
8+
9+ export type GetTreeItemChildrenFn = ( data : GetTreeItemChildren ) => void
210
3- export const defaultGetNodeKey = ( { treeIndex } : { treeIndex : number } ) => {
4- return treeIndex
11+ export type GetNodeKeyFunction = ( data : TreeIndex & TreeNode ) => string | number
12+
13+ type NumberOrStringArray = Array < string | number >
14+
15+ export interface TreeItem {
16+ title ?: React . ReactNode | undefined
17+ subtitle ?: React . ReactNode | undefined
18+ expanded ?: boolean | undefined
19+ children ?: TreeItem [ ] | GetTreeItemChildrenFn | undefined
20+ [ x : string ] : any
521}
622
23+ export interface TreeNode {
24+ node : TreeItem
25+ }
26+
27+ export interface TreePath {
28+ path : NumberOrStringArray | number
29+ }
30+
31+ export interface TreeIndex {
32+ treeIndex : number
33+ }
34+
35+ export interface FullTree {
36+ treeData : TreeItem [ ] | undefined | null
37+ }
38+
39+ export interface NodeData extends TreeNode , TreePath , TreeIndex { }
40+
41+ export interface SearchData extends NodeData {
42+ searchQuery : any
43+ }
44+
45+ export const defaultGetNodeKey = ( { treeIndex } : TreeIndex ) => treeIndex
46+
747// Cheap hack to get the text of a react object
848const getReactElementText = ( parent : any ) => {
949 if ( typeof parent === 'string' ) {
@@ -34,8 +74,8 @@ const getReactElementText = (parent: any) => {
3474const stringSearch = (
3575 key : string ,
3676 searchQuery : string ,
37- node ,
38- path ,
77+ node : TreeItem ,
78+ path : NumberOrStringArray | number ,
3979 treeIndex : number
4080) => {
4181 if ( typeof node [ key ] === 'function' ) {
@@ -58,12 +98,7 @@ export const defaultSearchMethod = ({
5898 path,
5999 treeIndex,
60100 searchQuery,
61- } : {
62- node
63- path
64- treeIndex : number
65- searchQuery : string
66- } ) => {
101+ } : SearchData ) : boolean => {
67102 return (
68103 stringSearch ( 'title' , searchQuery , node , path , treeIndex ) ||
69104 stringSearch ( 'subtitle' , searchQuery , node , path , treeIndex )
0 commit comments