"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function debounce(func, wait, immediate) { var timeout; return function () { var context = this, args = arguments; var later = function () { timeout = null; if (!immediate) { func.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } exports.default = debounce; //# sourceMappingURL=debounce.js.map