1.1.2 • Published 10 years ago

cb-proxy v1.1.2

Weekly downloads
3
License
WTFPL
Repository
github
Last release
10 years ago

Status

Build Status

Description

Simple JavaScript proxy function factory for the use with libraries like Socket.io.

To import it into your project please input the following code:

var createProxyFunction = require('cb-proxy')
//(...)
var proxyFunction = createProxyFunction(originalFunction, nameIdentifier)

Examples

This library is intended to be used with Socket.io or simillar library, here is an example of usage:

var callbackHandler = function(name, args, callback) {
    //do the call server request here eg:
    //client.emit(name, args, function(error, message){
    //    callback(error, message)
    //});
}

var proxyFunction = createProxyFunction( callbackHandler, 'remote-function-name') //this name will be passed to callback as first argument

var resultPromise = proxyFunction('my first argument', 'my second argument') //both arguments will be passed to callback

resultPromise.then((result)=>{
    //do something with result
},(error)=>{
    //or handle error
})

Designed for currying

Reason for having first argument as callback is the possibility to use curry function to bind first argument.

var R = require('ramda')

var originalFunction = function(name, args, callback) {}

var proxyFunction = R.curry(createProxyFunction)(originalFunction)

var myPositionFunction = proxyFunction('position-service')
var myAttackFunction = proxyFunction('attack-service')