Socket
Socket
Sign inDemoInstall

@effection/channel

Package Overview
Dependencies
Maintainers
1
Versions
130
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@effection/channel - npm Package Compare versions

Comparing version 0.6.8 to 2.0.0-preview.0

26

CHANGELOG.md
# 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 @@

55

dist/channel.cjs.development.js

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc