import { createReadStream, createWriteStream } from 'fs'; import { describe, it, expect } from 'vitest'; import { createDownloader, Kanjidic, Jmdict, createXmlToJsonLines } from '../src'; describe('downloader', () => { describe.skip('kanjidic', () => { it.skip('works', async () => { const readStream = await createDownloader({ type: Kanjidic.SOURCE_ID, }); return new Promise((resolve) => { const out = createWriteStream('kanjidic2.xml'); out.on('finish', () => { resolve(); }); readStream.pipe(out); }); }); it.skip('converts XML to JSON', () => new Promise((resolve) => { const readStream = createReadStream('kanjidic2.xml', { encoding: 'utf-8' }); const transform = createXmlToJsonLines({ entryTagName: 'character', }); const out = createWriteStream('kanjidic2.jsonl'); out.on('finish', () => { resolve(); }); readStream .pipe(transform) .pipe(out); })); }); describe.skip('jmdict', () => { it('works', async () => { const readStream = await createDownloader({ type: Jmdict.SOURCE_ID, }); return new Promise((resolve) => { const out = createWriteStream('jmdict.xml'); out.on('finish', () => { resolve(); }); readStream.pipe(out); }); }, { timeout: 300000 }); it('converts XML to JSON', () => new Promise((resolve) => { const readStream = createReadStream('jmdict.full.xml', { encoding: 'utf-8' }); const transform = createXmlToJsonLines({ entryTagName: 'entry', }); const out = createWriteStream('jmdict.jsonl'); out.on('finish', () => { resolve(); }); readStream .pipe(transform) .pipe(out); }), { timeout: 300000 }); }); });