Files
completion-viz/src/types/prism-types.ts
T

52 lines
1.0 KiB
TypeScript

export type Token = {
types: string[];
content: string;
empty?: boolean;
};
export type RenderProps = {
tokens: Token[][];
className: string;
style: StyleObj;
getLineProps: (input: LineInputProps) => LineOutputProps;
getTokenProps: (input: TokenInputProps) => TokenOutputProps;
};
export type StyleObj = {
[key: string]: string | number | null;
};
export type LineInputProps = {
key?: React.Key;
style?: StyleObj;
className?: string;
line: Token[];
[otherProp: string]: any;
};
export type LineOutputProps = {
key?: React.Key;
style?: StyleObj;
className: string;
[otherProps: string]: any;
};
export type TokenInputProps = {
key?: React.Key;
style?: StyleObj;
className?: string;
token: Token;
[otherProp: string]: any;
};
export type TokenOutputProps = {
key?: React.Key;
style?: StyleObj;
className: string;
children: string;
[otherProp: string]: any;
};
export type TgetLineProps = (input: LineInputProps) => LineOutputProps;
export type TgetTokenProps = (input: TokenInputProps) => TokenOutputProps;