jsoniq
Version:
JSONiq implementation for JavaScript
29 lines (27 loc) • 3.89 kB
JavaScript
;
/// <reference path="../../typings/tsd.d.ts" />
var p = require("path");
var fs = require("fs");
var JSONiq_1 = require("../../lib/JSONiq");
function getQueries(path) {
var files = [];
fs.readdirSync(path).forEach(file => {
file = p.resolve(p.normalize(path + "/" + file));
if (fs.statSync(file).isFile() && ["jq", "xq"].indexOf(file.substring(file.length - 2)) !== -1) {
files.push(file);
}
else if (fs.statSync(file).isDirectory()) {
files = files.concat(getQueries(file));
}
});
return files;
}
describe("Test Parser", () => {
getQueries("tests/queries").forEach(file => {
it(file, () => {
var query = new JSONiq_1.default(fs.readFileSync(file, "utf-8"));
query.setFileName(file);
});
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3RzL25vZGUvUGFyc2Vycy50cyJdLCJuYW1lcyI6WyJnZXRRdWVyaWVzIl0sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDO0FBQy9DLElBQVksQ0FBQyxXQUFNLE1BQU0sQ0FBQyxDQUFBO0FBQzFCLElBQVksRUFBRSxXQUFNLElBQUksQ0FBQyxDQUFBO0FBRXpCLHVCQUFtQixrQkFBa0IsQ0FBQyxDQUFBO0FBRXRDLG9CQUFvQixJQUFZO0lBQzVCQSxJQUFJQSxLQUFLQSxHQUFhQSxFQUFFQSxDQUFDQTtJQUN6QkEsRUFBRUEsQ0FBQ0EsV0FBV0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsSUFBSUE7UUFDN0JBLElBQUlBLEdBQUdBLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLENBQUNBLENBQUNBLFNBQVNBLENBQUNBLElBQUlBLEdBQUdBLEdBQUdBLEdBQUdBLElBQUlBLENBQUNBLENBQUNBLENBQUNBO1FBQ2pEQSxFQUFFQSxDQUFBQSxDQUFDQSxFQUFFQSxDQUFDQSxRQUFRQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxNQUFNQSxFQUFFQSxJQUFJQSxDQUFDQSxJQUFJQSxFQUFFQSxJQUFJQSxDQUFDQSxDQUFDQSxPQUFPQSxDQUFDQSxJQUFJQSxDQUFDQSxTQUFTQSxDQUFDQSxJQUFJQSxDQUFDQSxNQUFNQSxHQUFHQSxDQUFDQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtZQUM1RkEsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7UUFDckJBLENBQUNBO1FBQUNBLElBQUlBLENBQUNBLEVBQUVBLENBQUFBLENBQUNBLEVBQUVBLENBQUNBLFFBQVFBLENBQUNBLElBQUlBLENBQUNBLENBQUNBLFdBQVdBLEVBQUVBLENBQUNBLENBQUNBLENBQUNBO1lBQ3hDQSxLQUFLQSxHQUFHQSxLQUFLQSxDQUFDQSxNQUFNQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUMzQ0EsQ0FBQ0E7SUFDTEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7SUFDSEEsTUFBTUEsQ0FBQ0EsS0FBS0EsQ0FBQ0E7QUFDakJBLENBQUNBO0FBRUQsUUFBUSxDQUFDLGFBQWEsRUFBRTtJQUVwQixVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDcEMsRUFBRSxDQUFDLElBQUksRUFBRTtZQUNMLElBQUksS0FBSyxHQUFHLElBQUksZ0JBQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3RzL25vZGUvUGFyc2Vycy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbmltcG9ydCAqIGFzIHAgZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuXG5pbXBvcnQgSlNPTmlxIGZyb20gXCIuLi8uLi9saWIvSlNPTmlxXCI7XG5cbmZ1bmN0aW9uIGdldFF1ZXJpZXMocGF0aDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHZhciBmaWxlczogc3RyaW5nW10gPSBbXTtcbiAgICBmcy5yZWFkZGlyU3luYyhwYXRoKS5mb3JFYWNoKGZpbGUgPT4ge1xuICAgICAgICBmaWxlID0gcC5yZXNvbHZlKHAubm9ybWFsaXplKHBhdGggKyBcIi9cIiArIGZpbGUpKTtcbiAgICAgICAgaWYoZnMuc3RhdFN5bmMoZmlsZSkuaXNGaWxlKCkgJiYgW1wianFcIiwgXCJ4cVwiXS5pbmRleE9mKGZpbGUuc3Vic3RyaW5nKGZpbGUubGVuZ3RoIC0gMikpICE9PSAtMSkge1xuICAgICAgICAgICAgZmlsZXMucHVzaChmaWxlKTtcbiAgICAgICAgfSBlbHNlIGlmKGZzLnN0YXRTeW5jKGZpbGUpLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgICAgIGZpbGVzID0gZmlsZXMuY29uY2F0KGdldFF1ZXJpZXMoZmlsZSkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGZpbGVzO1xufVxuXG5kZXNjcmliZShcIlRlc3QgUGFyc2VyXCIsICgpID0+IHtcblxuICAgIGdldFF1ZXJpZXMoXCJ0ZXN0cy9xdWVyaWVzXCIpLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICAgIGl0KGZpbGUsICgpID0+IHtcbiAgICAgICAgICAgIHZhciBxdWVyeSA9IG5ldyBKU09OaXEoZnMucmVhZEZpbGVTeW5jKGZpbGUsIFwidXRmLThcIikpO1xuICAgICAgICAgICAgcXVlcnkuc2V0RmlsZU5hbWUoZmlsZSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufSk7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=