UNPKG

cannabis

Version:
57 lines 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var queryAst_1 = require("./queryAst"); var queryShortcuts; /** * Will query given code or node and if there is any error, like query syntax error, it will fail silently, * returning an empty array. */ function queryAll(q, codeOrNode) { var r = queryAst_1.queryAst(q, codeOrNode); return r.result || []; } exports.queryAll = queryAll; /** * Will query given code or node and if there is any error, like query syntax error, it will fail silently, * returning an empty array. */ function queryAllOrThrow(q, codeOrNode) { var r = queryAst_1.queryAst(q, codeOrNode); if (r.error) { throw r.error; } else if (!r.result || !r.result.length) { throw new Error('Expected to select at least one element with query ' + q + ' but none matched. '); } else { return r.result; } } exports.queryAllOrThrow = queryAllOrThrow; /** * Will query given code or node and if there is any error, like query syntax error, it will fail silently, * returning an empty array. */ function queryOne(q, codeOrNode) { var r = queryAst_1.queryAst(q, codeOrNode); return r.result && r.result.length && r.result[0] || undefined; } exports.queryOne = queryOne; /** * Will query given code or node and if there is any error, like query syntax error, it will fail silently, * returning an empty array. */ function queryOneOrThrow(q, codeOrNode) { var r = queryAst_1.queryAst(q, codeOrNode); if (r.error) { throw r.error; } else if (!r.result || !r.result.length) { throw new Error('Expected to select at least one element with query ' + q + ' but none matched. '); } else { return r.result[0]; } } exports.queryOneOrThrow = queryOneOrThrow; //# sourceMappingURL=queryShortcuts.js.map