UNPKG

@webqit/observer

Version:

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

32 lines (27 loc) 612 B
/** * --------------------------- * The Descriptor class * --------------------------- */ export default class Descriptor { /** * Initializes the instance. * * @param array|object target * @param object dfn * * @return void */ constructor(target, dfn) { this.target = target; if (!(dfn.operation)) throw new Error('Descriptor operation must be given in definition!'); Object.assign(this, dfn); } get [Symbol.toStringTag]() { return 'Descriptor'; } static [Symbol.hasInstance](instance) { return instance?.[Symbol.toStringTag] === 'Descriptor' && instance.operation } }