Skip to main content
Glama

mcp-appstore

by appreply-co
_dispatchable.js1.4 kB
var _isArray = require('./_isArray'); var _isTransformer = require('./_isTransformer'); var _slice = require('./_slice'); /** * Returns a function that dispatches with different strategies based on the * object in list position (last argument). If it is an array, executes [fn]. * Otherwise, if it has a function with [methodname], it will execute that * function (functor case). Otherwise, if it is a transformer, uses transducer * [xf] to return a new transformer (transducer case). Otherwise, it will * default to executing [fn]. * * @private * @param {String} methodname property to check for a custom implementation * @param {Function} xf transducer to initialize if object is transformer * @param {Function} fn default ramda implementation * @return {Function} A function that dispatches on object in list position */ module.exports = function _dispatchable(methodname, xf, fn) { return function() { var length = arguments.length; if (length === 0) { return fn(); } var obj = arguments[length - 1]; if (!_isArray(obj)) { var args = _slice(arguments, 0, length - 1); if (typeof obj[methodname] === 'function') { return obj[methodname].apply(obj, args); } if (_isTransformer(obj)) { var transducer = xf.apply(null, args); return transducer(obj); } } return fn.apply(this, arguments); }; };

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