1.0.0 • Published 9 years ago
mux-arguments v1.0.0
mux-arguments
Function argument multiplexer.
Installation
$ npm install mux-arguments
Usage
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')
API
mux(fn(obj)(arg1, arg2, ...)
Multiplex function arguments into an object and pass the object into a
function. Alias: mux.mux
.
mux(fn(arg1, arg2, ...)(obj)
Demultiplex a multiplexed object and pass the arguments into a function. Alias:
mux.demux
.
FAQ?
What is muxing / demuxing?
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.
Why did you write this module?
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.
License
1.0.0
9 years ago