emitter-listener
Advanced tools
Comparing version 1.0.1 to 1.1.0
@@ -11,2 +11,14 @@ 'use strict'; | ||
// Sets a property on an object, preserving its enumerability. | ||
// This function assumes that the property is already writable. | ||
function defineProperty(obj, name, value) { | ||
const enumerable = !!obj[name] && obj.propertyIsEnumerable(name); | ||
Object.defineProperty(obj, name, { | ||
configurable: true, | ||
enumerable: enumerable, | ||
writable: true, | ||
value: value | ||
}); | ||
} | ||
function _process(self, listeners) { | ||
@@ -137,6 +149,6 @@ var l = listeners.length; | ||
if (!emitter[SYMBOL]) { | ||
emitter[SYMBOL] = onAddListener; | ||
defineProperty(emitter, SYMBOL, onAddListener); | ||
} | ||
else if (typeof emitter[SYMBOL] === 'function') { | ||
emitter[SYMBOL] = [emitter[SYMBOL], onAddListener]; | ||
defineProperty(emitter, SYMBOL, [emitter[SYMBOL], onAddListener]); | ||
} | ||
@@ -153,3 +165,3 @@ else if (Array.isArray(emitter[SYMBOL])) { | ||
emitter.__unwrap = function () { | ||
defineProperty(emitter, '__unwrap', function () { | ||
unwrap(emitter, 'addListener'); | ||
@@ -160,5 +172,5 @@ unwrap(emitter, 'on'); | ||
delete emitter.__wrapped; | ||
}; | ||
emitter.__wrapped = true; | ||
}); | ||
defineProperty(emitter, '__wrapped', true); | ||
} | ||
}; |
{ | ||
"name": "emitter-listener", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"description": "(Meta)observability for EventEmitters.", | ||
@@ -32,7 +32,7 @@ "main": "listener.js", | ||
"devDependencies": { | ||
"tap": "~0.4.6" | ||
"tap": "^10.7.3" | ||
}, | ||
"dependencies": { | ||
"shimmer": "1.0.0" | ||
"shimmer": "^1.2.0" | ||
} | ||
} |
@@ -41,3 +41,3 @@ 'use strict'; | ||
t.test("with all required parameters", function (t) { | ||
t.plan(4); | ||
t.plan(5); | ||
@@ -48,2 +48,4 @@ function nop() {} | ||
var ee = new Emitter(); | ||
var numPropsBeforeWrap = Object.keys(ee).length; | ||
t.doesNotThrow( | ||
@@ -61,2 +63,6 @@ function () { wrapEmitter(ee, nop, passthrough); }, | ||
t.doesNotThrow(function () { ee.emit('test', 8); }, "emitting still works"); | ||
var numPropsAfterWrap = Object.keys(ee).length; | ||
t.equal(numPropsAfterWrap, numPropsBeforeWrap, | ||
'doesn\'t add extra enumerable properties'); | ||
}); | ||
@@ -63,0 +69,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
12112
286
+ Addedshimmer@1.2.1(transitive)
- Removedshimmer@1.0.0(transitive)
Updatedshimmer@^1.2.0