Making the parser modular
The Rimmel parser is relatively simple: it loops through template string literals and expressions looking for patterns to match, based on which it will decide how to treat each expression (as a source or a sink).
This works fine but it's hardwired to interpret promises, observables, arrays, etc. It would be interesting to see if we could make it modular, so a distinct Observable parser would only deal with Observables/Observers, a Promise parser would only deal with Promises, and so on.
The obvious advantage is that we could selectively turn off reactive primitives we know we're not going to use or potentially introduce support for others, but making sure we don't sacrifice performance.
For now this is just an architectural/PoC task to see if we can do in a way that's the fastest and most elegant we can create, or a good balance in between.
A big part of the challenge is probably understanding how to keep the number of pattern matches or precalculated strings to a bare minimum, without recalculations and possibly avoiding too many nested function calls.
This should also be designed with a future template compiler in mind, that will need to work with the same parsing modules we want to separate out from here, or the new ones we're going to create.
Hi, Kindly assign this to me please, also add hacktoberfest label to this issue. I would love to work on this.
Hi @bashSunny101 this is an advanced and challenging task, probably not the best first issue to start with. That said, you are welcome to contribute if you're looking to make a big, valuable impact and you have ideas how to do it or you'd like to have a conversation about it.