/
kr-ab
/
claude-code
Обзор
Документация
Войти
/
kr-ab
/
claude-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
utils/modifiers.ts
36 строк
1 KB
kuberwastaken
new initial commit (history rewritten)
01 апр 2026, 14:57
01 апр 2026, 14:57
c1996f2
Код
Авторство
О чём код?
export type ModifierKey = 'shift' | 'command' | 'control' | 'option' let prewarmed = false /** * Pre-warm the native module by loading it in advance. * Call this early to avoid delay on first use. */ export function prewarmModifiers(): void { if (prewarmed || process.platform !== 'darwin') { return } prewarmed = true // Load module in background try { // eslint-disable-next-line @typescript-eslint/no-require-imports const { prewarm } = require('modifiers-napi') as { prewarm: () => void } prewarm() } catch { // Ignore errors during prewarm } } /** * Check if a specific modifier key is currently pressed (synchronous). */ export function isModifierPressed(modifier: ModifierKey): boolean { if (process.platform !== 'darwin') { return false } // Dynamic import to avoid loading native module at top level const { isModifierPressed: nativeIsModifierPressed } = // eslint-disable-next-line @typescript-eslint/no-require-imports require('modifiers-napi') as { isModifierPressed: (m: string) => boolean } return nativeIsModifierPressed(modifier) }