UNPKG

ng-event-options

Version:

Enable event options (capture, passive, ...) inside angular templates, based on browser support

13 lines 1.92 kB
export const debounceEvent = (callback, time = 50, immediate = 0) => { let timeout; let wait; return (event) => { window.clearTimeout(timeout); timeout = window.setTimeout(() => (immediate ? (wait = false) : callback(event)), time); if (immediate && !wait) { wait = true; callback(event); } }; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1vcHRpb25zL3NyYy9saWIvaGVscGVyL2RlYm91bmNlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixRQUF1QixFQUN2QixPQUFlLEVBQUUsRUFDakIsWUFBbUIsQ0FBQyxFQUNMLEVBQUU7SUFDakIsSUFBSSxPQUFlLENBQUM7SUFDcEIsSUFBSSxJQUFhLENBQUM7SUFFbEIsT0FBTyxDQUFDLEtBQVksRUFBUSxFQUFFO1FBQzVCLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4RixJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLElBQUksR0FBRyxJQUFJLENBQUM7WUFDWixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBkZWJvdW5jZUV2ZW50ID0gKFxuICBjYWxsYmFjazogRXZlbnRMaXN0ZW5lcixcbiAgdGltZTogbnVtYmVyID0gNTAsXG4gIGltbWVkaWF0ZTogMCB8IDEgPSAwLFxuKTogRXZlbnRMaXN0ZW5lciA9PiB7XG4gIGxldCB0aW1lb3V0OiBudW1iZXI7XG4gIGxldCB3YWl0OiBib29sZWFuO1xuXG4gIHJldHVybiAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgd2luZG93LmNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICB0aW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4gKGltbWVkaWF0ZSA/ICh3YWl0ID0gZmFsc2UpIDogY2FsbGJhY2soZXZlbnQpKSwgdGltZSk7XG5cbiAgICBpZiAoaW1tZWRpYXRlICYmICF3YWl0KSB7XG4gICAgICB3YWl0ID0gdHJ1ZTtcbiAgICAgIGNhbGxiYWNrKGV2ZW50KTtcbiAgICB9XG4gIH07XG59O1xuIl19