jinaga
Version:
Data management for web and mobile applications.
48 lines • 1.85 kB
TypeScript
import { AuthorizationRules } from "../authorization/authorizationRules";
import { DistributionRules } from "../distribution/distribution-rules";
import { PurgeConditions } from "../purge/purgeConditions";
import { Declaration } from "./declaration";
import { Condition, Label, Match, NamedComponentProjection, PathCondition, Projection, Role, Specification } from "./specification";
export declare class Invalid extends Error {
__proto__: Error;
constructor(message?: string);
}
export declare class SpecificationParser {
private readonly input;
private offset;
constructor(input: string);
skipWhitespace(): void;
atEnd(): boolean;
expectEnd(): void;
private previewText;
continues(symbol: string): boolean;
consume(symbol: string): boolean;
expect(symbol: string): void;
match(expression: RegExp): string | null;
parseIdentifier(): string;
parseType(): string;
parseLabel(): Label;
parseRole(): Role;
parseGiven(): Label[];
parseRoles(): Role[];
parsePathCondition(unknown: Label, labels: Label[]): PathCondition;
private parseExistentialCondition;
parseCondition(unknown: Label, labels: Label[]): Condition;
parseMatch(labels: Label[]): Match;
parseMatches(labels: Label[]): {
matches: Match[];
labels: Label[];
};
parseComponent(labels: Label[]): NamedComponentProjection;
parseProjection(labels: Label[]): Projection;
private parseValue;
private parseFactReference;
private parseField;
private parseFact;
parseSpecification(): Specification;
parseDeclaration(knownFacts: Declaration): Declaration;
parseAuthorizationRules(): AuthorizationRules;
parseDistributionRules(): DistributionRules;
parsePurgeConditions(): PurgeConditions;
}
//# sourceMappingURL=specification-parser.d.ts.map