UNPKG

cannabis

Version:
51 lines 1.99 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var micromatch_1 = __importDefault(require("micromatch")); var misc_utils_of_mine_generic_1 = require("misc-utils-of-mine-generic"); var astNode_1 = require("./node/astNode"); var path_1 = require("./node/path"); function searchSource(p, options) { if (options === void 0) { options = { include: [] }; } var m = micromatch_1.default(p.map(function (p) { return p.path; }), options.include, options.micromatch); if (options.exclude) { m = micromatch_1.default(p.map(function (p) { return p.path; }), options.exclude, options.micromatch); } return p.map(function (p) { return m.includes(p.path) ? p : undefined; }).filter(misc_utils_of_mine_generic_1.notUndefined); } exports.searchSource = searchSource; function selectNodes(root, d) { var a = []; if (d.ancestors) { a.push.apply(a, astNode_1.getASTNodeAncestors(root)); } if (d.descendants) { a.push.apply(a, astNode_1.getASTNodeDescendants(root)); } else if (d.children) { a.push.apply(a, astNode_1.getASTNodeChildren(root)); } if (d.siblings) { a.push.apply(a, astNode_1.getASTNodeSiblings(root)); } return a; } function queryByPath(o) { var input = selectNodes(o.root, o.selectNodeDirection || { descendants: true }); var source = input.map(function (n) { return ({ data: n, path: o.path === 'index' ? path_1.getASTNodeIndexPath(n) : o.path === 'kind' ? path_1.getASTNodeKindPath(n) : path_1.getASTNodeNamePath(n) }); }); var results = searchSource(source, o); return { result: results }; } exports.queryByPath = queryByPath; // export function selectNode(options: MatcNodeOptions): Result { // const result = {} // return result // } //# sourceMappingURL=match.js.map