Skip to main content
Glama
index.jsโ€ข2.18 kB
/** * Archiver Vending * * @ignore * @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE} * @copyright (c) 2012-2014 Chris Talkington, contributors. */ var Archiver = require('./lib/core'); var formats = {}; /** * Dispenses a new Archiver instance. * * @constructor * @param {String} format The archive format to use. * @param {Object} options See [Archiver]{@link Archiver} * @return {Archiver} */ var vending = function(format, options) { return vending.create(format, options); }; /** * Creates a new Archiver instance. * * @param {String} format The archive format to use. * @param {Object} options See [Archiver]{@link Archiver} * @return {Archiver} */ vending.create = function(format, options) { if (formats[format]) { var instance = new Archiver(format, options); instance.setFormat(format); instance.setModule(new formats[format](options)); return instance; } else { throw new Error('create(' + format + '): format not registered'); } }; /** * Registers a format for use with archiver. * * @param {String} format The name of the format. * @param {Function} module The function for archiver to interact with. * @return void */ vending.registerFormat = function(format, module) { if (formats[format]) { throw new Error('register(' + format + '): format already registered'); } if (typeof module !== 'function') { throw new Error('register(' + format + '): format module invalid'); } if (typeof module.prototype.append !== 'function' || typeof module.prototype.finalize !== 'function') { throw new Error('register(' + format + '): format module missing methods'); } formats[format] = module; }; /** * Check if the format is already registered. * * @param {String} format the name of the format. * @return boolean */ vending.isRegisteredFormat = function (format) { if (formats[format]) { return true; } return false; }; vending.registerFormat('zip', require('./lib/plugins/zip')); vending.registerFormat('tar', require('./lib/plugins/tar')); vending.registerFormat('json', require('./lib/plugins/json')); module.exports = vending;

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/consigcody94/office-whisperer'

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