UNPKG

@openfga/syntax-transformer

Version:

Javascript implementation of ANTLR Grammar for the OpenFGA DSL and parser from and to the OpenFGA JSON Syntax

515 lines (514 loc) 22.5 kB
import { ATN, DFA, FailedPredicateException, Parser, ParserRuleContext, TerminalNode, Token, TokenStream } from 'antlr4'; import OpenFGAParserListener from "./OpenFGAParserListener.js"; export default class OpenFGAParser extends Parser { static readonly COLON = 1; static readonly COMMA = 2; static readonly LESS = 3; static readonly GREATER = 4; static readonly LBRACKET = 5; static readonly RBRACKET = 6; static readonly LPAREN = 7; static readonly RPAREN = 8; static readonly WHITESPACE = 9; static readonly IDENTIFIER = 10; static readonly HASH = 11; static readonly AND = 12; static readonly OR = 13; static readonly BUT_NOT = 14; static readonly FROM = 15; static readonly MODULE = 16; static readonly MODEL = 17; static readonly SCHEMA = 18; static readonly SCHEMA_VERSION = 19; static readonly EXTEND = 20; static readonly TYPE = 21; static readonly CONDITION = 22; static readonly RELATIONS = 23; static readonly RELATION = 24; static readonly DEFINE = 25; static readonly KEYWORD_WITH = 26; static readonly EQUALS = 27; static readonly NOT_EQUALS = 28; static readonly IN = 29; static readonly LESS_EQUALS = 30; static readonly GREATER_EQUALS = 31; static readonly LOGICAL_AND = 32; static readonly LOGICAL_OR = 33; static readonly RPRACKET = 34; static readonly LBRACE = 35; static readonly RBRACE = 36; static readonly DOT = 37; static readonly MINUS = 38; static readonly EXCLAM = 39; static readonly QUESTIONMARK = 40; static readonly PLUS = 41; static readonly STAR = 42; static readonly SLASH = 43; static readonly PERCENT = 44; static readonly CEL_TRUE = 45; static readonly CEL_FALSE = 46; static readonly NUL = 47; static readonly CEL_COMMENT = 48; static readonly NUM_FLOAT = 49; static readonly NUM_INT = 50; static readonly NUM_UINT = 51; static readonly STRING = 52; static readonly BYTES = 53; static readonly EXTENDED_IDENTIFIER = 54; static readonly NEWLINE = 55; static readonly CONDITION_PARAM_CONTAINER = 56; static readonly CONDITION_PARAM_TYPE = 57; static readonly EOF: number; static readonly RULE_main = 0; static readonly RULE_modelHeader = 1; static readonly RULE_moduleHeader = 2; static readonly RULE_typeDefs = 3; static readonly RULE_typeDef = 4; static readonly RULE_relationDeclaration = 5; static readonly RULE_relationName = 6; static readonly RULE_relationDef = 7; static readonly RULE_relationDefNoDirect = 8; static readonly RULE_relationDefPartials = 9; static readonly RULE_relationDefGrouping = 10; static readonly RULE_relationRecurse = 11; static readonly RULE_relationRecurseNoDirect = 12; static readonly RULE_relationDefDirectAssignment = 13; static readonly RULE_relationDefRewrite = 14; static readonly RULE_relationDefTypeRestriction = 15; static readonly RULE_relationDefTypeRestrictionBase = 16; static readonly RULE_conditions = 17; static readonly RULE_condition = 18; static readonly RULE_conditionName = 19; static readonly RULE_conditionParameter = 20; static readonly RULE_parameterName = 21; static readonly RULE_parameterType = 22; static readonly RULE_multiLineComment = 23; static readonly RULE_identifier = 24; static readonly RULE_extended_identifier = 25; static readonly RULE_conditionExpression = 26; static readonly literalNames: (string | null)[]; static readonly symbolicNames: (string | null)[]; static readonly ruleNames: string[]; get grammarFileName(): string; get literalNames(): (string | null)[]; get symbolicNames(): (string | null)[]; get ruleNames(): string[]; get serializedATN(): number[]; protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException; constructor(input: TokenStream); main(): MainContext; modelHeader(): ModelHeaderContext; moduleHeader(): ModuleHeaderContext; typeDefs(): TypeDefsContext; typeDef(): TypeDefContext; relationDeclaration(): RelationDeclarationContext; relationName(): RelationNameContext; relationDef(): RelationDefContext; relationDefNoDirect(): RelationDefNoDirectContext; relationDefPartials(): RelationDefPartialsContext; relationDefGrouping(): RelationDefGroupingContext; relationRecurse(): RelationRecurseContext; relationRecurseNoDirect(): RelationRecurseNoDirectContext; relationDefDirectAssignment(): RelationDefDirectAssignmentContext; relationDefRewrite(): RelationDefRewriteContext; relationDefTypeRestriction(): RelationDefTypeRestrictionContext; relationDefTypeRestrictionBase(): RelationDefTypeRestrictionBaseContext; conditions(): ConditionsContext; condition(): ConditionContext; conditionName(): ConditionNameContext; conditionParameter(): ConditionParameterContext; parameterName(): ParameterNameContext; parameterType(): ParameterTypeContext; multiLineComment(): MultiLineCommentContext; identifier(): IdentifierContext; extended_identifier(): Extended_identifierContext; conditionExpression(): ConditionExpressionContext; static readonly _serializedATN: number[]; private static __ATN; static get _ATN(): ATN; static DecisionsToDFA: DFA[]; } export declare class MainContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); typeDefs(): TypeDefsContext; conditions(): ConditionsContext; EOF(): TerminalNode; modelHeader(): ModelHeaderContext; moduleHeader(): ModuleHeaderContext; WHITESPACE(): TerminalNode; NEWLINE_list(): TerminalNode[]; NEWLINE(i: number): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class ModelHeaderContext extends ParserRuleContext { _schemaVersion: Token; constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); MODEL(): TerminalNode; NEWLINE_list(): TerminalNode[]; NEWLINE(i: number): TerminalNode; SCHEMA(): TerminalNode; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; SCHEMA_VERSION(): TerminalNode; multiLineComment(): MultiLineCommentContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class ModuleHeaderContext extends ParserRuleContext { _moduleName: IdentifierContext; constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); MODULE(): TerminalNode; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; identifier(): IdentifierContext; multiLineComment(): MultiLineCommentContext; NEWLINE(): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class TypeDefsContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); typeDef_list(): TypeDefContext[]; typeDef(i: number): TypeDefContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class TypeDefContext extends ParserRuleContext { _typeName: Extended_identifierContext; constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); NEWLINE_list(): TerminalNode[]; NEWLINE(i: number): TerminalNode; TYPE(): TerminalNode; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; extended_identifier(): Extended_identifierContext; multiLineComment(): MultiLineCommentContext; EXTEND(): TerminalNode; RELATIONS(): TerminalNode; relationDeclaration_list(): RelationDeclarationContext[]; relationDeclaration(i: number): RelationDeclarationContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationDeclarationContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); NEWLINE_list(): TerminalNode[]; NEWLINE(i: number): TerminalNode; DEFINE(): TerminalNode; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; relationName(): RelationNameContext; COLON(): TerminalNode; relationDef(): RelationDefContext; multiLineComment(): MultiLineCommentContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationNameContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); extended_identifier(): Extended_identifierContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationDefContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); relationDefDirectAssignment(): RelationDefDirectAssignmentContext; relationDefGrouping(): RelationDefGroupingContext; relationRecurse(): RelationRecurseContext; relationDefPartials(): RelationDefPartialsContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationDefNoDirectContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); relationDefGrouping(): RelationDefGroupingContext; relationRecurseNoDirect(): RelationRecurseNoDirectContext; relationDefPartials(): RelationDefPartialsContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationDefPartialsContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; OR_list(): TerminalNode[]; OR(i: number): TerminalNode; relationDefGrouping_list(): RelationDefGroupingContext[]; relationDefGrouping(i: number): RelationDefGroupingContext; relationRecurseNoDirect_list(): RelationRecurseNoDirectContext[]; relationRecurseNoDirect(i: number): RelationRecurseNoDirectContext; AND_list(): TerminalNode[]; AND(i: number): TerminalNode; BUT_NOT(): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationDefGroupingContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); relationDefRewrite(): RelationDefRewriteContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationRecurseContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); LPAREN(): TerminalNode; RPAREN(): TerminalNode; relationDef(): RelationDefContext; relationRecurseNoDirect(): RelationRecurseNoDirectContext; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationRecurseNoDirectContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); LPAREN(): TerminalNode; RPAREN(): TerminalNode; relationDefNoDirect(): RelationDefNoDirectContext; relationRecurseNoDirect(): RelationRecurseNoDirectContext; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationDefDirectAssignmentContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); LBRACKET(): TerminalNode; relationDefTypeRestriction_list(): RelationDefTypeRestrictionContext[]; relationDefTypeRestriction(i: number): RelationDefTypeRestrictionContext; RPRACKET(): TerminalNode; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; COMMA_list(): TerminalNode[]; COMMA(i: number): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationDefRewriteContext extends ParserRuleContext { _rewriteComputedusersetName: Extended_identifierContext; _rewriteTuplesetName: Extended_identifierContext; constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); extended_identifier_list(): Extended_identifierContext[]; extended_identifier(i: number): Extended_identifierContext; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; FROM(): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationDefTypeRestrictionContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); relationDefTypeRestrictionBase(): RelationDefTypeRestrictionBaseContext; NEWLINE_list(): TerminalNode[]; NEWLINE(i: number): TerminalNode; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; KEYWORD_WITH(): TerminalNode; conditionName(): ConditionNameContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class RelationDefTypeRestrictionBaseContext extends ParserRuleContext { _relationDefTypeRestrictionType: Extended_identifierContext; _relationDefTypeRestrictionWildcard: Token; _relationDefTypeRestrictionRelation: Extended_identifierContext; constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); extended_identifier_list(): Extended_identifierContext[]; extended_identifier(i: number): Extended_identifierContext; COLON(): TerminalNode; HASH(): TerminalNode; STAR(): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class ConditionsContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); condition_list(): ConditionContext[]; condition(i: number): ConditionContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class ConditionContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); NEWLINE_list(): TerminalNode[]; NEWLINE(i: number): TerminalNode; CONDITION(): TerminalNode; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; conditionName(): ConditionNameContext; LPAREN(): TerminalNode; conditionParameter_list(): ConditionParameterContext[]; conditionParameter(i: number): ConditionParameterContext; RPAREN(): TerminalNode; LBRACE(): TerminalNode; conditionExpression(): ConditionExpressionContext; RBRACE(): TerminalNode; multiLineComment(): MultiLineCommentContext; COMMA_list(): TerminalNode[]; COMMA(i: number): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class ConditionNameContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); IDENTIFIER(): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class ConditionParameterContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); parameterName(): ParameterNameContext; COLON(): TerminalNode; parameterType(): ParameterTypeContext; NEWLINE(): TerminalNode; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class ParameterNameContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); IDENTIFIER(): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class ParameterTypeContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); CONDITION_PARAM_TYPE(): TerminalNode; CONDITION_PARAM_CONTAINER(): TerminalNode; LESS(): TerminalNode; GREATER(): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class MultiLineCommentContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); HASH(): TerminalNode; NEWLINE_list(): TerminalNode[]; NEWLINE(i: number): TerminalNode; multiLineComment(): MultiLineCommentContext; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class IdentifierContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); MODEL(): TerminalNode; SCHEMA(): TerminalNode; TYPE(): TerminalNode; RELATION(): TerminalNode; IDENTIFIER(): TerminalNode; MODULE(): TerminalNode; EXTEND(): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class Extended_identifierContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); identifier(): IdentifierContext; EXTENDED_IDENTIFIER(): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; } export declare class ConditionExpressionContext extends ParserRuleContext { constructor(parser?: OpenFGAParser, parent?: ParserRuleContext, invokingState?: number); IDENTIFIER_list(): TerminalNode[]; IDENTIFIER(i: number): TerminalNode; EQUALS_list(): TerminalNode[]; EQUALS(i: number): TerminalNode; NOT_EQUALS_list(): TerminalNode[]; NOT_EQUALS(i: number): TerminalNode; IN_list(): TerminalNode[]; IN(i: number): TerminalNode; LESS_list(): TerminalNode[]; LESS(i: number): TerminalNode; LESS_EQUALS_list(): TerminalNode[]; LESS_EQUALS(i: number): TerminalNode; GREATER_EQUALS_list(): TerminalNode[]; GREATER_EQUALS(i: number): TerminalNode; GREATER_list(): TerminalNode[]; GREATER(i: number): TerminalNode; LOGICAL_AND_list(): TerminalNode[]; LOGICAL_AND(i: number): TerminalNode; LOGICAL_OR_list(): TerminalNode[]; LOGICAL_OR(i: number): TerminalNode; LBRACKET_list(): TerminalNode[]; LBRACKET(i: number): TerminalNode; RPRACKET_list(): TerminalNode[]; RPRACKET(i: number): TerminalNode; LBRACE_list(): TerminalNode[]; LBRACE(i: number): TerminalNode; LPAREN_list(): TerminalNode[]; LPAREN(i: number): TerminalNode; RPAREN_list(): TerminalNode[]; RPAREN(i: number): TerminalNode; DOT_list(): TerminalNode[]; DOT(i: number): TerminalNode; MINUS_list(): TerminalNode[]; MINUS(i: number): TerminalNode; EXCLAM_list(): TerminalNode[]; EXCLAM(i: number): TerminalNode; QUESTIONMARK_list(): TerminalNode[]; QUESTIONMARK(i: number): TerminalNode; PLUS_list(): TerminalNode[]; PLUS(i: number): TerminalNode; STAR_list(): TerminalNode[]; STAR(i: number): TerminalNode; SLASH_list(): TerminalNode[]; SLASH(i: number): TerminalNode; PERCENT_list(): TerminalNode[]; PERCENT(i: number): TerminalNode; CEL_TRUE_list(): TerminalNode[]; CEL_TRUE(i: number): TerminalNode; CEL_FALSE_list(): TerminalNode[]; CEL_FALSE(i: number): TerminalNode; NUL_list(): TerminalNode[]; NUL(i: number): TerminalNode; WHITESPACE_list(): TerminalNode[]; WHITESPACE(i: number): TerminalNode; CEL_COMMENT_list(): TerminalNode[]; CEL_COMMENT(i: number): TerminalNode; NUM_FLOAT_list(): TerminalNode[]; NUM_FLOAT(i: number): TerminalNode; NUM_INT_list(): TerminalNode[]; NUM_INT(i: number): TerminalNode; NUM_UINT_list(): TerminalNode[]; NUM_UINT(i: number): TerminalNode; STRING_list(): TerminalNode[]; STRING(i: number): TerminalNode; BYTES_list(): TerminalNode[]; BYTES(i: number): TerminalNode; NEWLINE_list(): TerminalNode[]; NEWLINE(i: number): TerminalNode; RBRACE_list(): TerminalNode[]; RBRACE(i: number): TerminalNode; get ruleIndex(): number; enterRule(listener: OpenFGAParserListener): void; exitRule(listener: OpenFGAParserListener): void; }