UNPKG

word-syllable-map

Version:

Provides a one-way map from words to the syllables they contain.

38 lines (30 loc) 874 B
var fs = require('fs'); var Writable = require('stream').Writable; var ldjsonStream = require('ldjson-stream') var level = require('level'); function indexWordsAndSyllables(opts, done) { var dbOpts = { valueEncoding: 'json' }; var db = level(opts.dbLocation, dbOpts); var linesIndexed = 0; fs.createReadStream(__dirname + '/data/phoneme-groups-with-syllables.json') .pipe(ldjsonStream.parse()) .on('data', writeDatumToIndex) .on('end', cleanUp); function writeDatumToIndex(wordDatum) { debugger; if (opts.numberOfLinesToIndex === undefined || linesIndexed < opts.numberOfLinesToIndex) { linesIndexed += 1; db.put(wordDatum.word, wordDatum.syllables); } } function cleanUp(error) { db.close(passError); function passError() { done(error); } } } module.exports = indexWordsAndSyllables;