Skip to main content
Glama
registry.ts1.27 kB
/** * Workspace Loader Registry - Pure Functional Factory Pattern * Maps loader names to factory functions for creating workspace loaders */ import { WorkspaceLoader, WorkspaceLoaderRegistry } from './types.js'; import { createDefaultLoader } from './loaders/default.js'; import { createRoslynLoader } from './loaders/roslyn.js'; /** * Registry of workspace loader factories * Each entry maps a loader name to a factory function */ const WORKSPACE_LOADERS: WorkspaceLoaderRegistry = { default: createDefaultLoader, roslyn: createRoslynLoader, // Future loaders can be added here: // 'java': createJavaLoader, // 'rust': createRustLoader, } as const; /** * Pure function: Create workspace loader by name * Falls back to default loader if type is not found */ export const createWorkspaceLoader = (type: string): WorkspaceLoader => { const factory = WORKSPACE_LOADERS[type] ?? WORKSPACE_LOADERS['default']!; return factory(); }; /** * Pure function: Get all available workspace loader types */ export const getAvailableLoaderTypes = (): string[] => Object.keys(WORKSPACE_LOADERS); /** * Pure function: Check if a loader type is available */ export const isLoaderTypeAvailable = (type: string): boolean => type in WORKSPACE_LOADERS;

Latest Blog Posts

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/p1va/symbols-mcp'

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