UNPKG

@web-native-js/observer

Version:

A simple set of functions for intercepting and observing JavaScript objects and arrays.

33 lines (29 loc) 787 B
/** * @imports */ import _arrFrom from '@webqit/util/arr/from.js'; import _intersect from '@webqit/util/arr/intersect.js'; import Fireable from '../Fireable.js'; /** * --------------------------- * The Trap class * --------------------------- */ export default class extends Fireable { /** * Calls the observer's handler function * on matching with the event's fields. * * @param Event event * @param function next * @param mixed recieved * * @return void */ fire(event, next, recieved) { if (this.disconnected || (this.filter && !_intersect(_arrFrom(this.filter), [event.type]).length)) { return next(...Array.prototype.slice.call(arguments, 2)); } return this.handler(event, recieved, next); } };