UNPKG

@tanstack/db

Version:

A reactive client store for building super fast apps on sync

29 lines (28 loc) 894 B
import { map, join, filter } from "@tanstack/db-ivm"; const PARENT_ROUTE_CROSS_KEY = `__tanstack_parent_route_cross__`; function crossJoinParentRoutes(input, parentKeyStream, assemble) { const rows = input.pipe( map(([rowKey, row]) => [PARENT_ROUTE_CROSS_KEY, [rowKey, row]]) ); const routes = parentKeyStream.pipe( map(([correlationKey, parentContext]) => [ PARENT_ROUTE_CROSS_KEY, [correlationKey, parentContext] ]) ); return rows.pipe( join(routes, `inner`), filter( ([, [rowSide, routeSide]]) => Boolean(rowSide != null && routeSide != null) ), map(([, [rowSide, routeSide]]) => { const [rowKey, row] = rowSide; const [correlationKey, parentContext] = routeSide; return assemble(rowKey, row, correlationKey, parentContext); }) ); } export { crossJoinParentRoutes }; //# sourceMappingURL=parent-routes.js.map