@launchmenu/applet-dictionary
Version:
An applet to find dictionary definitions
34 lines • 2.91 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createWordMenuItem = void 0;
const react_1 = __importDefault(require("react"));
const core_1 = require("@launchmenu/core");
const __1 = require("..");
const DefinitionView_1 = require("./DefinitionView");
const dictionaryPatternMatcher_1 = require("../dictionaryPatternMatcher");
const Wiktionary_1 = require("../Wiktionary");
const getDefinitionsAction_1 = require("./actions/getDefinitionsAction");
/**
* Creates an item for the given dictionary term
* @param word The word to create an item for
* @param language The language to create a menu item for
* @returns The created menu item
*/
function createWordMenuItem(word, language) {
return core_1.createStandardMenuItem({
icon: __1.dictionaryIcon,
name: word,
content: react_1.default.createElement(DefinitionView_1.DefinitionView, { word: word, language: language }),
searchPattern: dictionaryPatternMatcher_1.dictionaryPatternMatcher,
actionBindings: h => [
...Wiktionary_1.Wiktionary.get(word, language).flatMap(({ category, definitions }) => definitions.map(({ definition, examples }) => getDefinitionsAction_1.getDefinitionsAction.createBinding({ category, definition, examples }))),
core_1.copyExitPasteHandler.createBinding(word),
core_1.copyAction.createBinding(core_1.copyTextHandler.createBinding(word)),
],
});
}
exports.createWordMenuItem = createWordMenuItem;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlV29yZE1lbnVJdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2l0ZW1zL2NyZWF0ZVdvcmRNZW51SXRlbS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLDJDQU0wQjtBQUMxQiwwQkFBa0M7QUFDbEMscURBQWdEO0FBQ2hELDBFQUFxRTtBQUVyRSw4Q0FBeUM7QUFDekMseUVBQW9FO0FBRXBFOzs7OztHQUtHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsSUFBWSxFQUFFLFFBQW1CO0lBQ2hFLE9BQU8sNkJBQXNCLENBQUM7UUFDMUIsSUFBSSxFQUFFLGtCQUFjO1FBQ3BCLElBQUksRUFBRSxJQUFJO1FBQ1YsT0FBTyxFQUFFLDhCQUFDLCtCQUFjLElBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFJO1FBQzNELGFBQWEsRUFBRSxtREFBd0I7UUFDdkMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakIsR0FBRyx1QkFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUUsV0FBVyxFQUFDLEVBQUUsRUFBRSxDQUNsRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFDLEVBQUUsRUFBRSxDQUN2QywyQ0FBb0IsQ0FBQyxhQUFhLENBQUMsRUFBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQ3ZFLENBQ0o7WUFDRCwyQkFBb0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3hDLGlCQUFVLENBQUMsYUFBYSxDQUFDLHNCQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hFO0tBQ0osQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQWhCRCxnREFnQkMifQ==