UNPKG

react-json-tree

Version:
64 lines (50 loc) 1.51 kB
import React from 'react'; import { StylingFunction } from 'react-base16-styling'; export type Key = string | number; export type KeyPath = readonly (string | number)[]; export type GetItemString = ( nodeType: string, data: unknown, itemType: React.ReactNode, itemString: string, keyPath: KeyPath, ) => React.ReactNode; export type LabelRenderer = ( keyPath: KeyPath, nodeType: string, expanded: boolean, expandable: boolean, ) => React.ReactNode; export type ValueRenderer = ( valueAsString: unknown, value: unknown, ...keyPath: KeyPath ) => React.ReactNode; export type ShouldExpandNodeInitially = ( keyPath: KeyPath, data: unknown, level: number, ) => boolean; export type PostprocessValue = (value: unknown) => unknown; export type IsCustomNode = (value: unknown) => boolean; export type SortObjectKeys = ((a: unknown, b: unknown) => number) | boolean; export type Styling = StylingFunction; export type CircularCache = unknown[]; export interface CommonExternalProps { keyPath: KeyPath; labelRenderer: LabelRenderer; valueRenderer: ValueRenderer; shouldExpandNodeInitially: ShouldExpandNodeInitially; hideRoot: boolean; getItemString: GetItemString; postprocessValue: PostprocessValue; isCustomNode: IsCustomNode; collectionLimit: number; sortObjectKeys: SortObjectKeys; } export interface CommonInternalProps extends CommonExternalProps { styling: StylingFunction; circularCache?: CircularCache; level?: number; isCircular?: boolean; }