@diplodoc/markdown-translation
Version:
markdown translation utilities
66 lines (65 loc) • 1.54 kB
TypeScript
import type MarkdownIt from 'markdown-it';
import { afterInline } from './after-inline';
import { beforeInline } from './before-inline';
import { image } from './image';
import { Consumer } from 'src/skeleton/consumer';
type Consume = (consumer: Consumer) => void;
type HookMap = {
get(token: Token): Consume[];
add(token: Token, hook: Consume): void;
};
export type MarkdownItWithMeta = MarkdownIt & {
meta: {};
};
export type HooksState = {
md: MarkdownItWithMeta;
source: string;
result: string;
cursor: number;
gap: number;
lines: {
start: number[];
end: number[];
};
hooks: {
before: HookMap;
after: HookMap;
};
segments: string[];
skeleton: {
id: number;
};
};
export declare const hooks: {
0: (typeof image)[];
3: (typeof afterInline)[];
2: (typeof beforeInline)[];
};
export declare function initState(source: string, md: MarkdownItWithMeta): {
md: MarkdownItWithMeta;
source: string;
result: string;
lines: {
start: number[];
end: number[];
};
cursor: number;
gap: number;
segments: never[];
hooks: {
before: {
_store: Map<any, any>;
add(token: Token, hook: Consume): void;
get(token: Token): any;
};
after: {
_store: Map<any, any>;
add(token: Token, hook: Consume): void;
get(token: Token): any;
};
};
skeleton: {
id: number;
};
};
export {};