@kcuf/helper-data 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -4
- package/dist/cjs/helper/index.js +0 -7
- package/dist/esm/helper/index.js +0 -1
- package/dist/esm/helper/index.js.map +1 -1
- package/dist/types/helper/index.d.ts +0 -1
- package/package.json +1 -1
- package/dist/cjs/helper/normalize-tree-list.js +0 -46
- package/dist/esm/helper/normalize-tree-list.js +0 -40
- package/dist/esm/helper/normalize-tree-list.js.map +0 -1
- package/dist/types/helper/normalize-tree-list.d.ts +0 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
-
## 0.
|
|
3
|
+
## 0.5.0 2025/12/24 @驳是
|
|
4
4
|
|
|
5
|
-
* FEAT `
|
|
5
|
+
* FEAT 移除 `toTreeList`,请用 `@kcuf/helper-tree`
|
|
6
6
|
|
|
7
|
-
## 0.
|
|
7
|
+
## 0.4.0 2025/12/22 @驳是
|
|
8
8
|
|
|
9
|
-
* FEAT 新增 `
|
|
9
|
+
* FEAT 新增 `toTreeList`
|
|
10
10
|
|
|
11
11
|
## 0.2.3 2025/10/26 @驳是
|
|
12
12
|
|
package/dist/cjs/helper/index.js
CHANGED
|
@@ -52,12 +52,6 @@ Object.defineProperty(exports, "normalizeTime", {
|
|
|
52
52
|
return _normalizeTime.default;
|
|
53
53
|
}
|
|
54
54
|
});
|
|
55
|
-
Object.defineProperty(exports, "normalizeTreeList", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
get: function get() {
|
|
58
|
-
return _normalizeTreeList.default;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
55
|
var _normalizeId = _interopRequireDefault(require("./normalize-id"));
|
|
62
56
|
var _normalizeBoolean = _interopRequireDefault(require("./normalize-boolean"));
|
|
63
57
|
var _normalizeNumber = _interopRequireDefault(require("./normalize-number"));
|
|
@@ -65,5 +59,4 @@ var _normalizeEnum = _interopRequireDefault(require("./normalize-enum"));
|
|
|
65
59
|
var _normalizeTime = _interopRequireDefault(require("./normalize-time"));
|
|
66
60
|
var _normalizePagedList = _interopRequireDefault(require("./normalize-paged-list"));
|
|
67
61
|
var _normalizePagedListUncertain = _interopRequireDefault(require("./normalize-paged-list-uncertain"));
|
|
68
|
-
var _normalizeTreeList = _interopRequireDefault(require("./normalize-tree-list"));
|
|
69
62
|
var _isEmptyPagedList = _interopRequireDefault(require("./is-empty-paged-list"));
|
package/dist/esm/helper/index.js
CHANGED
|
@@ -5,6 +5,5 @@ export { default as normalizeEnum } from './normalize-enum';
|
|
|
5
5
|
export { default as normalizeTime } from './normalize-time';
|
|
6
6
|
export { default as normalizePagedList } from './normalize-paged-list';
|
|
7
7
|
export { default as normalizePagedListUncertain } from './normalize-paged-list-uncertain';
|
|
8
|
-
export { default as normalizeTreeList } from './normalize-tree-list';
|
|
9
8
|
export { default as isEmptyPagedList } from './is-empty-paged-list';
|
|
10
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","normalizeId","normalizeBoolean","normalizeNumber","normalizeEnum","normalizeTime","normalizePagedList","normalizePagedListUncertain","
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","normalizeId","normalizeBoolean","normalizeNumber","normalizeEnum","normalizeTime","normalizePagedList","normalizePagedListUncertain","isEmptyPagedList"],"sources":["../../../src/helper/index.ts"],"sourcesContent":["export { default as normalizeId } from './normalize-id';\nexport { default as normalizeBoolean } from './normalize-boolean';\nexport { default as normalizeNumber } from './normalize-number';\nexport { default as normalizeEnum } from './normalize-enum';\nexport { default as normalizeTime } from './normalize-time';\nexport { default as normalizePagedList } from './normalize-paged-list';\nexport { default as normalizePagedListUncertain } from './normalize-paged-list-uncertain';\n\nexport { default as isEmptyPagedList } from './is-empty-paged-list';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,WAAW,QAAQ,gBAAgB;AACvD,SAASD,OAAO,IAAIE,gBAAgB,QAAQ,qBAAqB;AACjE,SAASF,OAAO,IAAIG,eAAe,QAAQ,oBAAoB;AAC/D,SAASH,OAAO,IAAII,aAAa,QAAQ,kBAAkB;AAC3D,SAASJ,OAAO,IAAIK,aAAa,QAAQ,kBAAkB;AAC3D,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,wBAAwB;AACtE,SAASN,OAAO,IAAIO,2BAA2B,QAAQ,kCAAkC;AAEzF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,uBAAuB","ignoreList":[]}
|
|
@@ -5,5 +5,4 @@ export { default as normalizeEnum } from './normalize-enum';
|
|
|
5
5
|
export { default as normalizeTime } from './normalize-time';
|
|
6
6
|
export { default as normalizePagedList } from './normalize-paged-list';
|
|
7
7
|
export { default as normalizePagedListUncertain } from './normalize-paged-list-uncertain';
|
|
8
|
-
export { default as normalizeTreeList } from './normalize-tree-list';
|
|
9
8
|
export { default as isEmptyPagedList } from './is-empty-paged-list';
|
package/package.json
CHANGED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = normalizeTreeList;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
-
/**
|
|
10
|
-
* 将平铺的数据转成树节点列表
|
|
11
|
-
*/
|
|
12
|
-
function normalizeTreeList(list, filter) {
|
|
13
|
-
var nodeMap = new Map();
|
|
14
|
-
var listClone = list.map(function (v) {
|
|
15
|
-
var treeItem = (0, _objectSpread2.default)({}, v);
|
|
16
|
-
nodeMap.set(treeItem.id, treeItem);
|
|
17
|
-
return treeItem;
|
|
18
|
-
});
|
|
19
|
-
function putToParent(o) {
|
|
20
|
-
var parentNode = nodeMap.get(o.parentId);
|
|
21
|
-
if (parentNode) {
|
|
22
|
-
var _parentNode$children;
|
|
23
|
-
(_parentNode$children = parentNode.children) !== null && _parentNode$children !== void 0 ? _parentNode$children : parentNode.children = [];
|
|
24
|
-
parentNode.children.push(o);
|
|
25
|
-
} else {
|
|
26
|
-
o.parentId = ''; // wrong parent
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
listClone.forEach(function (v) {
|
|
30
|
-
if (v.parentId && (!filter || filter(v))) {
|
|
31
|
-
putToParent(v);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
var treeItems = listClone.filter(function (v) {
|
|
35
|
-
return !v.parentId;
|
|
36
|
-
}); // all top-level nodes
|
|
37
|
-
|
|
38
|
-
return filter ? treeItems.filter(function (v) {
|
|
39
|
-
var _v$children;
|
|
40
|
-
// filter top-level nodes again
|
|
41
|
-
if ((_v$children = v.children) !== null && _v$children !== void 0 && _v$children.length) {
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
return filter(v);
|
|
45
|
-
}) : treeItems;
|
|
46
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
-
/**
|
|
3
|
-
* 将平铺的数据转成树节点列表
|
|
4
|
-
*/
|
|
5
|
-
export default function normalizeTreeList(list, filter) {
|
|
6
|
-
var nodeMap = new Map();
|
|
7
|
-
var listClone = list.map(function (v) {
|
|
8
|
-
var treeItem = _objectSpread({}, v);
|
|
9
|
-
nodeMap.set(treeItem.id, treeItem);
|
|
10
|
-
return treeItem;
|
|
11
|
-
});
|
|
12
|
-
function putToParent(o) {
|
|
13
|
-
var parentNode = nodeMap.get(o.parentId);
|
|
14
|
-
if (parentNode) {
|
|
15
|
-
var _parentNode$children;
|
|
16
|
-
(_parentNode$children = parentNode.children) !== null && _parentNode$children !== void 0 ? _parentNode$children : parentNode.children = [];
|
|
17
|
-
parentNode.children.push(o);
|
|
18
|
-
} else {
|
|
19
|
-
o.parentId = ''; // wrong parent
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
listClone.forEach(function (v) {
|
|
23
|
-
if (v.parentId && (!filter || filter(v))) {
|
|
24
|
-
putToParent(v);
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
var treeItems = listClone.filter(function (v) {
|
|
28
|
-
return !v.parentId;
|
|
29
|
-
}); // all top-level nodes
|
|
30
|
-
|
|
31
|
-
return filter ? treeItems.filter(function (v) {
|
|
32
|
-
var _v$children;
|
|
33
|
-
// filter top-level nodes again
|
|
34
|
-
if ((_v$children = v.children) !== null && _v$children !== void 0 && _v$children.length) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
return filter(v);
|
|
38
|
-
}) : treeItems;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=normalize-tree-list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-tree-list.js","names":["normalizeTreeList","list","filter","nodeMap","Map","listClone","map","v","treeItem","_objectSpread","set","id","putToParent","o","parentNode","get","parentId","_parentNode$children","children","push","forEach","treeItems","_v$children","length"],"sources":["../../../src/helper/normalize-tree-list.ts"],"sourcesContent":["import {\n IBaseDataId,\n IBaseDataParentId\n} from '../types';\n\ninterface IBaseItem extends IBaseDataId, IBaseDataParentId {}\n\ntype TTreeItem<T extends IBaseItem> = T & {\n children?: TTreeItem<T>[];\n};\n\n/**\n * 将平铺的数据转成树节点列表\n */\nexport default function normalizeTreeList<T extends IBaseItem>(list: T[], filter?: (o: T) => boolean): TTreeItem<T>[] {\n const nodeMap = new Map<string, TTreeItem<T>>();\n const listClone: TTreeItem<T>[] = list.map((v: T) => {\n const treeItem: TTreeItem<T> = { // shallow clone\n ...v\n };\n \n nodeMap.set(treeItem.id, treeItem);\n \n return treeItem;\n });\n \n function putToParent(o: TTreeItem<T>): void {\n const parentNode = nodeMap.get(o.parentId);\n \n if (parentNode) {\n parentNode.children ??= [];\n \n parentNode.children.push(o);\n } else {\n o.parentId = ''; // wrong parent\n }\n }\n \n listClone.forEach(v => {\n if (v.parentId && (!filter || filter(v))) {\n putToParent(v);\n }\n });\n \n const treeItems: TTreeItem<T>[] = listClone.filter(v => !v.parentId); // all top-level nodes\n \n return filter ? treeItems.filter(v => { // filter top-level nodes again\n if (v.children?.length) {\n return true;\n }\n \n return filter(v);\n }) : treeItems;\n}\n"],"mappings":";AAWA;AACA;AACA;AACA,eAAe,SAASA,iBAAiBA,CAAsBC,IAAS,EAAEC,MAA0B,EAAkB;EACpH,IAAMC,OAAO,GAAG,IAAIC,GAAG,CAAuB,CAAC;EAC/C,IAAMC,SAAyB,GAAGJ,IAAI,CAACK,GAAG,CAAC,UAACC,CAAI,EAAK;IACnD,IAAMC,QAAsB,GAAAC,aAAA,KACvBF,CAAC,CACL;IAEDJ,OAAO,CAACO,GAAG,CAACF,QAAQ,CAACG,EAAE,EAAEH,QAAQ,CAAC;IAElC,OAAOA,QAAQ;EACjB,CAAC,CAAC;EAEF,SAASI,WAAWA,CAACC,CAAe,EAAQ;IAC1C,IAAMC,UAAU,GAAGX,OAAO,CAACY,GAAG,CAACF,CAAC,CAACG,QAAQ,CAAC;IAE1C,IAAIF,UAAU,EAAE;MAAA,IAAAG,oBAAA;MACd,CAAAA,oBAAA,GAAAH,UAAU,CAACI,QAAQ,cAAAD,oBAAA,cAAAA,oBAAA,GAAnBH,UAAU,CAACI,QAAQ,GAAK,EAAE;MAE1BJ,UAAU,CAACI,QAAQ,CAACC,IAAI,CAACN,CAAC,CAAC;IAC7B,CAAC,MAAM;MACLA,CAAC,CAACG,QAAQ,GAAG,EAAE,CAAC,CAAC;IACnB;EACF;EAEAX,SAAS,CAACe,OAAO,CAAC,UAAAb,CAAC,EAAI;IACrB,IAAIA,CAAC,CAACS,QAAQ,KAAK,CAACd,MAAM,IAAIA,MAAM,CAACK,CAAC,CAAC,CAAC,EAAE;MACxCK,WAAW,CAACL,CAAC,CAAC;IAChB;EACF,CAAC,CAAC;EAEF,IAAMc,SAAyB,GAAGhB,SAAS,CAACH,MAAM,CAAC,UAAAK,CAAC;IAAA,OAAI,CAACA,CAAC,CAACS,QAAQ;EAAA,EAAC,CAAC,CAAC;;EAEtE,OAAOd,MAAM,GAAGmB,SAAS,CAACnB,MAAM,CAAC,UAAAK,CAAC,EAAI;IAAA,IAAAe,WAAA;IAAE;IACtC,KAAAA,WAAA,GAAIf,CAAC,CAACW,QAAQ,cAAAI,WAAA,eAAVA,WAAA,CAAYC,MAAM,EAAE;MACtB,OAAO,IAAI;IACb;IAEA,OAAOrB,MAAM,CAACK,CAAC,CAAC;EAClB,CAAC,CAAC,GAAGc,SAAS;AAChB","ignoreList":[]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IBaseDataId, IBaseDataParentId } from '../types';
|
|
2
|
-
interface IBaseItem extends IBaseDataId, IBaseDataParentId {
|
|
3
|
-
}
|
|
4
|
-
type TTreeItem<T extends IBaseItem> = T & {
|
|
5
|
-
children?: TTreeItem<T>[];
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* 将平铺的数据转成树节点列表
|
|
9
|
-
*/
|
|
10
|
-
export default function normalizeTreeList<T extends IBaseItem>(list: T[], filter?: (o: T) => boolean): TTreeItem<T>[];
|
|
11
|
-
export {};
|