tree-handle-lib
v1.0.19
Published
a javascript library for tree data
Downloads
29
Readme
tree-handle-lib
A small JavaScript utility library for tree data.
Package with rollup.js
, exported as esm
、cjs
module.
Install
npm install tree-handle-lib
// or
yarn add tree-handle-lib
// or
pnpm install tree-handle-lib
API
examples:
check:
checkNode
unCheckNode
changeAllCheck
equal:
isEqualTreeNode
filter:
filterTreeByName
find:
findNodeByKey
findAllKeys
findLeafNodes
findChildKeysByKey
findParentKeysByKey
findNodesByKeys
insert:
insertChild
insertAfter
insertBefore
list:
list2Tree
tree2List
remove:
removeNodeByKey
sort:
sortNodeByName
split:
splitStrings2Tree
update:
updateNodes
- Detail Docs: https://wqs576222103.github.io/tree-handle-lib-doc/
Usage
import { findNodeByKey } from "tree-handle-lib";
// or use `const { findNodeByKey } = require('tree-handle-lib/dist/index.cjs.js')` as commonjs
const tree = [
{
id: '1',
name: 'www',
children: [],
},
];
const node = findNodeByKey(tree, '1', "children", 'id');
Can also import like
import treeHandleLib from "tree-handle-lib";
console.log(treeHandleLib.findNodeByKey); // Function
or like this, import from a child package
import {findNodeByKey} from "tree-handle-lib/dist/find.js";
console.log(findNodeByKey); // Function
Developer Compatibility
- node >=v14.6(pnpm requires at least Node.js v14.6)
- pnpm v7.18.2
BUGS
Developer Guide
- create a module and file under src/lib directory.
- create a tree handle function and export it by default.
- add test unit in ./test directory.
- pnpm run build or pnpm run test. so that you can see there is an additional file has been added to the tmp directory and some changed in babel.config.cjs
- you can only test the module you want, by edit jest.testMatch in package.json.
- publish npm package. first using the pnpm version patch command, push the code to github, and create a release on github. it can auto publish package to npm.
TODO
- Realize the pure function form of implementing the method.
- Build only the modules you are developing
- Develop a scaffolding for automatically generating method modules and test samples