markdown-code-example-inserter
Version:
Syncs code examples with markdown documentation.
25 lines (24 loc) • 943 B
TypeScript
import type { Comment } from 'hast';
import type { Code } from 'mdast';
import type { Node, Point, Position } from 'unist';
export interface FullyDefinedPoint extends Point {
offset: number;
}
export interface FullyDefinedPosition extends Position {
start: FullyDefinedPoint;
end: FullyDefinedPoint;
}
export interface FullyPositionedNode extends Node {
position: FullyDefinedPosition;
}
export type CodeExampleLink = {
node: Readonly<Comment & FullyPositionedNode>;
linkPath: string;
indent: string;
linkedCodeBlock: Readonly<Code & FullyPositionedNode> | undefined;
};
export declare function extractIndent(line: string, node: Readonly<{
value: unknown;
} & FullyPositionedNode>): string;
export declare function extractLinks(markdownFileContents: string | Readonly<Buffer>): Readonly<CodeExampleLink>[];
export declare function assertFullyPositionedNode(node: Node): asserts node is FullyPositionedNode;