UNPKG

@nidomiro/relation-tuple-parser

Version:

[![npm version](https://badge.fury.io/js/@nidomiro%2Frelation-tuple-parser.svg)](https://www.npmjs.com/package/@nidomiro/relation-tuple-parser)

46 lines (45 loc) 1.76 kB
import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor"; import { RelationTupleContext } from "./RelationTupleParser"; import { NamespacedObjectContext } from "./RelationTupleParser"; import { SubjectContext } from "./RelationTupleParser"; import { SubjectIdContext } from "./RelationTupleParser"; import { SubjectSetContext } from "./RelationTupleParser"; /** * This interface defines a complete generic visitor for a parse tree produced * by `RelationTupleParser`. * * @param <Result> The return type of the visit operation. Use `void` for * operations with no return type. */ export interface RelationTupleVisitor<Result> extends ParseTreeVisitor<Result> { /** * Visit a parse tree produced by `RelationTupleParser.relationTuple`. * @param ctx the parse tree * @return the visitor result */ visitRelationTuple?: (ctx: RelationTupleContext) => Result; /** * Visit a parse tree produced by `RelationTupleParser.namespacedObject`. * @param ctx the parse tree * @return the visitor result */ visitNamespacedObject?: (ctx: NamespacedObjectContext) => Result; /** * Visit a parse tree produced by `RelationTupleParser.subject`. * @param ctx the parse tree * @return the visitor result */ visitSubject?: (ctx: SubjectContext) => Result; /** * Visit a parse tree produced by `RelationTupleParser.subjectId`. * @param ctx the parse tree * @return the visitor result */ visitSubjectId?: (ctx: SubjectIdContext) => Result; /** * Visit a parse tree produced by `RelationTupleParser.subjectSet`. * @param ctx the parse tree * @return the visitor result */ visitSubjectSet?: (ctx: SubjectSetContext) => Result; }