firebase-rules-parser
Version:
Parser for Firebase rule files
38 lines • 2.71 kB
JavaScript
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
const antlr4_1 = require("antlr4");
const fs = require("fs");
const FirebaseRulesLexer_1 = require("./parser/FirebaseRulesLexer");
const FirebaseRulesParser_1 = require("./parser/FirebaseRulesParser");
/**
* Parse firebase rules from file
* @param file Filepath to rules-file
*/
function parseFirebaseRulesFromFile(fileName) {
const file = fs.readFileSync(fileName, 'utf8');
return parseFirebaseRulesFromString(file);
}
exports.parseFirebaseRulesFromFile = parseFirebaseRulesFromFile;
/**
* Parse firebase rules from file
* @param rules Inmemory file containing rules-file
*/
function parseFirebaseRulesFromString(rules) {
const inputStream = new antlr4_1.InputStream(rules);
const lexer = new FirebaseRulesLexer_1.FirebaseRulesLexer(inputStream);
const tokenStream = new antlr4_1.CommonTokenStream(lexer);
return new FirebaseRulesParser_1.FirebaseRulesParser(tokenStream);
}
exports.parseFirebaseRulesFromString = parseFirebaseRulesFromString;
const intepreter_1 = require("./intepreter/");
var intepreter_2 = require("./intepreter");
exports.FirebaseRulesIntepreter = intepreter_2.FirebaseRulesIntepreter;
exports.createFirebaseRulesContext = intepreter_2.createFirebaseRulesContext;
exports.defaultFirebaseRulesContext = intepreter_2.defaultFirebaseRulesContext;
__export(require("./intepreter/MockFirestoreRequest"));
__export(require("./intepreter/MockFirestoreResource"));
exports.default = () => new intepreter_1.FirebaseRulesIntepreter();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBd0Q7QUFDeEQseUJBQXlCO0FBRXpCLG9FQUFpRTtBQUNqRSxzRUFBbUU7QUFFbkU7OztHQUdHO0FBQ0gsU0FBZ0IsMEJBQTBCLENBQUMsUUFBZ0I7SUFDekQsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0MsT0FBTyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBSEQsZ0VBR0M7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxLQUFhO0lBQ3hELE1BQU0sV0FBVyxHQUFHLElBQUksb0JBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxNQUFNLEtBQUssR0FBRyxJQUFJLHVDQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sV0FBVyxHQUFHLElBQUksMEJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsT0FBTyxJQUFJLHlDQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFMRCxvRUFLQztBQUVELDhDQUF3RDtBQUV4RCwyQ0FBZ0g7QUFBdkcsK0NBQUEsdUJBQXVCLENBQUE7QUFBRSxrREFBQSwwQkFBMEIsQ0FBQTtBQUFFLG1EQUFBLDJCQUEyQixDQUFBO0FBR3pGLHVEQUFrRDtBQUNsRCx3REFBbUQ7QUFJbkQsa0JBQWUsR0FBRyxFQUFFLENBQUMsSUFBSSxvQ0FBdUIsRUFBRSxDQUFDIn0=
;