Comments (6)
Should be possible to implement it as
function dropCurrentValue(s) {
var dropped = false
return flyd.combine(function(stream$, self) {
if (!dropped) {
dropped = true
return
}
self(stream$.val)
}, [s])
}
from flyd.
Ah, thanks @nordfjord. You have literally saved me 100 LOC after my attempt to rework this!
I've also tried to convert this to switchMap
:
flyd.switchMap = projector => stream => switchLatest(flyd.map(projector, stream));
For usage in pipe
, like this:
const stream = flyd.stream<number>();
stream.pipe(
flyd.switchMap(value => flyd.stream(value * 10)))
.map(value => {
console.error(value); // '10'
});
stream(1);
I'm about 90% sure that's not the way to define switchMap
?!
from flyd.
Did you write a small suite of tests to ensure it does what you want it to? π
from flyd.
Haha. Test cases are for losers.
But actually you do me an injustice. It's quite well tested. It's currently doing what I want it to do. But I have concerns that it won't conform to how the other modules are defined. I'm using it in pipe as above, but I also notice that some modules allow the stream to be passed in. TBH the modules don't really seem to be very consistent.
from flyd.
FWIW I think thatβs a fine implementation of switchMap, simple composition goes a long way.
as for the consistency of modules, yes, agreed
from flyd.
Thanks for the sanity check @nordfjord. Appreciate your help with this.
from flyd.
Related Issues (20)
- add more dependency for existing combine HOT 7
- Merge stream delay HOT 6
- add package.module
- Drag 'n Drop example is broken HOT 2
- Compare previous state with current state HOT 14
- Feature Request - Supply metadata for a combined stream HOT 2
- Help to build control flow func HOT 3
- Do you think this Promise -> Stream conversion is a right alternative way? HOT 6
- Wrong chain + setImmediate behavior HOT 1
- Benchmark against Most.js HOT 3
- Can flyd streams be made lazy ? HOT 9
- HELP: Trouble reading api documentation HOT 1
- Enhancement: Add Readonly-Streams (at least in Typings) HOT 3
- What's the motivation for ending a stream? HOT 3
- question on serialize stream
- from Node stream HOT 2
- Question: Required (code) complexity for higher-order streams HOT 10
- Support multiple operators for Pipe HOT 4
- [Help Needed] CombineLatest in the style of RxJs HOT 17
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flyd.