@tricoteuses/arbre-de-la-loi
Version:
Generate ASTs from the French bills & laws; manipulate & export them to Markdown, etc.
42 lines (41 loc) • 1.22 kB
TypeScript
import { UnistLiteral, UnistNode, UnistParent } from "./unist";
export interface HastComment extends HastLiteral {
type: HastType.Comment;
}
export interface HastDoctype extends UnistNode {
name: string;
public?: string;
system?: string;
type: HastType.Doctype;
}
export interface HastElement extends HastParent {
children: Array<HastComment | HastElement | HastText>;
content?: HastRoot;
properties?: HastProperties;
tagName: string;
type: HastType.Element;
}
export interface HastLiteral extends UnistLiteral {
value: string;
}
export declare type HastNode = HastComment | HastDoctype | HastElement | HastRoot | HastText;
export interface HastParent extends UnistParent {
children: Array<HastComment | HastDoctype | HastElement | HastText>;
}
export interface HastProperties {
[propertyName: string]: any;
}
export interface HastRoot extends HastParent {
type: HastType.Root;
}
export interface HastText extends HastLiteral {
type: HastType.Text;
}
export declare enum HastType {
Comment = "comment",
Doctype = "doctype",
Element = "element",
Root = "root",
Text = "text"
}
export declare function assertNeverHastNode(node: never): never;