datocms-html-to-structured-text
Version:
Convert HTML (or a `hast` syntax tree) to a valid DatoCMS Structured Text `dast` document
77 lines (76 loc) • 3.2 kB
TypeScript
import { Handler, Mark, Context, HastTextNode, HastElementNode, HastRootNode } from './types';
export declare const root: Handler<HastRootNode>;
export declare const paragraph: Handler<HastElementNode>;
export declare const thematicBreak: Handler<HastElementNode>;
export declare const heading: Handler<HastElementNode>;
export declare const code: Handler<HastElementNode>;
export declare const blockquote: Handler<HastElementNode>;
export declare const list: Handler<HastElementNode>;
export declare const listItem: Handler<HastElementNode>;
export declare const link: Handler<HastElementNode>;
export declare const span: Handler<HastTextNode>;
export declare const newLine: Handler<HastTextNode>;
export declare const inlineCode: Handler<HastElementNode>;
export declare const strong: Handler<HastElementNode>;
export declare const italic: Handler<HastElementNode>;
export declare const underline: Handler<HastElementNode>;
export declare const strikethrough: Handler<HastElementNode>;
export declare const highlight: Handler<HastElementNode>;
export declare const head: Handler<HastElementNode>;
export declare const base: Handler<HastElementNode>;
export declare const extractInlineStyles: Handler<HastElementNode>;
export declare function noop(): Promise<void>;
export declare function withMark(type: Mark): Handler<HastElementNode>;
export declare const handlers: {
root: Handler<HastRootNode>;
p: Handler<HastElementNode>;
summary: Handler<HastElementNode>;
h1: Handler<HastElementNode>;
h2: Handler<HastElementNode>;
h3: Handler<HastElementNode>;
h4: Handler<HastElementNode>;
h5: Handler<HastElementNode>;
h6: Handler<HastElementNode>;
ul: Handler<HastElementNode>;
ol: Handler<HastElementNode>;
dir: Handler<HastElementNode>;
dt: Handler<HastElementNode>;
dd: Handler<HastElementNode>;
li: Handler<HastElementNode>;
listing: Handler<HastElementNode>;
plaintext: Handler<HastElementNode>;
pre: Handler<HastElementNode>;
xmp: Handler<HastElementNode>;
blockquote: Handler<HastElementNode>;
a: Handler<HastElementNode>;
code: Handler<HastElementNode>;
kbd: Handler<HastElementNode>;
samp: Handler<HastElementNode>;
tt: Handler<HastElementNode>;
var: Handler<HastElementNode>;
strong: Handler<HastElementNode>;
b: Handler<HastElementNode>;
em: Handler<HastElementNode>;
i: Handler<HastElementNode>;
u: Handler<HastElementNode>;
strike: Handler<HastElementNode>;
s: Handler<HastElementNode>;
mark: Handler<HastElementNode>;
base: Handler<HastElementNode>;
span: Handler<HastElementNode>;
text: Handler<HastTextNode>;
br: Handler<HastTextNode>;
hr: Handler<HastElementNode>;
head: Handler<HastElementNode>;
comment: typeof noop;
script: typeof noop;
style: typeof noop;
title: typeof noop;
video: typeof noop;
audio: typeof noop;
embed: typeof noop;
iframe: typeof noop;
};
export declare const wrapListItems: Handler<HastElementNode>;
export declare function wrapText(context: Context, value: string): string;
export declare function resolveUrl(context: Context, url: string | null | undefined): string;