@tanstack/db
Version:
A reactive client store for building super fast apps on sync
29 lines (28 loc) • 894 B
JavaScript
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