tweak-tools
Version:
Tweak your React projects until awesomeness
26 lines (25 loc) • 948 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildTree = exports.isInput = void 0;
// @ts-expect-error
const merge_value_1 = __importDefault(require("merge-value"));
const utils_1 = require("../../utils");
const isInput = (v) => '__tweakInput' in v;
exports.isInput = isInput;
const buildTree = (paths, filter) => {
const tree = {};
const _filter = filter ? filter.toLowerCase() : null;
paths.forEach((path) => {
const [valueKey, folderPath] = (0, utils_1.getKeyPath)(path);
if (!_filter || valueKey.toLowerCase().indexOf(_filter) > -1) {
(0, merge_value_1.default)(tree, folderPath, {
[valueKey]: { __tweakInput: true, path },
});
}
});
return tree;
};
exports.buildTree = buildTree;