@bemoje/array 0.0.10 → 0.2.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 (130) hide show
  1. package/README.md +6 -34
  2. package/package.json +10 -10
  3. package/{dist/types → src}/index.d.ts +0 -1
  4. package/src/index.js +33 -0
  5. package/src/index.js.map +1 -0
  6. package/{dist/types → src}/lib/arrAverage.d.ts +0 -1
  7. package/src/lib/arrAverage.js +22 -0
  8. package/src/lib/arrAverage.js.map +1 -0
  9. package/{dist/types → src}/lib/arrEachToString.d.ts +0 -1
  10. package/src/lib/arrEachToString.js +19 -0
  11. package/src/lib/arrEachToString.js.map +1 -0
  12. package/{dist/types → src}/lib/arrEvery.d.ts +0 -1
  13. package/src/lib/arrEvery.js +28 -0
  14. package/src/lib/arrEvery.js.map +1 -0
  15. package/{dist/types → src}/lib/arrFindIndicesOf.d.ts +0 -1
  16. package/src/lib/arrFindIndicesOf.js +20 -0
  17. package/src/lib/arrFindIndicesOf.js.map +1 -0
  18. package/{dist/types → src}/lib/arrFindLast.d.ts +0 -1
  19. package/src/lib/arrFindLast.js +22 -0
  20. package/src/lib/arrFindLast.js.map +1 -0
  21. package/{dist/types → src}/lib/arrFindLastIndexOf.d.ts +0 -1
  22. package/src/lib/arrFindLastIndexOf.js +25 -0
  23. package/src/lib/arrFindLastIndexOf.js.map +1 -0
  24. package/{dist/types → src}/lib/arrFlatten.d.ts +0 -1
  25. package/src/lib/arrFlatten.js +34 -0
  26. package/src/lib/arrFlatten.js.map +1 -0
  27. package/{dist/types → src}/lib/arrIndicesOf.d.ts +0 -1
  28. package/src/lib/arrIndicesOf.js +27 -0
  29. package/src/lib/arrIndicesOf.js.map +1 -0
  30. package/{dist/types → src}/lib/arrLast.d.ts +0 -1
  31. package/src/lib/arrLast.js +21 -0
  32. package/src/lib/arrLast.js.map +1 -0
  33. package/{dist/types → src}/lib/arrMapMutable.d.ts +0 -1
  34. package/src/lib/arrMapMutable.js +22 -0
  35. package/src/lib/arrMapMutable.js.map +1 -0
  36. package/{dist/types → src}/lib/arrObjectsToTable.d.ts +0 -1
  37. package/src/lib/arrObjectsToTable.js +37 -0
  38. package/src/lib/arrObjectsToTable.js.map +1 -0
  39. package/{dist/types → src}/lib/arrObjectsUniqueKeys.d.ts +0 -1
  40. package/src/lib/arrObjectsUniqueKeys.js +29 -0
  41. package/src/lib/arrObjectsUniqueKeys.js.map +1 -0
  42. package/{dist/types → src}/lib/arrRemoveDuplicates.d.ts +0 -1
  43. package/src/lib/arrRemoveDuplicates.js +20 -0
  44. package/src/lib/arrRemoveDuplicates.js.map +1 -0
  45. package/{dist/types → src}/lib/arrShallowEquals.d.ts +0 -1
  46. package/src/lib/arrShallowEquals.js +25 -0
  47. package/src/lib/arrShallowEquals.js.map +1 -0
  48. package/{dist/types → src}/lib/arrShuffle.d.ts +0 -1
  49. package/src/lib/arrShuffle.js +34 -0
  50. package/src/lib/arrShuffle.js.map +1 -0
  51. package/{dist/types → src}/lib/arrSome.d.ts +0 -1
  52. package/src/lib/arrSome.js +26 -0
  53. package/src/lib/arrSome.js.map +1 -0
  54. package/{dist/types → src}/lib/arrSortNumeric.d.ts +0 -1
  55. package/src/lib/arrSortNumeric.js +22 -0
  56. package/src/lib/arrSortNumeric.js.map +1 -0
  57. package/{dist/types → src}/lib/arrSortedInsertionIndex.d.ts +0 -1
  58. package/src/lib/arrSortedInsertionIndex.js +36 -0
  59. package/src/lib/arrSortedInsertionIndex.js.map +1 -0
  60. package/{dist/types → src}/lib/arrSplit.d.ts +0 -1
  61. package/src/lib/arrSplit.js +19 -0
  62. package/src/lib/arrSplit.js.map +1 -0
  63. package/{dist/types → src}/lib/arrSum.d.ts +0 -1
  64. package/src/lib/arrSum.js +18 -0
  65. package/src/lib/arrSum.js.map +1 -0
  66. package/{dist/types → src}/lib/arrSwap.d.ts +0 -1
  67. package/src/lib/arrSwap.js +24 -0
  68. package/src/lib/arrSwap.js.map +1 -0
  69. package/{dist/types → src}/lib/arrTableAssertRowsSameLength.d.ts +0 -1
  70. package/src/lib/arrTableAssertRowsSameLength.js +37 -0
  71. package/src/lib/arrTableAssertRowsSameLength.js.map +1 -0
  72. package/{dist/types → src}/lib/arrTableEachToString.d.ts +0 -1
  73. package/src/lib/arrTableEachToString.js +20 -0
  74. package/src/lib/arrTableEachToString.js.map +1 -0
  75. package/{dist/types → src}/lib/arrTableToCsv.d.ts +0 -1
  76. package/src/lib/arrTableToCsv.js +34 -0
  77. package/src/lib/arrTableToCsv.js.map +1 -0
  78. package/{dist/types → src}/lib/arrTableToObjects.d.ts +0 -1
  79. package/src/lib/arrTableToObjects.js +51 -0
  80. package/src/lib/arrTableToObjects.js.map +1 -0
  81. package/{dist/types → src}/lib/types/ArrayPredicate.d.ts +0 -1
  82. package/src/lib/types/ArrayPredicate.js +3 -0
  83. package/src/lib/types/ArrayPredicate.js.map +1 -0
  84. package/{dist/types → src}/lib/types/ArrayValueCallback.d.ts +0 -1
  85. package/src/lib/types/ArrayValueCallback.js +3 -0
  86. package/src/lib/types/ArrayValueCallback.js.map +1 -0
  87. package/{dist/types → src}/lib/types/ArrayVoidCallback.d.ts +0 -1
  88. package/src/lib/types/ArrayVoidCallback.js +3 -0
  89. package/src/lib/types/ArrayVoidCallback.js.map +1 -0
  90. package/{dist/types → src}/lib/types/NestedArray.d.ts +0 -1
  91. package/src/lib/types/NestedArray.js +3 -0
  92. package/src/lib/types/NestedArray.js.map +1 -0
  93. package/LICENSE +0 -21
  94. package/dist/index.cjs.js +0 -6
  95. package/dist/index.cjs.js.map +0 -1
  96. package/dist/index.esm.js +0 -6
  97. package/dist/index.esm.js.map +0 -1
  98. package/dist/types/index.d.ts.map +0 -1
  99. package/dist/types/lib/arrAverage.d.ts.map +0 -1
  100. package/dist/types/lib/arrEachToString.d.ts.map +0 -1
  101. package/dist/types/lib/arrEvery.d.ts.map +0 -1
  102. package/dist/types/lib/arrFindIndicesOf.d.ts.map +0 -1
  103. package/dist/types/lib/arrFindLast.d.ts.map +0 -1
  104. package/dist/types/lib/arrFindLastIndexOf.d.ts.map +0 -1
  105. package/dist/types/lib/arrFlatten.d.ts.map +0 -1
  106. package/dist/types/lib/arrIndicesOf.d.ts.map +0 -1
  107. package/dist/types/lib/arrLast.d.ts.map +0 -1
  108. package/dist/types/lib/arrMapMutable.d.ts.map +0 -1
  109. package/dist/types/lib/arrObjectsToTable.d.ts.map +0 -1
  110. package/dist/types/lib/arrObjectsUniqueKeys.d.ts.map +0 -1
  111. package/dist/types/lib/arrRemoveDuplicates.d.ts.map +0 -1
  112. package/dist/types/lib/arrShallowEquals.d.ts.map +0 -1
  113. package/dist/types/lib/arrShuffle.d.ts.map +0 -1
  114. package/dist/types/lib/arrSome.d.ts.map +0 -1
  115. package/dist/types/lib/arrSortNumeric.d.ts.map +0 -1
  116. package/dist/types/lib/arrSortedInsertionIndex.d.ts.map +0 -1
  117. package/dist/types/lib/arrSplit.d.ts.map +0 -1
  118. package/dist/types/lib/arrSum.d.ts.map +0 -1
  119. package/dist/types/lib/arrSwap.d.ts.map +0 -1
  120. package/dist/types/lib/arrTableAssertRowsSameLength.d.ts.map +0 -1
  121. package/dist/types/lib/arrTableEachToString.d.ts.map +0 -1
  122. package/dist/types/lib/arrTableToCsv.d.ts.map +0 -1
  123. package/dist/types/lib/arrTableToObjects.d.ts.map +0 -1
  124. package/dist/types/lib/types/ArrayPredicate.d.ts.map +0 -1
  125. package/dist/types/lib/types/ArrayValueCallback.d.ts.map +0 -1
  126. package/dist/types/lib/types/ArrayVoidCallback.d.ts.map +0 -1
  127. package/dist/types/lib/types/NestedArray.d.ts.map +0 -1
  128. package/jest.config.ts +0 -13
  129. package/project.json +0 -30
  130. package/tsconfig.spec.json +0 -9
package/README.md CHANGED
@@ -1,39 +1,11 @@
1
- # @bemoje/array
2
- array related tools/util.
1
+ # array
3
2
 
4
- ![GitHub Top Language](https://img.shields.io/github/languages/top/bemoje/https://github.com/bemoje/tsmono)
3
+ This library was generated with [Nx](https://nx.dev).
5
4
 
6
- ##### Github
7
- ![GitHub Last Commit](https://img.shields.io/github/last-commit/bemoje/https://github.com/bemoje/tsmono?color=red)
8
- ![GitHub Stars](https://img.shields.io/github/stars/bemoje/https://github.com/bemoje/tsmono)
9
- ![GitHub Forks](https://img.shields.io/github/forks/bemoje/https://github.com/bemoje/tsmono)
10
- ![GitHub Watchers](https://img.shields.io/github/watchers/bemoje/https://github.com/bemoje/tsmono)
11
- ![GitHub Repo Size](https://img.shields.io/github/repo-size/bemoje/https://github.com/bemoje/tsmono)
5
+ ## Building
12
6
 
13
- ##### NPM
14
- <span><a href="https://npmjs.org/@bemoje/array" title="View this project on NPM"><img src="https://img.shields.io/npm/v/@bemoje/array" alt="NPM Version" /></a></span>
15
- <span><a href="https://npmjs.org/@bemoje/array" title="NPM Downloads"><img src="https://img.shields.io/npm/dt/@bemoje/array" alt="NPM Downloads" /></a></span>
7
+ Run `nx build array` to build the library.
16
8
 
17
- ## Documentation
18
- [array docs](https://bemoje.github.io/tsmono/modules/array.html)
9
+ ## Running unit tests
19
10
 
20
- ##### Donate
21
- <span><a href="https://www.patreon.com/user?u=40752770" title="Donate using Patreon"><img src="https://img.shields.io/badge/patreon-donate-yellow.svg" alt="Patreon Donation" /></a></span>
22
-
23
- ## Installation
24
- This library is published in the NPM registry and can be installed using any compatible package manager.
25
-
26
- #### NPM
27
- ```sh
28
- npm install @bemoje/array
29
- ```
30
-
31
-
32
- ## Issues
33
- Please let me know of any bugs or [issues](https://github.com/bemoje/https://github.com/bemoje/tsmono/issues).
34
-
35
- ## Contribute
36
- Contributors are welcome to open a [pull request](https://github.com/bemoje/https://github.com/bemoje/tsmono/pulls).
37
-
38
- ## License
39
- Released under the [MIT License](./LICENSE).
11
+ Run `nx test array` to execute the unit tests via [Jest](https://jestjs.io).
package/package.json CHANGED
@@ -1,13 +1,9 @@
1
1
  {
2
2
  "name": "@bemoje/array",
3
- "version": "0.0.10",
3
+ "version": "0.2.0",
4
4
  "description": "array related tools/util.",
5
- "main": "dist/index.cjs.js",
6
- "module": "dist/index.esm.js",
7
- "types": "dist/types/index.d.ts",
8
- "scripts": {
9
- "build": "rimraf dist && rollup --config ./rollup.config.js --bundleConfigAsCjs"
10
- },
5
+ "main": "./src/index.js",
6
+ "scripts": {},
11
7
  "author": {
12
8
  "name": "Benjamin Møller Jensen",
13
9
  "email": "bemoje@bemoje.net",
@@ -19,7 +15,8 @@
19
15
  "@bemoje/number": "latest",
20
16
  "@bemoje/sort": "latest",
21
17
  "@bemoje/string": "latest",
22
- "@bemoje/validation": "latest"
18
+ "@bemoje/validation": "latest",
19
+ "tslib": "^2.3.0"
23
20
  },
24
21
  "repository": {
25
22
  "type": "git",
@@ -32,5 +29,8 @@
32
29
  "bugs": {
33
30
  "url": "https://github.com/bemoje/tsmono/issues"
34
31
  },
35
- "homepage": "https://github.com/bemoje/tsmono"
36
- }
32
+ "homepage": "https://github.com/bemoje/tsmono",
33
+ "type": "commonjs",
34
+ "typings": "./src/index.d.ts",
35
+ "types": "./src/index.d.ts"
36
+ }
@@ -27,4 +27,3 @@ export * from './lib/types/ArrayPredicate';
27
27
  export * from './lib/types/ArrayValueCallback';
28
28
  export * from './lib/types/ArrayVoidCallback';
29
29
  export * from './lib/types/NestedArray';
30
- //# sourceMappingURL=index.d.ts.map
package/src/index.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/arrAverage"), exports);
5
+ tslib_1.__exportStar(require("./lib/arrEachToString"), exports);
6
+ tslib_1.__exportStar(require("./lib/arrEvery"), exports);
7
+ tslib_1.__exportStar(require("./lib/arrFindIndicesOf"), exports);
8
+ tslib_1.__exportStar(require("./lib/arrFindLast"), exports);
9
+ tslib_1.__exportStar(require("./lib/arrFindLastIndexOf"), exports);
10
+ tslib_1.__exportStar(require("./lib/arrFlatten"), exports);
11
+ tslib_1.__exportStar(require("./lib/arrIndicesOf"), exports);
12
+ tslib_1.__exportStar(require("./lib/arrLast"), exports);
13
+ tslib_1.__exportStar(require("./lib/arrMapMutable"), exports);
14
+ tslib_1.__exportStar(require("./lib/arrObjectsToTable"), exports);
15
+ tslib_1.__exportStar(require("./lib/arrObjectsUniqueKeys"), exports);
16
+ tslib_1.__exportStar(require("./lib/arrRemoveDuplicates"), exports);
17
+ tslib_1.__exportStar(require("./lib/arrShallowEquals"), exports);
18
+ tslib_1.__exportStar(require("./lib/arrShuffle"), exports);
19
+ tslib_1.__exportStar(require("./lib/arrSome"), exports);
20
+ tslib_1.__exportStar(require("./lib/arrSortedInsertionIndex"), exports);
21
+ tslib_1.__exportStar(require("./lib/arrSortNumeric"), exports);
22
+ tslib_1.__exportStar(require("./lib/arrSplit"), exports);
23
+ tslib_1.__exportStar(require("./lib/arrSum"), exports);
24
+ tslib_1.__exportStar(require("./lib/arrSwap"), exports);
25
+ tslib_1.__exportStar(require("./lib/arrTableAssertRowsSameLength"), exports);
26
+ tslib_1.__exportStar(require("./lib/arrTableEachToString"), exports);
27
+ tslib_1.__exportStar(require("./lib/arrTableToCsv"), exports);
28
+ tslib_1.__exportStar(require("./lib/arrTableToObjects"), exports);
29
+ tslib_1.__exportStar(require("./lib/types/ArrayPredicate"), exports);
30
+ tslib_1.__exportStar(require("./lib/types/ArrayValueCallback"), exports);
31
+ tslib_1.__exportStar(require("./lib/types/ArrayVoidCallback"), exports);
32
+ tslib_1.__exportStar(require("./lib/types/NestedArray"), exports);
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/array/src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAgC;AAChC,gEAAqC;AACrC,yDAA8B;AAC9B,iEAAsC;AACtC,4DAAiC;AACjC,mEAAwC;AACxC,2DAAgC;AAChC,6DAAkC;AAClC,wDAA6B;AAC7B,8DAAmC;AACnC,kEAAuC;AACvC,qEAA0C;AAC1C,oEAAyC;AACzC,iEAAsC;AACtC,2DAAgC;AAChC,wDAA6B;AAC7B,wEAA6C;AAC7C,+DAAoC;AACpC,yDAA8B;AAC9B,uDAA4B;AAC5B,wDAA6B;AAC7B,6EAAkD;AAClD,qEAA0C;AAC1C,8DAAmC;AACnC,kEAAuC;AACvC,qEAA0C;AAC1C,yEAA8C;AAC9C,wEAA6C;AAC7C,kEAAuC"}
@@ -10,4 +10,3 @@
10
10
  * ```
11
11
  */
12
12
  export declare function arrAverage(array: number[]): number;
13
- //# sourceMappingURL=arrAverage.d.ts.map
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrAverage = void 0;
4
+ const arrSum_1 = require("./arrSum");
5
+ /**
6
+ * Calculates the average of an array of numbers.
7
+ * @returns The average of all numbers in the array.
8
+ * @throws an error if the input array is empty.
9
+ * @param array The array of numbers.
10
+ * @example ```ts
11
+ * const numbers = [1, 2, 3, 4, 5];
12
+ * arrAverage(numbers);
13
+ * //=> 3
14
+ * ```
15
+ */
16
+ function arrAverage(array) {
17
+ if (!array.length)
18
+ throw new Error('Cannot take an average of zero values.');
19
+ return (0, arrSum_1.arrSum)(array) / array.length;
20
+ }
21
+ exports.arrAverage = arrAverage;
22
+ //# sourceMappingURL=arrAverage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrAverage.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrAverage.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAEjC;;;;;;;;;;GAUG;AACH,SAAgB,UAAU,CAAC,KAAe;IACxC,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC5E,OAAO,IAAA,eAAM,EAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;AACrC,CAAC;AAHD,gCAGC"}
@@ -10,4 +10,3 @@
10
10
  * ```
11
11
  */
12
12
  export declare function arrEachToString<T>(array: T[]): string[];
13
- //# sourceMappingURL=arrEachToString.d.ts.map
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrEachToString = void 0;
4
+ /**
5
+ * Coerce each element of an array to string.
6
+ * @template T - The type of elements in the input array.
7
+ * @returns A new array where each element is the string representation of the corresponding element in the input array.
8
+ * @param array The array to iterate over.
9
+ * @example ```ts
10
+ * const numbers = [1, 2, 3];
11
+ * arrEachToString(numbers);
12
+ * //=> ['1', '2', '3']
13
+ * ```
14
+ */
15
+ function arrEachToString(array) {
16
+ return array.map((element) => '' + element);
17
+ }
18
+ exports.arrEachToString = arrEachToString;
19
+ //# sourceMappingURL=arrEachToString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrEachToString.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrEachToString.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAAI,KAAU;IAC3C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAA;AAC7C,CAAC;AAFD,0CAEC"}
@@ -15,4 +15,3 @@ import type { ArrayPredicate } from './types/ArrayPredicate';
15
15
  * ```
16
16
  */
17
17
  export declare function arrEvery<T>(input: Array<T>, predicate: ArrayPredicate<T>): boolean;
18
- //# sourceMappingURL=arrEvery.d.ts.map
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrEvery = void 0;
4
+ /**
5
+ * Returns true if the predicate is satisfied for every element of the passed array; otherwise false.
6
+ * @param input The array
7
+ * @template T - The type of elements in the array.
8
+ * @returns Returns `true` if all elements pass the predicate check, else `false`.
9
+ * @param predicate A predicate callback function
10
+ * @example ```ts
11
+ * const numbers = [1, 2, 3, 4, 5];
12
+ * const isEven = (num) => num % 2 === 0;
13
+ * arrEvery(numbers, isEven);
14
+ * //=> false
15
+ * arrEvery(numbers, (num) => num > 0);
16
+ * //=> true
17
+ * ```
18
+ */
19
+ function arrEvery(input, predicate) {
20
+ for (let i = 0, len = input.length; i < len; i++) {
21
+ if (predicate(input[i], i, input) === false) {
22
+ return false;
23
+ }
24
+ }
25
+ return true;
26
+ }
27
+ exports.arrEvery = arrEvery;
28
+ //# sourceMappingURL=arrEvery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrEvery.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrEvery.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;GAcG;AACH,SAAgB,QAAQ,CAAI,KAAe,EAAE,SAA4B;IACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAChD,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,KAAK,EAAE;YAC3C,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAPD,4BAOC"}
@@ -5,4 +5,3 @@
5
5
  * @returns An array of indices where the predicate function returns true.
6
6
  */
7
7
  export declare function arrFindIndicesOf<T>(input: Array<T>, predicate: (value: T) => boolean): number[];
8
- //# sourceMappingURL=arrFindIndicesOf.d.ts.map
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrFindIndicesOf = void 0;
4
+ /**
5
+ * Returns an array of indices where the predicate function returns true for the corresponding element in the input array.
6
+ * @param input - The array to search.
7
+ * @param predicate - The function to test each element of the array.
8
+ * @returns An array of indices where the predicate function returns true.
9
+ */
10
+ function arrFindIndicesOf(input, predicate) {
11
+ const result = [];
12
+ for (let i = 0; i < input.length; i++) {
13
+ if (predicate(input[i])) {
14
+ result.push(i);
15
+ }
16
+ }
17
+ return result;
18
+ }
19
+ exports.arrFindIndicesOf = arrFindIndicesOf;
20
+ //# sourceMappingURL=arrFindIndicesOf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrFindIndicesOf.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrFindIndicesOf.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAI,KAAe,EAAE,SAAgC;IACnF,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SACf;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AARD,4CAQC"}
@@ -9,4 +9,3 @@
9
9
  * //=> 6
10
10
  */
11
11
  export declare function arrFindLast<T>(input: Array<T>, predicate: (value: T) => boolean): T | undefined;
12
- //# sourceMappingURL=arrFindLast.d.ts.map
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrFindLast = void 0;
4
+ /**
5
+ * Searches for the last element in an array that satisfies a provided testing function.
6
+ * @typeParam T - The type of elements in the input array.
7
+ * @param input - The array to search within.
8
+ * @param predicate - The function to test each element for a condition.
9
+ * @returns The last element in the array that satisfies the provided testing function. Otherwise, undefined if no elements satisfy the testing function.
10
+ * @example const numbers = [1, 2, 3, 4, 5, 6];
11
+ * arrFindLast(numbers, num => num % 2 === 0);
12
+ * //=> 6
13
+ */
14
+ function arrFindLast(input, predicate) {
15
+ for (let i = input.length - 1; i >= 0; i--) {
16
+ if (predicate(input[i]) === true) {
17
+ return input[i];
18
+ }
19
+ }
20
+ }
21
+ exports.arrFindLast = arrFindLast;
22
+ //# sourceMappingURL=arrFindLast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrFindLast.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrFindLast.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,SAAgB,WAAW,CAAI,KAAe,EAAE,SAAgC;IAC9E,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;YAChC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;SAChB;KACF;AACH,CAAC;AAND,kCAMC"}
@@ -11,4 +11,3 @@
11
11
  * ```
12
12
  */
13
13
  export declare function arrFindLastIndexOf<T>(input: Array<T>, predicate: (value: T) => boolean): number;
14
- //# sourceMappingURL=arrFindLastIndexOf.d.ts.map
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrFindLastIndexOf = void 0;
4
+ /**
5
+ * Searches for an element in an array in reverse order and returns the index of the last occurrence of the element for which the provided testing function returns true.
6
+ * If no such element is found, it returns -1.
7
+ * @param input - The array to search in.
8
+ * @param predicate - The testing function. Takes a value and returns a boolean.
9
+ * @returns The index of the last occurrence of the element in the array that passes the test. If no such element is found, it returns -1.
10
+ * @example ```ts
11
+ * const arr = [1, 2, 3, 4, 5, 4, 3];
12
+ * arrFindLastIndexOf(arr, (value) => value === 4);
13
+ * //=> 5
14
+ * ```
15
+ */
16
+ function arrFindLastIndexOf(input, predicate) {
17
+ for (let i = input.length - 1; i >= 0; i--) {
18
+ if (predicate(input[i])) {
19
+ return i;
20
+ }
21
+ }
22
+ return -1;
23
+ }
24
+ exports.arrFindLastIndexOf = arrFindLastIndexOf;
25
+ //# sourceMappingURL=arrFindLastIndexOf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrFindLastIndexOf.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrFindLastIndexOf.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,SAAgB,kBAAkB,CAAI,KAAe,EAAE,SAAgC;IACrF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACvB,OAAO,CAAC,CAAA;SACT;KACF;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAPD,gDAOC"}
@@ -14,4 +14,3 @@ import type { NestedArray } from './types/NestedArray';
14
14
  * ```
15
15
  */
16
16
  export declare function arrFlatten<T>(input: NestedArray<T>, maxDepth?: number): Array<T>;
17
- //# sourceMappingURL=arrFlatten.d.ts.map
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrFlatten = void 0;
4
+ /**
5
+ * Flattens the passed array recursively to a specified depth. Immutable.
6
+ * @param input the array to flatten
7
+ * @template T - The type of the elements in the input array.
8
+ * @param - The maximum depth to flatten. Defaults to the maximum safe integer.
9
+ * @returns The flattened array.
10
+ * @throws If the input is not an array.
11
+ * @param maxDepth the maximum recursive flattening depth.
12
+ * @example ```ts
13
+ * const nestedArray = [[1, 2], [3, [4, 5]], [6]];
14
+ * arrFlatten(nestedArray, 1);
15
+ * //=> [1, 2, 3, [4, 5], 6]
16
+ * ```
17
+ */
18
+ function arrFlatten(input, maxDepth = Number.MAX_SAFE_INTEGER) {
19
+ const accum = [];
20
+ function recurse(arr, depth) {
21
+ for (let i = 0; i < arr.length; i++) {
22
+ if (Array.isArray(arr[i]) && depth < maxDepth) {
23
+ recurse(arr[i], depth + 1);
24
+ }
25
+ else {
26
+ accum.push(arr[i]);
27
+ }
28
+ }
29
+ }
30
+ recurse(input, 0);
31
+ return accum;
32
+ }
33
+ exports.arrFlatten = arrFlatten;
34
+ //# sourceMappingURL=arrFlatten.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrFlatten.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrFlatten.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;GAaG;AACH,SAAgB,UAAU,CAAI,KAAqB,EAAE,QAAQ,GAAG,MAAM,CAAC,gBAAgB;IACrF,MAAM,KAAK,GAAQ,EAAE,CAAA;IACrB,SAAS,OAAO,CAAC,GAAmB,EAAE,KAAa;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,QAAQ,EAAE;gBAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;aAClC;iBAAM;gBACL,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,CAAC,CAAA;aACxB;SACF;IACH,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACjB,OAAO,KAAK,CAAA;AACd,CAAC;AAbD,gCAaC"}
@@ -12,4 +12,3 @@
12
12
  * ```
13
13
  */
14
14
  export declare function arrIndicesOf<T>(input: Array<T>, element: T): number[];
15
- //# sourceMappingURL=arrIndicesOf.d.ts.map
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrIndicesOf = void 0;
4
+ /**
5
+ * Returns all indexes at which an element is found.
6
+ * @param input The array to search
7
+ * @template T - The type of elements in the input array.
8
+ * @returns An array of indices where the specified element can be found.
9
+ * @param element The element to find
10
+ * @example ```ts
11
+ * const inputArray = [1, 2, 3, 2, 4, 2, 5];
12
+ * const elementToFind = 2;
13
+ * arrIndicesOf(inputArray, elementToFind);
14
+ * //=> [1, 3, 5]
15
+ * ```
16
+ */
17
+ function arrIndicesOf(input, element) {
18
+ const result = [];
19
+ for (let i = 0; i < input.length; i++) {
20
+ if (element === input[i]) {
21
+ result.push(i);
22
+ }
23
+ }
24
+ return result;
25
+ }
26
+ exports.arrIndicesOf = arrIndicesOf;
27
+ //# sourceMappingURL=arrIndicesOf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrIndicesOf.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrIndicesOf.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,SAAgB,YAAY,CAAI,KAAe,EAAE,OAAU;IACzD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SACf;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AARD,oCAQC"}
@@ -10,4 +10,3 @@
10
10
  * //=> 5
11
11
  */
12
12
  export declare function arrLast<T>(array: T[]): T;
13
- //# sourceMappingURL=arrLast.d.ts.map
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrLast = void 0;
4
+ /**
5
+ * Returns the last element of an array.
6
+ * Throws an error if the array is empty.
7
+ * @template T The type of elements in the array.
8
+ * @param array The array to get the last element from.
9
+ * @returns The last element of the array.
10
+ * @throws If the array is empty.
11
+ * @example const numbers = [1, 2, 3, 4, 5];
12
+ * const lastNumber = arrLast(numbers);
13
+ * //=> 5
14
+ */
15
+ function arrLast(array) {
16
+ if (!array.length)
17
+ throw new Error('Cannot get last element of empty array.');
18
+ return array[array.length - 1];
19
+ }
20
+ exports.arrLast = arrLast;
21
+ //# sourceMappingURL=arrLast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrLast.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrLast.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,SAAgB,OAAO,CAAI,KAAU;IACnC,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC7E,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAChC,CAAC;AAHD,0BAGC"}
@@ -11,4 +11,3 @@ import type { ArrayValueCallback } from './types/ArrayValueCallback';
11
11
  * ```
12
12
  */
13
13
  export declare function arrMapMutable<T>(input: Array<T>, f: ArrayValueCallback<T>): Array<T>;
14
- //# sourceMappingURL=arrMapMutable.d.ts.map
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrMapMutable = void 0;
4
+ /**
5
+ * This function takes an array and a callback function as arguments. It applies the callback function to each element of the array, mutating the original array in the process.
6
+ * @template T The type of elements in the input array.
7
+ * @param input The array to be mapped over.
8
+ * @param f The callback function to be applied to each element of the array. This function takes three arguments: the current element, its index, and the original array.
9
+ * @returns The original array, mutated by the callback function.
10
+ * @example ```ts
11
+ * arrMapMutable([1, 2, 3], (value: number) => value * 2);;
12
+ * //=> [2, 4, 6]
13
+ * ```
14
+ */
15
+ function arrMapMutable(input, f) {
16
+ for (let i = 0; i < input.length; i++) {
17
+ input[i] = f(input[i], i, input);
18
+ }
19
+ return input;
20
+ }
21
+ exports.arrMapMutable = arrMapMutable;
22
+ //# sourceMappingURL=arrMapMutable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrMapMutable.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrMapMutable.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;GAUG;AACH,SAAgB,aAAa,CAAI,KAAe,EAAE,CAAwB;IACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;KACjC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AALD,sCAKC"}
@@ -20,4 +20,3 @@ export declare function arrObjectsToTable<T, E>(objects: Record<string, T | unde
20
20
  headers?: string[];
21
21
  emptyCell?: E;
22
22
  }): Array<Array<string | T | E>>;
23
- //# sourceMappingURL=arrObjectsToTable.d.ts.map
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrObjectsToTable = void 0;
4
+ const arrObjectsUniqueKeys_1 = require("./arrObjectsUniqueKeys");
5
+ /**
6
+ * Convert an array of objects to a two-dimensional table.
7
+ * @param objects The array of objects to convert to a table.
8
+ * @template T - The type of the values in the objects.
9
+ * @param options.headers An optional array of strings specifying the headers (property names) to use. If not provided, the function will use all unique keys found in the objects.
10
+ * @param options.emptyCell An optional value to use for empty cells. If not provided, the function will use `undefined`.
11
+ * @returns A 2D array (table) where each row represents an object and each column represents a property of the object.
12
+ * @param options The options for converting the objects to a table.
13
+ * @example ```ts
14
+ * arrObjectsToTable(
15
+ * [
16
+ * { a: 1, b: 2 },
17
+ * { a: 3, b: 4, c: 5 },
18
+ * ],
19
+ * { emptyCell:1 },
20
+ * ) //=> [ [ 'a', 'b', 'c' ], [ 1, 2,1 ], [ 3, 4, 5 ] ]
21
+ * ```
22
+ */
23
+ function arrObjectsToTable(objects, options = {}) {
24
+ var _a;
25
+ const headers = ((_a = options === null || options === void 0 ? void 0 : options.headers) === null || _a === void 0 ? void 0 : _a.slice()) || (0, arrObjectsUniqueKeys_1.arrObjectsUniqueKeys)(objects);
26
+ const table = [headers];
27
+ for (const o of objects) {
28
+ const row = headers.map((header) => {
29
+ const value = o[header];
30
+ return value !== undefined ? value : options.emptyCell;
31
+ });
32
+ table.push(row);
33
+ }
34
+ return table;
35
+ }
36
+ exports.arrObjectsToTable = arrObjectsToTable;
37
+ //# sourceMappingURL=arrObjectsToTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrObjectsToTable.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrObjectsToTable.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,iBAAiB,CAC/B,OAAwC,EACxC,UAGI,EAAE;;IAEN,MAAM,OAAO,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,KAAK,EAAE,KAAI,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAA;IAC1E,MAAM,KAAK,GAAiC,CAAC,OAAO,CAAC,CAAA;IACrD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;YACvB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,OAAO,CAAC,SAAe,CAAA;QAC/D,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KAChB;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAjBD,8CAiBC"}
@@ -14,4 +14,3 @@
14
14
  * ```
15
15
  */
16
16
  export declare function arrObjectsUniqueKeys<T>(objects: Record<string, T>[]): string[];
17
- //# sourceMappingURL=arrObjectsUniqueKeys.d.ts.map
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrObjectsUniqueKeys = void 0;
4
+ /**
5
+ * Returns an array of all unique object keys found in an array of objects.
6
+ * @template T - The type of values in the input objects.
7
+ * @returns An array of unique keys present in the input objects.
8
+ * @param objects The array of objects.
9
+ * @example ```ts
10
+ * const objects = [
11
+ * { name: 'John', age: 25 },
12
+ * { name: 'Jane', gender: 'female' },
13
+ * { name: 'Bob', age: 30, gender: 'male' },
14
+ * ];
15
+ * arrObjectsUniqueKeys(objects);
16
+ * //=> ['name', 'age', 'gender']
17
+ * ```
18
+ */
19
+ function arrObjectsUniqueKeys(objects) {
20
+ const keys = new Set();
21
+ for (const o of objects) {
22
+ for (const key of Object.keys(o)) {
23
+ keys.add(key);
24
+ }
25
+ }
26
+ return Array.from(keys);
27
+ }
28
+ exports.arrObjectsUniqueKeys = arrObjectsUniqueKeys;
29
+ //# sourceMappingURL=arrObjectsUniqueKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrObjectsUniqueKeys.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrObjectsUniqueKeys.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACH,SAAgB,oBAAoB,CAAI,OAA4B;IAClE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;QACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SACd;KACF;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AARD,oDAQC"}
@@ -11,4 +11,3 @@
11
11
  * ```
12
12
  */
13
13
  export declare function arrRemoveDuplicates<T>(array: T[]): T[];
14
- //# sourceMappingURL=arrRemoveDuplicates.d.ts.map
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrRemoveDuplicates = void 0;
4
+ /**
5
+ * Remove duplicates from an array
6
+ * @remarks This function uses the JavaScript Set object to remove duplicate values from an array.
7
+ * @typeparam T - The type of elements in the array.
8
+ * @returns The new array with duplicates removed.
9
+ * @param array The array from which to remove duplicates.
10
+ * @example ```ts
11
+ * const array = [1, 2, 2, 3, 4, 4, 5];
12
+ * arrRemoveDuplicates(array);
13
+ * //=> [1, 2, 3, 4, 5]
14
+ * ```
15
+ */
16
+ function arrRemoveDuplicates(array) {
17
+ return Array.from(new Set(array));
18
+ }
19
+ exports.arrRemoveDuplicates = arrRemoveDuplicates;
20
+ //# sourceMappingURL=arrRemoveDuplicates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrRemoveDuplicates.js","sourceRoot":"","sources":["../../../../../packages/array/src/lib/arrRemoveDuplicates.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,SAAgB,mBAAmB,CAAI,KAAU;IAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AACnC,CAAC;AAFD,kDAEC"}
@@ -13,4 +13,3 @@
13
13
  * ```
14
14
  */
15
15
  export declare function arrShallowEquals<T>(input1: T[], input2: T[]): boolean;
16
- //# sourceMappingURL=arrShallowEquals.d.ts.map