Name matching logic

This commit is contained in:
Konstantin Mamalakis 2018-02-27 02:59:21 +02:00 committed by Josh Harvey
parent 910d7e200f
commit 620863d703
3 changed files with 83 additions and 66 deletions

View file

@ -50,7 +50,8 @@ const processDocumentedNamePart = _.curry((groupTypes, namePartNode) => {
const typeId = groupTypes.get(groupId)
const partName = partNames.get(typeId)
const value = _.lowerCase(valueNode.$text)
return {[partName]: value}
const words = nameUtils.makeWords(value)
return {partName, value, words}
})
const isLatin = _.matchesProperty(['$', 'DocNameStatusID'], PRIMARY_LATIN)
@ -68,15 +69,11 @@ const processAlias = _.curry((groupTypes, aliasNode) => {
}
const namePartNodes = latinNameNode.DocumentedNamePart
const nameParts = _.map(getNamePart, namePartNodes)
const parts = _.map(getNamePart, namePartNodes)
const parts = _.assignAll(nameParts)
const fullNames = nameUtils.makeFullNames(parts)
const fullName = nameUtils.makeFullName(parts)
const phoneticParts = _.mapValues(nameUtils.phonetic, parts)
const phoneticFullNames = _.map(nameUtils.phonetic, fullNames)
return {parts, fullNames, phoneticParts, phoneticFullNames}
return {parts, fullName}
})
// birth date