Chris@0: /** Chris@0: * DO NOT EDIT THIS FILE. Chris@0: * See the following change record for more information, Chris@0: * https://www.drupal.org/node/2815083 Chris@0: * @preserve Chris@0: **/ Chris@0: Chris@0: Drupal.debounce = function (func, wait, immediate) { Chris@0: var timeout = void 0; Chris@0: var result = void 0; Chris@0: return function () { Chris@14: for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { Chris@14: args[_key] = arguments[_key]; Chris@14: } Chris@14: Chris@0: var context = this; Chris@0: var later = function later() { Chris@0: timeout = null; Chris@0: if (!immediate) { Chris@0: result = func.apply(context, args); Chris@0: } Chris@0: }; Chris@0: var callNow = immediate && !timeout; Chris@0: clearTimeout(timeout); Chris@0: timeout = setTimeout(later, wait); Chris@0: if (callNow) { Chris@0: result = func.apply(context, args); Chris@0: } Chris@0: return result; Chris@0: }; Chris@0: };