• Jump To … +
    abbreviations.js adjectives.js convertables.js dates.js demonyms.js firstnames.js honourifics.js irregular_nouns.js irregular_verbs.js misc.js multiples.js numbers.js organisations.js phrasal_verbs.js places.js uncountables.js verbs.js fns.js index.js lexicon.js negate.js passive_voice.js contractions.js fancy_lumping.js grammar_rules.js parts_of_speech.js phrasal_verbs.js tagger.js word_rules.js question.js sentence.js statement.js tense.js adjective.js to_adverb.js to_comparative.js to_noun.js to_superlative.js adverb.js to_adjective.js is_acronym.js article.js date.js date_rules.js is_date.js parse_date.js is_plural.js is_uncountable.js noun.js is_organisation.js organisation.js gender.js is_person.js parse_name.js person.js is_place.js place.js pluralize.js pronoun.js singularize.js is_value.js numbers.js to_number.js units.js value.js term.js conjugate.js from_infinitive.js predict_form.js suffix_rules.js to_actor.js to_infinitive.js negate.js verb.js sentence_parser.js text.js
  • person.js

  • ¶

    not all cultures use the firstname-lastname practice. this does make some assumptions.

    'use strict';
    const Noun = require('../noun.js');
    const guess_gender = require('./gender.js');
    const parse_name = require('./parse_name.js');
    
    class Person extends Noun {
      constructor(str, tag) {
        super(str);
        this.tag = tag;
        this.pos['Person'] = true;
        this.honourific = null;
        this.firstName = null;
        this.middleName = null;
        this.lastName = null;
        this.parse();
      }
  • ¶

    turn a multi-word string into [first, middle, last, honourific]

      parse() {
        let o = parse_name(this.normal);
        this.honourific = o.honourific;
        this.firstName = o.firstName;
        this.middleName = o.middleName;
        this.lastName = o.lastName;
      }
    
      gender() {
        return guess_gender(this.normal);
      }
    
    }
    Person.fn = Person.prototype;
    module.exports = Person;
  • ¶

    let p = new Person(‘John Smith’); console.log(p.gender());