UNPKG

node-aurora

Version:

Provides an interface to the Aurora Dreamband.

93 lines (62 loc) 3.12 kB
'use strict'; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _mkdirp = require('mkdirp'); var _mkdirp2 = _interopRequireDefault(_mkdirp); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _util = require('./util'); var _AuroraTransformBinary = require('./AuroraTransformBinary'); var _AuroraTransformBinary2 = _interopRequireDefault(_AuroraTransformBinary); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } module.exports = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(srcPath, destDir, type) { var connector = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'any'; var transform, file, writeStream; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.prev = 0; _context.next = 3; return (0, _util.promisify)(_mkdirp2.default)(destDir); case 3: transform = void 0; file = _path2.default.basename(srcPath); if (file.slice(-4) == '.dat' && type != undefined) { file = file.slice(0, -4) + '.csv'; transform = new _AuroraTransformBinary2.default(type); } writeStream = _fs2.default.createWriteStream(_path2.default.join(destDir, file)); if (transform) { transform.pipe(writeStream); writeStream = transform; } _context.next = 10; return this.readFile(srcPath, writeStream, connector); case 10: _context.next = 12; return this.queueCmd('sd-file-del ' + srcPath); case 12: return _context.abrupt('return', _path2.default.join(destDir, file)); case 15: _context.prev = 15; _context.t0 = _context['catch'](0); return _context.abrupt('return', _promise2.default.reject(_context.t0)); case 18: case 'end': return _context.stop(); } } }, _callee, this, [[0, 15]]); })); return function (_x, _x2, _x3) { return _ref.apply(this, arguments); }; }();