litus 1.1.0 → 1.2.1

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 (272) hide show
  1. package/README.md +4 -4
  2. package/dist/cjs/arr/chunk.d.ts +1 -2
  3. package/dist/cjs/arr/chunk.js.map +1 -1
  4. package/dist/cjs/arr/fill.d.ts +1 -2
  5. package/dist/cjs/arr/fill.js.map +1 -1
  6. package/dist/cjs/arr/find.d.ts +1 -0
  7. package/dist/cjs/arr/find.js +13 -0
  8. package/dist/cjs/arr/find.js.map +1 -0
  9. package/dist/cjs/arr/findIdx.d.ts +1 -0
  10. package/dist/cjs/arr/findIdx.js +13 -0
  11. package/dist/cjs/arr/findIdx.js.map +1 -0
  12. package/dist/cjs/arr/from.d.ts +1 -2
  13. package/dist/cjs/arr/from.js.map +1 -1
  14. package/dist/cjs/arr/group.d.ts +1 -2
  15. package/dist/cjs/arr/group.js.map +1 -1
  16. package/dist/cjs/arr/groupBy.d.ts +1 -2
  17. package/dist/cjs/arr/groupBy.js.map +1 -1
  18. package/dist/cjs/arr/index.d.ts +4 -0
  19. package/dist/cjs/arr/index.js +4 -0
  20. package/dist/cjs/arr/index.js.map +1 -1
  21. package/dist/cjs/arr/range.d.ts +1 -2
  22. package/dist/cjs/arr/range.js.map +1 -1
  23. package/dist/cjs/arr/sort.d.ts +1 -2
  24. package/dist/cjs/arr/sort.js.map +1 -1
  25. package/dist/cjs/arr/transpose.d.ts +1 -0
  26. package/dist/cjs/arr/transpose.js +11 -0
  27. package/dist/cjs/arr/transpose.js.map +1 -0
  28. package/dist/cjs/arr/union.d.ts +1 -0
  29. package/dist/cjs/arr/union.js +8 -0
  30. package/dist/cjs/arr/union.js.map +1 -0
  31. package/dist/cjs/arr/unique.d.ts +1 -2
  32. package/dist/cjs/arr/unique.js +2 -2
  33. package/dist/cjs/arr/unique.js.map +1 -1
  34. package/dist/cjs/func/apply.d.ts +1 -2
  35. package/dist/cjs/func/apply.js.map +1 -1
  36. package/dist/cjs/func/curry.d.ts +1 -2
  37. package/dist/cjs/func/curry.js +1 -1
  38. package/dist/cjs/func/curry.js.map +1 -1
  39. package/dist/cjs/func/debounce.d.ts +1 -2
  40. package/dist/cjs/func/debounce.js.map +1 -1
  41. package/dist/cjs/func/index.d.ts +1 -0
  42. package/dist/cjs/func/index.js +1 -0
  43. package/dist/cjs/func/index.js.map +1 -1
  44. package/dist/cjs/func/memo.d.ts +2 -0
  45. package/dist/cjs/func/memo.js +18 -0
  46. package/dist/cjs/func/memo.js.map +1 -0
  47. package/dist/cjs/func/unapply.d.ts +1 -2
  48. package/dist/cjs/func/unapply.js.map +1 -1
  49. package/dist/cjs/math/add.d.ts +1 -2
  50. package/dist/cjs/math/add.js +1 -2
  51. package/dist/cjs/math/add.js.map +1 -1
  52. package/dist/cjs/math/aprox.d.ts +1 -0
  53. package/dist/cjs/math/aprox.js +9 -0
  54. package/dist/cjs/math/aprox.js.map +1 -0
  55. package/dist/cjs/math/calc.d.ts +1 -2
  56. package/dist/cjs/math/calc.js.map +1 -1
  57. package/dist/cjs/math/cumsum.d.ts +1 -0
  58. package/dist/cjs/math/cumsum.js +13 -0
  59. package/dist/cjs/math/cumsum.js.map +1 -0
  60. package/dist/cjs/math/divide.d.ts +1 -2
  61. package/dist/cjs/math/divide.js.map +1 -1
  62. package/dist/cjs/math/inRange.d.ts +1 -0
  63. package/dist/cjs/math/inRange.js +11 -0
  64. package/dist/cjs/math/inRange.js.map +1 -0
  65. package/dist/cjs/math/index.d.ts +5 -0
  66. package/dist/cjs/math/index.js +5 -0
  67. package/dist/cjs/math/index.js.map +1 -1
  68. package/dist/cjs/math/interp.d.ts +1 -0
  69. package/dist/cjs/math/interp.js +23 -0
  70. package/dist/cjs/math/interp.js.map +1 -0
  71. package/dist/cjs/math/mean.d.ts +1 -2
  72. package/dist/cjs/math/mean.js +9 -2
  73. package/dist/cjs/math/mean.js.map +1 -1
  74. package/dist/cjs/math/median.d.ts +1 -2
  75. package/dist/cjs/math/median.js +3 -7
  76. package/dist/cjs/math/median.js.map +1 -1
  77. package/dist/cjs/math/mod.d.ts +1 -2
  78. package/dist/cjs/math/mod.js.map +1 -1
  79. package/dist/cjs/math/multiply.d.ts +1 -2
  80. package/dist/cjs/math/multiply.js +1 -2
  81. package/dist/cjs/math/multiply.js.map +1 -1
  82. package/dist/cjs/math/percentile.d.ts +2 -0
  83. package/dist/cjs/math/percentile.js +49 -0
  84. package/dist/cjs/math/percentile.js.map +1 -0
  85. package/dist/cjs/math/pow.d.ts +1 -2
  86. package/dist/cjs/math/pow.js.map +1 -1
  87. package/dist/cjs/math/round.d.ts +2 -2
  88. package/dist/cjs/math/round.js +9 -5
  89. package/dist/cjs/math/round.js.map +1 -1
  90. package/dist/cjs/math/subtract.d.ts +1 -2
  91. package/dist/cjs/math/subtract.js.map +1 -1
  92. package/dist/cjs/math/sum.d.ts +1 -2
  93. package/dist/cjs/math/sum.js.map +1 -1
  94. package/dist/cjs/math/types.d.ts +3 -2
  95. package/dist/cjs/obj/copy.d.ts +1 -2
  96. package/dist/cjs/obj/copy.js +1 -1
  97. package/dist/cjs/obj/copy.js.map +1 -1
  98. package/dist/cjs/obj/entries.d.ts +1 -2
  99. package/dist/cjs/obj/entries.js.map +1 -1
  100. package/dist/cjs/obj/equal.d.ts +1 -0
  101. package/dist/cjs/obj/equal.js +30 -0
  102. package/dist/cjs/obj/equal.js.map +1 -0
  103. package/dist/cjs/obj/has.d.ts +1 -2
  104. package/dist/cjs/obj/has.js.map +1 -1
  105. package/dist/cjs/obj/index.d.ts +4 -0
  106. package/dist/cjs/obj/index.js +4 -0
  107. package/dist/cjs/obj/index.js.map +1 -1
  108. package/dist/cjs/obj/isObj.d.ts +1 -0
  109. package/dist/cjs/obj/isObj.js +8 -0
  110. package/dist/cjs/obj/isObj.js.map +1 -0
  111. package/dist/cjs/obj/keys.d.ts +1 -2
  112. package/dist/cjs/obj/keys.js.map +1 -1
  113. package/dist/cjs/obj/merge.d.ts +1 -2
  114. package/dist/cjs/obj/merge.js.map +1 -1
  115. package/dist/cjs/obj/omit.d.ts +1 -0
  116. package/dist/cjs/obj/omit.js +13 -0
  117. package/dist/cjs/obj/omit.js.map +1 -0
  118. package/dist/cjs/obj/pick.d.ts +1 -0
  119. package/dist/cjs/obj/pick.js +13 -0
  120. package/dist/cjs/obj/pick.js.map +1 -0
  121. package/dist/cjs/obj/types.d.ts +3 -4
  122. package/dist/cjs/obj/vals.d.ts +1 -2
  123. package/dist/cjs/obj/vals.js.map +1 -1
  124. package/dist/cjs/time/index.d.ts +1 -2
  125. package/dist/cjs/time/index.js.map +1 -1
  126. package/dist/esm/arr/chunk.d.ts +1 -2
  127. package/dist/esm/arr/chunk.js +1 -2
  128. package/dist/esm/arr/chunk.js.map +1 -1
  129. package/dist/esm/arr/fill.d.ts +1 -2
  130. package/dist/esm/arr/fill.js +1 -2
  131. package/dist/esm/arr/fill.js.map +1 -1
  132. package/dist/esm/arr/find.d.ts +1 -0
  133. package/dist/esm/arr/find.js +9 -0
  134. package/dist/esm/arr/find.js.map +1 -0
  135. package/dist/esm/arr/findIdx.d.ts +1 -0
  136. package/dist/esm/arr/findIdx.js +9 -0
  137. package/dist/esm/arr/findIdx.js.map +1 -0
  138. package/dist/esm/arr/from.d.ts +1 -2
  139. package/dist/esm/arr/from.js +1 -2
  140. package/dist/esm/arr/from.js.map +1 -1
  141. package/dist/esm/arr/group.d.ts +1 -2
  142. package/dist/esm/arr/group.js +1 -2
  143. package/dist/esm/arr/group.js.map +1 -1
  144. package/dist/esm/arr/groupBy.d.ts +1 -2
  145. package/dist/esm/arr/groupBy.js +1 -2
  146. package/dist/esm/arr/groupBy.js.map +1 -1
  147. package/dist/esm/arr/index.d.ts +4 -0
  148. package/dist/esm/arr/index.js +4 -0
  149. package/dist/esm/arr/index.js.map +1 -1
  150. package/dist/esm/arr/range.d.ts +1 -2
  151. package/dist/esm/arr/range.js +1 -2
  152. package/dist/esm/arr/range.js.map +1 -1
  153. package/dist/esm/arr/sort.d.ts +1 -2
  154. package/dist/esm/arr/sort.js +1 -2
  155. package/dist/esm/arr/sort.js.map +1 -1
  156. package/dist/esm/arr/transpose.d.ts +1 -0
  157. package/dist/esm/arr/transpose.js +7 -0
  158. package/dist/esm/arr/transpose.js.map +1 -0
  159. package/dist/esm/arr/union.d.ts +1 -0
  160. package/dist/esm/arr/union.js +5 -0
  161. package/dist/esm/arr/union.js.map +1 -0
  162. package/dist/esm/arr/unique.d.ts +1 -2
  163. package/dist/esm/arr/unique.js +3 -4
  164. package/dist/esm/arr/unique.js.map +1 -1
  165. package/dist/esm/func/apply.d.ts +1 -2
  166. package/dist/esm/func/apply.js +1 -2
  167. package/dist/esm/func/apply.js.map +1 -1
  168. package/dist/esm/func/curry.d.ts +1 -2
  169. package/dist/esm/func/curry.js +1 -2
  170. package/dist/esm/func/curry.js.map +1 -1
  171. package/dist/esm/func/debounce.d.ts +1 -2
  172. package/dist/esm/func/debounce.js +1 -2
  173. package/dist/esm/func/debounce.js.map +1 -1
  174. package/dist/esm/func/index.d.ts +1 -0
  175. package/dist/esm/func/index.js +1 -0
  176. package/dist/esm/func/index.js.map +1 -1
  177. package/dist/esm/func/memo.d.ts +2 -0
  178. package/dist/esm/func/memo.js +14 -0
  179. package/dist/esm/func/memo.js.map +1 -0
  180. package/dist/esm/func/unapply.d.ts +1 -2
  181. package/dist/esm/func/unapply.js +1 -2
  182. package/dist/esm/func/unapply.js.map +1 -1
  183. package/dist/esm/math/add.d.ts +1 -2
  184. package/dist/esm/math/add.js +1 -2
  185. package/dist/esm/math/add.js.map +1 -1
  186. package/dist/esm/math/aprox.d.ts +1 -0
  187. package/dist/esm/math/aprox.js +5 -0
  188. package/dist/esm/math/aprox.js.map +1 -0
  189. package/dist/esm/math/calc.d.ts +1 -2
  190. package/dist/esm/math/calc.js +1 -2
  191. package/dist/esm/math/calc.js.map +1 -1
  192. package/dist/esm/math/cumsum.d.ts +1 -0
  193. package/dist/esm/math/cumsum.js +9 -0
  194. package/dist/esm/math/cumsum.js.map +1 -0
  195. package/dist/esm/math/divide.d.ts +1 -2
  196. package/dist/esm/math/divide.js +1 -2
  197. package/dist/esm/math/divide.js.map +1 -1
  198. package/dist/esm/math/inRange.d.ts +1 -0
  199. package/dist/esm/math/inRange.js +7 -0
  200. package/dist/esm/math/inRange.js.map +1 -0
  201. package/dist/esm/math/index.d.ts +5 -0
  202. package/dist/esm/math/index.js +5 -0
  203. package/dist/esm/math/index.js.map +1 -1
  204. package/dist/esm/math/interp.d.ts +1 -0
  205. package/dist/esm/math/interp.js +19 -0
  206. package/dist/esm/math/interp.js.map +1 -0
  207. package/dist/esm/math/mean.d.ts +1 -2
  208. package/dist/esm/math/mean.js +9 -3
  209. package/dist/esm/math/mean.js.map +1 -1
  210. package/dist/esm/math/median.d.ts +1 -2
  211. package/dist/esm/math/median.js +3 -8
  212. package/dist/esm/math/median.js.map +1 -1
  213. package/dist/esm/math/mod.d.ts +1 -2
  214. package/dist/esm/math/mod.js +1 -2
  215. package/dist/esm/math/mod.js.map +1 -1
  216. package/dist/esm/math/multiply.d.ts +1 -2
  217. package/dist/esm/math/multiply.js +1 -2
  218. package/dist/esm/math/multiply.js.map +1 -1
  219. package/dist/esm/math/percentile.d.ts +2 -0
  220. package/dist/esm/math/percentile.js +45 -0
  221. package/dist/esm/math/percentile.js.map +1 -0
  222. package/dist/esm/math/pow.d.ts +1 -2
  223. package/dist/esm/math/pow.js +1 -2
  224. package/dist/esm/math/pow.js.map +1 -1
  225. package/dist/esm/math/round.d.ts +2 -2
  226. package/dist/esm/math/round.js +9 -6
  227. package/dist/esm/math/round.js.map +1 -1
  228. package/dist/esm/math/subtract.d.ts +1 -2
  229. package/dist/esm/math/subtract.js +1 -2
  230. package/dist/esm/math/subtract.js.map +1 -1
  231. package/dist/esm/math/sum.d.ts +1 -2
  232. package/dist/esm/math/sum.js +1 -2
  233. package/dist/esm/math/sum.js.map +1 -1
  234. package/dist/esm/math/types.d.ts +3 -2
  235. package/dist/esm/obj/copy.d.ts +1 -2
  236. package/dist/esm/obj/copy.js +1 -2
  237. package/dist/esm/obj/copy.js.map +1 -1
  238. package/dist/esm/obj/entries.d.ts +1 -2
  239. package/dist/esm/obj/entries.js +1 -2
  240. package/dist/esm/obj/entries.js.map +1 -1
  241. package/dist/esm/obj/equal.d.ts +1 -0
  242. package/dist/esm/obj/equal.js +27 -0
  243. package/dist/esm/obj/equal.js.map +1 -0
  244. package/dist/esm/obj/has.d.ts +1 -2
  245. package/dist/esm/obj/has.js +1 -2
  246. package/dist/esm/obj/has.js.map +1 -1
  247. package/dist/esm/obj/index.d.ts +4 -0
  248. package/dist/esm/obj/index.js +4 -0
  249. package/dist/esm/obj/index.js.map +1 -1
  250. package/dist/esm/obj/isObj.d.ts +1 -0
  251. package/dist/esm/obj/isObj.js +4 -0
  252. package/dist/esm/obj/isObj.js.map +1 -0
  253. package/dist/esm/obj/keys.d.ts +1 -2
  254. package/dist/esm/obj/keys.js +1 -2
  255. package/dist/esm/obj/keys.js.map +1 -1
  256. package/dist/esm/obj/merge.d.ts +1 -2
  257. package/dist/esm/obj/merge.js +1 -2
  258. package/dist/esm/obj/merge.js.map +1 -1
  259. package/dist/esm/obj/omit.d.ts +1 -0
  260. package/dist/esm/obj/omit.js +9 -0
  261. package/dist/esm/obj/omit.js.map +1 -0
  262. package/dist/esm/obj/pick.d.ts +1 -0
  263. package/dist/esm/obj/pick.js +9 -0
  264. package/dist/esm/obj/pick.js.map +1 -0
  265. package/dist/esm/obj/types.d.ts +3 -4
  266. package/dist/esm/obj/vals.d.ts +1 -2
  267. package/dist/esm/obj/vals.js +1 -2
  268. package/dist/esm/obj/vals.js.map +1 -1
  269. package/dist/esm/time/index.d.ts +1 -2
  270. package/dist/esm/time/index.js +1 -2
  271. package/dist/esm/time/index.js.map +1 -1
  272. package/package.json +1 -1
package/README.md CHANGED
@@ -14,10 +14,10 @@
14
14
 
15
15
  Litus provides strongly-typed utils for:
16
16
 
17
- - **Arrays:** chunk, from, group, ...
18
- - **Functions:** apply, curry, unapply, ...
19
- - **Math:** mean, median, mod, ...
20
- - **Object:** copy, entries, merge, ...
17
+ - **Arrays:** chunk, from, group, ... (12 total)
18
+ - **Functions:** apply, curry, unapply, ... (5 total)
19
+ - **Math:** aprox, multiply, percentile, mod, ... (16 total)
20
+ - **Object:** copy, entries, merge, ... (10 total)
21
21
  - **Time:** convert, format, setDayTime, ...
22
22
 
23
23
  <!-- Installation -->
@@ -1,2 +1 @@
1
- declare const chunk: <T>(arr: T[], size: number) => T[][];
2
- export { chunk };
1
+ export declare const chunk: <T>(arr: T[], size: number) => T[][];
@@ -1 +1 @@
1
- {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../../src/arr/chunk.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,MAAM,KAAK,GAAG,CAAI,GAAQ,EAAE,IAAY,EAAS,EAAE;IACjD,OAAO,IAAA,aAAK,EAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AAEO,sBAAK"}
1
+ {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../../src/arr/chunk.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEzB,MAAM,KAAK,GAAG,CAAI,GAAQ,EAAE,IAAY,EAAS,EAAE;IACxD,OAAO,IAAA,aAAK,EAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB"}
@@ -1,2 +1 @@
1
- declare const fill: <T>(n: number, val: T) => T[];
2
- export { fill };
1
+ export declare const fill: <T>(n: number, val: T) => T[];
@@ -1 +1 @@
1
- {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../src/arr/fill.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,MAAM,IAAI,GAAG,CAAI,CAAS,EAAE,GAAM,EAAO,EAAE;IACzC,OAAO,IAAA,WAAI,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEO,oBAAI"}
1
+ {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../src/arr/fill.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAEvB,MAAM,IAAI,GAAG,CAAI,CAAS,EAAE,GAAM,EAAO,EAAE;IAChD,OAAO,IAAA,WAAI,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAC;AAFW,QAAA,IAAI,QAEf"}
@@ -0,0 +1 @@
1
+ export declare const find: <T>(arr: T[], predicate: (val: T, idx: number, obj: T[]) => boolean, from?: number, to?: number) => T | undefined;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.find = void 0;
4
+ const find = (arr, predicate, from = 0, to = arr.length) => {
5
+ for (let i = from; i < to; i++) {
6
+ if (predicate(arr[i], i, arr)) {
7
+ return arr[i];
8
+ }
9
+ }
10
+ return undefined;
11
+ };
12
+ exports.find = find;
13
+ //# sourceMappingURL=find.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/arr/find.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GAAG,CAClB,GAAQ,EACR,SAAqD,EACrD,IAAI,GAAG,CAAC,EACR,EAAE,GAAG,GAAG,CAAC,MAAM,EACA,EAAE;IACjB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;YAC7B,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;SACf;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAZW,QAAA,IAAI,QAYf"}
@@ -0,0 +1 @@
1
+ export declare const findIdx: <T>(arr: T[], predicate: (val: T, idx: number, obj: T[]) => boolean, from?: number, to?: number) => number;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findIdx = void 0;
4
+ const findIdx = (arr, predicate, from = 0, to = arr.length) => {
5
+ for (let i = from; i < to; i++) {
6
+ if (predicate(arr[i], i, arr)) {
7
+ return i;
8
+ }
9
+ }
10
+ return -1;
11
+ };
12
+ exports.findIdx = findIdx;
13
+ //# sourceMappingURL=findIdx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findIdx.js","sourceRoot":"","sources":["../../../src/arr/findIdx.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,CACrB,GAAQ,EACR,SAAqD,EACrD,IAAI,GAAG,CAAC,EACR,EAAE,GAAG,GAAG,CAAC,MAAM,EACP,EAAE;IACV,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;YAC7B,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AAZW,QAAA,OAAO,WAYlB"}
@@ -1,2 +1 @@
1
- declare const from: <T>(n: number, mapFn: (i: number) => T) => T[];
2
- export { from };
1
+ export declare const from: <T>(n: number, mapFn: (i: number) => T) => T[];
@@ -1 +1 @@
1
- {"version":3,"file":"from.js","sourceRoot":"","sources":["../../../src/arr/from.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,CAAI,CAAS,EAAE,KAAuB,EAAO,EAAE;IAC1D,MAAM,GAAG,GAAG,KAAK,CAAI,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;QACf,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEO,oBAAI"}
1
+ {"version":3,"file":"from.js","sourceRoot":"","sources":["../../../src/arr/from.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GAAG,CAAI,CAAS,EAAE,KAAuB,EAAO,EAAE;IACjE,MAAM,GAAG,GAAG,KAAK,CAAI,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;QACf,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAPW,QAAA,IAAI,QAOf"}
@@ -1,2 +1 @@
1
- declare const group: <T, K extends PropertyKey>(arr: T[], getKey: (obj: T) => K) => Record<K, T[]>;
2
- export { group };
1
+ export declare const group: <T, K extends PropertyKey>(arr: T[], getKey: (obj: T) => K) => Record<K, T[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../src/arr/group.ts"],"names":[],"mappings":";;;AAAA,MAAM,KAAK,GAAG,CACZ,GAAQ,EACR,MAAqB,EACL,EAAE;IAClB,MAAM,GAAG,GAAG,EAAoB,CAAC;IACjC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACf;QACD,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEO,sBAAK"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../src/arr/group.ts"],"names":[],"mappings":";;;AAAO,MAAM,KAAK,GAAG,CACnB,GAAQ,EACR,MAAqB,EACL,EAAE;IAClB,MAAM,GAAG,GAAG,EAAoB,CAAC;IACjC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACf;QACD,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAbW,QAAA,KAAK,SAahB"}
@@ -1,2 +1 @@
1
- declare const groupBy: <T extends object, K extends keyof T>(arr: T[], key: T[K] extends PropertyKey ? K : never) => Record<PropertyKey & T[K], T[]>;
2
- export { groupBy };
1
+ export declare const groupBy: <T extends object, K extends keyof T>(arr: T[], key: T[K] extends PropertyKey ? K : never) => Record<PropertyKey & T[K], T[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"groupBy.js","sourceRoot":"","sources":["../../../src/arr/groupBy.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,MAAM,OAAO,GAAG,CACd,GAAQ,EACR,GAAyC,EACR,EAAE;IACnC,OAAO,IAAA,aAAK,EAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAuB,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEO,0BAAO"}
1
+ {"version":3,"file":"groupBy.js","sourceRoot":"","sources":["../../../src/arr/groupBy.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEzB,MAAM,OAAO,GAAG,CACrB,GAAQ,EACR,GAAyC,EACR,EAAE;IACnC,OAAO,IAAA,aAAK,EAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAuB,CAAC,CAAC;AAC7D,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB"}
@@ -1,8 +1,12 @@
1
1
  export * from "./chunk";
2
2
  export * from "./fill";
3
+ export * from "./find";
4
+ export * from "./findIdx";
3
5
  export * from "./from";
4
6
  export * from "./group";
5
7
  export * from "./groupBy";
6
8
  export * from "./range";
7
9
  export * from "./sort";
10
+ export * from "./transpose";
11
+ export * from "./union";
8
12
  export * from "./unique";
@@ -16,10 +16,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./chunk"), exports);
18
18
  __exportStar(require("./fill"), exports);
19
+ __exportStar(require("./find"), exports);
20
+ __exportStar(require("./findIdx"), exports);
19
21
  __exportStar(require("./from"), exports);
20
22
  __exportStar(require("./group"), exports);
21
23
  __exportStar(require("./groupBy"), exports);
22
24
  __exportStar(require("./range"), exports);
23
25
  __exportStar(require("./sort"), exports);
26
+ __exportStar(require("./transpose"), exports);
27
+ __exportStar(require("./union"), exports);
24
28
  __exportStar(require("./unique"), exports);
25
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/arr/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,yCAAuB;AACvB,yCAAuB;AACvB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,yCAAuB;AACvB,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/arr/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B;AAC1B,yCAAuB;AACvB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB"}
@@ -1,2 +1 @@
1
- declare const range: (a: number, b: number, step?: number) => number[];
2
- export { range };
1
+ export declare const range: (a: number, b: number, step?: number) => number[];
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/arr/range.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,IAAI,GAAG,CAAC,EAAY,EAAE;IACzD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,EAAE;QACV,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;KAC9B;IACD,OAAO,IAAA,WAAI,EAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC;AACO,sBAAK"}
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/arr/range.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAEvB,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,IAAI,GAAG,CAAC,EAAY,EAAE;IAChE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,EAAE;QACV,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;KAC9B;IACD,OAAO,IAAA,WAAI,EAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC;AANW,QAAA,KAAK,SAMhB"}
@@ -1,2 +1 @@
1
- declare const sort: <T>(arr: T[], mapFn: ((el: T) => number) | ((el: T) => string)) => T[];
2
- export { sort };
1
+ export declare const sort: <T>(arr: T[], mapFn: ((el: T) => number) | ((el: T) => string)) => T[];
@@ -1 +1 @@
1
- {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../src/arr/sort.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,CACX,GAAQ,EACR,KAAgD,EAC3C,EAAE;IACP,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAU,CAAC,CAAC;IACzD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,OAAO,CAAC,CAAC,CAAC;SACX;QACD,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,OAAO,CAAC,CAAC;SACV;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEO,oBAAI"}
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../src/arr/sort.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GAAG,CAClB,GAAQ,EACR,KAAgD,EAC3C,EAAE;IACP,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAU,CAAC,CAAC;IACzD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,OAAO,CAAC,CAAC,CAAC;SACX;QACD,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,OAAO,CAAC,CAAC;SACV;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAlBW,QAAA,IAAI,QAkBf"}
@@ -0,0 +1 @@
1
+ export declare const transpose: <T>(matrix: T[][]) => T[][];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transpose = void 0;
4
+ const from_1 = require("./from");
5
+ const transpose = (matrix) => {
6
+ const rows = matrix.length;
7
+ const cols = matrix[0].length;
8
+ return (0, from_1.from)(cols, (i) => (0, from_1.from)(rows, (j) => matrix[j][i]));
9
+ };
10
+ exports.transpose = transpose;
11
+ //# sourceMappingURL=transpose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transpose.js","sourceRoot":"","sources":["../../../src/arr/transpose.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAEvB,MAAM,SAAS,GAAG,CAAI,MAAa,EAAS,EAAE;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9B,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB"}
@@ -0,0 +1 @@
1
+ export declare const union: <T>(...args: T[][]) => Set<T>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.union = void 0;
4
+ const unapply_1 = require("../func/unapply");
5
+ exports.union = (0, unapply_1.unapply)((arrs) => {
6
+ return new Set(arrs.flat(1));
7
+ });
8
+ //# sourceMappingURL=union.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union.js","sourceRoot":"","sources":["../../../src/arr/union.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAE1B,QAAA,KAAK,GAAG,IAAA,iBAAO,EAAC,CAAI,IAAW,EAAU,EAAE;IACtD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
1
  import type { Primitive } from "../types";
2
- declare const unique: <T extends Primitive>(arr: T[]) => T[];
3
- export { unique };
2
+ export declare const unique: <T extends Primitive>(arr: T[]) => T[];
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.unique = void 0;
4
+ const sort_1 = require("./sort");
4
5
  const unique = (arr) => {
5
6
  const set = Array.from(new Set(arr));
6
- const indexed = set.map((el) => [el, arr.indexOf(el)]);
7
- return indexed.sort((a, b) => a[1] - b[1]).map((el) => el[0]);
7
+ return (0, sort_1.sort)(set, (el) => arr.indexOf(el));
8
8
  };
9
9
  exports.unique = unique;
10
10
  //# sourceMappingURL=unique.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unique.js","sourceRoot":"","sources":["../../../src/arr/unique.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAG,CAAsB,GAAQ,EAAO,EAAE;IACpD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAU,CAAC,CAAC;IAChE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC;AAEO,wBAAM"}
1
+ {"version":3,"file":"unique.js","sourceRoot":"","sources":["../../../src/arr/unique.ts"],"names":[],"mappings":";;;AACA,iCAA8B;AAEvB,MAAM,MAAM,GAAG,CAAsB,GAAQ,EAAO,EAAE;IAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,OAAO,IAAA,WAAI,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AAHW,QAAA,MAAM,UAGjB"}
@@ -1,2 +1 @@
1
- declare const apply: <T extends unknown[], R>(fn: (...args: T) => R) => (arg: T) => R;
2
- export { apply };
1
+ export declare const apply: <T extends unknown[], R>(fn: (...args: T) => R) => (arg: T) => R;
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/func/apply.ts"],"names":[],"mappings":";;;AAAA,MAAM,KAAK,GAAG,CACZ,EAAqB,EACJ,EAAE;IACnB,OAAO,CAAC,GAAM,EAAK,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEO,sBAAK"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/func/apply.ts"],"names":[],"mappings":";;;AAAO,MAAM,KAAK,GAAG,CACnB,EAAqB,EACJ,EAAE;IACnB,OAAO,CAAC,GAAM,EAAK,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC,CAAC;AAJW,QAAA,KAAK,SAIhB"}
@@ -1,3 +1,2 @@
1
1
  import type { CurryFn } from "./types";
2
- declare const curry: <R, T extends unknown[]>(fn: (...args: T) => R, arity?: number) => CurryFn<R, T>;
3
- export { curry };
2
+ export declare const curry: <R, T extends unknown[]>(fn: (...args: T) => R, arity?: number) => CurryFn<R, T>;
@@ -8,7 +8,7 @@ const curry = (fn, arity = fn.length) => {
8
8
  if (missing <= 0) {
9
9
  return fn.apply(this, args);
10
10
  }
11
- return curry((0, unapply_1.unapply)((rArgs) => {
11
+ return (0, exports.curry)((0, unapply_1.unapply)((rArgs) => {
12
12
  return fn.apply(this, args.concat(rArgs));
13
13
  }), missing);
14
14
  });
@@ -1 +1 @@
1
- {"version":3,"file":"curry.js","sourceRoot":"","sources":["../../../src/func/curry.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,MAAM,KAAK,GAAG,CACZ,EAAqB,EACrB,KAAK,GAAG,EAAE,CAAC,MAAM,EACF,EAAE;IACjB,OAAO,IAAA,iBAAO,EAAC,CAAyB,IAAO,EAAuB,EAAE;QACtE,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,OAAO,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAoB,CAAwB,CAAC;SACpE;QACD,OAAO,KAAK,CACV,IAAA,iBAAO,EAAC,CAA+B,KAAW,EAAK,EAAE;YACvD,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,EACF,OAAO,CACe,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEO,sBAAK"}
1
+ {"version":3,"file":"curry.js","sourceRoot":"","sources":["../../../src/func/curry.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAE7B,MAAM,KAAK,GAAG,CACnB,EAAqB,EACrB,KAAK,GAAG,EAAE,CAAC,MAAM,EACF,EAAE;IACjB,OAAO,IAAA,iBAAO,EAAC,CAAyB,IAAO,EAAuB,EAAE;QACtE,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,OAAO,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAoB,CAAwB,CAAC;SACpE;QACD,OAAO,IAAA,aAAK,EACV,IAAA,iBAAO,EAAC,CAA+B,KAAW,EAAK,EAAE;YACvD,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,EACF,OAAO,CACe,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAhBW,QAAA,KAAK,SAgBhB"}
@@ -1,2 +1 @@
1
- declare const debounce: <A extends unknown[]>(fn: (...args: A) => void, delay?: number) => (...args: A) => void;
2
- export { debounce };
1
+ export declare const debounce: <A extends unknown[]>(fn: (...args: A) => void, delay?: number) => (...args: A) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/func/debounce.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEpC,MAAM,QAAQ,GAAG,CACf,EAAwB,EACxB,KAAK,GAAG,GAAG,EACX,EAAE;IACF,IAAI,KAAiC,CAAC;IACtC,OAAO,IAAA,iBAAO,EAAC,CAAC,IAAO,EAAQ,EAAE;QAC/B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEO,4BAAQ"}
1
+ {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/func/debounce.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAE7B,MAAM,QAAQ,GAAG,CACtB,EAAwB,EACxB,KAAK,GAAG,GAAG,EACX,EAAE;IACF,IAAI,KAAiC,CAAC;IACtC,OAAO,IAAA,iBAAO,EAAC,CAAC,IAAO,EAAQ,EAAE;QAC/B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,QAAQ,YAWnB"}
@@ -1,4 +1,5 @@
1
1
  export * from "./apply";
2
2
  export * from "./curry";
3
3
  export * from "./debounce";
4
+ export * from "./memo";
4
5
  export * from "./unapply";
@@ -17,5 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./apply"), exports);
18
18
  __exportStar(require("./curry"), exports);
19
19
  __exportStar(require("./debounce"), exports);
20
+ __exportStar(require("./memo"), exports);
20
21
  __exportStar(require("./unapply"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/func/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/func/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,yCAAuB;AACvB,4CAA0B"}
@@ -0,0 +1,2 @@
1
+ import type { Primitive } from "../types";
2
+ export declare const memo: <T extends unknown[], R>(fn: (...args: T) => R, idFn?: (arg: T) => Primitive) => (...args: T) => R;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.memo = void 0;
4
+ const unapply_1 = require("./unapply");
5
+ const memo = (fn, idFn = JSON.stringify) => {
6
+ const cache = new Map();
7
+ return (0, unapply_1.unapply)((args) => {
8
+ const key = idFn(args);
9
+ if (cache.has(key)) {
10
+ return cache.get(key);
11
+ }
12
+ const result = fn.apply(this, args);
13
+ cache.set(key, result);
14
+ return result;
15
+ });
16
+ };
17
+ exports.memo = memo;
18
+ //# sourceMappingURL=memo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memo.js","sourceRoot":"","sources":["../../../src/func/memo.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAE7B,MAAM,IAAI,GAAG,CAClB,EAAqB,EACrB,OAA8B,IAAI,CAAC,SAAS,EACvB,EAAE;IACvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IACtC,OAAO,IAAA,iBAAO,EAAC,CAAC,IAAO,EAAK,EAAE;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;SAC5B;QACD,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAdW,QAAA,IAAI,QAcf"}
@@ -1,2 +1 @@
1
- declare const unapply: <T extends unknown[], R>(fn: (arg: T) => R) => (...args: T) => R;
2
- export { unapply };
1
+ export declare const unapply: <T extends unknown[], R>(fn: (arg: T) => R) => (...args: T) => R;
@@ -1 +1 @@
1
- {"version":3,"file":"unapply.js","sourceRoot":"","sources":["../../../src/func/unapply.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG,CACd,EAAiB,EACI,EAAE;IACvB,OAAO,CAAC,GAAG,IAAO,EAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AAEO,0BAAO"}
1
+ {"version":3,"file":"unapply.js","sourceRoot":"","sources":["../../../src/func/unapply.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,CACrB,EAAiB,EACI,EAAE;IACvB,OAAO,CAAC,GAAG,IAAO,EAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AAJW,QAAA,OAAO,WAIlB"}
@@ -1,2 +1 @@
1
- declare const add: <A extends import("./types").Quantity[]>(...args: A) => import("./types").Calc<A>;
2
- export { add };
1
+ export declare const add: <A extends import("./types").Quantity[]>(...args: A) => import("./types").Calc<A>;
@@ -4,6 +4,5 @@ exports.add = void 0;
4
4
  const unapply_1 = require("../func/unapply");
5
5
  const calc_1 = require("./calc");
6
6
  const sum_1 = require("./sum");
7
- const add = (0, calc_1.calc)((0, unapply_1.unapply)(sum_1.sum));
8
- exports.add = add;
7
+ exports.add = (0, calc_1.calc)((0, unapply_1.unapply)(sum_1.sum));
9
8
  //# sourceMappingURL=add.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/math/add.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAEvC,iCAA8B;AAC9B,+BAA4B;AAE5B,MAAM,GAAG,GAAG,IAAA,WAAI,EAAC,IAAA,iBAAO,EAAC,SAAG,CAAC,CAAC,CAAC;AAEtB,kBAAG"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/math/add.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAEvC,iCAA8B;AAC9B,+BAA4B;AAEf,QAAA,GAAG,GAAG,IAAA,WAAI,EAAC,IAAA,iBAAO,EAAC,SAAG,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const aprox: (a: number, b: number, precision?: number) => boolean;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aprox = void 0;
4
+ const round_1 = require("./round");
5
+ const aprox = (a, b, precision = 4) => {
6
+ return (0, round_1.round)(a, precision) === (0, round_1.round)(b, precision);
7
+ };
8
+ exports.aprox = aprox;
9
+ //# sourceMappingURL=aprox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aprox.js","sourceRoot":"","sources":["../../../src/math/aprox.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEzB,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,SAAS,GAAG,CAAC,EAAW,EAAE;IACpE,OAAO,IAAA,aAAK,EAAC,CAAC,EAAE,SAAS,CAAC,KAAK,IAAA,aAAK,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB"}
@@ -1,3 +1,2 @@
1
1
  import type { Calc, Quantity } from "./types";
2
- declare const calc: (opFn: (...a: number[]) => number) => <A extends Quantity[]>(...args: A) => Calc<A>;
3
- export { calc };
2
+ export declare const calc: (opFn: (...a: number[]) => number) => <A extends Quantity[]>(...args: A) => Calc<A>;
@@ -1 +1 @@
1
- {"version":3,"file":"calc.js","sourceRoot":"","sources":["../../../src/math/calc.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,0CAAuC;AAIvC,MAAM,IAAI,GAAG,CACX,IAAgC,EACiB,EAAE;IACnD,OAAO,IAAA,iBAAO,EAAC,CAAuB,GAAM,EAAE,EAAE;QAC9C,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC5B,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;SACzE;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAe,CAAC;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAe,CAAY,CAAC;SAC1D;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;YAC1C,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;SAClD;QACD,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;YACtB,MAAM,KAAK,GAAa,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACrC,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CAAY,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEO,oBAAI"}
1
+ {"version":3,"file":"calc.js","sourceRoot":"","sources":["../../../src/math/calc.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,0CAAuC;AAIhC,MAAM,IAAI,GAAG,CAClB,IAAgC,EACiB,EAAE;IACnD,OAAO,IAAA,iBAAO,EAAC,CAAuB,GAAM,EAAE,EAAE;QAC9C,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC5B,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;SACzE;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAe,CAAC;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAe,CAAY,CAAC;SAC1D;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;YAC1C,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;SAClD;QACD,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;YACtB,MAAM,KAAK,GAAa,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACrC,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CAAY,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAtBW,QAAA,IAAI,QAsBf"}
@@ -0,0 +1 @@
1
+ export declare const cumsum: (arr: number[]) => number[];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cumsum = void 0;
4
+ const cumsum = (arr) => {
5
+ const res = Array(arr.length);
6
+ res[0] = arr[0];
7
+ for (let i = 1; i < arr.length; i++) {
8
+ res[i] = res[i - 1] + arr[i];
9
+ }
10
+ return res;
11
+ };
12
+ exports.cumsum = cumsum;
13
+ //# sourceMappingURL=cumsum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cumsum.js","sourceRoot":"","sources":["../../../src/math/cumsum.ts"],"names":[],"mappings":";;;AAAO,MAAM,MAAM,GAAG,CAAC,GAAa,EAAY,EAAE;IAChD,MAAM,GAAG,GAAG,KAAK,CAAS,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAPW,QAAA,MAAM,UAOjB"}
@@ -1,2 +1 @@
1
- declare const divide: (arr: number[], n: number) => number[];
2
- export { divide };
1
+ export declare const divide: (arr: number[], n: number) => number[];
@@ -1 +1 @@
1
- {"version":3,"file":"divide.js","sourceRoot":"","sources":["../../../src/math/divide.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAM,MAAM,GAAG,CAAC,GAAa,EAAE,CAAS,EAAY,EAAE;IACpD,OAAO,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEO,wBAAM"}
1
+ {"version":3,"file":"divide.js","sourceRoot":"","sources":["../../../src/math/divide.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAE/B,MAAM,MAAM,GAAG,CAAC,GAAa,EAAE,CAAS,EAAY,EAAE;IAC3D,OAAO,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB"}
@@ -0,0 +1 @@
1
+ export declare const inRange: (n: number, a: number, b?: number) => boolean;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inRange = void 0;
4
+ const inRange = (n, a, b = 0) => {
5
+ if (a > b) {
6
+ return (0, exports.inRange)(n, b, a);
7
+ }
8
+ return n >= a && n < b;
9
+ };
10
+ exports.inRange = inRange;
11
+ //# sourceMappingURL=inRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inRange.js","sourceRoot":"","sources":["../../../src/math/inRange.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAC,GAAG,CAAC,EAAW,EAAE;IAC9D,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACzB;IACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB"}
@@ -1,10 +1,15 @@
1
1
  export * from "./add";
2
+ export * from "./aprox";
2
3
  export * from "./calc";
4
+ export * from "./cumsum";
3
5
  export * from "./divide";
6
+ export * from "./interp";
7
+ export * from "./inRange";
4
8
  export * from "./mean";
5
9
  export * from "./median";
6
10
  export * from "./mod";
7
11
  export * from "./multiply";
12
+ export * from "./percentile";
8
13
  export * from "./pow";
9
14
  export * from "./round";
10
15
  export * from "./subtract";
@@ -15,12 +15,17 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./add"), exports);
18
+ __exportStar(require("./aprox"), exports);
18
19
  __exportStar(require("./calc"), exports);
20
+ __exportStar(require("./cumsum"), exports);
19
21
  __exportStar(require("./divide"), exports);
22
+ __exportStar(require("./interp"), exports);
23
+ __exportStar(require("./inRange"), exports);
20
24
  __exportStar(require("./mean"), exports);
21
25
  __exportStar(require("./median"), exports);
22
26
  __exportStar(require("./mod"), exports);
23
27
  __exportStar(require("./multiply"), exports);
28
+ __exportStar(require("./percentile"), exports);
24
29
  __exportStar(require("./pow"), exports);
25
30
  __exportStar(require("./round"), exports);
26
31
  __exportStar(require("./subtract"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/math/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,yCAAuB;AACvB,2CAAyB;AACzB,yCAAuB;AACvB,2CAAyB;AACzB,wCAAsB;AACtB,6CAA2B;AAC3B,wCAAsB;AACtB,0CAAwB;AACxB,6CAA2B;AAC3B,wCAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/math/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,0CAAwB;AACxB,yCAAuB;AACvB,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,wCAAsB;AACtB,6CAA2B;AAC3B,+CAA6B;AAC7B,wCAAsB;AACtB,0CAAwB;AACxB,6CAA2B;AAC3B,wCAAsB"}
@@ -0,0 +1 @@
1
+ export declare const interp: (x: number[], xp: number[], fp: number[]) => number[];
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.interp = void 0;
4
+ const findIdx_1 = require("../arr/findIdx");
5
+ const interp = (x, xp, fp) => {
6
+ if (xp.length !== fp.length) {
7
+ throw new Error("xp and fp must have the same length");
8
+ }
9
+ let i = 0;
10
+ return x.map((xi) => {
11
+ if (xi >= xp[xp.length - 1]) {
12
+ return fp[fp.length - 1];
13
+ }
14
+ i = (0, findIdx_1.findIdx)(xp, (el) => el >= xi, i);
15
+ if (i === 0) {
16
+ return fp[0];
17
+ }
18
+ const slope = (fp[i] - fp[i - 1]) / (xp[i] - xp[i - 1]);
19
+ return fp[i - 1] + slope * (xi - xp[i - 1]);
20
+ });
21
+ };
22
+ exports.interp = interp;
23
+ //# sourceMappingURL=interp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interp.js","sourceRoot":"","sources":["../../../src/math/interp.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAE/B,MAAM,MAAM,GAAG,CAAC,CAAW,EAAE,EAAY,EAAE,EAAY,EAAY,EAAE;IAC1E,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACxD;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAClB,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YAC3B,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC1B;QACD,CAAC,GAAG,IAAA,iBAAO,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;SACd;QACD,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,MAAM,UAiBjB"}
@@ -1,2 +1 @@
1
- declare const mean: (arr: number[]) => number;
2
- export { mean };
1
+ export declare const mean: (arr: number[], weights?: number[]) => number;
@@ -1,9 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mean = void 0;
4
+ const multiply_1 = require("./multiply");
4
5
  const sum_1 = require("./sum");
5
- const mean = (arr) => {
6
- return (0, sum_1.sum)(arr) / arr.length;
6
+ const mean = (arr, weights) => {
7
+ if (weights === undefined) {
8
+ return (0, sum_1.sum)(arr) / arr.length;
9
+ }
10
+ if (arr.length !== weights.length) {
11
+ throw new Error("Nums and weights must have the same length");
12
+ }
13
+ return (0, sum_1.sum)((0, multiply_1.multiply)(arr, weights)) / (0, sum_1.sum)(weights);
7
14
  };
8
15
  exports.mean = mean;
9
16
  //# sourceMappingURL=mean.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mean.js","sourceRoot":"","sources":["../../../src/math/mean.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAE5B,MAAM,IAAI,GAAG,CAAC,GAAa,EAAU,EAAE;IACrC,OAAO,IAAA,SAAG,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;AAC/B,CAAC,CAAC;AAEO,oBAAI"}
1
+ {"version":3,"file":"mean.js","sourceRoot":"","sources":["../../../src/math/mean.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,+BAA4B;AAErB,MAAM,IAAI,GAAG,CAAC,GAAa,EAAE,OAAkB,EAAU,EAAE;IAChE,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,OAAO,IAAA,SAAG,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;KAC9B;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IACD,OAAO,IAAA,SAAG,EAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,IAAA,SAAG,EAAC,OAAO,CAAC,CAAC;AACpD,CAAC,CAAC;AARW,QAAA,IAAI,QAQf"}
@@ -1,2 +1 @@
1
- declare const median: (arr: number[]) => number;
2
- export { median };
1
+ export declare const median: (arr: number[], weights?: number[]) => number;
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.median = void 0;
4
- const copy_1 = require("../obj/copy");
5
- const mean_1 = require("./mean");
6
- const median = (arr) => {
7
- const mid = arr.length / 2;
8
- const a = Math.floor(mid - 0.5);
9
- const b = Math.ceil(mid + 0.5);
10
- return (0, mean_1.mean)((0, copy_1.copy)(arr).sort().slice(a, b));
4
+ const percentile_1 = require("./percentile");
5
+ const median = (arr, weights) => {
6
+ return (0, percentile_1.percentile)(arr, 50, weights);
11
7
  };
12
8
  exports.median = median;
13
9
  //# sourceMappingURL=median.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"median.js","sourceRoot":"","sources":["../../../src/math/median.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,iCAA8B;AAE9B,MAAM,MAAM,GAAG,CAAC,GAAa,EAAU,EAAE;IACvC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC/B,OAAO,IAAA,WAAI,EAAC,IAAA,WAAI,EAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEO,wBAAM"}
1
+ {"version":3,"file":"median.js","sourceRoot":"","sources":["../../../src/math/median.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAEnC,MAAM,MAAM,GAAG,CAAC,GAAa,EAAE,OAAkB,EAAU,EAAE;IAClE,OAAO,IAAA,uBAAU,EAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB"}
@@ -1,2 +1 @@
1
- declare const mod: (x: number, m: number) => number;
2
- export { mod };
1
+ export declare const mod: (x: number, m: number) => number;