mic-inspector
Version:
A react inspector which a most similar of Chorme DevTools inspector
81 lines (80 loc) • 1.97 kB
TypeScript
import { InlineComponentProps } from 'mic-global';
import { PropertyNameType } from '../property-name/types';
import { PropertyValueType } from '../property-value/types';
import { NamedDescriptor } from '../named-descriptor';
/**
* Property props
*/
export declare type PropertyProps = DescribablePropertyProps | NondescribablePropertyProps;
/**
* Property own props interface
*/
export interface PropertyOwnProps extends InlineComponentProps<'name' | 'value'> {
/**
* No any children
*/
children?: never[];
/**
* A boolean represents whether this property should be expand by default
*/
defaultExpand?: boolean;
/**
* Property descriptor
*/
descriptor?: unknown;
/**
* Property name
*/
name?: unknown;
/**
* A boolean represents whether enable the preview mode
* In preview mode, the property can not expand and show sub properties of an object
*/
preview?: boolean;
/**
* A string represents the separator between property name and property value, default value is ':'
*/
separator?: string;
/**
* Property value
*/
value?: unknown;
}
/**
* Nondescribable property props interface
*/
export interface NondescribablePropertyProps extends PropertyOwnProps {
/**
* Property descriptor
*/
descriptor?: never;
/**
* A boolean represents whether the object property is non-enumerable
*/
isNonenumerable?: boolean;
/**
* A specific property name to display
*/
name: PropertyNameType;
/**
* Any type data that you want to inspect
*/
value: PropertyValueType;
}
/**
* Describable property props interface
*/
export interface DescribablePropertyProps extends PropertyOwnProps {
/**
* Property descriptor
*/
descriptor: NamedDescriptor;
/**
* Property name
*/
name?: never;
/**
* Property value
*/
value?: never;
}