word-thesaurus
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

word-thesaurus

A Node.js module for word thesaurus from hunspell/mythes (http://www.openoffice.org/lingucomponent/thesaurus.html)

workflows-badge npm-badge test-mocha

Feature

  • [x] has TypeScript declarations
  • [x] support both ESM and CommonJS

Usage

Node.JS

Oops: word-thesaurus export ES module from CommonJS built version.

npm i word-thesaurus can be require or import from your Node.JS application. However word-thesaurus is assuming that one day npm might force us to seperate ES module and CommonJS. Therefore, it is a good practice to start coding Node.JS application using ES module.

// ES6
import thesaurus from 'word-thesaurus';

thesaurus.search("rapid");
// return
[
  {
    pos: 2,
    raw: [
      'fast',       'accelerated',   'accelerating',
      'alacritous', 'blistering',    'hot',
      'red-hot',    'double-quick',  'express',
      'fleet',      'swift',         'hastening',
      'high-speed', 'high-velocity', 'hurrying',
      'scurrying',  'immediate',     'prompt',
      'quick',      'straightaway',  'instantaneous',
      'instant',    'meteoric',      'speedy',
      'rapid',      'speeding',      'fast-breaking',
      'fast-paced', 'winged',        'expedited',
      'hurried',    'sudden'
    ]
  },
  { pos: 0, raw: [ 'waterway' ] }
]
// CommonJS
const thesaurus = require('word-thesaurus');

thesaurus.find("rapid");
// return
[
  { pos: 2, raw: [ 'fast', 'speedy' ] },
  { pos: 0, raw: [ 'waterway' ] }
]

API

You may assure that the APIs are not going to change without a good reason for end user. So any exported methods and classes name will stays the same as the last updates.

File

the thesaurus.src.file source file get or set.

// get default source file
thesaurus.src.file
> "./src/thesaurus.dat"

// set custom source file
thesaurus.src.file = "./other/thesaurus.dat"
> "./other/thesaurus.dat"

Load

the thesaurus.load(options) generate object from source file, it takes 1 argument ({save?:boolean; space?:number}), if options.save:true; save as *-data.json.

// save generated object as formated .json
thesaurus.load({save:true, space:2}) - format and save

// save generated object as minify .json
thesaurus.load({save:true})

Find

the thesaurus.find(keyword) get thesaurus result for keyword

thesaurus.find("waterway");
// return
[ 
  { 
    pos: 0,
    raw: [ 'body of water', 'water', 'watercourse', 'way' ]
  }
]

the thesaurus.search(keyword) get search result for keyword

thesaurus.search("waterway");
// return
[
  {
    pos: 0,
    raw: [
      'watercourse',   'waterway',
      'ditch',         'flume',
      'headrace',      'mare clausum',
      'mare liberum',  'rapid',
      'tailrace',      'way',
      'body of water', 'water'
    ]
  }
]

posName

the thesaurus.posName() get part of speech by index

thesaurus.posName(0);
// return
>  Noun

thesaurus.posName(1);
// return
>  Verb

License

shield-license

Package Sidebar

Install

npm i word-thesaurus

Weekly Downloads

28

Version

1.0.5

License

MIT

Unpacked Size

12 MB

Total Files

14

Last publish

Collaborators

  • khensolomon