cld3-asm
Version:
WebAssembly based Javascript bindings for google compact language detector 3
38 lines • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var utf8_1 = require("utf8");
var cldAsmModule_1 = require("./cldAsmModule");
var munge_vector = function (vector) {
var size = vector.size();
var ret = [];
for (var idx = 0; idx < size; idx++) {
ret.push(vector.get(idx));
}
return ret;
};
/**
* @internal
* Creates a factory function for mounting files into wasm filesystem
* and creating language identifier instance.
*
* @param {CldAsmModule} asmModule wasm / asm module loaded into memory.
*
* @returns {CldFactory} Factory function manages lifecycle of cld3 language identifier.
*/
exports.cldLoader = function (asmModule) { return ({
create: function (minBytes, maxBytes) {
if (minBytes === void 0) { minBytes = asmModule.NNetLanguageIdentifier.kMinNumBytesToConsider; }
if (maxBytes === void 0) { maxBytes = asmModule.NNetLanguageIdentifier.kMaxNumBytesToConsider; }
var identifier = new asmModule.NNetLanguageIdentifier(minBytes, maxBytes);
return {
findLanguage: function (text) { return identifier.FindLanguage(utf8_1.encode(text)); },
findMostFrequentLanguages: function (text, numLangs) {
var resultVector = identifier.FindTopNMostFreqLangs(utf8_1.encode(text), numLangs);
var resultArray = munge_vector(resultVector);
return resultArray.filter(function (x) { return !!x && !!x.language && x.language !== cldAsmModule_1.UnknownLanguage; });
},
dispose: function () { return identifier.delete(); }
};
}
}); };
//# sourceMappingURL=cldLoader.js.map