ez-organizer
Version:
Organise tvshows automatically (part of the 'ez' programs)
78 lines (61 loc) • 2.28 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _recursiveReaddir = _interopRequireDefault(require("recursive-readdir"));
var path = _interopRequireWildcard(require("path"));
var Folder =
/*#__PURE__*/
function () {
function Folder(_dirURI, _validFiles) {
(0, _classCallCheck2.default)(this, Folder);
if (!_dirURI) throw new Error('Directory\'s uri is required');
this.dirURI = _dirURI;
this.validFiles = _validFiles;
}
(0, _createClass2.default)(Folder, [{
key: "getStructure",
value: function getStructure() {
return this.dirStructure;
}
}, {
key: "load",
value: function () {
var _load = (0, _asyncToGenerator2.default)(
/*#__PURE__*/
_regenerator.default.mark(function _callee() {
var _this = this;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0, _recursiveReaddir.default)(this.dirURI, [function (file, stats) {
return !stats.isDirectory() && !_this.validFiles.includes(path.extname(file));
}]);
case 2:
this.dirStructure = _context.sent;
return _context.abrupt("return", this);
case 4:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
return function load() {
return _load.apply(this, arguments);
};
}()
}]);
return Folder;
}();
exports.default = Folder;
//# sourceMappingURL=Folder.js.map