moved to new mixins...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2020-11-19 02:24:09 +03:00
parent 98c0de1b4f
commit 032defb38b
5 changed files with 18 additions and 20 deletions

View File

@ -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)

8
package-lock.json generated
View File

@ -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",

View File

@ -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": {

View File

@ -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))
}))

View File

@ -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"...