parseFile.js 617 B

12345678910111213141516171819202122232425262728
  1. var fs = require("fs");
  2. /**
  3. * Asynchronously parse a PO file to JSON
  4. *
  5. * @param {String} fileName - File name
  6. * @param {Object} [options]
  7. * @param {Function} cb - Callback function, takes 2 arguments: err and result
  8. */
  9. module.exports = function(fileName, options, cb) {
  10. options = options || {};
  11. if (typeof options === 'function') {
  12. cb = options;
  13. options = {};
  14. }
  15. fs.realpath(fileName, function (err, realFile) {
  16. if (err) return cb(err);
  17. fs.readFile(realFile, function (err, data) {
  18. if (err) return cb(err);
  19. cb(null, require("./parse")( data, options ));
  20. });
  21. });
  22. };