diff --git a/event.js b/event.js index 7ae5f80..2100455 100644 --- a/event.js +++ b/event.js @@ -212,7 +212,7 @@ function(name, func, options={}){ // XXX still not sure about the builtin-local event control flow... // XXX do we need to be able to force global handler??? var EventHandlerMixin = -module.EventHandlerMixin = { +module.EventHandlerMixin = object.Mixin('EventHandlerMixin', { __event_handlers__: null, on: function(evt, func){ @@ -260,13 +260,13 @@ module.EventHandlerMixin = { && (this.__event_handlers__[evt] || []) .forEach(function(h){ h(evt, ...args) }) return this }, -} +}) // NOTE: this can't be added via Object.assign(..), use object.mixinFlat(..) // instead... var EventDocMixin = -module.EventDocMixin = { +module.EventDocMixin = object.Mixin('EventDocMixin', { get eventfull(){ return object.deepKeys(this) .filter(function(n){ @@ -279,14 +279,14 @@ module.EventDocMixin = { // avoid triggering props... return !object.values(this, n, function(){ return object.STOP }, true)[0].get && (this[n] || {}).__event__ == 'full' }.bind(this)) }, -} +}) var EventMixin = -module.EventMixin = - object.mixinFlat({}, - EventHandlerMixin, - EventDocMixin) +module.EventMixin = +object.Mixin('EventMixin', + EventHandlerMixin, + EventDocMixin) diff --git a/package-lock.json b/package-lock.json index 659737f..24adee6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "ig-types", - "version": "3.6.0", + "version": "3.7.11", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -265,9 +265,9 @@ } }, "ig-object": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ig-object/-/ig-object-5.3.0.tgz", - "integrity": "sha512-8I3w0Gqv96cx1Eirqrvtuh4Pq8X4U3tAexj4nMwceNu4jzZF1wg9FP3Im5ZZ99kQSk7CWl4tjSGe/aS5IXEoMw==" + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/ig-object/-/ig-object-5.4.2.tgz", + "integrity": "sha512-xRJRI7Y5Cw0u7FZL/Ln/noitjQ9HFVLwHbnVozCZ1/95p/F9h+kenOzagj/Cm0uBsEdTi3KJfGrdmsyH5AM7cg==" }, "ig-test": { "version": "1.4.6", diff --git a/package.json b/package.json index 7a67512..e541490 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ig-types", - "version": "3.7.10", + "version": "3.7.12", "description": "Generic JavaScript types and type extensions...", "main": "main.js", "scripts": { @@ -23,7 +23,7 @@ }, "homepage": "https://github.com/flynx/types.js#readme", "dependencies": { - "ig-object": "^5.3.0", + "ig-object": "^5.4.2", "object-run": "^1.0.1" }, "devDependencies": { diff --git a/runner.js b/runner.js index 790b010..41bfa19 100644 --- a/runner.js +++ b/runner.js @@ -34,7 +34,7 @@ module.Queue = object.Constructor('Queue', Array, { run: function(...tasks){ return this({ state: 'running' }, ...tasks) }, -}, object.mixinFlat({ +}, events.EventMixin('flat', { // config... // pool_size: 8, @@ -188,9 +188,7 @@ module.Queue = object.Constructor('Queue', Array, { && typeof(this[0].finally) != 'function'){ Object.assign(this, this.shift()) } this._run() }, -}, -// the event API mixin... -events.EventMixin)) +})) diff --git a/test.js b/test.js index e42c8c3..930a5fd 100755 --- a/test.js +++ b/test.js @@ -371,7 +371,7 @@ Events.cases({ // object with events... var ObjWithEvents = assert( - object.mixinFlat({ + events.EventMixin('flat', { // NOTE: we will also use virtual events later -- 'moo' // and 'foo', these do not have to be defined to // be usable... @@ -396,7 +396,7 @@ Events.cases({ called['event-call'] = true assert(handle(), '.Event(..) -> handle(..)') }), '.Event(..)'), - }, events.EventMixin), + }), 'object with event mixin created.') // create an "instance"...