Skip to main content
Glama
EntityFactory.ts4.73 kB
import { ParsedEntity } from '../../types.js'; import { AnnotationInfo } from '../../../types.js'; export class EntityFactory { static createClass( id: string, name: string, qualifiedName: string, sourceFile: string, startLine?: number, endLine?: number, modifiers?: string[], description?: string, annotations?: AnnotationInfo[] ): Omit<ParsedEntity, 'project_id'> { return { id, type: 'class', name, qualified_name: qualifiedName, source_file: sourceFile, start_line: startLine, end_line: endLine, modifiers: modifiers || [], description, annotations: annotations || [] }; } static createInterface( id: string, name: string, qualifiedName: string, sourceFile: string, startLine?: number, endLine?: number, modifiers?: string[], description?: string, annotations?: AnnotationInfo[] ): Omit<ParsedEntity, 'project_id'> { return { id, type: 'interface', name, qualified_name: qualifiedName, source_file: sourceFile, start_line: startLine, end_line: endLine, modifiers: modifiers || [], description, annotations: annotations || [] }; } static createMethod( id: string, name: string, qualifiedName: string, sourceFile: string, startLine?: number, endLine?: number, modifiers?: string[], description?: string, annotations?: AnnotationInfo[] ): Omit<ParsedEntity, 'project_id'> { return { id, type: 'method', name, qualified_name: qualifiedName, source_file: sourceFile, start_line: startLine, end_line: endLine, modifiers: modifiers || [], description, annotations: annotations || [] }; } static createFunction( id: string, name: string, qualifiedName: string, sourceFile: string, startLine?: number, endLine?: number, modifiers?: string[], description?: string, annotations?: AnnotationInfo[] ): Omit<ParsedEntity, 'project_id'> { return { id, type: 'function', name, qualified_name: qualifiedName, source_file: sourceFile, start_line: startLine, end_line: endLine, modifiers: modifiers || [], description, annotations: annotations || [] }; } static createField( id: string, name: string, qualifiedName: string, sourceFile: string, startLine?: number, endLine?: number, modifiers?: string[], description?: string, annotations?: AnnotationInfo[] ): Omit<ParsedEntity, 'project_id'> { return { id, type: 'field', name, qualified_name: qualifiedName, source_file: sourceFile, start_line: startLine, end_line: endLine, modifiers: modifiers || [], description, annotations: annotations || [] }; } static createEnum( id: string, name: string, qualifiedName: string, sourceFile: string, startLine?: number, endLine?: number, modifiers?: string[], description?: string, annotations?: AnnotationInfo[] ): Omit<ParsedEntity, 'project_id'> { return { id, type: 'enum', name, qualified_name: qualifiedName, source_file: sourceFile, start_line: startLine, end_line: endLine, modifiers: modifiers || [], description, annotations: annotations || [] }; } static createPackage( id: string, name: string, qualifiedName: string, sourceFile: string, description?: string ): Omit<ParsedEntity, 'project_id'> { return { id, type: 'package', name, qualified_name: qualifiedName, source_file: sourceFile, description }; } static createModule( id: string, name: string, qualifiedName: string, sourceFile: string, description?: string ): Omit<ParsedEntity, 'project_id'> { return { id, type: 'module', name, qualified_name: qualifiedName, source_file: sourceFile, description }; } static createException( id: string, name: string, qualifiedName: string, sourceFile: string, startLine?: number, endLine?: number, modifiers?: string[], description?: string, annotations?: AnnotationInfo[] ): Omit<ParsedEntity, 'project_id'> { return { id, type: 'exception', name, qualified_name: qualifiedName, source_file: sourceFile, start_line: startLine, end_line: endLine, modifiers: modifiers || [], description, annotations: annotations || [] }; } }

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/JonnoC/CodeRAG'

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