@cspell/cspell-tools
Version:
Tools to assist with the development of cSpell
24 lines • 925 B
JavaScript
import { readHunspellFiles } from './readers/readHunspellFiles.js';
import { regHunspellFile } from './readers/regHunspellFile.js';
import { textFileReader } from './readers/textFileReader.js';
import { trieFileReader } from './readers/trieFileReader.js';
// Readers first match wins
const readers = [
{ test: /\.trie\b/, method: trieFileReader },
{ test: regHunspellFile, method: readHunspellFiles },
];
function findMatchingReader(filename, options) {
for (const reader of readers) {
if (reader.test.test(filename)) {
return reader.method(filename, options);
}
}
return textFileReader(filename);
}
export async function createReader(filename, options) {
const baseReader = await findMatchingReader(filename, options);
return Object.assign(baseReader, {
[Symbol.iterator]: () => baseReader.lines[Symbol.iterator](),
});
}
//# sourceMappingURL=Reader.js.map