123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
- // https://github.com/ant-design/ant-design/issues/50080
- var traverseFileTree = /*#__PURE__*/function () {
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4(files, isAccepted) {
- var flattenFileList, progressFileList, readDirectory, _readDirectory, readFile, _readFile, _traverseFileTree, wipIndex;
- return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
- while (1) switch (_context4.prev = _context4.next) {
- case 0:
- _readFile = function _readFile3() {
- _readFile = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(item) {
- return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
- while (1) switch (_context3.prev = _context3.next) {
- case 0:
- return _context3.abrupt("return", new Promise(function (reslove) {
- item.file(function (file) {
- if (isAccepted(file)) {
- // https://github.com/ant-design/ant-design/issues/16426
- if (item.fullPath && !file.webkitRelativePath) {
- Object.defineProperties(file, {
- webkitRelativePath: {
- writable: true
- }
- });
- // eslint-disable-next-line no-param-reassign
- file.webkitRelativePath = item.fullPath.replace(/^\//, '');
- Object.defineProperties(file, {
- webkitRelativePath: {
- writable: false
- }
- });
- }
- reslove(file);
- } else {
- reslove(null);
- }
- });
- }));
- case 1:
- case "end":
- return _context3.stop();
- }
- }, _callee3);
- }));
- return _readFile.apply(this, arguments);
- };
- readFile = function _readFile2(_x4) {
- return _readFile.apply(this, arguments);
- };
- _readDirectory = function _readDirectory3() {
- _readDirectory = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(directory) {
- var dirReader, entries, results, n, i;
- return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
- while (1) switch (_context2.prev = _context2.next) {
- case 0:
- dirReader = directory.createReader();
- entries = [];
- case 2:
- if (!true) {
- _context2.next = 12;
- break;
- }
- _context2.next = 5;
- return new Promise(function (resolve) {
- dirReader.readEntries(resolve, function () {
- return resolve([]);
- });
- });
- case 5:
- results = _context2.sent;
- n = results.length;
- if (n) {
- _context2.next = 9;
- break;
- }
- return _context2.abrupt("break", 12);
- case 9:
- for (i = 0; i < n; i++) {
- entries.push(results[i]);
- }
- _context2.next = 2;
- break;
- case 12:
- return _context2.abrupt("return", entries);
- case 13:
- case "end":
- return _context2.stop();
- }
- }, _callee2);
- }));
- return _readDirectory.apply(this, arguments);
- };
- readDirectory = function _readDirectory2(_x3) {
- return _readDirectory.apply(this, arguments);
- };
- flattenFileList = [];
- progressFileList = [];
- files.forEach(function (file) {
- return progressFileList.push(file.webkitGetAsEntry());
- });
- // eslint-disable-next-line @typescript-eslint/naming-convention
- _traverseFileTree = /*#__PURE__*/function () {
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(item, path) {
- var _file, entries;
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
- while (1) switch (_context.prev = _context.next) {
- case 0:
- if (item) {
- _context.next = 2;
- break;
- }
- return _context.abrupt("return");
- case 2:
- // eslint-disable-next-line no-param-reassign
- item.path = path || '';
- if (!item.isFile) {
- _context.next = 10;
- break;
- }
- _context.next = 6;
- return readFile(item);
- case 6:
- _file = _context.sent;
- if (_file) {
- flattenFileList.push(_file);
- }
- _context.next = 15;
- break;
- case 10:
- if (!item.isDirectory) {
- _context.next = 15;
- break;
- }
- _context.next = 13;
- return readDirectory(item);
- case 13:
- entries = _context.sent;
- progressFileList.push.apply(progressFileList, (0, _toConsumableArray2.default)(entries));
- case 15:
- case "end":
- return _context.stop();
- }
- }, _callee);
- }));
- return function _traverseFileTree(_x5, _x6) {
- return _ref2.apply(this, arguments);
- };
- }();
- wipIndex = 0;
- case 9:
- if (!(wipIndex < progressFileList.length)) {
- _context4.next = 15;
- break;
- }
- _context4.next = 12;
- return _traverseFileTree(progressFileList[wipIndex]);
- case 12:
- wipIndex++;
- _context4.next = 9;
- break;
- case 15:
- return _context4.abrupt("return", flattenFileList);
- case 16:
- case "end":
- return _context4.stop();
- }
- }, _callee4);
- }));
- return function traverseFileTree(_x, _x2) {
- return _ref.apply(this, arguments);
- };
- }();
- var _default = exports.default = traverseFileTree;
|