{"id":22372,"library":"simple-utility-debounce","title":"simple-utility-debounce","description":"A minimal debounce utility function that delays invoking a callback until after a specified wait period. Version 1.0.0 (latest) is a single-function package with no dependencies. Lightweight alternative to lodash.debounce, targeting npm users who need a quick, zero-dependency debounce. No TypeScript types included. Last updated in 2023, with no recent activity or releases.","status":"active","version":"1.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/johnvmt/simple-utility-debounce","tags":["javascript"],"install":[{"cmd":"npm install simple-utility-debounce","lang":"bash","label":"npm"},{"cmd":"yarn add simple-utility-debounce","lang":"bash","label":"yarn"},{"cmd":"pnpm add simple-utility-debounce","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Default export only; named import will be undefined. CommonJS users must use default import pattern.","wrong":"const { debounce } = require('simple-utility-debounce')","symbol":"debounce","correct":"import debounce from 'simple-utility-debounce'"},{"note":"In CommonJS environments, the default export is under .default property due to ESM-CJS interop.","wrong":"const debounce = require('simple-utility-debounce')","symbol":"debounce (require)","correct":"const debounce = require('simple-utility-debounce').default"}],"quickstart":{"code":"import debounce from 'simple-utility-debounce';\n\nconst log = () => console.log('Debounced!');\nconst debouncedLog = debounce(log, 200);\n\ndebouncedLog();\ndebouncedLog(); // Only runs once after 200ms delay\n\ndebouncedLog.cancel(); // Cancel pending invocation","lang":"javascript","description":"Imports debounce, creates a debounced function, calls it multiple times, and cancels it."},"warnings":[{"fix":"Add a declaration file (e.g., debounce.d.ts) with 'declare module \"simple-utility-debounce\" { ... }' or use @ts-ignore.","message":"No TypeScript types available; users must declare their own types or use a type assertion.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Wrap in a Promise if needed: const debouncedFn = debounce(() => new Promise(resolve => ...), wait);","message":"The debounced function does not return a promise; it returns undefined. Cannot await completion.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use: import debounce from 'simple-utility-debounce' (ESM) or const debounce = require('simple-utility-debounce').default (CJS).","cause":"Incorrect import: using named import instead of default import, or CommonJS without .default.","error":"TypeError: debounce is not a function"},{"fix":"Add 'esModuleInterop: true' in tsconfig.json or use namespace import: import * as debounce from 'simple-utility-debounce'.","cause":"TypeScript strict mode or incorrect import syntax.","error":"Module '\"simple-utility-debounce\"' has no default export"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}