Skip to content

Commit

Permalink
Fix renderer types
Browse files Browse the repository at this point in the history
  • Loading branch information
sibiraj-s committed May 7, 2022
1 parent aa8d8dd commit 53a2ed2
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 6 deletions.
2 changes: 1 addition & 1 deletion .lintstagedrc.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
'*.{js,jsx,cjs}': eslint --fix
'*.{html,css,md,ts,yaml,yml,json}': prettier --write
'*.{html,css,md,ts,yaml,yml,json,ts}': prettier --write
39 changes: 34 additions & 5 deletions src/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,51 @@
declare module 'marked-react' {
import React, { ReactElement } from 'react';

type RendererFunction = (...args: any[]) => ReactElement | null;
import { ReactElement, FC, ReactNode } from 'react';

export interface MarkdownOptions {
breaks?: boolean;
gfm?: boolean;
baseURL?: string;
openLinksInNewTab?: boolean;
langPrefix?: string;
renderer?: Record<string, RendererFunction>;
renderer?: ReactRenderer | RendererObject;
}

type RendererObject = Partial<Omit<ReactRenderer, 'elementId'>>;

class ReactRenderer {
elementId: number;

constructor(options?: MarkdownOptions);
heading(children: any, level: any): ReactElement;
paragraph(children: any): ReactElement;
link(href: any, text: any): ReactElement;
image(href: any, text: any, title: any): ReactElement;
codespan(code: any, lang: any): ReactElement;
code(code: any, lang: any): ReactElement;
blockquote(children: any): ReactElement;
list(children: any, ordered: any): ReactElement;
listItem(children: any): ReactElement;
checkbox(checked: any): ReactElement;
table(children: any): ReactElement;
tableHeader(children: any): ReactElement;
tableBody(children: any): ReactElement;
tableRow(children: any): ReactElement;
tableCell(children: any, flags: any): ReactElement;
strong(children: any): ReactElement;
em(children: any): ReactElement;
del(children: any): ReactElement;
text(text: any): any;
html(html: any): any;
hr(): ReactElement;
br(): ReactElement;
}

interface Props extends MarkdownOptions {
value?: string;
children?: ReactNode;
}

const Markdown: React.FC<Props>;
const Markdown: FC<Props>;

export default Markdown;
}

0 comments on commit 53a2ed2

Please sign in to comment.