It's WIP continuation of ideas that were put into evologi/join with EXTREME typescript support, expanded join types and join aliases support, predefined result mappers, ability to join any Iterable instead of just Maps and more!
c; npm test
- Ability to deduplicate entries on keyGenerator with ability to choose what to do with with duplcates where 1|2 slots are empty
- Context Expander merger where entries of expandable context are accessible by Symbols and not string names
- Pre-made join functions like
leftJoin(...)
- pipeline joiner which accepts multiple datasets and sequential instruction on how to join them. Pipeline types from nikelborm/autism-stats/index.ts, allows to make multiple joins on them, can be used as a part of queryBuilder. Or integrate Integrate codegen from ksxnodemodules/ts-pipe-compose
USING
syntax in joins. Allow joining many columns by their respective names (also ability to determine from all the context are there any ambiguous column names with all previous datasets in join)- ability to name left side and right side so they can be extracted by name later (force uniqueness of the names) (just like aliases in sql)
- ability to get generator on discarded values
not(...)
- remove never used stuff
- Recursive
spreadObjectMerger
, which also merges nested objects - Joiner using indicies
- check how joiner alignes with edgedb-js
- https://www.geeksforgeeks.org/introduction-of-relational-algebra-in-dbms/