UNPKG

@gmod/gff

Version:

read and write GFF3 data as streams

54 lines (53 loc) 1.7 kB
import { GFF3Feature, GFF3Comment, GFF3Directive, GFF3Sequence } from './util'; export interface ParseCallbacks { featureCallback?(feature: GFF3Feature): void; commentCallback?(comment: GFF3Comment): void; errorCallback?(error: string): void; directiveCallback?(directive: GFF3Directive): void; sequenceCallback?(sequence: GFF3Sequence): void; } export declare class FASTAParser { private seqCallback; currentSequence: { id: string; sequence: string; description?: string; } | undefined; constructor(seqCallback?: (sequence: GFF3Sequence) => void); addLine(line: string): void; private flush; finish(): void; } interface ParserArgs { endCallback?(): void; bufferSize?: number; disableDerivesFromReferences?: boolean; } export declare class GFF3Parser { endCallback: () => void; disableDerivesFromReferences: boolean; bufferSize: number; fastaParser: FASTAParser | undefined; eof: boolean; lineNumber: number; private underConstructionTopLevel; private underConstructionById; private completedReferences; private underConstructionOrphans; constructor(args: ParserArgs); addLine(line: string, callbacks: ParseCallbacks): void; finish(callbacks: ParseCallbacks): void; private emitItem; private enforceBufferSizeLimit; /** * return all under-construction features, called when we know there will be * no additional data to attach to them */ private emitAllUnderConstructionFeatures; private bufferLine; private resolveReferencesTo; private parseError; private postSet; private resolveReferencesFrom; } export {};