UNPKG

@openfga/syntax-transformer

Version:

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

62 lines (61 loc) 3.77 kB
import { ModelValidationSingleError, ModuleTransformationSingleError } from "../errors"; interface BaseProps { errors: ModelValidationSingleError[]; symbol: string; lines?: string[]; lineIndex?: number; file?: string; module?: string; type?: string; relation?: string; } export declare const createInvalidSchemaVersionError: (props: BaseProps) => void; export declare const createSchemaVersionRequiredError: (props: BaseProps) => void; export declare const createMaximumOneDirectRelationship: (props: BaseProps) => void; interface Meta { file?: string; module?: string; } export declare class ExceptionCollector { private errors; private lines?; constructor(errors: ModelValidationSingleError[], lines?: string[] | undefined); raiseInvalidName(symbol: string, clause: string, typeName?: string, lineIndex?: number, metadata?: Meta): void; raiseReservedTypeName(symbol: string, lineIndex?: number, metadata?: Meta): void; raiseReservedRelationName(symbol: string, lineIndex?: number, metadata?: Meta): void; raiseTupleUsersetRequiresDirect(symbol: string, type: string, relation: string, meta: Meta, lineIndex?: number): void; raiseDuplicateTypeName(symbol: string, meta: Meta, lineIndex?: number): void; raiseDuplicateTypeRestriction(symbol: string, relationName: string, typeName: string, meta: Meta, lineIndex?: number): void; raiseDuplicateType(symbol: string, relationName: string, typeName: string, meta: Meta, lineIndex?: number): void; raiseDuplicateRelationshipDefinition(symbol: string, meta: Meta, lineIndex?: number): void; raiseNoEntryPointLoop(symbol: string, typeName: string, meta: Meta, lineIndex?: number): void; raiseNoEntryPoint(symbol: string, typeName: string, meta: Meta, lineIndex?: number): void; raiseInvalidRelationOnTupleset(symbol: string, typeName: string, typeDef: string, relationName: string, offendingRelation: string, parent: string, lineIndex?: number, meta?: Meta): void; raiseInvalidTypeRelation(symbol: string, typeName: string, relationName: string, offendingRelation: string, offendingType: string, lineIndex?: number, meta?: Meta): void; raiseInvalidType(symbol: string, typeName: string, relation: string, meta: Meta, lineIndex?: number): void; raiseAssignableRelationMustHaveTypes(symbol: string, lineIndex?: number): void; raiseAssignableTypeWildcardRelation(symbol: string, type: string, relation: string, meta: Meta, lineIndex?: number): void; raiseInvalidRelationError(symbol: string, type: string, relation: string, validRelations: string[], lineIndex?: number, metadata?: Meta): void; raiseInvalidSchemaVersion(symbol: string, lineIndex?: number): void; raiseSchemaVersionRequired(symbol: string, lineIndex?: number): void; raiseMaximumOneDirectRelationship(symbol: string, lineIndex?: number): void; raiseInvalidConditionNameInParameter(symbol: string, typeName: string, relationName: string, conditionName: string, meta: Meta, lineIndex?: number): void; raiseUnusedCondition(symbol: string, meta: Meta, lineIndex?: number): void; raiseDifferentNestedConditionName(condition: string, nestedConditionName: string): void; raiseMultipleModulesInSingleFile(file: string, modules: Set<string>): void; } interface TransformationErrorProps { message: string; metadata: { symbol: string; relation?: string; typeName?: string; conditionName?: string; file?: string; }; lines?: string[]; lineIndex?: number; customResolver?: (wordIndex: number, rawLine: string, symbol: string) => number; } export declare function constructTransformationError(props: TransformationErrorProps): ModuleTransformationSingleError; export {};