node-postal
node-postal copied to clipboard
language_classifier binding
Build
node-gyp configure
node-gyp build
There shouldn't be any errors.
Test
test.js
const postal = require('./build/Release/language_classifier');
const simpleInputs = [
'street',
'calle',
];
// from libpostal address expansion
const inputs = [
"200 santa monica pier santa monica coahuila 90401 usa",
"200 santa monica pier santa monica compania 90401 usa",
"200 santa monica pier santa monica compania anonima 90401 usa",
"200 santa monica pier santa monica calle 90401 usa",
"200 santa monica pier santa monica ca 90401 usa",
"200 santa monica pier santa monica casa 90401 usa",
"200 santa monica pier santa monica cagliari 90401 usa",
"200 santa monica pier santa monica california 90401 usa",
"200 santa monica pier santa monica companhia anonima 90401 usa"
];
for (const input of simpleInputs.concat(inputs)) {
const result = postal.language_classifier(input);
console.log(input, result);
}
const address = "200 santa monica pier santa monica california 90401 usa";
const addressWords = address
.split(' ')
// .filter(str => isNaN(parseFloat(str)));
for (const word of addressWords) {
const result = postal.language_classifier(word);
console.log(word, result);
}
Test Output Sample
street [ { language: 'en', probability: 0.9975550392228959 } ]
calle [ { language: 'es', probability: 0.9948278315613933 } ]
200 santa monica pier santa monica coahuila 90401 usa [ { language: 'es', probability: 0.9889375382113144 } ]
ERR Language classification returned NULL
at libpostal_classify_language (libpostal.c:209) errno: Inappropriate ioctl for device
90401 undefined