@effection/events
Advanced tools
Comparing version 2.0.0-beta.2 to 2.0.0-beta.3
# Changelog | ||
## 2.0.0-beta.3 | ||
### Patch Changes | ||
- 3e77f29: - label events for visual inspection | ||
- label stream and queue operations | ||
- Updated dependencies [3e77f29] | ||
- Updated dependencies [5d95e6d] | ||
- Updated dependencies [9700b45] | ||
- Updated dependencies [9700b45] | ||
- @effection/subscription@2.0.0-beta.3 | ||
- @effection/core@2.0.0-beta.3 | ||
## 2.0.0-beta.2 | ||
@@ -4,0 +17,0 @@ |
@@ -48,7 +48,18 @@ 'use strict'; | ||
function once(source, eventName) { | ||
return function* () { | ||
var _yield$onceEmit = yield onceEmit(source, eventName), | ||
event = _yield$onceEmit[0]; | ||
return { | ||
name: "once", | ||
labels: { | ||
eventName: eventName, | ||
source: source.toString() | ||
}, | ||
perform: function perform(resolve) { | ||
var listener = function listener() { | ||
resolve(arguments.length <= 0 ? undefined : arguments[0]); | ||
}; | ||
return event; | ||
addListener(source, eventName, listener); | ||
return function () { | ||
return removeListener(source, eventName, listener); | ||
}; | ||
} | ||
}; | ||
@@ -82,2 +93,7 @@ } | ||
return { | ||
name: "onceEmit", | ||
labels: { | ||
eventName: eventName, | ||
source: source.toString() | ||
}, | ||
perform: function perform(resolve) { | ||
@@ -130,6 +146,21 @@ var listener = function listener() { | ||
function on(source, name) { | ||
return onEmit(source, name).map(function (_ref) { | ||
var event = _ref[0]; | ||
return event; | ||
}); | ||
return subscription.createStream(function (publish) { | ||
return { | ||
name: 'listen', | ||
labels: { | ||
eventName: name, | ||
source: source.toString() | ||
}, | ||
perform: function perform() { | ||
var listener = function listener() { | ||
return publish(arguments.length <= 0 ? undefined : arguments[0]); | ||
}; | ||
addListener(source, name, listener); | ||
return function () { | ||
return removeListener(source, name, listener); | ||
}; | ||
} | ||
}; | ||
}, "on('" + name + "')"); | ||
} | ||
@@ -166,19 +197,24 @@ /** | ||
return subscription.createStream(function (publish) { | ||
return function* () { | ||
var listener = function listener() { | ||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
return { | ||
name: 'listen', | ||
labels: { | ||
eventName: name, | ||
source: source.toString() | ||
}, | ||
perform: function perform() { | ||
var listener = function listener() { | ||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
return publish(args); | ||
}; | ||
return publish(args); | ||
}; | ||
try { | ||
addListener(source, name, listener); | ||
yield; | ||
} finally { | ||
removeListener(source, name, listener); | ||
return function () { | ||
return removeListener(source, name, listener); | ||
}; | ||
} | ||
}; | ||
}); | ||
}, "onEmit('" + name + "')"); | ||
} | ||
@@ -185,0 +221,0 @@ |
@@ -1,2 +0,2 @@ | ||
"use strict";var n=require("@effection/subscription");function r(n){return"function"==typeof n.addEventListener}function t(n,t,e){r(n)?n.addEventListener(t,e):n.on(t,e)}function e(n,t,e){r(n)?n.removeEventListener(t,e):n.off(t,e)}function o(n,r){return function*(){return(yield i(n,r))[0]}}function i(n,r){return{perform:function(o){var i=function(){for(var n=arguments.length,r=new Array(n),t=0;t<n;t++)r[t]=arguments[t];o(r)};return t(n,r,i),function(){return e(n,r,i)}}}}function u(r,o){return n.createStream((function(n){return function*(){var i=function(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++)t[e]=arguments[e];return n(t)};try{t(r,o,i),yield}finally{e(r,o,i)}}}))}exports.on=function(n,r){return u(n,r).map((function(n){return n[0]}))},exports.onEmit=u,exports.once=o,exports.onceEmit=i,exports.throwOnErrorEvent=function*(n){throw yield o(n,"error")}; | ||
"use strict";var n=require("@effection/subscription");function e(n){return"function"==typeof n.addEventListener}function r(n,r,t){e(n)?n.addEventListener(r,t):n.on(r,t)}function t(n,r,t){e(n)?n.removeEventListener(r,t):n.off(r,t)}function o(n,e){return{name:"once",labels:{eventName:e,source:n.toString()},perform:function(o){var u=function(){o(arguments.length<=0?void 0:arguments[0])};return r(n,e,u),function(){return t(n,e,u)}}}}exports.on=function(e,o){return n.createStream((function(n){return{name:"listen",labels:{eventName:o,source:e.toString()},perform:function(){var u=function(){return n(arguments.length<=0?void 0:arguments[0])};return r(e,o,u),function(){return t(e,o,u)}}}}),"on('"+o+"')")},exports.onEmit=function(e,o){return n.createStream((function(n){return{name:"listen",labels:{eventName:o,source:e.toString()},perform:function(){var u=function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return n(r)};return r(e,o,u),function(){return t(e,o,u)}}}}),"onEmit('"+o+"')")},exports.once=o,exports.onceEmit=function(n,e){return{name:"onceEmit",labels:{eventName:e,source:n.toString()},perform:function(o){var u=function(){for(var n=arguments.length,e=new Array(n),r=0;r<n;r++)e[r]=arguments[r];o(e)};return r(n,e,u),function(){return t(n,e,u)}}}},exports.throwOnErrorEvent=function*(n){throw yield o(n,"error")}; | ||
//# sourceMappingURL=events.cjs.production.min.js.map |
@@ -46,7 +46,18 @@ import { createStream } from '@effection/subscription'; | ||
function once(source, eventName) { | ||
return function* () { | ||
var _yield$onceEmit = yield onceEmit(source, eventName), | ||
event = _yield$onceEmit[0]; | ||
return { | ||
name: "once", | ||
labels: { | ||
eventName: eventName, | ||
source: source.toString() | ||
}, | ||
perform: function perform(resolve) { | ||
var listener = function listener() { | ||
resolve(arguments.length <= 0 ? undefined : arguments[0]); | ||
}; | ||
return event; | ||
addListener(source, eventName, listener); | ||
return function () { | ||
return removeListener(source, eventName, listener); | ||
}; | ||
} | ||
}; | ||
@@ -80,2 +91,7 @@ } | ||
return { | ||
name: "onceEmit", | ||
labels: { | ||
eventName: eventName, | ||
source: source.toString() | ||
}, | ||
perform: function perform(resolve) { | ||
@@ -128,6 +144,21 @@ var listener = function listener() { | ||
function on(source, name) { | ||
return onEmit(source, name).map(function (_ref) { | ||
var event = _ref[0]; | ||
return event; | ||
}); | ||
return createStream(function (publish) { | ||
return { | ||
name: 'listen', | ||
labels: { | ||
eventName: name, | ||
source: source.toString() | ||
}, | ||
perform: function perform() { | ||
var listener = function listener() { | ||
return publish(arguments.length <= 0 ? undefined : arguments[0]); | ||
}; | ||
addListener(source, name, listener); | ||
return function () { | ||
return removeListener(source, name, listener); | ||
}; | ||
} | ||
}; | ||
}, "on('" + name + "')"); | ||
} | ||
@@ -164,19 +195,24 @@ /** | ||
return createStream(function (publish) { | ||
return function* () { | ||
var listener = function listener() { | ||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
return { | ||
name: 'listen', | ||
labels: { | ||
eventName: name, | ||
source: source.toString() | ||
}, | ||
perform: function perform() { | ||
var listener = function listener() { | ||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
return publish(args); | ||
}; | ||
return publish(args); | ||
}; | ||
try { | ||
addListener(source, name, listener); | ||
yield; | ||
} finally { | ||
removeListener(source, name, listener); | ||
return function () { | ||
return removeListener(source, name, listener); | ||
}; | ||
} | ||
}; | ||
}); | ||
}, "onEmit('" + name + "')"); | ||
} | ||
@@ -183,0 +219,0 @@ |
{ | ||
"name": "@effection/events", | ||
"version": "2.0.0-beta.2", | ||
"version": "2.0.0-beta.3", | ||
"description": "Helpers for listening to events with effection", | ||
@@ -25,7 +25,7 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@effection/core": "2.0.0-beta.2", | ||
"@effection/subscription": "2.0.0-beta.2" | ||
"@effection/core": "2.0.0-beta.3", | ||
"@effection/subscription": "2.0.0-beta.3" | ||
}, | ||
"devDependencies": { | ||
"@effection/mocha": "2.0.0-beta.2", | ||
"@effection/mocha": "2.0.0-beta.3", | ||
"@frontside/tsconfig": "^1.2.0", | ||
@@ -32,0 +32,0 @@ "@types/node": "^13.13.5", |
import { createStream, Stream } from '@effection/subscription'; | ||
import { EventSource, addListener, removeListener } from './event-source'; | ||
@@ -35,3 +34,11 @@ | ||
export function on<T = unknown>(source: EventSource, name: string): Stream<T, void> { | ||
return onEmit<[T]>(source, name).map(([event]) => event) | ||
return createStream((publish) => ({ | ||
name: 'listen', | ||
labels: { eventName: name, source: source.toString() }, | ||
perform() { | ||
let listener = (...args: T[]) => publish(args[0]); | ||
addListener(source, name, listener); | ||
return () => removeListener(source, name, listener); | ||
} | ||
}), `on('${name}')`); | ||
} | ||
@@ -67,11 +74,11 @@ | ||
export function onEmit<T extends Array<unknown> = unknown[]>(source: EventSource, name: string): Stream<T, void> { | ||
return createStream((publish) => function*() { | ||
let listener = (...args: T) => publish(args); | ||
try { | ||
return createStream((publish) => ({ | ||
name: 'listen', | ||
labels: { eventName: name, source: source.toString() }, | ||
perform() { | ||
let listener = (...args: T) => publish(args); | ||
addListener(source, name, listener); | ||
yield; | ||
} finally { | ||
removeListener(source, name, listener); | ||
return () => removeListener(source, name, listener); | ||
} | ||
}); | ||
}), `onEmit('${name}')`); | ||
} |
@@ -28,5 +28,10 @@ import { Operation } from '@effection/core'; | ||
export function once<T = unknown>(source: EventSource, eventName: string): Operation<T> { | ||
return function*() { | ||
let [event]: [T] = yield onceEmit<[T]>(source, eventName); | ||
return event; | ||
return { | ||
name: `once`, | ||
labels: { eventName, source: source.toString() }, | ||
perform(resolve) { | ||
let listener = (...args: T[]) => { resolve(args[0]) }; | ||
addListener(source, eventName, listener); | ||
return () => removeListener(source, eventName, listener) | ||
} | ||
} | ||
@@ -60,2 +65,4 @@ } | ||
return { | ||
name: `onceEmit`, | ||
labels: { eventName, source: source.toString() }, | ||
perform(resolve) { | ||
@@ -62,0 +69,0 @@ let listener = (...args: unknown[]) => { resolve(args as TArgs) }; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
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
61561
745
+ Added@effection/core@2.0.0-beta.3(transitive)
+ Added@effection/subscription@2.0.0-beta.3(transitive)
- Removed@effection/core@2.0.0-beta.2(transitive)
- Removed@effection/subscription@2.0.0-beta.2(transitive)
Updated@effection/core@2.0.0-beta.3