@ebflat9/fp
Advanced tools
Comparing version 1.1.78 to 1.1.79
{ | ||
"name": "@ebflat9/fp", | ||
"version": "1.1.78", | ||
"version": "1.1.79", | ||
"description": "my fp utils", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -1,2 +0,2 @@ | ||
import { curry, entries, isFunction } from './combinators.js' | ||
import { entries, isFunction } from './combinators.js' | ||
import 'core-js/features/observable/index.js' | ||
@@ -29,2 +29,3 @@ export const { Observable, ReadableStream } = globalThis | ||
import { zip } from './rx/zip.js' | ||
import { placeholder } from './rx/utils.js' | ||
@@ -38,10 +39,11 @@ if ( | ||
Object.defineProperty(Observable, 'fromGenerator', { | ||
value(generator) { | ||
return new Observable(observer => { | ||
Readable.from(generator) | ||
.on('data', observer.next.bind(observer)) | ||
.on('end', observer.complete.bind(observer)) | ||
.on('error', observer.error.bind(observer)) | ||
}) | ||
}, | ||
value: placeholder( | ||
generator => | ||
new Observable(observer => { | ||
Readable.from(generator()) | ||
.on('data', observer.next.bind(observer)) | ||
.on('end', observer.complete.bind(observer)) | ||
.on('error', observer.error.bind(observer)) | ||
}) | ||
), | ||
enumerable: false, | ||
@@ -54,10 +56,11 @@ writable: false, | ||
Object.defineProperty(Observable, 'fromGenerator', { | ||
value(generator) { | ||
return new Observable(observer => { | ||
ReadableStream.from(generator) | ||
.on('data', observer.next.bind(observer)) | ||
.on('end', observer.complete.bind(observer)) | ||
.on('error', observer.error.bind(observer)) | ||
}) | ||
}, | ||
value: placeholder( | ||
generator => | ||
new Observable(observer => { | ||
ReadableStream.from(generator()) | ||
.on('data', observer.next.bind(observer)) | ||
.on('end', observer.complete.bind(observer)) | ||
.on('error', observer.error.bind(observer)) | ||
}) | ||
), | ||
enumerable: false, | ||
@@ -82,3 +85,3 @@ writable: false, | ||
fromEvent: { | ||
value: curry( | ||
value: placeholder( | ||
(emitter, event, handler) => | ||
@@ -101,9 +104,11 @@ new Observable(observer => { | ||
fromPromise: { | ||
value: promise => | ||
new Observable(observer => { | ||
promise | ||
.then(value => observer.next(value)) | ||
.catch(err => observer.error(err)) | ||
.finally(() => observer.complete()) | ||
}), | ||
value: placeholder( | ||
promise => | ||
new Observable(observer => { | ||
promise | ||
.then(value => observer.next(value)) | ||
.catch(err => observer.error(err)) | ||
.finally(() => observer.complete()) | ||
}) | ||
), | ||
...p, | ||
@@ -110,0 +115,0 @@ }, |
@@ -28,3 +28,3 @@ import { EventEmitter } from '../src/reactivize.js' | ||
} | ||
const stream = Observable.fromGenerator(gen()) | ||
const stream = Observable.fromGenerator(gen) | ||
const values = [] | ||
@@ -35,2 +35,11 @@ stream.subscribe({ | ||
assert.deepEqual(values, ['hello', 'world']) | ||
}, | ||
}) | ||
const values2 = [] | ||
stream.subscribe({ | ||
next: value => { | ||
values2.push(value) | ||
}, | ||
complete: () => { | ||
assert.deepEqual(values2, ['hello', 'world']) | ||
done() | ||
@@ -37,0 +46,0 @@ }, |
347115
11092