@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 CHANGED
@@ -1,12 +1,12 @@
1
1
  # CHANGELOG
2
2
 
3
- ## 0.3.1 2025/12/18 @驳是
3
+ ## 0.5.0 2025/12/24 @驳是
4
4
 
5
- * FEAT `normalizeTreeList` 带过滤功能
5
+ * FEAT 移除 `toTreeList`,请用 `@kcuf/helper-tree`
6
6
 
7
- ## 0.3.0 2025/12/18 @驳是
7
+ ## 0.4.0 2025/12/22 @驳是
8
8
 
9
- * FEAT 新增 `normalizeTreeList`
9
+ * FEAT 新增 `toTreeList`
10
10
 
11
11
  ## 0.2.3 2025/10/26 @驳是
12
12
 
@@ -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"));
@@ -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","normalizeTreeList","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';\nexport { default as normalizeTreeList } from './normalize-tree-list';\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;AACzF,SAASP,OAAO,IAAIQ,iBAAiB,QAAQ,uBAAuB;AAEpE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,uBAAuB","ignoreList":[]}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@kcuf/helper-data",
3
- "version": "0.3.1",
3
+ "version": "0.5.0",
4
4
  "description": "Data normalizer helpers and loading stuff to make all frontend data processing sane.",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -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 {};