@dereekb/util 0.0.1 → 1.0.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.
Files changed (75) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +4 -5
  3. package/package.json +2 -1
  4. package/src/lib/array/array.d.ts +21 -1
  5. package/src/lib/array/array.filter.d.ts +20 -0
  6. package/src/lib/array/array.filter.js +39 -1
  7. package/src/lib/array/array.filter.js.map +1 -1
  8. package/src/lib/array/array.index.d.ts +36 -0
  9. package/src/lib/array/array.index.js +65 -0
  10. package/src/lib/array/array.index.js.map +1 -0
  11. package/src/lib/array/array.js +32 -2
  12. package/src/lib/array/array.js.map +1 -1
  13. package/src/lib/array/array.make.d.ts +22 -0
  14. package/src/lib/array/array.make.js +30 -0
  15. package/src/lib/array/array.make.js.map +1 -0
  16. package/src/lib/array/array.number.d.ts +1 -1
  17. package/src/lib/array/array.number.js +12 -1
  18. package/src/lib/array/array.number.js.map +1 -1
  19. package/src/lib/array/index.d.ts +2 -0
  20. package/src/lib/array/index.js +2 -0
  21. package/src/lib/array/index.js.map +1 -1
  22. package/src/lib/assertion/assertion.js +1 -1
  23. package/src/lib/assertion/assertion.js.map +1 -1
  24. package/src/lib/date/date.d.ts +1 -0
  25. package/src/lib/date/date.js.map +1 -1
  26. package/src/lib/filter/filter.d.ts +8 -0
  27. package/src/lib/filter/filter.js +20 -0
  28. package/src/lib/filter/filter.js.map +1 -1
  29. package/src/lib/getter.d.ts +10 -0
  30. package/src/lib/getter.js +2 -8
  31. package/src/lib/getter.js.map +1 -1
  32. package/src/lib/index.d.ts +1 -0
  33. package/src/lib/index.js +1 -0
  34. package/src/lib/index.js.map +1 -1
  35. package/src/lib/number.d.ts +13 -0
  36. package/src/lib/number.js +19 -1
  37. package/src/lib/number.js.map +1 -1
  38. package/src/lib/object/object.d.ts +53 -3
  39. package/src/lib/object/object.js +119 -7
  40. package/src/lib/object/object.js.map +1 -1
  41. package/src/lib/page/page.filter.d.ts +1 -1
  42. package/src/lib/promise/index.d.ts +2 -0
  43. package/src/lib/promise/index.js +2 -0
  44. package/src/lib/promise/index.js.map +1 -1
  45. package/src/lib/promise/poll.d.ts +18 -0
  46. package/src/lib/promise/poll.js +16 -0
  47. package/src/lib/promise/poll.js.map +1 -0
  48. package/src/lib/promise/promise.d.ts +0 -1
  49. package/src/lib/promise/promise.js +2 -6
  50. package/src/lib/promise/promise.js.map +1 -1
  51. package/src/lib/promise/promise.loop.d.ts +1 -0
  52. package/src/lib/promise/promise.loop.js.map +1 -1
  53. package/src/lib/promise/wait.d.ts +6 -0
  54. package/src/lib/promise/wait.js +11 -0
  55. package/src/lib/promise/wait.js.map +1 -0
  56. package/src/lib/string.d.ts +1 -0
  57. package/src/lib/string.js +5 -1
  58. package/src/lib/string.js.map +1 -1
  59. package/src/lib/tree/index.d.ts +4 -0
  60. package/src/lib/tree/index.js +8 -0
  61. package/src/lib/tree/index.js.map +1 -0
  62. package/src/lib/tree/tree.array.d.ts +15 -0
  63. package/src/lib/tree/tree.array.js +19 -0
  64. package/src/lib/tree/tree.array.js.map +1 -0
  65. package/src/lib/tree/tree.d.ts +13 -0
  66. package/src/lib/tree/tree.expand.d.ts +40 -0
  67. package/src/lib/tree/tree.expand.js +34 -0
  68. package/src/lib/tree/tree.expand.js.map +1 -0
  69. package/src/lib/tree/tree.flatten.d.ts +27 -0
  70. package/src/lib/tree/tree.flatten.js +47 -0
  71. package/src/lib/tree/tree.flatten.js.map +1 -0
  72. package/src/lib/tree/tree.js +3 -0
  73. package/src/lib/tree/tree.js.map +1 -0
  74. package/src/lib/type.d.ts +1 -0
  75. package/src/lib/value.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.expand.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/tree/tree.expand.ts"],"names":[],"mappings":";;;AAcC,CAAC;AAwBF,SAAgB,kBAAkB,CAAiD,MAAuD;;IACxI,MAAM,QAAQ,GAA6B,MAAC,MAAc,CAAC,QAAQ,mCAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAS,CAAC,CAAC;IAE7F,MAAM,QAAQ,GAAG,CAAC,KAAQ,EAAE,MAAU,EAAK,EAAE;QAC3C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAkC;YAC9C,KAAK;YACL,MAAM;YACN,KAAK;SACN,CAAC;QAEF,MAAM,IAAI,GAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,cAAc,GAAe,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAlBD,gDAkBC;AAED;;;;;;GAMG;AACF,SAAgB,WAAW,CAA8B,MAAW,EAAE,QAAkC;IACvG,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAFA,kCAEA"}
@@ -0,0 +1,27 @@
1
+ import { TreeNode } from "./tree";
2
+ /**
3
+ * Flattens the tree by pushing the values into the input array, or a new array and returns the value.
4
+ */
5
+ export declare type FlattenTreeFunction<N extends TreeNode<any>, V> = (tree: N, array?: V[]) => V[];
6
+ /**
7
+ * Traverses the tree and flattens it into all tree nodes.
8
+ */
9
+ export declare function flattenTree<N extends TreeNode<any> = TreeNode<any>>(tree: N): N[];
10
+ /**
11
+ * Traverses the tree and pushes the nodes into the input array.
12
+ *
13
+ * @param tree
14
+ * @param array
15
+ * @returns
16
+ */
17
+ export declare function flattenTreeToArray<N extends TreeNode<any> = TreeNode<any>>(tree: N, array: N[]): N[];
18
+ export declare function flattenTreeToArrayFunction<N extends TreeNode<any>>(): FlattenTreeFunction<N, N>;
19
+ export declare function flattenTreeToArrayFunction<N extends TreeNode<any, N>, V>(mapNodeFn?: ((node: N) => V)): FlattenTreeFunction<N, V>;
20
+ /**
21
+ * Convenience function for flattening multiple trees with a flatten function.
22
+ *
23
+ * @param trees
24
+ * @param flattenFn
25
+ * @returns
26
+ */
27
+ export declare function flattenTrees<N extends TreeNode<any, N>, V>(trees: N[], flattenFn: FlattenTreeFunction<N, V>): V[];
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.flattenTrees = exports.flattenTreeToArrayFunction = exports.flattenTreeToArray = exports.flattenTree = void 0;
4
+ /**
5
+ * Traverses the tree and flattens it into all tree nodes.
6
+ */
7
+ function flattenTree(tree) {
8
+ return flattenTreeToArray(tree, []);
9
+ }
10
+ exports.flattenTree = flattenTree;
11
+ /**
12
+ * Traverses the tree and pushes the nodes into the input array.
13
+ *
14
+ * @param tree
15
+ * @param array
16
+ * @returns
17
+ */
18
+ function flattenTreeToArray(tree, array) {
19
+ return flattenTreeToArrayFunction()(tree, array);
20
+ }
21
+ exports.flattenTreeToArray = flattenTreeToArray;
22
+ function flattenTreeToArrayFunction(mapNodeFn) {
23
+ const mapNode = mapNodeFn !== null && mapNodeFn !== void 0 ? mapNodeFn : ((x) => x);
24
+ const flattenFn = (tree, array = []) => {
25
+ array.push(mapNode(tree));
26
+ if (tree.children) {
27
+ tree.children.forEach((x) => flattenFn(x, array));
28
+ }
29
+ return array;
30
+ };
31
+ return flattenFn;
32
+ }
33
+ exports.flattenTreeToArrayFunction = flattenTreeToArrayFunction;
34
+ /**
35
+ * Convenience function for flattening multiple trees with a flatten function.
36
+ *
37
+ * @param trees
38
+ * @param flattenFn
39
+ * @returns
40
+ */
41
+ function flattenTrees(trees, flattenFn) {
42
+ const array = [];
43
+ trees.forEach((x) => flattenFn(x, array));
44
+ return array;
45
+ }
46
+ exports.flattenTrees = flattenTrees;
47
+ //# sourceMappingURL=tree.flatten.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.flatten.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/tree/tree.flatten.ts"],"names":[],"mappings":";;;AAQA;;GAEG;AACH,SAAgB,WAAW,CAA0C,IAAO;IAC1E,OAAO,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAFD,kCAEC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAA0C,IAAO,EAAE,KAAU;IAC7F,OAAO,0BAA0B,EAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAFD,gDAEC;AAID,SAAgB,0BAA0B,CAAgC,SAA4B;IACpG,MAAM,OAAO,GAAmB,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAQ,CAAC,CAAC;IAE/D,MAAM,SAAS,GAAG,CAAC,IAAO,EAAE,QAAa,EAAE,EAAE,EAAE;QAC7C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SACnD;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AAdD,gEAcC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAgC,KAAU,EAAE,SAAoC;IAC1G,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAJD,oCAIC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/tree/tree.ts"],"names":[],"mappings":""}
package/src/lib/type.d.ts CHANGED
@@ -7,3 +7,4 @@ export declare type ClassType<T> = {
7
7
  export declare type KeyValueTransformMap<T, V, K extends keyof T = keyof T> = {
8
8
  [k in K]: V;
9
9
  };
10
+ export declare type BooleanKeyValueTransformMap<T> = KeyValueTransformMap<T, boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/value.ts"],"names":[],"mappings":";;;AAuBA,SAAgB,eAAe,CAAI,KAAe;IAChD,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAFD,0CAEC;AAmBD,SAAgB,kBAAkB,CAAC,KAAU;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;KACzB;SAAM;QACL,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;KACtC;AACH,CAAC;AAND,gDAMC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAI,CAAW,EAAE,CAAW;IAC5D,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AAChC,CAAC;AAFD,gDAEC"}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/value.ts"],"names":[],"mappings":";;;AAsBA,SAAgB,eAAe,CAAI,KAAe;IAChD,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAFD,0CAEC;AAmBD,SAAgB,kBAAkB,CAAC,KAAU;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;KACzB;SAAM;QACL,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;KACtC;AACH,CAAC;AAND,gDAMC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAI,CAAW,EAAE,CAAW;IAC5D,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AAChC,CAAC;AAFD,gDAEC"}