UNPKG

repomix

Version:

A tool to pack repository contents to single file for AI consumption

32 lines (31 loc) 1.35 kB
import type { Node, Query, Tree } from 'web-tree-sitter'; import type { RepomixConfigMerged } from '../../../config/configSchema.js'; export interface ParseContext { fileContent: string; lines: string[]; tree: Tree; query: Query; config: RepomixConfigMerged; } export interface ParseStrategy { parseCapture(capture: { node: Node; name: string; }, lines: string[], processedChunks: Set<string>, context: ParseContext): string | null; } export type ParseResult = { content: string | null; processedSignatures?: Set<string>; }; export declare abstract class BaseParseStrategy implements ParseStrategy { abstract parseCapture(capture: { node: Node; name: string; }, lines: string[], processedChunks: Set<string>, context: ParseContext): string | null; protected getCaptureTypes<T extends Record<string, string>>(name: string, captureTypes: T): Set<T[keyof T]>; protected checkAndAddToProcessed(content: string, processedChunks: Set<string>): boolean; protected validateLineExists(lines: string[], startRow: number): boolean; protected extractLines(lines: string[], startRow: number, endRow: number): string[] | null; protected createNullResult(): ParseResult; protected createResult(content: string, processedSignatures?: Set<string>): ParseResult; }