Skip to content

bigeasy/adhere

Repository files navigation

Wrap methods preserving arity.

Synopsis

The adhere method allows you to define a function factory that wraps a user function, but preserving the airty of the wrapped function.

var switcharoo = function (method) {
    return adhere(method, function (object, vargs) {
        vargs.reverse()
        method.apply(object, vargs)
    })
}

var reversed = switcharoo(function (a, b) { return [ a, b ] })

assert.deepEqual(reversed(1, 2), [ 2, 1 ], 'reversed')

This airty preservation has been extracted from Cadence. This function builder is used to preserve airty in Pointcut.

About

Wrap methods preserving arity.

Resources

License

Stars

Watchers

Forks

Packages

No packages published