New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

gensy

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gensy - npm Package Compare versions

Comparing version 0.1.0 to 0.1.1

41

example.js
'use strict';
var gensy = require('./main.js');
var count = 0;
setInterval(function () {
console.log('alive');
}, 1000);
function foo(callback) {
setTimeout(function () {
if (++count == 2) {
return callback('second must crash');
}
callback(null, 'hello');

@@ -12,12 +20,6 @@ }, 1000);

function* gen1(next, end) {
try {
console.log('1a');
var x = yield foo(next);
console.log('1b', x);
x = yield foo(next);
console.log('1c', x);
return end();
} catch (err) {
console.warn('error occurred:', err);
}
console.log('1a');
var x = yield foo(next);
console.log('1b', x);
return end(null, 1);
}

@@ -30,14 +32,21 @@

console.log('2b', x);
return end();
} catch (err) {
console.warn('error occurred:', err);
return end(null, 2);
} catch (error) {
console.log('handled error:', error);
}
}
function* gen3(next, end) {
console.log('3a');
var x = yield foo(next);
console.log('3b', x);
return end(null, 3);
}
gensy(gen1, function () {
console.log('single run finished');
gensy.series([gen1, gen2], function () {
console.log('series run end');
count = 0;
gensy.series([gen1, gen2, gen3], function (error, result) {
console.log('series run end', error, result);
});
});

@@ -19,3 +19,9 @@ 'use strict';

function next(error, result) {
if (error) return x.throw(error);
if (error) {
x.throw(error);
if (callback) {
callback(error);
}
return;
}
x.next(result);

@@ -34,8 +40,15 @@ }

gensy.series = function (generators, callback) {
var results = [];
function runNext() {
var g = generators.shift();
if (!g) {
return callback();
return callback(null, results);
}
gensy(g, runNext);
gensy(g, function (error, result) {
if (error) {
return callback(error);
}
results.push(result);
return runNext();
});
}

@@ -42,0 +55,0 @@ runNext();

{
"name": "gensy",
"version": "0.1.0",
"version": "0.1.1",
"description": "Asynchronous utils focused on generators",

@@ -5,0 +5,0 @@ "keywords": ["asynchrony", "callback", "generator", "es6", "async"],

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