@effection/channel
Advanced tools
Comparing version 0.6.8 to 2.0.0-preview.0
# Changelog | ||
## 2.0.0-preview.0 | ||
### Major Changes | ||
- Version 2 | ||
### Patch Changes | ||
- Updated dependencies [undefined] | ||
- effection@2.0.0-preview.0 | ||
- @effection/events@2.0.0-preview.0 | ||
- @effection/subscription@2.0.0-preview.0 | ||
## 1.0.0 | ||
### Major Changes | ||
- b988025: Release effection 1.0.0 | ||
### Patch Changes | ||
- Updated dependencies [b988025] | ||
- effection@1.0.0 | ||
- @effection/events@1.0.0 | ||
- @effection/subscription@1.0.0 | ||
## 0.6.8 | ||
@@ -4,0 +30,0 @@ |
@@ -14,4 +14,4 @@ 'use strict'; | ||
_proto[subscription.SymbolSubscribable] = function* () { | ||
return yield this.subscribe(); | ||
_proto[subscription.SymbolOperationIterable] = function (task) { | ||
return this.subscribe(task); | ||
}; | ||
@@ -30,17 +30,44 @@ | ||
_proto.subscribe = function subscribe() { | ||
_proto.subscribe = function subscribe(task) { | ||
var bus = this.bus; | ||
return subscription.createSubscription(function* (publish) { | ||
var subscription = yield events.on(bus, 'event'); | ||
return subscription.Subscription.create(task, function (publish) { | ||
return /*#__PURE__*/regeneratorRuntime.mark(function _callee() { | ||
var subscription, _yield$subscription$e, event; | ||
while (true) { | ||
var _yield$subscription$e = yield subscription.expect(), | ||
event = _yield$subscription$e[0]; | ||
return regeneratorRuntime.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
subscription = events.on(task, bus, 'event'); | ||
if (event.done) { | ||
return event.value; | ||
} else { | ||
publish(event.value); | ||
} | ||
} | ||
case 1: | ||
_context.next = 4; | ||
return subscription.expect(); | ||
case 4: | ||
_yield$subscription$e = _context.sent; | ||
event = _yield$subscription$e[0]; | ||
if (!event.done) { | ||
_context.next = 10; | ||
break; | ||
} | ||
return _context.abrupt("return", event.value); | ||
case 10: | ||
publish(event.value); | ||
case 11: | ||
_context.next = 1; | ||
break; | ||
case 13: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee); | ||
}); | ||
}); | ||
@@ -47,0 +74,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
"use strict";var e=require("@effection/subscription"),t=require("@effection/events"),n=require("events");exports.Channel=function(){function i(){this.bus=new n.EventEmitter}var r=i.prototype;return r[e.SymbolSubscribable]=function*(){return yield this.subscribe()},r.setMaxListeners=function(e){this.bus.setMaxListeners(e)},r.send=function(e){this.bus.emit("event",{done:!1,value:e})},r.subscribe=function(){var n=this.bus;return e.createSubscription((function*(e){for(var i=yield t.on(n,"event");;){var r=(yield i.expect())[0];if(r.done)return r.value;e(r.value)}}))},r.close=function(){this.bus.emit("event",{done:!0,value:arguments.length<=0?void 0:arguments[0]})},i}(); | ||
"use strict";var e=require("@effection/subscription"),t=require("@effection/events"),n=require("events");exports.Channel=function(){function r(){this.bus=new n.EventEmitter}var s=r.prototype;return s[e.SymbolOperationIterable]=function(e){return this.subscribe(e)},s.setMaxListeners=function(e){this.bus.setMaxListeners(e)},s.send=function(e){this.bus.emit("event",{done:!1,value:e})},s.subscribe=function(n){var r=this.bus;return e.Subscription.create(n,(function(e){return regeneratorRuntime.mark((function s(){var i,u;return regeneratorRuntime.wrap((function(s){for(;;)switch(s.prev=s.next){case 0:i=t.on(n,r,"event");case 1:return s.next=4,i.expect();case 4:if(!(u=s.sent[0]).done){s.next=10;break}return s.abrupt("return",u.value);case 10:e(u.value);case 11:s.next=1;break;case 13:case"end":return s.stop()}}),s)}))}))},s.close=function(){this.bus.emit("event",{done:!0,value:arguments.length<=0?void 0:arguments[0]})},r}(); | ||
//# sourceMappingURL=channel.cjs.production.min.js.map |
@@ -1,10 +0,10 @@ | ||
import { Operation } from 'effection'; | ||
import { Subscribable, Subscription, SymbolSubscribable } from '@effection/subscription'; | ||
export declare class Channel<T, TClose = undefined> implements Subscribable<T, TClose> { | ||
import { Task } from '@effection/core'; | ||
import { Subscription, SymbolOperationIterable, OperationIterator, OperationIterable } from '@effection/subscription'; | ||
export declare class Channel<T, TClose = undefined> implements OperationIterable<T, TClose> { | ||
private bus; | ||
[SymbolSubscribable](): Operation<Subscription<T, TClose>>; | ||
[SymbolOperationIterable](task: Task): OperationIterator<T, TClose>; | ||
setMaxListeners(value: number): void; | ||
send(message: T): void; | ||
subscribe(): import("@effection/subscription").ChainableSubscribable<unknown, any>; | ||
subscribe(task: Task): Subscription<T, TClose>; | ||
close(...args: TClose extends undefined ? [] : [TClose]): void; | ||
} |
@@ -1,2 +0,2 @@ | ||
import { SymbolSubscribable, createSubscription } from '@effection/subscription'; | ||
import { SymbolOperationIterable, Subscription } from '@effection/subscription'; | ||
import { on } from '@effection/events'; | ||
@@ -12,4 +12,4 @@ import { EventEmitter } from 'events'; | ||
_proto[SymbolSubscribable] = function* () { | ||
return yield this.subscribe(); | ||
_proto[SymbolOperationIterable] = function (task) { | ||
return this.subscribe(task); | ||
}; | ||
@@ -28,17 +28,44 @@ | ||
_proto.subscribe = function subscribe() { | ||
_proto.subscribe = function subscribe(task) { | ||
var bus = this.bus; | ||
return createSubscription(function* (publish) { | ||
var subscription = yield on(bus, 'event'); | ||
return Subscription.create(task, function (publish) { | ||
return /*#__PURE__*/regeneratorRuntime.mark(function _callee() { | ||
var subscription, _yield$subscription$e, event; | ||
while (true) { | ||
var _yield$subscription$e = yield subscription.expect(), | ||
event = _yield$subscription$e[0]; | ||
return regeneratorRuntime.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
subscription = on(task, bus, 'event'); | ||
if (event.done) { | ||
return event.value; | ||
} else { | ||
publish(event.value); | ||
} | ||
} | ||
case 1: | ||
_context.next = 4; | ||
return subscription.expect(); | ||
case 4: | ||
_yield$subscription$e = _context.sent; | ||
event = _yield$subscription$e[0]; | ||
if (!event.done) { | ||
_context.next = 10; | ||
break; | ||
} | ||
return _context.abrupt("return", event.value); | ||
case 10: | ||
publish(event.value); | ||
case 11: | ||
_context.next = 1; | ||
break; | ||
case 13: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee); | ||
}); | ||
}); | ||
@@ -45,0 +72,0 @@ }; |
{ | ||
"name": "@effection/channel", | ||
"version": "0.6.8", | ||
"version": "2.0.0-preview.0", | ||
"description": "MPMC Channel implementation for effection", | ||
@@ -34,6 +34,6 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"effection": "^0.8.0", | ||
"@effection/events": "^0.7.9", | ||
"@effection/subscription": "^0.12.0" | ||
"@effection/core": "^2.0.0-preview.0", | ||
"@effection/events": "^2.0.0-preview.0", | ||
"@effection/subscription": "^2.0.0-preview.0" | ||
} | ||
} |
@@ -22,3 +22,3 @@ # @effection/channel | ||
import { main } from '@effection/node'; | ||
import { timeout } from 'effection'; | ||
import { sleep } from 'effection'; | ||
@@ -30,3 +30,3 @@ main(function*() { | ||
while(true) { | ||
yield timeout(1000); | ||
yield sleep(1000); | ||
channel.send({ message: "ping" }); | ||
@@ -33,0 +33,0 @@ } |
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
17040
153
+ Added@chainsafe/abort-controller@3.0.1(transitive)
+ Added@effection/core@2.2.3(transitive)
+ Added@effection/events@2.0.6(transitive)
+ Added@effection/stream@2.0.6(transitive)
+ Added@effection/subscription@2.0.6(transitive)
+ Addedevent-target-shim@5.0.1(transitive)
- Removedeffection@^0.8.0
- Removed@effection/events@0.7.9(transitive)
- Removed@effection/subscription@0.12.0(transitive)
- Removedeffection@0.8.0(transitive)