Function argument multiplexer.
$ npm install mux-arguments
const mux = require('mux-arguments')
function muxDemux (arg1, arg2, arg3) {
mux(obj => {
arguments.length === 1 // true
demux.apply(null, arguments)
}).apply(null, arguments)
function demux () {
mux((arg1, arg2, arg3) => {
arguments.length === 3 // true
}).apply(null, arguments)
}
}
muxDemux('foo', 'bar', 'baz')
Multiplex function arguments into an object and pass the object into a
function. Alias: mux.mux.
Demultiplex a multiplexed object and pass the arguments into a function. Alias:
mux.demux.
Multiplexing (or muxing) is bundling several things together into one so it can be transmitted efficiently. Demultiplexing (or demuxing) is unwrapping that bundle into its original state. In this module we're multiplexing function arguments.
When building event emitters it's easier to deal with a single data object than writing code to apply n arguments. This module makes it easy to wrap and unwrap function arguments for easy transmission.