UNPKG

react-toggle-file-tree

Version:

Provides easy file tree implementation with React.

61 lines (54 loc) 1.72 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var index = require('./index-591af0dc.cjs.prod.js'); require('@babel/runtime/helpers/objectSpread2'); var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper'); function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; } var index__default = /*#__PURE__*/_interopDefault(index); /** * @params {any[]} list * @description 1차원 배열 값을 받아 파일 트리 구조를 만듭니다. * 이 때 list안의 객체의 filePath 값은 필수입니다. */ function createFileTree(list) { var expectedFileTree = { files: [] }; var _iterator = _createForOfIteratorHelper(list), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var file = _step.value; var filePathParts = file.localPath.split('/').filter(Boolean); var current = expectedFileTree; var _iterator2 = _createForOfIteratorHelper(filePathParts), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var part = _step2.value; if (!current[part]) { current[part] = { files: [] }; } current = current[part]; } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } current.files.push(file); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return expectedFileTree; } Object.defineProperty(exports, 'ToggleFileTree', { enumerable: true, get: function () { return index__default["default"]; } }); exports.createFileTree = createFileTree;