UNPKG

6.48 kBPlain TextView Raw
1{"code":"const $string$ = Symbol.for('#string'), $html$ = Symbol.for('#html');\n\n/*body*/\n\nconst cfg = {\n\twin: {\n\t\tsep: '+',\n\t\tname: 'win',\n\t\torder: ['meta','ctrl','mod','alt','option','shift'].reverse(),\n\t\tlabels: {\n\t\t\toption: 'alt',\n\t\t\tmod: 'ctrl',\n\t\t\tmeta: 'win'\n\t\t}\n\t},\n\tmac: {\n\t\tsep: '',\n\t\tname: 'mac',\n\t\torder: ['ctrl','alt','option','shift','mod','command'].reverse(),\n\t\tlabels: {\n\t\t\tleft: '→',\n\t\t\tup: '↑',\n\t\t\tdown: '↓',\n\t\t\tright: '←',\n\t\t\tplus: '+',\n\t\t\ttab: '⇥',\n\t\t\tmeta: '⌘',\n\t\t\tmod: '⌘',\n\t\t\tctrl: '⌃',\n\t\t\toption: '⌥',\n\t\t\talt: '⌥',\n\t\t\tdel: '⌦',\n\t\t\tshift: '⇧',\n\t\t\tenter: '↩',\n\t\t\tesc: '⎋',\n\t\t\tbackspace: '⌫'\n\t\t}\n\t}\n};\n\ncfg.auto = cfg.win;\n\n\n\nif ((globalThis.navigator.platform || '').match(/iPhone|iPod|iPad|Mac/)) {\n\t\n\tcfg.auto = cfg.mac;\n};\n;\n\nconst cache = {};\n\nexport function format(combo,platform = 'auto'){\n\t\n\tlet key = (\"\" + combo + \":\" + platform);\n\tif (cache[key]) { return cache[key] };\n\tlet o = cfg[platform] || cfg.win;\n\t\n\tlet combos = combo.split(\" \").map(function(_0) {\n\t\t\n\t\tlet keys = _0.split(\"+\");\n\t\tlet items = keys.sort(function(_0,_1) { return o.order.indexOf(_1) - o.order.indexOf(_0); });\n\t\t\n\t\tlet strings = items.map(function(_0) {\n\t\t\t\n\t\t\tlet lbl = o.labels[_0] || _0;\n\t\t\treturn lbl = lbl[0].toUpperCase() + (lbl.slice(1) || '');\n\t\t});\n\t\treturn strings;\n\t});\n\t\n\treturn cache[key] = combos;\n};\n\nexport function humanize(combo,platform){\n\t\n\tlet arr = format(combo,platform);\n\tlet o = cfg[platform] || cfg.win;\n\treturn arr[$string$] ||= arr.map(function(_0) { return _0.join(o.sep); }).join(' ');\n};\n\nexport function htmlify(combo,platform){\n\t\n\tlet arr = format(combo,platform);\n\tlet o = cfg[platform] || cfg.win;\n\treturn arr[$html$] ||= arr.map(function(_0) { return \"<kbd>\" + _0.map(function(_0) { return (\"<kbd>\" + _0 + \"</kbd>\"); }).join('') + '</kbd>'; }).join(' ');\n};\n","map":{"version":3,"file":"hotkey.shared.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/imba/packages/imba/src/imba/events/hotkey.shared.imba"],"sourcesContent":["\nconst cfg = {\n\twin: {\n\t\tsep: '+'\n\t\tname: 'win'\n\t\torder: ['meta','ctrl','mod','alt','option','shift'].reverse!\n\t\tlabels: {\n\t\t\toption: 'alt'\n\t\t\tmod: 'ctrl'\n\t\t\tmeta: 'win'\n\t\t}\n\t}\n\tmac: {\n\t\tsep: ''\n\t\tname: 'mac'\n\t\torder: ['ctrl','alt','option','shift','mod','command'].reverse!\n\t\tlabels: {\n\t\t\tleft: '→'\n\t\t\tup: '↑'\n\t\t\tdown: '↓'\n\t\t\tright: '←'\n\t\t\tplus: '+'\n\t\t\ttab: '⇥'\n\t\t\tmeta: '⌘'\n\t\t\tmod: '⌘'\n\t\t\tctrl: '⌃'\n\t\t\toption: '⌥'\n\t\t\talt: '⌥'\n\t\t\tdel: '⌦'\n\t\t\tshift: '⇧'\n\t\t\tenter: '↩'\n\t\t\tesc: '⎋'\n\t\t\tbackspace: '⌫'\n\t\t}\n\t}\n}\n\ncfg.auto = cfg.win\n\nif $web$\n\tif (global.navigator.platform or '').match(/iPhone|iPod|iPad|Mac/)\n\t\tcfg.auto = cfg.mac\n\nconst cache = {}\n\nexport def format combo, platform = 'auto'\n\tlet key = \"{combo}:{platform}\"\n\treturn cache[key] if cache[key]\n\tlet o = cfg[platform] or cfg.win\n\n\tlet combos = combo.split(\" \").map do\n\t\tlet keys = $1.split(\"+\")\n\t\tlet items = keys.sort(do o.order.indexOf($2) - o.order.indexOf($1) )\n\n\t\tlet strings = items.map do\n\t\t\tlet lbl = o.labels[$1] or $1\n\t\t\tlbl = lbl[0].toUpperCase! + (lbl.slice(1) or '')\n\t\treturn strings\n\n\treturn cache[key] = combos\n\nexport def humanize combo, platform\n\tlet arr = format(combo,platform)\n\tlet o = cfg[platform] or cfg.win\n\tarr.#string ||= arr.map(do $1.join(o.sep)).join(' ')\n\nexport def htmlify combo, platform\n\tlet arr = format(combo,platform)\n\tlet o = cfg[platform] or cfg.win\n\tarr.#html ||= arr.map(do \"<kbd>\" + $1.map(do \"<kbd>{$1}</kbd>\").join('') + '</kbd>' ).join(' ')"],"names":[],"mappings":"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"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file