UNPKG

@nahanil/zhdict-lite

Version:

Access extended CC-CEDICT dictionary data

59 lines (53 loc) 1.17 kB
const DB = require('./models/index.js') const Op = require('sequelize').Op const _ = require('lodash') /** * @nahanil/zhdict-lite * @module @nahanil/zhdict-lite */ class ZhdictLite { constructor () { this.db = DB() } /** * Search the for a given word. * @function search * @param {string|object} query - The word as a string, or a Sequelize `where` query. * @returns {Promise} */ search (query) { let where if (_.isString(query)) { where = { [Op.or]: [ { simplified: query }, { traditional: query } ] } } else { where = query } return this.db.word.findAll({ where: where, raw: true }) } /** * Search characters by radical. * @function searchByRadical * @param {string} radical - The character as a string, or a Sequelize `where` query. * @returns {Promise} */ searchByRadical (radical) { return this.db.word.findAll({ where: { [Op.or]: [ { radicalSimplified: radical }, { radicalTraditional: radical } ] }, raw: true }) } } module.exports = new ZhdictLite()