Skip to main content
Glama

mcp-appstore

by appreply-co
_reduce.js1.61 kB
var _xwrap = require('./_xwrap'); var bind = require('../bind'); var isArrayLike = require('../isArrayLike'); module.exports = (function() { function _arrayReduce(xf, acc, list) { var idx = 0; var len = list.length; while (idx < len) { acc = xf['@@transducer/step'](acc, list[idx]); if (acc && acc['@@transducer/reduced']) { acc = acc['@@transducer/value']; break; } idx += 1; } return xf['@@transducer/result'](acc); } function _iterableReduce(xf, acc, iter) { var step = iter.next(); while (!step.done) { acc = xf['@@transducer/step'](acc, step.value); if (acc && acc['@@transducer/reduced']) { acc = acc['@@transducer/value']; break; } step = iter.next(); } return xf['@@transducer/result'](acc); } function _methodReduce(xf, acc, obj) { return xf['@@transducer/result'](obj.reduce(bind(xf['@@transducer/step'], xf), acc)); } var symIterator = (typeof Symbol !== 'undefined') ? Symbol.iterator : '@@iterator'; return function _reduce(fn, acc, list) { if (typeof fn === 'function') { fn = _xwrap(fn); } if (isArrayLike(list)) { return _arrayReduce(fn, acc, list); } if (typeof list.reduce === 'function') { return _methodReduce(fn, acc, list); } if (list[symIterator] != null) { return _iterableReduce(fn, acc, list[symIterator]()); } if (typeof list.next === 'function') { return _iterableReduce(fn, acc, list); } throw new TypeError('reduce: list must be array or iterable'); }; }());

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