npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@messageflow/trentity

v0.0.4

Published

Train your Dialogflow with better entities in simple way

Downloads

6

Readme

NPM

Build Status Version Downloads MIT License Dependency Status NSP Status

Code of Conduct Codecov Coverage Status

codebeat-badge codacy-badge inch-badge

One of the challenging tasks in Dialogflow is training your comprehensive list of entities that contains all the synonyms for each reference value. It is kind of tedious to input every possible synonym manually. This package can help generating entities in Dialogflow much easier by combining a list of reference values and their own synonyms plus an optional list of replacers which replace a word or even a phrase within each synonyms.

Table of contents

Pre-requisites

Setup

Install

# Install via NPM
$ npm install --save trentity

Usage

Node.js

// No default import
const {
  generateEntitySync,
  generateEntity,

  revertEntitySync,
  revertEntity,
} = require('trentity');
/**
 * OR
 * const { generateEntitySync, generateEntity } = require('trentity/generate-entity');
 * const { revertEntitySync, revertEntity } = require('trentity/revert-entity');
 * 
 */

/** To generate entity list with replacers */
void async function main() {
  const d = await generateEntity([
    [
      'Accessories for car',
      [
        'accessories for car',
        'car accessory',
      ]
    ]
  ], {
    accessories: [
      'accessory',
      'access',
      'accesory',
      'acessory',
    ],
    car: [
      'cars',
      'vehicle',
      'vehicles',
    ],
  });

  assert(d, "Accessories for car","accessories for car","accessory for car","access for car","accesory for car","acessory for car","car accessory","accessories for cars","accessories for vehicle","accessories for vehicles","cars accessory","vehicle accessory","vehicles accessory"); // OK
}();

/** To revert generated entity list */
void async function main() {
  const d = await revertEntity('"Accessories for car","accessories for car","accessory for car","access for car","accesory for car","acessory for car","car accessory","accessories for cars","accessories for vehicle","accessories for vehicles","cars accessory","vehicle accessory","vehicles accessory"');

  assert(d, [
    [
      "Accessories for car",
      [
        "accessories for car",
        "accessory for car",
        "access for car",
        "accesory for car",
        "acessory for car",
        "car accessory",
        "accessories for cars",
        "accessories for vehicle",
        "accessories for vehicles",
        "cars accessory",
        "vehicle accessory",
        "vehicles accessory"
      ]
    ]
  ]); // OK
}();

Native ES modules or TypeScript

// No default import
import {
  generateEntitySync,
  generateEntity,

  revertEntitySync,
  revertEntity,
} from 'trentity';
/**
 * OR
 * import { generateEntitySync, generateEntity } from 'trentity/generate-entity';
 * import { revertEntitySync, revertEntity } from 'trentity/revert-entity';
 * 
 */

/** To generate entity list with replacers */
void async function main() => {
  const d = await generateEntity([
    [
      'Accessories for car',
      [
        'accessories for car',
        'car accessory',
      ]
    ]
  ], {
    accessories: [
      'accessory',
      'access',
      'accesory',
      'acessory',
    ],
    car: [
      'cars',
      'vehicle',
      'vehicles',
    ],
  });

  assert(d, "Accessories for car","accessories for car","accessory for car","access for car","accesory for car","acessory for car","car accessory","accessories for cars","accessories for vehicle","accessories for vehicles","cars accessory","vehicle accessory","vehicles accessory"); // OK
}();

/** To revert generated entity list */
void async function main() => {
  const d = await revertEntity('"Accessories for car","accessories for car","accessory for car","access for car","accesory for car","acessory for car","car accessory","accessories for cars","accessories for vehicle","accessories for vehicles","cars accessory","vehicle accessory","vehicles accessory"');

  assert(d, [
    [
      "Accessories for car",
      [
        "accessories for car",
        "accessory for car",
        "access for car",
        "accesory for car",
        "acessory for car",
        "car accessory",
        "accessories for cars",
        "accessories for vehicle",
        "accessories for vehicles",
        "cars accessory",
        "vehicle accessory",
        "vehicles accessory"
      ]
    ]
  ]); // OK
}();

API Reference

generateEntity(list[, replacer])

  • list <Array<[string, string[]]>> A list of reference values and synonyms.
  • replacer <Object> Optional list of replacers to replace words or phrases in each synonyms.
  • returns: <Promise<string>> Promise which resolves with a combination of list and replacer.

generateEntitySync(list[, replacer])

This methods works the same as generateEntity(list[, replacer]) except that this is the synchronous version.

revertEntity(entityList)

  • entityList <string> A string consists of reference values and synonyms.
  • returns: <Promise<<Array<[string, string[]]>>> Promise which resolves with a list of reference values and synonyms.

revertEntitySync(entityList)

This methods works the same as revertEntity(entityList) except that this is the synchronous version.

License

MIT License © Rong Sen Ng