Files
social-analyzer/modules/nameanalysis.js
T

84 lines
2.6 KiB
JavaScript

var helper = require("./helper.js")
var fs = require("fs");
var stringSimilarity = require("string-similarity");
var parsed_names_origins = JSON.parse(fs.readFileSync("names.json"));
async function find_origins(req) {
var found = []
for (key in parsed_names_origins) {
for (name in parsed_names_origins[key]['boy']) {
if (req.body.string.includes(parsed_names_origins[key]['boy'][name])) {
found.push({
"name": parsed_names_origins[key]['boy'][name],
"origin": key,
"gender": "boy",
"matched": parsed_names_origins[key]['boy'][name],
"similar": ""
})
} else {
var similarity = stringSimilarity.compareTwoStrings(req.body.string, parsed_names_origins[key]['boy'][name]);
if (similarity > 0.7) {
found.push({
"name": req.body.string,
"origin": key,
"gender": "boy",
"matched": "",
"similar": parsed_names_origins[key]['boy'][name]
})
}
}
}
for (name in parsed_names_origins[key]['girl']) {
if (req.body.string.includes(parsed_names_origins[key]['girl'][name])) {
found.push({
"name": parsed_names_origins[key]['girl'][name],
"origin": key,
"gender": "girl",
"matched": parsed_names_origins[key]['girl'][name],
"similar": ""
})
} else {
var similarity = stringSimilarity.compareTwoStrings(req.body.string, parsed_names_origins[key]['girl'][name]);
if (similarity > 0.7) {
found.push({
"name": req.body.string,
"origin": key,
"gender": "girl",
"matched": "",
"similar": parsed_names_origins[key]['girl'][name]
})
}
}
}
for (name in parsed_names_origins[key]['uni']) {
if (req.body.string.includes(parsed_names_origins[key]['uni'][name])) {
found.push({
"name": parsed_names_origins[key]['uni'][name],
"origin": key,
"gender": "uni",
"matched": parsed_names_origins[key]['uni'][name],
"similar": ""
})
} else {
var similarity = stringSimilarity.compareTwoStrings(req.body.string, parsed_names_origins[key]['uni'][name]);
if (similarity > 0.7) {
found.push({
"name": req.body.string,
"origin": key,
"gender": "uni",
"matched": "",
"similar": parsed_names_origins[key]['uni'][name]
})
}
}
}
}
return found
}
module.exports = {
find_origins
}