@launchmenu/core
Version:
An environment for visual keyboard controlled applets
40 lines • 3.55 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.adjustSearchable = void 0;
/**
* Alters the result returned by a searchable
* @param searchable The searchable to modify
* @param modify The modifier function
* @param recurse Whether to recursively apply this adjuster to the retrieved children
* @returns A new searchable
*/
function adjustSearchable(searchable, modify, recurse = true) {
return {
ID: "ID" in modify && modify.ID ? modify.ID(searchable.ID) : searchable.ID,
async search(query, hook, executer) {
var _a, _b;
let original = await searchable.search(query, hook, executer);
if (recurse && original.children)
original = {
...original,
children: (_a = original.children) === null || _a === void 0 ? void 0 : _a.map(child => adjustSearchable(child, modify, recurse)),
};
const args = { query, hook, executer };
if (modify instanceof Function)
return await modify(original, args);
return {
item: modify.item
? await modify.item(original.item, args)
: original.item,
children: modify.children
? await modify.children((_b = original.children) !== null && _b !== void 0 ? _b : [], args)
: original.children,
patternMatch: modify.patternMatch
? await modify.patternMatch(original.patternMatch, args)
: original.patternMatch,
};
},
};
}
exports.adjustSearchable = adjustSearchable;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRqdXN0U2VhcmNoYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9zZWFyY2hFeGVjdXRlci9hZGp1c3RTZWFyY2hhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBOzs7Ozs7R0FNRztBQUNILFNBQWdCLGdCQUFnQixDQUM1QixVQUE2QixFQUM3QixNQUFpQyxFQUNqQyxVQUFtQixJQUFJO0lBRXZCLE9BQU87UUFDSCxFQUFFLEVBQUUsSUFBSSxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDMUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVE7O1lBQzlCLElBQUksUUFBUSxHQUFHLE1BQU0sVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlELElBQUksT0FBTyxJQUFJLFFBQVEsQ0FBQyxRQUFRO2dCQUM1QixRQUFRLEdBQUc7b0JBQ1AsR0FBRyxRQUFRO29CQUNYLFFBQVEsUUFBRSxRQUFRLENBQUMsUUFBUSwwQ0FBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDckMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FDM0M7aUJBQ0osQ0FBQztZQUVOLE1BQU0sSUFBSSxHQUFHLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUMsQ0FBQztZQUNyQyxJQUFJLE1BQU0sWUFBWSxRQUFRO2dCQUFFLE9BQU8sTUFBTSxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3BFLE9BQU87Z0JBQ0gsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO29CQUNiLENBQUMsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7b0JBQ3hDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDbkIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO29CQUNyQixDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsUUFBUSxPQUFDLFFBQVEsQ0FBQyxRQUFRLG1DQUFJLEVBQUUsRUFBRSxJQUFJLENBQUM7b0JBQ3RELENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUTtnQkFDdkIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO29CQUM3QixDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDO29CQUN4RCxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVk7YUFDOUIsQ0FBQztRQUNOLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQztBQWhDRCw0Q0FnQ0MifQ==
;