Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@171h/debounce
Advanced tools
[![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [![Github Actions][github-actions-src]][github-actions-href] [![Codecov][codecov-src]][codecov-href]
An improved debounce function with Promise support.
trailing
and leading
behaviorInstall package:
# npm
npm install perfect-debounce
# yarn
yarn add perfect-debounce
# pnpm
pnpm add perfect-debounce
Import:
// ESM
import { debounce } from 'perfect-debounce'
// CommonJS
const { debounce } = require('perfect-debounce')
Debounce function:
const debounced = debounce(async () => {
// Some heavy stuff
}, 25)
When calling debounced
, it will wait at least for 25ms
as configured before actually calling our function. This helps to avoid multiple calls.
To avoid initial wait, we can set leading: true
option. It will cause function to be immediately called if there is no other call:
const debounced = debounce(async () => {
// Some heavy stuff
}, 25, { leading: true })
If executing async function takes longer than debounce value, duplicate calls will be still prevented a last call will happen. To disable this behavior, we can set trailing: false
option:
const debounced = debounce(async () => {
// Some heavy stuff
}, 25, { trailing: false })
If you want to always execute functions with different parameters, please set diff: true
option. Note that when diff
is true, leading
and trailing
will be ignored.
const debounced = debounce(async (args) => {
// Some heavy stuff
}, 25, { diff: false })
corepack enable
(use npm i -g corepack
for Node.js < 16.10)pnpm install
pnpm dev
Made with 💛
Based on sindresorhus/p-debounce.
Published under MIT License.
FAQs
[![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [![Github Actions][github-actions-src]][github-actions-href] [![Codecov][codecov-src]][codecov-href]
We found that @171h/debounce demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.