var fs = require("fs");
var node_zlib = require("zlib");
var DictionaryLoader = require("./DictionaryLoader");
/**
* NodeDictionaryLoader inherits DictionaryLoader
* @param {string} dic_path Dictionary path
* @constructor
*/
function NodeDictionaryLoader(dic_path) {
DictionaryLoader.apply(this, [ dic_path ]);
}
NodeDictionaryLoader.prototype = Object.create(DictionaryLoader.prototype);
// NodeDictionaryLoader.prototype.constructor = NodeDictionaryLoader;
/**
* Utility function
* @param {string} file Dictionary file path
* @param {NodeDictionaryLoader~onLoad} callback Callback function
*/
NodeDictionaryLoader.prototype.loadArrayBuffer = function (file, callback) {
fs.readFile(file, function (err, buffer) {
if(err) {
return callback(err);
}
node_zlib.gunzip(buffer, function (err2, decompressed) {
if(err2) {
return callback(err2);
}
var typed_array = new Uint8Array(decompressed);
callback(null, typed_array.buffer);
});
});
};
/**
* @callback NodeDictionaryLoader~onLoad
* @param {Object} err Error object
* @param {Uint8Array} buffer Loaded buffer
*/
module.exports = NodeDictionaryLoader;