@mojir/lits
Version:
Lits is a Lisp dialect implemented in TypeScript
21 lines (20 loc) • 2.19 kB
TypeScript
import type { ExpressionNode, Node, NormalBuiltinSymbolNode, NormalExpressionNode, NormalExpressionNodeWithName, SpecialBuiltinSymbolNode, SpreadNode, SymbolNode, UserDefinedSymbolNode } from '../parser/types';
import type { SourceCodeInfo } from '../tokenizer/token';
export declare function isSymbolNode(node: Node): node is SymbolNode;
export declare function asSymbolNode(node: Node, sourceCodeInfo?: SourceCodeInfo): SymbolNode;
export declare function assertSymbolNode(node: Node, sourceCodeInfo?: SourceCodeInfo): asserts node is SymbolNode;
export declare function isUserDefinedSymbolNode(node: Node): node is UserDefinedSymbolNode;
export declare function asUserDefinedSymbolNode(node: Node, sourceCodeInfo?: SourceCodeInfo): UserDefinedSymbolNode;
export declare function assertUserDefinedSymbolNode(node: Node, sourceCodeInfo?: SourceCodeInfo): asserts node is UserDefinedSymbolNode;
export declare function isNormalBuiltinSymbolNode(node: Node): node is NormalBuiltinSymbolNode;
export declare function isSpecialBuiltinSymbolNode(node: Node): node is SpecialBuiltinSymbolNode;
export declare function isNormalExpressionNode(node: Node): node is NormalExpressionNode;
export declare function asNormalExpressionNode(node: Node, sourceCodeInfo?: SourceCodeInfo): NormalExpressionNode;
export declare function assertNormalExpressionNode(node: Node, sourceCodeInfo?: SourceCodeInfo): asserts node is NormalExpressionNode;
export declare function isNormalExpressionNodeWithName(node: Node): node is NormalExpressionNodeWithName;
export declare function asNormalExpressionNodeWithName(node: Node, sourceCodeInfo?: SourceCodeInfo): NormalExpressionNodeWithName;
export declare function assertNormalExpressionNodeWithName(node: Node, sourceCodeInfo?: SourceCodeInfo): asserts node is NormalExpressionNodeWithName;
export declare function isExpressionNode(node: Node): node is ExpressionNode;
export declare function asExpressionNode(node: Node, sourceCodeInfo?: SourceCodeInfo): ExpressionNode;
export declare function assertExpressionNode(node: Node, sourceCodeInfo?: SourceCodeInfo): asserts node is ExpressionNode;
export declare function isSpreadNode(node: Node): node is SpreadNode;