29 lines
452 B
TypeScript
29 lines
452 B
TypeScript
|
type BaseNode = {
|
||
|
type: string;
|
||
|
named: boolean;
|
||
|
};
|
||
|
|
||
|
type ChildNode = {
|
||
|
multiple: boolean;
|
||
|
required: boolean;
|
||
|
types: BaseNode[];
|
||
|
};
|
||
|
|
||
|
type NodeInfo =
|
||
|
| (BaseNode & {
|
||
|
subtypes: BaseNode[];
|
||
|
})
|
||
|
| (BaseNode & {
|
||
|
fields: { [name: string]: ChildNode };
|
||
|
children: ChildNode[];
|
||
|
});
|
||
|
|
||
|
type Language = {
|
||
|
name: string;
|
||
|
language: unknown;
|
||
|
nodeTypeInfo: NodeInfo[];
|
||
|
};
|
||
|
|
||
|
declare const language: Language;
|
||
|
export = language;
|