UNPKG

@taiga-ui/event-plugins

Version:

This is a library for optimizing performance sensitive events and declarative preventDefault and stopPropagation

18 lines 2.43 kB
import { SilentEventPlugin } from '../plugins/silent.plugin'; export function shouldCall(predicate) { return (_target, _key, desc) => { const { value } = desc; desc.value = function (...args) { if (!predicate.apply(this, args)) { return; } if (SilentEventPlugin.ngZone) { SilentEventPlugin.ngZone.run(() => value.apply(this, args)); } else { value.apply(this, args); } }; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdWxkLWNhbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1wbHVnaW5zL3NyYy9kZWNvcmF0b3JzL3Nob3VsZC1jYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBSTNELE1BQU0sVUFBVSxVQUFVLENBQUksU0FBdUI7SUFDakQsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBd0IsRUFBRSxFQUFFO1FBQy9DLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFckIsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFtQixHQUFHLElBQVc7WUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUM5QixPQUFPO2FBQ1Y7WUFFRCxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtnQkFDMUIsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQy9EO2lCQUFNO2dCQUNILEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2lsZW50RXZlbnRQbHVnaW59IGZyb20gJy4uL3BsdWdpbnMvc2lsZW50LnBsdWdpbic7XG5cbmV4cG9ydCB0eXBlIFByZWRpY2F0ZTxUPiA9ICh0aGlzOiBULCAuLi5hcmdzOiBhbnlbXSkgPT4gYm9vbGVhbjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZENhbGw8VD4ocHJlZGljYXRlOiBQcmVkaWNhdGU8VD4pOiBNZXRob2REZWNvcmF0b3Ige1xuICAgIHJldHVybiAoX3RhcmdldCwgX2tleSwgZGVzYzogUHJvcGVydHlEZXNjcmlwdG9yKSA9PiB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZX0gPSBkZXNjO1xuXG4gICAgICAgIGRlc2MudmFsdWUgPSBmdW5jdGlvbiAodGhpczogVCwgLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgICAgIGlmICghcHJlZGljYXRlLmFwcGx5KHRoaXMsIGFyZ3MpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoU2lsZW50RXZlbnRQbHVnaW4ubmdab25lKSB7XG4gICAgICAgICAgICAgICAgU2lsZW50RXZlbnRQbHVnaW4ubmdab25lLnJ1bigoKSA9PiB2YWx1ZS5hcHBseSh0aGlzLCBhcmdzKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG59XG4iXX0=