Skip to main content
Glama

mcp-appstore

by appreply-co
useWith.js1.72 kB
var _curry2 = require('./internal/_curry2'); var _slice = require('./internal/_slice'); var curryN = require('./curryN'); /** * Accepts a function `fn` and a list of transformer functions and returns a * new curried function. When the new function is invoked, it calls the * function `fn` with parameters consisting of the result of calling each * supplied handler on successive arguments to the new function. * * If more arguments are passed to the returned function than transformer * functions, those arguments are passed directly to `fn` as additional * parameters. If you expect additional arguments that don't need to be * transformed, although you can ignore them, it's best to pass an identity * function so that the new function reports the correct arity. * * @func * @memberOf R * @since v0.1.0 * @category Function * @sig (x1 -> x2 -> ... -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z) * @param {Function} fn The function to wrap. * @param {Array} transformers A list of transformer functions * @return {Function} The wrapped function. * @example * * R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81 * R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81 * R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32 * R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32 */ module.exports = _curry2(function useWith(fn, transformers) { return curryN(transformers.length, function() { var args = []; var idx = 0; while (idx < transformers.length) { args.push(transformers[idx].call(this, arguments[idx])); idx += 1; } return fn.apply(this, args.concat(_slice(arguments, transformers.length))); }); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/appreply-co/mcp-appstore'

If you have feedback or need assistance with the MCP directory API, please join our Discord server