feeles-ide
Version:
The hackable and serializable IDE to make learning material
48 lines (36 loc) • 1.16 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getOptions = exports.default = void 0;
var _includes = _interopRequireDefault(require("lodash/includes"));
var _default = function _default(file, query) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
options = options || getOptions(query);
if (options.showInvisibles === !!file.moduleName) {
return false;
}
if (options.showTrashes !== file.options.isTrashed) {
return false;
}
return query.split(/\s+/).every(function (keyword) {
if (!keyword) {
return true;
}
if (keyword[0] === ':') {
return true;
}
return (0, _includes.default)(file.name, keyword);
});
};
exports.default = _default;
var getOptions = function getOptions(query) {
return query.split(/\s+/).reduce(function (p, keyword) {
return {
showInvisibles: p.showInvisibles || keyword[0] === '.',
showTrashes: p.showTrashes || keyword === ':trash'
};
}, {});
};
exports.getOptions = getOptions;