UNPKG

ng-event-options

Version:

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

15 lines 1.89 kB
export const throttleEvent = (callback, time = 50, immediate = 0) => { let timeout; return (event) => { if (!timeout) { if (immediate) { callback(event); } timeout = window.setTimeout(() => { timeout = 0; return !immediate ? callback(event) : void 0; }, time); } }; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3R0bGUtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1vcHRpb25zL3NyYy9saWIvaGVscGVyL3Rocm90dGxlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixRQUF1QixFQUN2QixPQUFlLEVBQUUsRUFDakIsWUFBbUIsQ0FBQyxFQUNMLEVBQUU7SUFDakIsSUFBSSxPQUFlLENBQUM7SUFFcEIsT0FBTyxDQUFDLEtBQVksRUFBUSxFQUFFO1FBQzVCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xCLENBQUM7WUFFRCxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQy9CLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBQ1osT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDWCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHRocm90dGxlRXZlbnQgPSAoXG4gIGNhbGxiYWNrOiBFdmVudExpc3RlbmVyLFxuICB0aW1lOiBudW1iZXIgPSA1MCxcbiAgaW1tZWRpYXRlOiAwIHwgMSA9IDAsXG4pOiBFdmVudExpc3RlbmVyID0+IHtcbiAgbGV0IHRpbWVvdXQ6IG51bWJlcjtcblxuICByZXR1cm4gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGltZW91dCkge1xuICAgICAgaWYgKGltbWVkaWF0ZSkge1xuICAgICAgICBjYWxsYmFjayhldmVudCk7XG4gICAgICB9XG5cbiAgICAgIHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRpbWVvdXQgPSAwO1xuICAgICAgICByZXR1cm4gIWltbWVkaWF0ZSA/IGNhbGxiYWNrKGV2ZW50KSA6IHZvaWQgMDtcbiAgICAgIH0sIHRpbWUpO1xuICAgIH1cbiAgfTtcbn07XG4iXX0=