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