UNPKG

jmdict-streaming-parser

Version:

Streaming parser for JMdict and related files.

56 lines 1.55 kB
/// <reference types="node" /> import { Duplex, DuplexOptions } from "stream"; import { SAXStream } from "sax"; export declare class JmdictTransform extends Duplex implements AsyncIterable<TransformOutputData> { parser: SAXStream; entities: Map<string, string>; private initialChunk; groupedEntities: ReadonlyMap<string, readonly { name: string; value: string; }[]>; private hasPassedOpeningTag; inputStack: InputStartXml[]; outputStack: OutputNode[]; constructor(opts?: DuplexOptions); _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void; _read(): void; [Symbol.asyncIterator](): AsyncIterableIterator<TransformOutputData>; } export interface EntityData { type: "entity"; data: { name: string; value: string; }; } export interface MdateData { type: "mdate"; data: string; } export interface NodeData { type: "node"; data: OutputNode; } export interface CommentData { type: "comment"; data: string; } export interface GroupedEntitiesData { type: "groupedEntities"; data: JmdictTransform["groupedEntities"]; } export declare type TransformOutputData = EntityData | MdateData | NodeData | CommentData | GroupedEntitiesData; interface InputStartXml { type: "start"; name: string; attrs: AttributeMap; } interface AttributeMap { [key: string]: string; } export interface OutputNode { [key: string]: (string | OutputNode)[] | string; } export {}; //# sourceMappingURL=index.d.ts.map