litus 1.0.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 (340) hide show
  1. package/README.md +4 -3
  2. package/dist/cjs/arr/chunk.d.ts +1 -0
  3. package/dist/cjs/arr/chunk.js +9 -0
  4. package/dist/cjs/arr/chunk.js.map +1 -0
  5. package/dist/cjs/arr/fill.d.ts +1 -0
  6. package/dist/cjs/arr/fill.js +9 -0
  7. package/dist/cjs/arr/fill.js.map +1 -0
  8. package/dist/cjs/arr/find.d.ts +1 -0
  9. package/dist/cjs/arr/find.js +13 -0
  10. package/dist/cjs/arr/find.js.map +1 -0
  11. package/dist/cjs/arr/findIdx.d.ts +1 -0
  12. package/dist/cjs/arr/findIdx.js +13 -0
  13. package/dist/cjs/arr/findIdx.js.map +1 -0
  14. package/dist/cjs/arr/from.d.ts +1 -0
  15. package/dist/cjs/arr/from.js +13 -0
  16. package/dist/cjs/arr/from.js.map +1 -0
  17. package/dist/cjs/arr/group.d.ts +1 -0
  18. package/dist/cjs/arr/group.js +16 -0
  19. package/dist/cjs/arr/group.js.map +1 -0
  20. package/dist/cjs/arr/groupBy.d.ts +1 -0
  21. package/dist/cjs/arr/groupBy.js +9 -0
  22. package/dist/cjs/arr/groupBy.js.map +1 -0
  23. package/dist/cjs/arr/index.d.ts +12 -0
  24. package/dist/cjs/arr/index.js +29 -0
  25. package/dist/cjs/arr/index.js.map +1 -0
  26. package/dist/cjs/arr/range.d.ts +1 -0
  27. package/dist/cjs/arr/range.js +13 -0
  28. package/dist/cjs/arr/range.js.map +1 -0
  29. package/dist/cjs/arr/sort.d.ts +1 -0
  30. package/dist/cjs/arr/sort.js +21 -0
  31. package/dist/cjs/arr/sort.js.map +1 -0
  32. package/dist/cjs/arr/transpose.d.ts +1 -0
  33. package/dist/cjs/arr/transpose.js +11 -0
  34. package/dist/cjs/arr/transpose.js.map +1 -0
  35. package/dist/cjs/arr/union.d.ts +1 -0
  36. package/dist/cjs/arr/union.js +8 -0
  37. package/dist/cjs/arr/union.js.map +1 -0
  38. package/dist/cjs/arr/unique.d.ts +2 -0
  39. package/dist/cjs/arr/unique.js +10 -0
  40. package/dist/cjs/arr/unique.js.map +1 -0
  41. package/dist/cjs/func/apply.d.ts +1 -0
  42. package/dist/cjs/func/apply.js +8 -0
  43. package/dist/cjs/func/apply.js.map +1 -0
  44. package/dist/cjs/func/curry.d.ts +2 -0
  45. package/dist/cjs/func/curry.js +17 -0
  46. package/dist/cjs/func/curry.js.map +1 -0
  47. package/dist/cjs/func/debounce.d.ts +1 -0
  48. package/dist/cjs/func/debounce.js +15 -0
  49. package/dist/cjs/func/debounce.js.map +1 -0
  50. package/dist/cjs/func/index.d.ts +5 -0
  51. package/dist/cjs/func/index.js +22 -0
  52. package/dist/cjs/func/index.js.map +1 -0
  53. package/dist/cjs/func/memo.d.ts +2 -0
  54. package/dist/cjs/func/memo.js +18 -0
  55. package/dist/cjs/func/memo.js.map +1 -0
  56. package/dist/cjs/func/types.d.ts +8 -0
  57. package/dist/{obj → cjs/func}/types.js +1 -0
  58. package/dist/cjs/func/types.js.map +1 -0
  59. package/dist/cjs/func/unapply.d.ts +1 -0
  60. package/dist/cjs/func/unapply.js +8 -0
  61. package/dist/cjs/func/unapply.js.map +1 -0
  62. package/dist/{index.d.ts → cjs/index.d.ts} +2 -1
  63. package/dist/{index.js → cjs/index.js} +4 -3
  64. package/dist/cjs/index.js.map +1 -0
  65. package/dist/cjs/math/add.d.ts +1 -0
  66. package/dist/cjs/math/add.js +8 -0
  67. package/dist/cjs/math/add.js.map +1 -0
  68. package/dist/cjs/math/aprox.d.ts +1 -0
  69. package/dist/cjs/math/aprox.js +9 -0
  70. package/dist/cjs/math/aprox.js.map +1 -0
  71. package/dist/cjs/math/calc.d.ts +2 -0
  72. package/dist/cjs/math/calc.js +28 -0
  73. package/dist/cjs/math/calc.js.map +1 -0
  74. package/dist/cjs/math/cumsum.d.ts +1 -0
  75. package/dist/cjs/math/cumsum.js +13 -0
  76. package/dist/cjs/math/cumsum.js.map +1 -0
  77. package/dist/cjs/math/divide.d.ts +1 -0
  78. package/dist/cjs/math/divide.js +9 -0
  79. package/dist/cjs/math/divide.js.map +1 -0
  80. package/dist/cjs/math/inRange.d.ts +1 -0
  81. package/dist/cjs/math/inRange.js +11 -0
  82. package/dist/cjs/math/inRange.js.map +1 -0
  83. package/dist/cjs/math/index.d.ts +16 -0
  84. package/dist/cjs/math/index.js +33 -0
  85. package/dist/cjs/math/index.js.map +1 -0
  86. package/dist/cjs/math/interp.d.ts +1 -0
  87. package/dist/cjs/math/interp.js +23 -0
  88. package/dist/cjs/math/interp.js.map +1 -0
  89. package/dist/cjs/math/mean.d.ts +1 -0
  90. package/dist/cjs/math/mean.js +16 -0
  91. package/dist/cjs/math/mean.js.map +1 -0
  92. package/dist/cjs/math/median.d.ts +1 -0
  93. package/dist/cjs/math/median.js +9 -0
  94. package/dist/cjs/math/median.js.map +1 -0
  95. package/dist/cjs/math/mod.d.ts +1 -0
  96. package/dist/cjs/math/mod.js +8 -0
  97. package/dist/cjs/math/mod.js.map +1 -0
  98. package/dist/cjs/math/multiply.d.ts +1 -0
  99. package/dist/cjs/math/multiply.js +9 -0
  100. package/dist/cjs/math/multiply.js.map +1 -0
  101. package/dist/cjs/math/percentile.d.ts +2 -0
  102. package/dist/cjs/math/percentile.js +49 -0
  103. package/dist/cjs/math/percentile.js.map +1 -0
  104. package/dist/cjs/math/pow.d.ts +1 -0
  105. package/dist/cjs/math/pow.js +8 -0
  106. package/dist/cjs/math/pow.js.map +1 -0
  107. package/dist/cjs/math/round.d.ts +2 -0
  108. package/dist/cjs/math/round.js +15 -0
  109. package/dist/cjs/math/round.js.map +1 -0
  110. package/dist/cjs/math/subtract.d.ts +1 -0
  111. package/dist/cjs/math/subtract.js +9 -0
  112. package/dist/cjs/math/subtract.js.map +1 -0
  113. package/dist/cjs/math/sum.d.ts +1 -0
  114. package/dist/cjs/math/sum.js +8 -0
  115. package/dist/cjs/math/sum.js.map +1 -0
  116. package/dist/cjs/math/types.d.ts +4 -0
  117. package/dist/{time → cjs/math}/types.js +1 -0
  118. package/dist/cjs/math/types.js.map +1 -0
  119. package/dist/cjs/obj/copy.d.ts +1 -0
  120. package/dist/cjs/obj/copy.js +16 -0
  121. package/dist/cjs/obj/copy.js.map +1 -0
  122. package/dist/cjs/obj/entries.d.ts +2 -0
  123. package/dist/cjs/obj/entries.js +8 -0
  124. package/dist/cjs/obj/entries.js.map +1 -0
  125. package/dist/cjs/obj/equal.d.ts +1 -0
  126. package/dist/cjs/obj/equal.js +30 -0
  127. package/dist/cjs/obj/equal.js.map +1 -0
  128. package/dist/cjs/obj/has.d.ts +1 -0
  129. package/dist/cjs/obj/has.js +8 -0
  130. package/dist/cjs/obj/has.js.map +1 -0
  131. package/dist/cjs/obj/index.d.ts +10 -0
  132. package/dist/cjs/obj/index.js +27 -0
  133. package/dist/cjs/obj/index.js.map +1 -0
  134. package/dist/cjs/obj/isObj.d.ts +1 -0
  135. package/dist/cjs/obj/isObj.js +8 -0
  136. package/dist/cjs/obj/isObj.js.map +1 -0
  137. package/dist/cjs/obj/keys.d.ts +2 -0
  138. package/dist/cjs/obj/keys.js +8 -0
  139. package/dist/cjs/obj/keys.js.map +1 -0
  140. package/dist/cjs/obj/merge.d.ts +1 -0
  141. package/dist/cjs/obj/merge.js +9 -0
  142. package/dist/cjs/obj/merge.js.map +1 -0
  143. package/dist/cjs/obj/omit.d.ts +1 -0
  144. package/dist/cjs/obj/omit.js +13 -0
  145. package/dist/cjs/obj/omit.js.map +1 -0
  146. package/dist/cjs/obj/pick.d.ts +1 -0
  147. package/dist/cjs/obj/pick.js +13 -0
  148. package/dist/cjs/obj/pick.js.map +1 -0
  149. package/dist/cjs/obj/types.d.ts +4 -0
  150. package/dist/{types/primitives.js → cjs/obj/types.js} +1 -0
  151. package/dist/cjs/obj/types.js.map +1 -0
  152. package/dist/cjs/obj/vals.d.ts +2 -0
  153. package/dist/cjs/obj/vals.js +8 -0
  154. package/dist/cjs/obj/vals.js.map +1 -0
  155. package/dist/{time → cjs/time}/index.d.ts +1 -2
  156. package/dist/cjs/time/index.js +59 -0
  157. package/dist/cjs/time/index.js.map +1 -0
  158. package/dist/cjs/time/types.js +3 -0
  159. package/dist/cjs/time/types.js.map +1 -0
  160. package/dist/{types → cjs/types}/index.js +1 -0
  161. package/dist/cjs/types/index.js.map +1 -0
  162. package/dist/cjs/types/primitives.js +3 -0
  163. package/dist/cjs/types/primitives.js.map +1 -0
  164. package/dist/esm/arr/chunk.d.ts +1 -0
  165. package/dist/esm/arr/chunk.js +5 -0
  166. package/dist/esm/arr/chunk.js.map +1 -0
  167. package/dist/esm/arr/fill.d.ts +1 -0
  168. package/dist/esm/arr/fill.js +5 -0
  169. package/dist/esm/arr/fill.js.map +1 -0
  170. package/dist/esm/arr/find.d.ts +1 -0
  171. package/dist/esm/arr/find.js +9 -0
  172. package/dist/esm/arr/find.js.map +1 -0
  173. package/dist/esm/arr/findIdx.d.ts +1 -0
  174. package/dist/esm/arr/findIdx.js +9 -0
  175. package/dist/esm/arr/findIdx.js.map +1 -0
  176. package/dist/esm/arr/from.d.ts +1 -0
  177. package/dist/esm/arr/from.js +9 -0
  178. package/dist/esm/arr/from.js.map +1 -0
  179. package/dist/esm/arr/group.d.ts +1 -0
  180. package/dist/esm/arr/group.js +12 -0
  181. package/dist/esm/arr/group.js.map +1 -0
  182. package/dist/esm/arr/groupBy.d.ts +1 -0
  183. package/dist/esm/arr/groupBy.js +5 -0
  184. package/dist/esm/arr/groupBy.js.map +1 -0
  185. package/dist/esm/arr/index.d.ts +12 -0
  186. package/dist/esm/arr/index.js +13 -0
  187. package/dist/esm/arr/index.js.map +1 -0
  188. package/dist/esm/arr/range.d.ts +1 -0
  189. package/dist/esm/arr/range.js +9 -0
  190. package/dist/esm/arr/range.js.map +1 -0
  191. package/dist/esm/arr/sort.d.ts +1 -0
  192. package/dist/esm/arr/sort.js +17 -0
  193. package/dist/esm/arr/sort.js.map +1 -0
  194. package/dist/esm/arr/transpose.d.ts +1 -0
  195. package/dist/esm/arr/transpose.js +7 -0
  196. package/dist/esm/arr/transpose.js.map +1 -0
  197. package/dist/esm/arr/union.d.ts +1 -0
  198. package/dist/esm/arr/union.js +5 -0
  199. package/dist/esm/arr/union.js.map +1 -0
  200. package/dist/esm/arr/unique.d.ts +2 -0
  201. package/dist/esm/arr/unique.js +6 -0
  202. package/dist/esm/arr/unique.js.map +1 -0
  203. package/dist/esm/func/apply.d.ts +1 -0
  204. package/dist/esm/func/apply.js +4 -0
  205. package/dist/esm/func/apply.js.map +1 -0
  206. package/dist/esm/func/curry.d.ts +2 -0
  207. package/dist/esm/func/curry.js +13 -0
  208. package/dist/esm/func/curry.js.map +1 -0
  209. package/dist/esm/func/debounce.d.ts +1 -0
  210. package/dist/esm/func/debounce.js +11 -0
  211. package/dist/esm/func/debounce.js.map +1 -0
  212. package/dist/esm/func/index.d.ts +5 -0
  213. package/dist/esm/func/index.js +6 -0
  214. package/dist/esm/func/index.js.map +1 -0
  215. package/dist/esm/func/memo.d.ts +2 -0
  216. package/dist/esm/func/memo.js +14 -0
  217. package/dist/esm/func/memo.js.map +1 -0
  218. package/dist/esm/func/types.d.ts +8 -0
  219. package/dist/esm/func/types.js +2 -0
  220. package/dist/esm/func/types.js.map +1 -0
  221. package/dist/esm/func/unapply.d.ts +1 -0
  222. package/dist/esm/func/unapply.js +4 -0
  223. package/dist/esm/func/unapply.js.map +1 -0
  224. package/dist/esm/index.d.ts +8 -0
  225. package/dist/esm/index.js +9 -0
  226. package/dist/esm/index.js.map +1 -0
  227. package/dist/esm/math/add.d.ts +1 -0
  228. package/dist/esm/math/add.js +5 -0
  229. package/dist/esm/math/add.js.map +1 -0
  230. package/dist/esm/math/aprox.d.ts +1 -0
  231. package/dist/esm/math/aprox.js +5 -0
  232. package/dist/esm/math/aprox.js.map +1 -0
  233. package/dist/esm/math/calc.d.ts +2 -0
  234. package/dist/esm/math/calc.js +24 -0
  235. package/dist/esm/math/calc.js.map +1 -0
  236. package/dist/esm/math/cumsum.d.ts +1 -0
  237. package/dist/esm/math/cumsum.js +9 -0
  238. package/dist/esm/math/cumsum.js.map +1 -0
  239. package/dist/esm/math/divide.d.ts +1 -0
  240. package/dist/esm/math/divide.js +5 -0
  241. package/dist/esm/math/divide.js.map +1 -0
  242. package/dist/esm/math/inRange.d.ts +1 -0
  243. package/dist/esm/math/inRange.js +7 -0
  244. package/dist/esm/math/inRange.js.map +1 -0
  245. package/dist/esm/math/index.d.ts +16 -0
  246. package/dist/esm/math/index.js +17 -0
  247. package/dist/esm/math/index.js.map +1 -0
  248. package/dist/esm/math/interp.d.ts +1 -0
  249. package/dist/esm/math/interp.js +19 -0
  250. package/dist/esm/math/interp.js.map +1 -0
  251. package/dist/esm/math/mean.d.ts +1 -0
  252. package/dist/esm/math/mean.js +12 -0
  253. package/dist/esm/math/mean.js.map +1 -0
  254. package/dist/esm/math/median.d.ts +1 -0
  255. package/dist/esm/math/median.js +5 -0
  256. package/dist/esm/math/median.js.map +1 -0
  257. package/dist/esm/math/mod.d.ts +1 -0
  258. package/dist/esm/math/mod.js +4 -0
  259. package/dist/esm/math/mod.js.map +1 -0
  260. package/dist/esm/math/multiply.d.ts +1 -0
  261. package/dist/esm/math/multiply.js +6 -0
  262. package/dist/esm/math/multiply.js.map +1 -0
  263. package/dist/esm/math/percentile.d.ts +2 -0
  264. package/dist/esm/math/percentile.js +45 -0
  265. package/dist/esm/math/percentile.js.map +1 -0
  266. package/dist/esm/math/pow.d.ts +1 -0
  267. package/dist/esm/math/pow.js +4 -0
  268. package/dist/esm/math/pow.js.map +1 -0
  269. package/dist/esm/math/round.d.ts +2 -0
  270. package/dist/esm/math/round.js +11 -0
  271. package/dist/esm/math/round.js.map +1 -0
  272. package/dist/esm/math/subtract.d.ts +1 -0
  273. package/dist/esm/math/subtract.js +5 -0
  274. package/dist/esm/math/subtract.js.map +1 -0
  275. package/dist/esm/math/sum.d.ts +1 -0
  276. package/dist/esm/math/sum.js +4 -0
  277. package/dist/esm/math/sum.js.map +1 -0
  278. package/dist/esm/math/types.d.ts +4 -0
  279. package/dist/esm/math/types.js +2 -0
  280. package/dist/esm/math/types.js.map +1 -0
  281. package/dist/esm/obj/copy.d.ts +1 -0
  282. package/dist/esm/obj/copy.js +12 -0
  283. package/dist/esm/obj/copy.js.map +1 -0
  284. package/dist/esm/obj/entries.d.ts +2 -0
  285. package/dist/esm/obj/entries.js +4 -0
  286. package/dist/esm/obj/entries.js.map +1 -0
  287. package/dist/esm/obj/equal.d.ts +1 -0
  288. package/dist/esm/obj/equal.js +27 -0
  289. package/dist/esm/obj/equal.js.map +1 -0
  290. package/dist/esm/obj/has.d.ts +1 -0
  291. package/dist/esm/obj/has.js +4 -0
  292. package/dist/esm/obj/has.js.map +1 -0
  293. package/dist/esm/obj/index.d.ts +10 -0
  294. package/dist/esm/obj/index.js +11 -0
  295. package/dist/esm/obj/index.js.map +1 -0
  296. package/dist/esm/obj/isObj.d.ts +1 -0
  297. package/dist/esm/obj/isObj.js +4 -0
  298. package/dist/esm/obj/isObj.js.map +1 -0
  299. package/dist/esm/obj/keys.d.ts +2 -0
  300. package/dist/esm/obj/keys.js +4 -0
  301. package/dist/esm/obj/keys.js.map +1 -0
  302. package/dist/esm/obj/merge.d.ts +1 -0
  303. package/dist/esm/obj/merge.js +5 -0
  304. package/dist/esm/obj/merge.js.map +1 -0
  305. package/dist/esm/obj/omit.d.ts +1 -0
  306. package/dist/esm/obj/omit.js +9 -0
  307. package/dist/esm/obj/omit.js.map +1 -0
  308. package/dist/esm/obj/pick.d.ts +1 -0
  309. package/dist/esm/obj/pick.js +9 -0
  310. package/dist/esm/obj/pick.js.map +1 -0
  311. package/dist/esm/obj/types.d.ts +4 -0
  312. package/dist/esm/obj/types.js +2 -0
  313. package/dist/esm/obj/types.js.map +1 -0
  314. package/dist/esm/obj/vals.d.ts +2 -0
  315. package/dist/esm/obj/vals.js +4 -0
  316. package/dist/esm/obj/vals.js.map +1 -0
  317. package/dist/esm/time/index.d.ts +16 -0
  318. package/dist/esm/time/index.js +55 -0
  319. package/dist/esm/time/index.js.map +1 -0
  320. package/dist/esm/time/types.d.ts +4 -0
  321. package/dist/esm/time/types.js +2 -0
  322. package/dist/esm/time/types.js.map +1 -0
  323. package/dist/esm/types/index.d.ts +1 -0
  324. package/dist/esm/types/index.js +2 -0
  325. package/dist/esm/types/index.js.map +1 -0
  326. package/dist/esm/types/primitives.d.ts +4 -0
  327. package/dist/esm/types/primitives.js +2 -0
  328. package/dist/esm/types/primitives.js.map +1 -0
  329. package/package.json +6 -5
  330. package/dist/arr/index.d.ts +0 -9
  331. package/dist/arr/index.js +0 -51
  332. package/dist/math/index.d.ts +0 -11
  333. package/dist/math/index.js +0 -51
  334. package/dist/obj/index.d.ts +0 -8
  335. package/dist/obj/index.js +0 -40
  336. package/dist/obj/types.d.ts +0 -5
  337. package/dist/time/index.js +0 -69
  338. /package/dist/{time → cjs/time}/types.d.ts +0 -0
  339. /package/dist/{types → cjs/types}/index.d.ts +0 -0
  340. /package/dist/{types → cjs/types}/primitives.d.ts +0 -0
package/README.md CHANGED
@@ -14,9 +14,10 @@
14
14
 
15
15
  Litus provides strongly-typed utils for:
16
16
 
17
- - **Arrays:** chunk, from, group, ...
18
- - **Math:** mean, median, mod, ...
19
- - **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)
20
21
  - **Time:** convert, format, setDayTime, ...
21
22
 
22
23
  <!-- Installation -->
@@ -0,0 +1 @@
1
+ export declare const chunk: <T>(arr: T[], size: number) => T[][];
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.chunk = void 0;
4
+ const range_1 = require("./range");
5
+ const chunk = (arr, size) => {
6
+ return (0, range_1.range)(0, arr.length, size).map((i) => arr.slice(i, i + size));
7
+ };
8
+ exports.chunk = chunk;
9
+ //# sourceMappingURL=chunk.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const fill: <T>(n: number, val: T) => T[];
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fill = void 0;
4
+ const from_1 = require("./from");
5
+ const fill = (n, val) => {
6
+ return (0, from_1.from)(n, () => val);
7
+ };
8
+ exports.fill = fill;
9
+ //# sourceMappingURL=fill.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const from: <T>(n: number, mapFn: (i: number) => T) => T[];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.from = void 0;
4
+ const from = (n, mapFn) => {
5
+ const res = Array(n);
6
+ let i = n;
7
+ while (--i >= 0) {
8
+ res[i] = mapFn(i);
9
+ }
10
+ return res;
11
+ };
12
+ exports.from = from;
13
+ //# sourceMappingURL=from.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const group: <T, K extends PropertyKey>(arr: T[], getKey: (obj: T) => K) => Record<K, T[]>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.group = void 0;
4
+ const group = (arr, getKey) => {
5
+ const res = {};
6
+ arr.forEach((el) => {
7
+ const val = getKey(el);
8
+ if (res[val] === undefined) {
9
+ res[val] = [];
10
+ }
11
+ res[val].push(el);
12
+ });
13
+ return res;
14
+ };
15
+ exports.group = group;
16
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
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[]>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.groupBy = void 0;
4
+ const group_1 = require("./group");
5
+ const groupBy = (arr, key) => {
6
+ return (0, group_1.group)(arr, (obj) => obj[key]);
7
+ };
8
+ exports.groupBy = groupBy;
9
+ //# sourceMappingURL=groupBy.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,12 @@
1
+ export * from "./chunk";
2
+ export * from "./fill";
3
+ export * from "./find";
4
+ export * from "./findIdx";
5
+ export * from "./from";
6
+ export * from "./group";
7
+ export * from "./groupBy";
8
+ export * from "./range";
9
+ export * from "./sort";
10
+ export * from "./transpose";
11
+ export * from "./union";
12
+ export * from "./unique";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./chunk"), exports);
18
+ __exportStar(require("./fill"), exports);
19
+ __exportStar(require("./find"), exports);
20
+ __exportStar(require("./findIdx"), exports);
21
+ __exportStar(require("./from"), exports);
22
+ __exportStar(require("./group"), exports);
23
+ __exportStar(require("./groupBy"), exports);
24
+ __exportStar(require("./range"), exports);
25
+ __exportStar(require("./sort"), exports);
26
+ __exportStar(require("./transpose"), exports);
27
+ __exportStar(require("./union"), exports);
28
+ __exportStar(require("./unique"), exports);
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const range: (a: number, b: number, step?: number) => number[];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.range = void 0;
4
+ const from_1 = require("./from");
5
+ const range = (a, b, step = 1) => {
6
+ const n = Math.ceil((b - a) / step);
7
+ if (n <= 0) {
8
+ throw Error("Invalid range");
9
+ }
10
+ return (0, from_1.from)(n, (i) => a + step * i);
11
+ };
12
+ exports.range = range;
13
+ //# sourceMappingURL=range.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const sort: <T>(arr: T[], mapFn: ((el: T) => number) | ((el: T) => string)) => T[];
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sort = void 0;
4
+ const sort = (arr, mapFn) => {
5
+ const mapped = arr.map((el) => [mapFn(el), el]);
6
+ mapped.sort(([a], [b]) => {
7
+ if (a < b) {
8
+ return -1;
9
+ }
10
+ if (a > b) {
11
+ return 1;
12
+ }
13
+ return 0;
14
+ });
15
+ mapped.forEach(([, el], i) => {
16
+ arr[i] = el;
17
+ });
18
+ return arr;
19
+ };
20
+ exports.sort = sort;
21
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ import type { Primitive } from "../types";
2
+ export declare const unique: <T extends Primitive>(arr: T[]) => T[];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unique = void 0;
4
+ const sort_1 = require("./sort");
5
+ const unique = (arr) => {
6
+ const set = Array.from(new Set(arr));
7
+ return (0, sort_1.sort)(set, (el) => arr.indexOf(el));
8
+ };
9
+ exports.unique = unique;
10
+ //# sourceMappingURL=unique.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const apply: <T extends unknown[], R>(fn: (...args: T) => R) => (arg: T) => R;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.apply = void 0;
4
+ const apply = (fn) => {
5
+ return (arg) => fn.apply(this, arg);
6
+ };
7
+ exports.apply = apply;
8
+ //# sourceMappingURL=apply.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ import type { CurryFn } from "./types";
2
+ export declare const curry: <R, T extends unknown[]>(fn: (...args: T) => R, arity?: number) => CurryFn<R, T>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.curry = void 0;
4
+ const unapply_1 = require("./unapply");
5
+ const curry = (fn, arity = fn.length) => {
6
+ return (0, unapply_1.unapply)((args) => {
7
+ const missing = arity - args.length;
8
+ if (missing <= 0) {
9
+ return fn.apply(this, args);
10
+ }
11
+ return (0, exports.curry)((0, unapply_1.unapply)((rArgs) => {
12
+ return fn.apply(this, args.concat(rArgs));
13
+ }), missing);
14
+ });
15
+ };
16
+ exports.curry = curry;
17
+ //# sourceMappingURL=curry.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const debounce: <A extends unknown[]>(fn: (...args: A) => void, delay?: number) => (...args: A) => void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.debounce = void 0;
4
+ const unapply_1 = require("./unapply");
5
+ const debounce = (fn, delay = 100) => {
6
+ let timer;
7
+ return (0, unapply_1.unapply)((args) => {
8
+ clearTimeout(timer);
9
+ timer = setTimeout(() => {
10
+ fn.apply(this, args);
11
+ }, delay);
12
+ });
13
+ };
14
+ exports.debounce = debounce;
15
+ //# sourceMappingURL=debounce.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,5 @@
1
+ export * from "./apply";
2
+ export * from "./curry";
3
+ export * from "./debounce";
4
+ export * from "./memo";
5
+ export * from "./unapply";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./apply"), exports);
18
+ __exportStar(require("./curry"), exports);
19
+ __exportStar(require("./debounce"), exports);
20
+ __exportStar(require("./memo"), exports);
21
+ __exportStar(require("./unapply"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,8 @@
1
+ type CurryArgs<T extends unknown[]> = T extends [...infer Ti, infer Tn] ? CurryArgs<Ti> | [...Ti, Tn] : [];
2
+ type CurryRest<T extends unknown[], A extends CurryArgs<T>> = T extends [
3
+ unknown,
4
+ ...infer Ti
5
+ ] ? A extends [unknown, ...infer Ai extends CurryArgs<Ti>] ? CurryRest<Ti, Ai> : T : [];
6
+ type CurryFnRes<R, T extends unknown[], A extends CurryArgs<T>> = CurryRest<T, A> extends [] ? R : CurryFn<R, CurryRest<T, A>>;
7
+ type CurryFn<R, T extends unknown[]> = <A extends CurryArgs<T>>(...args: A) => CurryFnRes<R, T, A>;
8
+ export type { CurryArgs, CurryFn, CurryFnRes, CurryRest };
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/func/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export declare const unapply: <T extends unknown[], R>(fn: (arg: T) => R) => (...args: T) => R;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unapply = void 0;
4
+ const unapply = (fn) => {
5
+ return (...args) => fn(args);
6
+ };
7
+ exports.unapply = unapply;
8
+ //# sourceMappingURL=unapply.js.map
@@ -0,0 +1 @@
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,7 +1,8 @@
1
1
  export * as arr from "./arr";
2
+ export * as func from "./func";
2
3
  export * as math from "./math";
3
4
  export * as obj from "./obj";
4
5
  export * from "./obj/types";
5
- export { Time } from "./time";
6
+ export * from "./time";
6
7
  export * from "./time/types";
7
8
  export * from "./types";
@@ -26,12 +26,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.Time = exports.obj = exports.math = exports.arr = void 0;
29
+ exports.obj = exports.math = exports.func = exports.arr = void 0;
30
30
  exports.arr = __importStar(require("./arr"));
31
+ exports.func = __importStar(require("./func"));
31
32
  exports.math = __importStar(require("./math"));
32
33
  exports.obj = __importStar(require("./obj"));
33
34
  __exportStar(require("./obj/types"), exports);
34
- var time_1 = require("./time");
35
- Object.defineProperty(exports, "Time", { enumerable: true, get: function () { return time_1.Time; } });
35
+ __exportStar(require("./time"), exports);
36
36
  __exportStar(require("./time/types"), exports);
37
37
  __exportStar(require("./types"), exports);
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA2B;AAC3B,6CAA6B;AAC7B,6CAA6B;AAC7B,2CAA2B;AAC3B,4CAA0B;AAC1B,uCAAqB;AACrB,6CAA2B;AAC3B,wCAAsB"}
@@ -0,0 +1 @@
1
+ export declare const add: <A extends import("./types").Quantity[]>(...args: A) => import("./types").Calc<A>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.add = void 0;
4
+ const unapply_1 = require("../func/unapply");
5
+ const calc_1 = require("./calc");
6
+ const sum_1 = require("./sum");
7
+ exports.add = (0, calc_1.calc)((0, unapply_1.unapply)(sum_1.sum));
8
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ import type { Calc, Quantity } from "./types";
2
+ export declare const calc: (opFn: (...a: number[]) => number) => <A extends Quantity[]>(...args: A) => Calc<A>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calc = void 0;
4
+ const from_1 = require("../arr/from");
5
+ const unapply_1 = require("../func/unapply");
6
+ const calc = (opFn) => {
7
+ return (0, unapply_1.unapply)((arr) => {
8
+ if (arr.length < opFn.length) {
9
+ throw Error("Input array and operation function must have same length");
10
+ }
11
+ const vectors = arr.filter((el) => typeof el !== "number");
12
+ if (vectors.length === 0) {
13
+ return opFn.apply(undefined, arr);
14
+ }
15
+ const size = vectors[0].length;
16
+ if (vectors.some((v) => v.length !== size)) {
17
+ throw Error("All vectors must have same length");
18
+ }
19
+ return (0, from_1.from)(size, (i) => {
20
+ const input = arr.map((el) => {
21
+ return typeof el === "number" ? el : el[i];
22
+ });
23
+ return opFn.apply(undefined, input);
24
+ });
25
+ });
26
+ };
27
+ exports.calc = calc;
28
+ //# sourceMappingURL=calc.js.map
@@ -0,0 +1 @@
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"}