Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

ogen

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ogen - npm Package Compare versions

Comparing version
1.0.0
to
1.1.0
+1
-1
package.json
{
"name": "ogen",
"version": "1.0.0",
"version": "1.1.0",
"description": "An observable Async/Await. Write async code that looks synchronous.",

@@ -5,0 +5,0 @@ "main": "source/ogen.js",

@@ -10,3 +10,7 @@ /* eslint-disable no-use-before-define */

const next = (iter, callbacks, prev = undefined) => {
const { onNext, onComplete } = callbacks;
const {
onNext,
onError,
onComplete
} = callbacks;
const item = iter.next(prev);

@@ -23,2 +27,4 @@ const value = item.value;

setImmediate(() => next(iter, callbacks, val));
}).catch(err => {
return onError(err);
});

@@ -25,0 +31,0 @@ } else {

const test = require('tape');
const ogen = require('ogen');
const ogen = require('../ogen');

@@ -79,1 +79,33 @@ test('basic observable', assert => {

});
test('rejected promise', assert => {
const msg = 'should notify onError';
const halt = 'should not emit more data';
const noComplete = 'should not notify onComplete';
const fetchSomething = () => new Promise((x, reject) => {
setTimeout(() =>
reject(new Error('Could not fetch data')), 10);
});
const generator = function* () {
const result = yield fetchSomething();
// should not emit this
yield result + ' 2';
};
const observable = ogen(generator)();
observable.subscribe(val => {
assert.fail(halt);
assert.fail(`emitted: ${ val }`);
},
() => {
assert.pass(msg);
setTimeout(() => assert.end(), 500);
},
() => {
assert.fail(noComplete);
});
});