mirror of
https://github.com/qeeqbox/social-analyzer.git
synced 2026-08-20 04:35:41 +02:00
84 lines
2.6 KiB
JavaScript
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
|
|
}
|