get function name change
This commit is contained in:
1
node_modules/propagate/.npmignore
generated
vendored
Normal file
1
node_modules/propagate/.npmignore
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
node_modules
|
||||
4
node_modules/propagate/.travis.yml
generated
vendored
Normal file
4
node_modules/propagate/.travis.yml
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- 4
|
||||
- 5
|
||||
27
node_modules/propagate/LICENSE.md
generated
vendored
Normal file
27
node_modules/propagate/LICENSE.md
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
The MIT License
|
||||
|
||||
Copyright (c) 2015 Pedro Teixeira
|
||||
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
|
||||
62
node_modules/propagate/README.md
generated
vendored
Normal file
62
node_modules/propagate/README.md
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
# propagate
|
||||
|
||||
[](https://travis-ci.org/pgte/propagate)
|
||||
|
||||
Propagate events from one event emitter into another
|
||||
|
||||
## Install
|
||||
|
||||
```bash
|
||||
$ npm install propagate
|
||||
```
|
||||
|
||||
## Propagate
|
||||
|
||||
```javascript
|
||||
var ee1 = new EventEmitter();
|
||||
var ee2 = new EventEmitter();
|
||||
propagate(ee1, ee2);
|
||||
|
||||
ee2.on('event', function(a, b) {
|
||||
console.log('got propagated event', a, b);
|
||||
});
|
||||
|
||||
ee1.emit('event', 'a', 'b');
|
||||
```
|
||||
|
||||
## Unpropagate
|
||||
|
||||
You can unpropagate by ending the propagation like this:
|
||||
|
||||
```javascript
|
||||
var ee1 = new EventEmitter();
|
||||
var ee2 = new EventEmitter();
|
||||
var p = propagate(ee1, ee2);
|
||||
|
||||
// ...
|
||||
|
||||
p.end();
|
||||
```
|
||||
|
||||
## Only propagate certain events:
|
||||
|
||||
```javascript
|
||||
var ee1 = new EventEmitter();
|
||||
var ee2 = new EventEmitter();
|
||||
var p = propagate(['event1', 'event2'], ee1, ee2);
|
||||
```
|
||||
|
||||
## Propagate certain events as other events:
|
||||
|
||||
```javascript
|
||||
var ee1 = new EventEmitter();
|
||||
var ee2 = new EventEmitter();
|
||||
var p = propagate({
|
||||
'event1': 'other-event1',
|
||||
'event2': 'other-event2'
|
||||
}, ee1, ee2);
|
||||
```
|
||||
|
||||
# License
|
||||
|
||||
MIT
|
||||
75
node_modules/propagate/index.js
generated
vendored
Normal file
75
node_modules/propagate/index.js
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
function propagate(events, source, dest) {
|
||||
if (arguments.length < 3) {
|
||||
dest = source;
|
||||
source = events;
|
||||
events = undefined;
|
||||
}
|
||||
|
||||
// events should be an array or object
|
||||
var eventsIsObject = typeof events === 'object'
|
||||
if (events && !eventsIsObject) events = [events];
|
||||
|
||||
if (eventsIsObject) {
|
||||
return explicitPropagate(events, source, dest);
|
||||
}
|
||||
|
||||
var oldEmit = source.emit;
|
||||
|
||||
source.emit = function(eventType) {
|
||||
oldEmit.apply(source, arguments);
|
||||
|
||||
if (! events || ~events.indexOf(eventType)) {
|
||||
dest.emit.apply(dest, arguments);
|
||||
}
|
||||
}
|
||||
|
||||
function end() {
|
||||
source.emit = oldEmit;
|
||||
}
|
||||
|
||||
return {
|
||||
end: end
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = propagate;
|
||||
|
||||
function explicitPropagate(events, source, dest) {
|
||||
var eventsIn;
|
||||
var eventsOut;
|
||||
if (Array.isArray(events)) {
|
||||
eventsIn = events;
|
||||
eventsOut = events;
|
||||
} else {
|
||||
eventsIn = Object.keys(events);
|
||||
eventsOut = eventsIn.map(function (key) {
|
||||
return events[key]
|
||||
})
|
||||
}
|
||||
|
||||
var listeners = eventsOut.map(function(event) {
|
||||
return function() {
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
args.unshift(event);
|
||||
dest.emit.apply(dest, args);
|
||||
}
|
||||
});
|
||||
|
||||
listeners.forEach(register);
|
||||
|
||||
return {
|
||||
end: end
|
||||
};
|
||||
|
||||
function register(listener, i) {
|
||||
source.on(eventsIn[i], listener);
|
||||
}
|
||||
|
||||
function unregister(listener, i) {
|
||||
source.removeListener(eventsIn[i], listener);
|
||||
}
|
||||
|
||||
function end() {
|
||||
listeners.forEach(unregister);
|
||||
}
|
||||
}
|
||||
64
node_modules/propagate/package.json
generated
vendored
Normal file
64
node_modules/propagate/package.json
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"_from": "propagate@^1.0.0",
|
||||
"_id": "propagate@1.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-AMLa7t2iDofjeCs0Stuhzd1q1wk=",
|
||||
"_location": "/propagate",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "propagate@^1.0.0",
|
||||
"name": "propagate",
|
||||
"escapedName": "propagate",
|
||||
"rawSpec": "^1.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/nock"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/propagate/-/propagate-1.0.0.tgz",
|
||||
"_shasum": "00c2daeedda20e87e3782b344adba1cddd6ad709",
|
||||
"_spec": "propagate@^1.0.0",
|
||||
"_where": "/Volumes/MacMini Disk/Project/Nodejs/flixinfo/node_modules/nock",
|
||||
"author": {
|
||||
"name": "Pedro Teixeira",
|
||||
"email": "pedro.teixeira@gmail.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "http://github.com/pgte/propagate/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Pedro Teixeira"
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Propagate events",
|
||||
"devDependencies": {
|
||||
"tap": "0.3.x"
|
||||
},
|
||||
"engines": [
|
||||
"node >= 0.8.1"
|
||||
],
|
||||
"homepage": "https://github.com/pgte/propagate#readme",
|
||||
"license": "MIT",
|
||||
"main": "./index.js",
|
||||
"name": "propagate",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/pgte/propagate.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node node_modules/tap/bin/tap.js tests/index.js"
|
||||
},
|
||||
"tags": [
|
||||
"event",
|
||||
"emitter",
|
||||
"propagation"
|
||||
],
|
||||
"version": "1.0.0"
|
||||
}
|
||||
140
node_modules/propagate/tests/index.js
generated
vendored
Normal file
140
node_modules/propagate/tests/index.js
generated
vendored
Normal file
@@ -0,0 +1,140 @@
|
||||
var test = require('tap').test;
|
||||
var EventEmitter = require('events').EventEmitter;
|
||||
var propagate = require('..');
|
||||
|
||||
test('propagates events', function(t) {
|
||||
t.plan(12);
|
||||
var ee1 = new EventEmitter();
|
||||
var ee2 = new EventEmitter();
|
||||
propagate(ee1, ee2);
|
||||
|
||||
ee2.on('event-1', function(a, b, c) {
|
||||
t.equal(a, 'a');
|
||||
t.equal(b, 'b');
|
||||
t.equal(c, undefined);
|
||||
});
|
||||
|
||||
ee2.on('event-2', function(a, b, c) {
|
||||
t.equal(a, 'c');
|
||||
t.equal(b, 'd');
|
||||
t.equal(c, undefined);
|
||||
});
|
||||
|
||||
ee1.emit('event-1', 'a', 'b');
|
||||
ee1.emit('event-1', 'a', 'b');
|
||||
ee1.emit('event-2', 'c', 'd');
|
||||
ee1.emit('event-2', 'c', 'd');
|
||||
|
||||
});
|
||||
|
||||
test('propagates can end', function(t) {
|
||||
t.plan(1);
|
||||
|
||||
var ee1 = new EventEmitter();
|
||||
var ee2 = new EventEmitter();
|
||||
var prop = propagate(ee1, ee2);
|
||||
|
||||
ee2.on('event', function() {
|
||||
t.ok('true', 'propagated');
|
||||
});
|
||||
|
||||
ee1.emit('event');
|
||||
prop.end();
|
||||
ee1.emit('event');
|
||||
});
|
||||
|
||||
test('after propagation old one still emits', function(t) {
|
||||
t.plan(2);
|
||||
|
||||
var ee1 = new EventEmitter();
|
||||
var ee2 = new EventEmitter();
|
||||
var prop = propagate(ee1, ee2);
|
||||
|
||||
ee1.on('event', function() {
|
||||
t.ok('true', 'propagated');
|
||||
});
|
||||
|
||||
ee1.emit('event');
|
||||
prop.end();
|
||||
ee1.emit('event');
|
||||
});
|
||||
|
||||
test('emit on source before destination', function (t) {
|
||||
t.plan(1);
|
||||
|
||||
var source = new EventEmitter();
|
||||
var dest = new EventEmitter();
|
||||
|
||||
// Set up test case for "propagate all"
|
||||
// `count` should have been incremented by handler on source when handler on dest is invoked
|
||||
var count = 0;
|
||||
propagate(source, dest);
|
||||
source.on('event', function () {
|
||||
count++;
|
||||
});
|
||||
dest.on('event', function () {
|
||||
t.equal(count, 1, 'emit on source first');
|
||||
});
|
||||
|
||||
// Emit the events for assertion
|
||||
source.emit('event');
|
||||
});
|
||||
|
||||
test('is able to propagate only certain events', function(t) {
|
||||
t.plan(2);
|
||||
var ee1 = new EventEmitter();
|
||||
var ee2 = new EventEmitter();
|
||||
// propagate only event-1 and event-2, leaving out
|
||||
var p = propagate(['event-1', 'event-2'], ee1, ee2);
|
||||
|
||||
ee2.on('event-1', function() {
|
||||
t.ok(true, 'event 1 received');
|
||||
});
|
||||
|
||||
ee2.on('event-2', function(a, b, c) {
|
||||
t.ok(true, 'event 2 received');
|
||||
});
|
||||
|
||||
ee2.on('event-3', function(a, b, c) {
|
||||
t.ok(false, 'event 3 should not have been received');
|
||||
});
|
||||
|
||||
ee1.emit('event-1');
|
||||
ee1.emit('event-2');
|
||||
ee1.emit('event-3');
|
||||
|
||||
p.end();
|
||||
|
||||
ee1.emit('event-1');
|
||||
});
|
||||
|
||||
test('is able to propagate and map certain events', function(t) {
|
||||
t.plan(2);
|
||||
var ee1 = new EventEmitter();
|
||||
var ee2 = new EventEmitter();
|
||||
// propagate only event-1 and event-2, leaving out
|
||||
var p = propagate({
|
||||
'event-1': 'other-event-1',
|
||||
'event-2': 'other-event-2'
|
||||
}, ee1, ee2);
|
||||
|
||||
ee2.on('other-event-1', function() {
|
||||
t.ok(true, 'event 1 received');
|
||||
});
|
||||
|
||||
ee2.on('other-event-2', function(a, b, c) {
|
||||
t.ok(true, 'event 2 received');
|
||||
});
|
||||
|
||||
ee2.on('event-3', function(a, b, c) {
|
||||
t.ok(false, 'event 3 should not have been received');
|
||||
});
|
||||
|
||||
ee1.emit('event-1');
|
||||
ee1.emit('event-2');
|
||||
ee1.emit('event-3');
|
||||
|
||||
p.end();
|
||||
|
||||
ee1.emit('event-1');
|
||||
});
|
||||
Reference in New Issue
Block a user