@gmod/gff
Version:
read and write GFF3 data as streams
54 lines (53 loc) • 1.7 kB
TypeScript
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 {};