ig-types 6.16.0 → 6.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +18 -0
  2. package/event.js +21 -8
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -80,6 +80,7 @@ Library of JavaScript type extensions, types and utilities.
80
80
  - [`<promise-iter>.concat(..)`](#promise-iterconcat)
81
81
  - [`<promise-iter>.push(..)` / `<promise-iter>.unshift(..)`](#promise-iterpush--promise-iterunshift)
82
82
  - [`<promise-iter>.at(..)` / `<promise-iter>.first()` / `<promise-iter>.last()`](#promise-iterat--promise-iterfirst--promise-iterlast)
83
+ - [`<promise-iter>.join(..)`](#promise-iterjoin)
83
84
  - [`<promise-iter>.some(..)` / `<promise-iter>.find(..)`](#promise-itersome--promise-iterfind)
84
85
  - [Array proxy methods returning `<promise-iter>`](#array-proxy-methods-returning-promise-iter)
85
86
  - [Array proxy methods returning a `<promise>`](#array-proxy-methods-returning-a-promise)
@@ -104,6 +105,7 @@ Library of JavaScript type extensions, types and utilities.
104
105
  - [`<generator>.flat(..)`](#generatorflat)
105
106
  - [`<generator>.shift()` / `<generator>.pop()` / `<generator>.gshift()` / `<generator>.gpop()`](#generatorshift--generatorpop--generatorgshift--generatorgpop)
106
107
  - [`<generator>.unshift(..)` / `<generator>.push(..)`](#generatorunshift--generatorpush)
108
+ - [`<generator>.join(..)`](#generatorjoin)
107
109
  - [`<generator>.then(..)` / `<generator>.catch(..)` / `<generator>.finally(..)`](#generatorthen--generatorcatch--generatorfinally)
108
110
  - [`<generator>.toArray()`](#generatortoarray)
109
111
  - [Treating iterators the same as generators](#treating-iterators-the-same-as-generators)
@@ -115,6 +117,7 @@ Library of JavaScript type extensions, types and utilities.
115
117
  - [`<Generator>.slice(..)`](#generatorslice-1)
116
118
  - [`<Generator>.map(..)` / `<Generator>.filter(..)` / `<Generator>.reduce(..)` / `<Generator>.flat()`](#generatormap--generatorfilter--generatorreduce--generatorflat)
117
119
  - [`<Generator>.toArray()`](#generatortoarray-1)
120
+ - [`<Generator>.join(..)`](#generatorjoin-1)
118
121
  - [`<Generator>.then(..)` / `<Generator>.catch(..)` / `<Generator>.finally(..)`](#generatorthen--generatorcatch--generatorfinally-1)
119
122
  - [Generator combinators](#generator-combinators)
120
123
  - [`<Generator>.chain(..)` / `<generator>.chain(..)`](#generatorchain--generatorchain)
@@ -1711,6 +1714,12 @@ parent `<promise-iter>`.
1711
1714
 
1712
1715
  XXX
1713
1716
 
1717
+
1718
+ #### `<promise-iter>.join(..)`
1719
+
1720
+ XXX
1721
+
1722
+
1714
1723
  #### `<promise-iter>.some(..)` / `<promise-iter>.find(..)`
1715
1724
 
1716
1725
  ```bnf
@@ -2207,6 +2216,11 @@ Value added by `.unshift(..)` will be yielded by `<generator>` "first", i.e. on
2207
2216
  _next_ call to `.next()`, regardless of the current generator state.
2208
2217
 
2209
2218
 
2219
+ #### `<generator>.join(..)`
2220
+
2221
+ XXX
2222
+
2223
+
2210
2224
  #### `<generator>.then(..)` / `<generator>.catch(..)` / `<generator>.finally(..)`
2211
2225
 
2212
2226
  Return a promise and resolve it with the generator value.
@@ -2410,6 +2424,10 @@ Return a function that will return a `<generator>` output as an `Array`.
2410
2424
  -> <function>
2411
2425
  ```
2412
2426
 
2427
+ #### `<Generator>.join(..)`
2428
+
2429
+ XXX
2430
+
2413
2431
 
2414
2432
  #### `<Generator>.then(..)` / `<Generator>.catch(..)` / `<Generator>.finally(..)`
2415
2433
 
package/event.js CHANGED
@@ -116,22 +116,28 @@ object.Constructor('Eventful', {
116
116
  this.handlerLocation == 'method' ?
117
117
  (this.__event_handlers__ = this.__event_handlers__ || [])
118
118
  // context (default)...
119
- : (context.__event_handlers__ == null ?
119
+ //: (context.__event_handlers__ == null ?
120
+ : !context.hasOwnProperty('__event_handlers__') ?
120
121
  Object.defineProperty(context, '__event_handlers__', {
121
122
  value: {[this.name]: (handlers = [])},
122
123
  enumerable: false,
124
+ configurable: true,
125
+ writable: true,
123
126
  })
124
127
  && handlers
125
- : (context.__event_handlers__[this.name] =
126
- context.__event_handlers__[this.name] || []))
128
+ : (context.__event_handlers__[this.name] =
129
+ context.__event_handlers__[this.name] || [])
127
130
  // add handler...
128
131
  handlers.push(handler)
129
132
  return this },
130
133
  unbind: function(context, handler){
131
134
  var handlers =
132
- (this.handlerLocation == 'method' ?
135
+ this.handlerLocation == 'method' ?
133
136
  method.__event_handlers__
134
- : (context.__event_handlers__ || {})[this.name]) || []
137
+ //: (context.__event_handlers__ || {})[this.name]) || []
138
+ : context.hasOwnProperty('__event_handlers__') ?
139
+ (context.__event_handlers__ || {})[this.name] || []
140
+ : []
135
141
  handlers.splice(0, handlers.length,
136
142
  ...handlers.filter(function(h){
137
143
  return h !== handler
@@ -147,7 +153,10 @@ object.Constructor('Eventful', {
147
153
  // context (default)...
148
154
  // NOTE: these are allways called...
149
155
  handlers = handlers
150
- .concat((context.__event_handlers__ || {})[this.name] || [])
156
+ //.concat((context.__event_handlers__ || {})[this.name] || [])
157
+ .concat(context.hasOwnProperty('__event_handlers__') ?
158
+ (context.__event_handlers__ || {})[this.name] || []
159
+ : [])
151
160
 
152
161
  // NOTE: this will stop event handling if one of the handlers
153
162
  // explicitly returns false...
@@ -289,10 +298,13 @@ module.EventHandlerMixin = object.Mixin('EventHandlerMixin', {
289
298
  this[evt].bind(this, func)
290
299
  // non-event...
291
300
  } else {
292
- this.__event_handlers__ == null
301
+ //this.__event_handlers__ == null
302
+ !this.hasOwnProperty('__event_handlers__')
293
303
  && Object.defineProperty(this, '__event_handlers__', {
294
304
  value: {},
295
305
  enumerable: false,
306
+ configurable: true,
307
+ writable: true,
296
308
  })
297
309
  ;(this.__event_handlers__[evt] =
298
310
  this.__event_handlers__[evt] || [])
@@ -328,7 +340,8 @@ module.EventHandlerMixin = object.Mixin('EventHandlerMixin', {
328
340
  evt in this ?
329
341
  // XXX add a better check...
330
342
  this[evt](module.TRIGGER, ...args)
331
- : this.__event_handlers__
343
+ //: this.__event_handlers__
344
+ : this.hasOwnProperty('__event_handlers__')
332
345
  && (this.__event_handlers__[evt] || [])
333
346
  .forEach(function(h){ h(evt, ...args) })
334
347
  return this },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ig-types",
3
- "version": "6.16.0",
3
+ "version": "6.16.3",
4
4
  "description": "Generic JavaScript types and type extensions...",
5
5
  "main": "main.js",
6
6
  "scripts": {