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

el-name-tools

v2.0.0

Published

Tools for recognizing Greek names, detecting their gender and forming their vocative

Downloads

25

Readme

el-name-tools

Synopsis

El-name-tools is a package assembling a set of tools to work with Greek names.

  • It can recognize around 2000 forms of around 1200 male and female given names, present in its name dictionary
  • It can do so in the presence of usual misspellings, since matching is done using the phonetic rendering of the names
  • It can calculate namedays for specific years (data for 2019 - 2049 are included)
  • It can recognize the gender of any Greek name, regardless of its presence in the aforementioned dictionary
  • It can form the vocative form of any Greek name, regardless of its presence in the aforementioned dictionary
  • Optionally, it can form the vocative of the Canonical given name of the form, if it is found in the dictionary

Usage

Including the package

import {nametools} from 'el-name-tools';

Recognizing a name

This function identifies the name in the name dictionary and returns its stored data and its computed namedays for all years specified during initialization.

let name = nametools.recognizeName('Πάνος');
/* Results in:
{ name: 'Πάνος',
  skeleton: 'πανοσ',
  allnames:
   [ 'Παναγιώτης', 'Πάνος', 'Πανίκος', 'Γιώτης', 'Τάκης', 'Πανούσος' ],
  namedays:
   [ { case: 'fixed', date: '1970-08-15' },
     { case: 'fixed', date: '1970-12-26' },
     { case: 'fixed', date: '1970-04-21' } ],
  gender: 'MALE' 
}
*/ 

.allnames[0] is the Canonical given name for this entry.

Computing namedays for a range of years

            const namedayDates =  nametools.calculateNamedays(nameData, 2020, 2020)
const namedayDateΜillis = namedayDates[2020].map(
    d => d.getTime());
/* namedayDates is something like:
{ '2020':
  [ 2020-08-15T00:00:00.000Z,
    2020-12-26T00:00:00.000Z,
    2020-04-21T00:00:00.000Z ] 
}
 */

Recognizing and computing the vocative

This function identifies the name in the name dictionary and computes the vocative of its recognized form, or else computes the vocative based on its form.

let name = nametools.recognizeAndGetVocative('Πανήκος');
// Results in 'Πανίκο'

Recognizing and computing the normalized vocative

This function identifies the name in the name dictionary and computes the vocative of its normalized form, or else computes the vocative based on its form.

let name = nametools.recognizeAndGetNormalizedVocative('Πανήκος');
// Results in 'Παναγιώτη'

Recognizing and computing the gender

This function identifies the name in the name dictionary and returns its gender, or else computes the gender based on its form.

let name = nametools.recognizeAndGetGender('Πανήκος');
// Results in 'MALE'

Computing the vocative using the form of the name

let gender = nametools.getVocative('Πανήκος');
// Results in 'Πανήκο'

Computing the gender using the form of the name

let gender = nametools.getGender('Μπούλα');
// Results in 'FEMALE'

Phonetic Skeleton

The phonetic skeleton is the phonetic rendering of its argument, which must be a Greek word.

let skel = nametools.phoneticSkeleton('αιλουρος');
// Results in 'ελUροσ'

Resources

Links