Skip to content

Commit 0e47cc9

Browse files
committed
feat: throttle input keydown events
1 parent 184f832 commit 0e47cc9

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

bun.lock

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"fuse.js": "^7.1.0",
2121
"hosted-git-info": "^8.1.0",
2222
"jsdom": "^26.1.0",
23+
"lodash-es": "^4.17.21",
2324
"marked": "^15.0.12",
2425
"new-github-issue-url": "^1.1.0",
2526
"pathe": "^2.0.3",
@@ -45,6 +46,7 @@
4546
"@types/dompurify": "^3.2.0",
4647
"@types/hosted-git-info": "^3.0.5",
4748
"@types/jsdom": "^21.1.7",
49+
"@types/lodash-es": "^4.17.12",
4850
"@types/node": "^22.15.21",
4951
"@types/validate-npm-package-name": "^4.0.2",
5052
"@vitest/coverage-v8": "^3.1.4",
@@ -574,6 +576,10 @@
574576

575577
"@types/jsdom": ["@types/jsdom@21.1.7", "", { "dependencies": { "@types/node": "*", "@types/tough-cookie": "*", "parse5": "^7.0.0" } }, "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA=="],
576578

579+
"@types/lodash": ["@types/lodash@4.17.17", "", {}, "sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ=="],
580+
581+
"@types/lodash-es": ["@types/lodash-es@4.17.12", "", { "dependencies": { "@types/lodash": "*" } }, "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ=="],
582+
577583
"@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="],
578584

579585
"@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="],
@@ -1052,6 +1058,8 @@
10521058

10531059
"lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="],
10541060

1061+
"lodash-es": ["lodash-es@4.17.21", "", {}, "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="],
1062+
10551063
"lodash.castarray": ["lodash.castarray@4.4.0", "", {}, "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q=="],
10561064

10571065
"lodash.get": ["lodash.get@4.4.2", "", {}, "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="],

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"fuse.js": "^7.1.0",
3434
"hosted-git-info": "^8.1.0",
3535
"jsdom": "^26.1.0",
36+
"lodash-es": "^4.17.21",
3637
"marked": "^15.0.12",
3738
"new-github-issue-url": "^1.1.0",
3839
"pathe": "^2.0.3",
@@ -58,6 +59,7 @@
5859
"@types/dompurify": "^3.2.0",
5960
"@types/hosted-git-info": "^3.0.5",
6061
"@types/jsdom": "^21.1.7",
62+
"@types/lodash-es": "^4.17.12",
6163
"@types/node": "^22.15.21",
6264
"@types/validate-npm-package-name": "^4.0.2",
6365
"@vitest/coverage-v8": "^3.1.4",

src/components/NpmPackageSearch.svelte

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<script lang="ts">
2+
import { throttle } from "lodash-es";
23
import { resource, useMutationObserver, watch } from "runed";
34
import LucideLoaderCircle from "~icons/lucide/loader-circle";
45
import LucideSearch from "~icons/lucide/search";
@@ -78,7 +79,7 @@
7879
}
7980
}
8081
81-
function handleInputKeydown(event: KeyboardEvent) {
82+
let handleInputKeydown = throttle((event: KeyboardEvent) => {
8283
switch (event.key) {
8384
case "ArrowUp":
8485
event.preventDefault();
@@ -93,7 +94,7 @@
9394
useResult();
9495
return;
9596
}
96-
}
97+
}, 25);
9798
9899
function prevResult() {
99100
resultsCursor = mod(resultsCursor - 1, results.current.length);

0 commit comments

Comments
 (0)