import type { IObjectOf } from "@thi.ng/api" ; import type { Reducer , Transducer , TxLike } from "./api.js" ; import { comp } from "./comp.js" ; import { __iter } from "./iterator.js" ; import { multiplex } from "./multiplex.js" ; import { rename } from "./rename.js" ; /**
 * Transducer. Similar to (and building on)  {@link (multiplex:1)} , but takes an
 * object of transducers and produces a result object for each input.
 *
 *  example param xforms param rfn param src export function multiplexObj < A , B > ( xforms , rfn ? ) ; export function multiplexObj < A , B > ( xforms , src ) ; export function multiplexObj < A , B > ( xforms , rfn , src ) ; export function multiplexObj ( ... args ) { const iter = __iter ( multiplexObj , args ) ; if ( iter ) { return iter ; } const [ xforms , rfn ] = args ; const ks = Object . keys ( xforms ) ; return comp ( multiplex . apply ( null , < any > ks . map ( ( k ) => xforms [ k ] ) ) , rename ( ks , rfn ) ) ; }