UNPKG

@oiij/use

Version:

Som Composable Functions for Vue 3

39 lines (37 loc) 1.01 kB
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs'); const __vueuse_core = require_rolldown_runtime.__toESM(require("@vueuse/core")); const vue = require_rolldown_runtime.__toESM(require("vue")); //#region src/composables/use-scan-code.ts function useScanCode() { const value = (0, vue.ref)(""); const pending = (0, vue.ref)(true); let tempStr = ""; let timer; const onScanEvent = (0, __vueuse_core.createEventHook)(); function onKeyDown(ev) { clearTimeout(timer); timer = setTimeout(() => { pending.value = true; }, 100); const key = ev.key; if (pending.value) { tempStr = ""; pending.value = false; } if (key === "Enter") { pending.value = true; value.value = tempStr; onScanEvent.trigger(value.value); tempStr = ""; } if (key.length === 1) tempStr += key; } (0, __vueuse_core.useEventListener)(window, "keydown", onKeyDown); return { value, pending, onScan: onScanEvent.on }; } //#endregion exports.useScanCode = useScanCode;