litus 1.2.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -33
- package/dist/cjs/arr/chunk.js +3 -0
- package/dist/cjs/arr/chunk.js.map +1 -1
- package/dist/cjs/arr/find.d.ts +2 -1
- package/dist/cjs/arr/find.js +2 -6
- package/dist/cjs/arr/find.js.map +1 -1
- package/dist/cjs/arr/findAll.d.ts +2 -0
- package/dist/cjs/arr/findAll.js +9 -0
- package/dist/cjs/arr/findAll.js.map +1 -0
- package/dist/cjs/arr/findAllIdx.d.ts +2 -0
- package/dist/cjs/arr/findAllIdx.js +17 -0
- package/dist/cjs/arr/findAllIdx.js.map +1 -0
- package/dist/cjs/arr/findIdx.d.ts +2 -1
- package/dist/cjs/arr/findIdx.js.map +1 -1
- package/dist/cjs/arr/index.d.ts +5 -0
- package/dist/cjs/arr/index.js +5 -0
- package/dist/cjs/arr/index.js.map +1 -1
- package/dist/cjs/arr/max.d.ts +1 -0
- package/dist/cjs/arr/max.js +15 -0
- package/dist/cjs/arr/max.js.map +1 -0
- package/dist/cjs/arr/min.d.ts +1 -0
- package/dist/cjs/arr/min.js +9 -0
- package/dist/cjs/arr/min.js.map +1 -0
- package/dist/cjs/arr/range.js +3 -3
- package/dist/cjs/arr/range.js.map +1 -1
- package/dist/cjs/arr/sort.d.ts +1 -1
- package/dist/cjs/arr/sort.js.map +1 -1
- package/dist/cjs/arr/transpose.d.ts +2 -1
- package/dist/cjs/arr/transpose.js +5 -1
- package/dist/cjs/arr/transpose.js.map +1 -1
- package/dist/cjs/arr/types.d.ts +11 -0
- package/dist/cjs/arr/types.js +3 -0
- package/dist/cjs/arr/types.js.map +1 -0
- package/dist/cjs/arr/union.js.map +1 -1
- package/dist/cjs/arr/unique.js.map +1 -1
- package/dist/cjs/arr/zip.d.ts +1 -0
- package/dist/cjs/arr/zip.js +7 -0
- package/dist/cjs/arr/zip.js.map +1 -0
- package/dist/cjs/func/curry.js.map +1 -1
- package/dist/cjs/func/debounce.js.map +1 -1
- package/dist/cjs/func/index.d.ts +1 -0
- package/dist/cjs/func/index.js +1 -0
- package/dist/cjs/func/index.js.map +1 -1
- package/dist/cjs/func/memo.d.ts +1 -1
- package/dist/cjs/func/memo.js +10 -6
- package/dist/cjs/func/memo.js.map +1 -1
- package/dist/cjs/func/throttle.d.ts +1 -0
- package/dist/cjs/func/throttle.js +19 -0
- package/dist/cjs/func/throttle.js.map +1 -0
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/math/add.d.ts +1 -1
- package/dist/cjs/math/add.js.map +1 -1
- package/dist/cjs/math/calc.d.ts +2 -1
- package/dist/cjs/math/calc.js +2 -7
- package/dist/cjs/math/calc.js.map +1 -1
- package/dist/cjs/math/divide.d.ts +1 -1
- package/dist/cjs/math/divide.js +2 -5
- package/dist/cjs/math/divide.js.map +1 -1
- package/dist/cjs/math/interp.js +1 -2
- package/dist/cjs/math/interp.js.map +1 -1
- package/dist/cjs/math/mod.d.ts +1 -1
- package/dist/cjs/math/mod.js +4 -3
- package/dist/cjs/math/mod.js.map +1 -1
- package/dist/cjs/math/multiply.d.ts +1 -1
- package/dist/cjs/math/multiply.js +1 -3
- package/dist/cjs/math/multiply.js.map +1 -1
- package/dist/cjs/math/percentile.js.map +1 -1
- package/dist/cjs/math/pow.d.ts +1 -1
- package/dist/cjs/math/pow.js +2 -4
- package/dist/cjs/math/pow.js.map +1 -1
- package/dist/cjs/math/round.d.ts +1 -1
- package/dist/cjs/math/round.js +7 -7
- package/dist/cjs/math/round.js.map +1 -1
- package/dist/cjs/math/subtract.d.ts +1 -1
- package/dist/cjs/math/subtract.js +2 -5
- package/dist/cjs/math/subtract.js.map +1 -1
- package/dist/cjs/math/types.d.ts +1 -1
- package/dist/cjs/obj/entries.js +1 -4
- package/dist/cjs/obj/entries.js.map +1 -1
- package/dist/cjs/obj/equal.js.map +1 -1
- package/dist/cjs/obj/get.d.ts +1 -0
- package/dist/cjs/obj/get.js +19 -0
- package/dist/cjs/obj/get.js.map +1 -0
- package/dist/cjs/obj/has.d.ts +1 -1
- package/dist/cjs/obj/has.js.map +1 -1
- package/dist/cjs/obj/index.d.ts +1 -0
- package/dist/cjs/obj/index.js +1 -0
- package/dist/cjs/obj/index.js.map +1 -1
- package/dist/cjs/obj/isObj.d.ts +1 -1
- package/dist/cjs/obj/isObj.js.map +1 -1
- package/dist/cjs/obj/keys.d.ts +1 -1
- package/dist/cjs/obj/keys.js +1 -4
- package/dist/cjs/obj/keys.js.map +1 -1
- package/dist/cjs/obj/vals.js +1 -4
- package/dist/cjs/obj/vals.js.map +1 -1
- package/dist/cjs/str/_words.d.ts +1 -0
- package/dist/cjs/str/_words.js +13 -0
- package/dist/cjs/str/_words.js.map +1 -0
- package/dist/cjs/str/camel.d.ts +1 -0
- package/dist/cjs/str/camel.js +15 -0
- package/dist/cjs/str/camel.js.map +1 -0
- package/dist/cjs/str/capitalize.d.ts +1 -0
- package/dist/cjs/str/capitalize.js +8 -0
- package/dist/cjs/str/capitalize.js.map +1 -0
- package/dist/cjs/str/index.d.ts +7 -0
- package/dist/cjs/str/index.js +24 -0
- package/dist/cjs/str/index.js.map +1 -0
- package/dist/cjs/str/kebab.d.ts +1 -0
- package/dist/cjs/str/kebab.js +11 -0
- package/dist/cjs/str/kebab.js.map +1 -0
- package/dist/cjs/str/pascal.d.ts +1 -0
- package/dist/cjs/str/pascal.js +10 -0
- package/dist/cjs/str/pascal.js.map +1 -0
- package/dist/cjs/str/snake.d.ts +1 -0
- package/dist/cjs/str/snake.js +11 -0
- package/dist/cjs/str/snake.js.map +1 -0
- package/dist/cjs/str/template.d.ts +1 -0
- package/dist/cjs/str/template.js +11 -0
- package/dist/cjs/str/template.js.map +1 -0
- package/dist/cjs/str/trim.d.ts +1 -0
- package/dist/cjs/str/trim.js +9 -0
- package/dist/cjs/str/trim.js.map +1 -0
- package/dist/cjs/time/index.js.map +1 -1
- package/dist/esm/arr/chunk.js +3 -0
- package/dist/esm/arr/chunk.js.map +1 -1
- package/dist/esm/arr/find.d.ts +2 -1
- package/dist/esm/arr/find.js +2 -6
- package/dist/esm/arr/find.js.map +1 -1
- package/dist/esm/arr/findAll.d.ts +2 -0
- package/dist/esm/arr/findAll.js +5 -0
- package/dist/esm/arr/findAll.js.map +1 -0
- package/dist/esm/arr/findAllIdx.d.ts +2 -0
- package/dist/esm/arr/findAllIdx.js +13 -0
- package/dist/esm/arr/findAllIdx.js.map +1 -0
- package/dist/esm/arr/findIdx.d.ts +2 -1
- package/dist/esm/arr/findIdx.js.map +1 -1
- package/dist/esm/arr/index.d.ts +5 -0
- package/dist/esm/arr/index.js +5 -0
- package/dist/esm/arr/index.js.map +1 -1
- package/dist/esm/arr/max.d.ts +1 -0
- package/dist/esm/arr/max.js +11 -0
- package/dist/esm/arr/max.js.map +1 -0
- package/dist/esm/arr/min.d.ts +1 -0
- package/dist/esm/arr/min.js +5 -0
- package/dist/esm/arr/min.js.map +1 -0
- package/dist/esm/arr/range.js +3 -3
- package/dist/esm/arr/range.js.map +1 -1
- package/dist/esm/arr/sort.d.ts +1 -1
- package/dist/esm/arr/sort.js.map +1 -1
- package/dist/esm/arr/transpose.d.ts +2 -1
- package/dist/esm/arr/transpose.js +5 -1
- package/dist/esm/arr/transpose.js.map +1 -1
- package/dist/esm/arr/types.d.ts +11 -0
- package/dist/esm/arr/types.js +2 -0
- package/dist/esm/arr/types.js.map +1 -0
- package/dist/esm/arr/union.js.map +1 -1
- package/dist/esm/arr/unique.js.map +1 -1
- package/dist/esm/arr/zip.d.ts +1 -0
- package/dist/esm/arr/zip.js +4 -0
- package/dist/esm/arr/zip.js.map +1 -0
- package/dist/esm/func/curry.js.map +1 -1
- package/dist/esm/func/debounce.js.map +1 -1
- package/dist/esm/func/index.d.ts +1 -0
- package/dist/esm/func/index.js +1 -0
- package/dist/esm/func/index.js.map +1 -1
- package/dist/esm/func/memo.d.ts +1 -1
- package/dist/esm/func/memo.js +10 -6
- package/dist/esm/func/memo.js.map +1 -1
- package/dist/esm/func/throttle.d.ts +1 -0
- package/dist/esm/func/throttle.js +15 -0
- package/dist/esm/func/throttle.js.map +1 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/math/add.d.ts +1 -1
- package/dist/esm/math/add.js.map +1 -1
- package/dist/esm/math/calc.d.ts +2 -1
- package/dist/esm/math/calc.js +2 -7
- package/dist/esm/math/calc.js.map +1 -1
- package/dist/esm/math/divide.d.ts +1 -1
- package/dist/esm/math/divide.js +2 -4
- package/dist/esm/math/divide.js.map +1 -1
- package/dist/esm/math/interp.js +1 -2
- package/dist/esm/math/interp.js.map +1 -1
- package/dist/esm/math/mod.d.ts +1 -1
- package/dist/esm/math/mod.js +4 -2
- package/dist/esm/math/mod.js.map +1 -1
- package/dist/esm/math/multiply.d.ts +1 -1
- package/dist/esm/math/multiply.js +1 -3
- package/dist/esm/math/multiply.js.map +1 -1
- package/dist/esm/math/percentile.js.map +1 -1
- package/dist/esm/math/pow.d.ts +1 -1
- package/dist/esm/math/pow.js +2 -3
- package/dist/esm/math/pow.js.map +1 -1
- package/dist/esm/math/round.d.ts +1 -1
- package/dist/esm/math/round.js +7 -7
- package/dist/esm/math/round.js.map +1 -1
- package/dist/esm/math/subtract.d.ts +1 -1
- package/dist/esm/math/subtract.js +2 -4
- package/dist/esm/math/subtract.js.map +1 -1
- package/dist/esm/math/types.d.ts +1 -1
- package/dist/esm/obj/entries.js +1 -3
- package/dist/esm/obj/entries.js.map +1 -1
- package/dist/esm/obj/equal.js.map +1 -1
- package/dist/esm/obj/get.d.ts +1 -0
- package/dist/esm/obj/get.js +15 -0
- package/dist/esm/obj/get.js.map +1 -0
- package/dist/esm/obj/has.d.ts +1 -1
- package/dist/esm/obj/has.js.map +1 -1
- package/dist/esm/obj/index.d.ts +1 -0
- package/dist/esm/obj/index.js +1 -0
- package/dist/esm/obj/index.js.map +1 -1
- package/dist/esm/obj/isObj.d.ts +1 -1
- package/dist/esm/obj/isObj.js.map +1 -1
- package/dist/esm/obj/keys.d.ts +1 -1
- package/dist/esm/obj/keys.js +1 -3
- package/dist/esm/obj/keys.js.map +1 -1
- package/dist/esm/obj/vals.js +1 -3
- package/dist/esm/obj/vals.js.map +1 -1
- package/dist/esm/str/_words.d.ts +1 -0
- package/dist/esm/str/_words.js +9 -0
- package/dist/esm/str/_words.js.map +1 -0
- package/dist/esm/str/camel.d.ts +1 -0
- package/dist/esm/str/camel.js +11 -0
- package/dist/esm/str/camel.js.map +1 -0
- package/dist/esm/str/capitalize.d.ts +1 -0
- package/dist/esm/str/capitalize.js +4 -0
- package/dist/esm/str/capitalize.js.map +1 -0
- package/dist/esm/str/index.d.ts +7 -0
- package/dist/esm/str/index.js +8 -0
- package/dist/esm/str/index.js.map +1 -0
- package/dist/esm/str/kebab.d.ts +1 -0
- package/dist/esm/str/kebab.js +7 -0
- package/dist/esm/str/kebab.js.map +1 -0
- package/dist/esm/str/pascal.d.ts +1 -0
- package/dist/esm/str/pascal.js +6 -0
- package/dist/esm/str/pascal.js.map +1 -0
- package/dist/esm/str/snake.d.ts +1 -0
- package/dist/esm/str/snake.js +7 -0
- package/dist/esm/str/snake.js.map +1 -0
- package/dist/esm/str/template.d.ts +1 -0
- package/dist/esm/str/template.js +7 -0
- package/dist/esm/str/template.js.map +1 -0
- package/dist/esm/str/trim.d.ts +1 -0
- package/dist/esm/str/trim.js +5 -0
- package/dist/esm/str/trim.js.map +1 -0
- package/dist/esm/time/index.js.map +1 -1
- package/package.json +10 -4
package/README.md
CHANGED
|
@@ -1,75 +1,69 @@
|
|
|
1
|
-
<!-- HEADER -->
|
|
2
|
-
|
|
3
1
|
<div align="center">
|
|
4
2
|
<img src="https://raw.githubusercontent.com/estidlore/litus/main/Logo.svg" alt="Logo" width="80" height="80">
|
|
5
3
|
|
|
6
|
-
<h2
|
|
4
|
+
<h2>Litus</h2>
|
|
7
5
|
|
|
8
|
-
<p
|
|
9
|
-
|
|
10
|
-
<br />
|
|
11
|
-
<a href="https://github.com/estidlore/litus/issues">Report Bug</a>
|
|
12
|
-
</p>
|
|
6
|
+
<p>Lightweight and powerful utils for Typescript with smart type inference</p>
|
|
7
|
+
<a href="https://github.com/estidlore/litus/blob/main/docs/docs.md">Docs</a>
|
|
13
8
|
</div>
|
|
14
9
|
|
|
15
10
|
Litus provides strongly-typed utils for:
|
|
16
11
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
12
|
+
- Arrays
|
|
13
|
+
- Functions
|
|
14
|
+
- Math
|
|
15
|
+
- Objects
|
|
16
|
+
- Strings
|
|
22
17
|
|
|
23
|
-
|
|
18
|
+
## Why Litus?
|
|
24
19
|
|
|
25
|
-
|
|
20
|
+
- Powerful unique utils (i.e. `math.calc`)
|
|
21
|
+
- Tree-shakeable (import only what you need)
|
|
22
|
+
- Smart type inference
|
|
23
|
+
- Lightweight (no dependencies)
|
|
24
|
+
- 100% test coverage
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
## Installation
|
|
28
27
|
|
|
29
|
-
```
|
|
28
|
+
```sh
|
|
30
29
|
npm i litus
|
|
31
30
|
```
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
```
|
|
32
|
+
```sh
|
|
36
33
|
yarn add litus
|
|
37
34
|
```
|
|
38
35
|
|
|
39
|
-
<!-- Usage -->
|
|
40
|
-
|
|
41
36
|
## Usage
|
|
42
37
|
|
|
43
38
|
**Import all utils**
|
|
44
39
|
|
|
45
40
|
For ES6+ or Typescript
|
|
46
41
|
|
|
47
|
-
```
|
|
48
|
-
import * as
|
|
42
|
+
```ts
|
|
43
|
+
import * as _ from "litus";
|
|
49
44
|
```
|
|
50
45
|
|
|
51
46
|
For CommonJS
|
|
52
47
|
|
|
53
|
-
```
|
|
54
|
-
var
|
|
48
|
+
```js
|
|
49
|
+
var _ = require("litus");
|
|
55
50
|
```
|
|
56
51
|
|
|
57
|
-
**Import what you need
|
|
52
|
+
**Import only what you need**
|
|
58
53
|
|
|
59
|
-
```
|
|
60
|
-
import
|
|
61
|
-
import { arr, math, obj, Time } from "litus";
|
|
54
|
+
```ts
|
|
55
|
+
import { arr, func, math, obj, str } from "litus";
|
|
62
56
|
```
|
|
63
57
|
|
|
64
|
-
|
|
58
|
+
```ts
|
|
59
|
+
import { aprox, copy, group, memo, template } from "litus";
|
|
60
|
+
```
|
|
65
61
|
|
|
66
62
|
## Contributing
|
|
67
63
|
|
|
68
64
|
Feel free to open an [issue](https://github.com/estidlore/litus/issues) or fork this repo and create a pull request.
|
|
69
65
|
Don't forget to give the project a star!
|
|
70
66
|
|
|
71
|
-
<!-- LICENSE -->
|
|
72
|
-
|
|
73
67
|
## License
|
|
74
68
|
|
|
75
69
|
This package released under the [MIT License](https://github.com/estidlore/litus/blob/main/LICENSE).
|
package/dist/cjs/arr/chunk.js
CHANGED
|
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.chunk = void 0;
|
|
4
4
|
const range_1 = require("./range");
|
|
5
5
|
const chunk = (arr, size) => {
|
|
6
|
+
if (!Number.isInteger(size)) {
|
|
7
|
+
throw new Error("Chunk size must be an integer");
|
|
8
|
+
}
|
|
6
9
|
return (0, range_1.range)(0, arr.length, size).map((i) => arr.slice(i, i + size));
|
|
7
10
|
};
|
|
8
11
|
exports.chunk = chunk;
|
|
@@ -1 +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;
|
|
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,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IACD,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;AALW,QAAA,KAAK,SAKhB"}
|
package/dist/cjs/arr/find.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Predicate } from "./types";
|
|
2
|
+
export declare const find: <T>(arr: T[], predicate: Predicate<T, boolean>, from?: number, to?: number) => T | undefined;
|
package/dist/cjs/arr/find.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.find = void 0;
|
|
4
|
+
const findIdx_1 = require("./findIdx");
|
|
4
5
|
const find = (arr, predicate, from = 0, to = arr.length) => {
|
|
5
|
-
|
|
6
|
-
if (predicate(arr[i], i, arr)) {
|
|
7
|
-
return arr[i];
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
return undefined;
|
|
6
|
+
return arr[(0, findIdx_1.findIdx)(arr, predicate, from, to)];
|
|
11
7
|
};
|
|
12
8
|
exports.find = find;
|
|
13
9
|
//# sourceMappingURL=find.js.map
|
package/dist/cjs/arr/find.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/arr/find.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/arr/find.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAG7B,MAAM,IAAI,GAAG,CAClB,GAAQ,EACR,SAAuB,EACvB,IAAI,GAAG,CAAC,EACR,EAAE,GAAG,GAAG,CAAC,MAAM,EACA,EAAE;IACjB,OAAO,GAAG,CAAC,IAAA,iBAAO,EAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAPW,QAAA,IAAI,QAOf"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findAll = void 0;
|
|
4
|
+
const findAllIdx_1 = require("./findAllIdx");
|
|
5
|
+
const findAll = (arr, predicate, from = 0, to = arr.length, limit = arr.length) => {
|
|
6
|
+
return (0, findAllIdx_1.findAllIdx)(arr, predicate, from, to, limit).map((i) => arr[i]);
|
|
7
|
+
};
|
|
8
|
+
exports.findAll = findAll;
|
|
9
|
+
//# sourceMappingURL=findAll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findAll.js","sourceRoot":"","sources":["../../../src/arr/findAll.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAGnC,MAAM,OAAO,GAAG,CACrB,GAAQ,EACR,SAAuB,EACvB,IAAI,GAAG,CAAC,EACR,EAAE,GAAG,GAAG,CAAC,MAAM,EACf,KAAK,GAAG,GAAG,CAAC,MAAM,EACb,EAAE;IACP,OAAO,IAAA,uBAAU,EAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC;AARW,QAAA,OAAO,WAQlB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findAllIdx = void 0;
|
|
4
|
+
const findAllIdx = (arr, predicate, from = 0, to = arr.length, limit = arr.length) => {
|
|
5
|
+
const res = [];
|
|
6
|
+
for (let i = from; i < to; i++) {
|
|
7
|
+
if (predicate(arr[i], i, arr)) {
|
|
8
|
+
res.push(i);
|
|
9
|
+
if (res.length >= limit) {
|
|
10
|
+
break;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return res;
|
|
15
|
+
};
|
|
16
|
+
exports.findAllIdx = findAllIdx;
|
|
17
|
+
//# sourceMappingURL=findAllIdx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findAllIdx.js","sourceRoot":"","sources":["../../../src/arr/findAllIdx.ts"],"names":[],"mappings":";;;AAEO,MAAM,UAAU,GAAG,CACxB,GAAQ,EACR,SAAuB,EACvB,IAAI,GAAG,CAAC,EACR,EAAE,GAAG,GAAG,CAAC,MAAM,EACf,KAAK,GAAG,GAAG,CAAC,MAAM,EACR,EAAE;IACZ,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,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,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,EAAE;gBACvB,MAAM;aACP;SACF;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAjBW,QAAA,UAAU,cAiBrB"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Predicate } from "./types";
|
|
2
|
+
export declare const findIdx: <T>(arr: T[], predicate: Predicate<T, boolean>, from?: number, to?: number) => number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findIdx.js","sourceRoot":"","sources":["../../../src/arr/findIdx.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"findIdx.js","sourceRoot":"","sources":["../../../src/arr/findIdx.ts"],"names":[],"mappings":";;;AAEO,MAAM,OAAO,GAAG,CACrB,GAAQ,EACR,SAAuB,EACvB,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"}
|
package/dist/cjs/arr/index.d.ts
CHANGED
|
@@ -2,11 +2,16 @@ export * from "./chunk";
|
|
|
2
2
|
export * from "./fill";
|
|
3
3
|
export * from "./find";
|
|
4
4
|
export * from "./findIdx";
|
|
5
|
+
export * from "./findAll";
|
|
6
|
+
export * from "./findAllIdx";
|
|
5
7
|
export * from "./from";
|
|
6
8
|
export * from "./group";
|
|
7
9
|
export * from "./groupBy";
|
|
10
|
+
export * from "./max";
|
|
11
|
+
export * from "./min";
|
|
8
12
|
export * from "./range";
|
|
9
13
|
export * from "./sort";
|
|
10
14
|
export * from "./transpose";
|
|
11
15
|
export * from "./union";
|
|
12
16
|
export * from "./unique";
|
|
17
|
+
export * from "./zip";
|
package/dist/cjs/arr/index.js
CHANGED
|
@@ -18,12 +18,17 @@ __exportStar(require("./chunk"), exports);
|
|
|
18
18
|
__exportStar(require("./fill"), exports);
|
|
19
19
|
__exportStar(require("./find"), exports);
|
|
20
20
|
__exportStar(require("./findIdx"), exports);
|
|
21
|
+
__exportStar(require("./findAll"), exports);
|
|
22
|
+
__exportStar(require("./findAllIdx"), exports);
|
|
21
23
|
__exportStar(require("./from"), exports);
|
|
22
24
|
__exportStar(require("./group"), exports);
|
|
23
25
|
__exportStar(require("./groupBy"), exports);
|
|
26
|
+
__exportStar(require("./max"), exports);
|
|
27
|
+
__exportStar(require("./min"), exports);
|
|
24
28
|
__exportStar(require("./range"), exports);
|
|
25
29
|
__exportStar(require("./sort"), exports);
|
|
26
30
|
__exportStar(require("./transpose"), exports);
|
|
27
31
|
__exportStar(require("./union"), exports);
|
|
28
32
|
__exportStar(require("./unique"), exports);
|
|
33
|
+
__exportStar(require("./zip"), exports);
|
|
29
34
|
//# 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,4CAA0B;AAC1B,yCAAuB;AACvB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/arr/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B;AAC1B,4CAA0B;AAC1B,+CAA6B;AAC7B,yCAAuB;AACvB,0CAAwB;AACxB,4CAA0B;AAC1B,wCAAsB;AACtB,wCAAsB;AACtB,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB;AACzB,wCAAsB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const max: <T>(arr: T[], fn: (val: T) => number) => T;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.max = void 0;
|
|
4
|
+
const max = (arr, fn) => {
|
|
5
|
+
const scores = arr.map(fn);
|
|
6
|
+
let maxIdx = 0;
|
|
7
|
+
for (let i = 1; i < scores.length; i++) {
|
|
8
|
+
if (scores[i] > scores[maxIdx]) {
|
|
9
|
+
maxIdx = i;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return arr[maxIdx];
|
|
13
|
+
};
|
|
14
|
+
exports.max = max;
|
|
15
|
+
//# sourceMappingURL=max.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"max.js","sourceRoot":"","sources":["../../../src/arr/max.ts"],"names":[],"mappings":";;;AAAO,MAAM,GAAG,GAAG,CAAI,GAAQ,EAAE,EAAsB,EAAK,EAAE;IAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE;YAC9B,MAAM,GAAG,CAAC,CAAC;SACZ;KACF;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC;AATW,QAAA,GAAG,OASd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const min: <T>(arr: T[], fn: (val: T) => number) => T;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.min = void 0;
|
|
4
|
+
const max_1 = require("./max");
|
|
5
|
+
const min = (arr, fn) => {
|
|
6
|
+
return (0, max_1.max)(arr, (val) => -fn(val));
|
|
7
|
+
};
|
|
8
|
+
exports.min = min;
|
|
9
|
+
//# sourceMappingURL=min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"min.js","sourceRoot":"","sources":["../../../src/arr/min.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAErB,MAAM,GAAG,GAAG,CAAI,GAAQ,EAAE,EAAsB,EAAK,EAAE;IAC5D,OAAO,IAAA,SAAG,EAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC;AAFW,QAAA,GAAG,OAEd"}
|
package/dist/cjs/arr/range.js
CHANGED
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.range = void 0;
|
|
4
4
|
const from_1 = require("./from");
|
|
5
5
|
const range = (a, b, step = 1) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
throw Error("Invalid range");
|
|
6
|
+
if (step === 0) {
|
|
7
|
+
throw new Error("Step cannot be 0");
|
|
9
8
|
}
|
|
9
|
+
const n = Math.ceil((b - a) / step);
|
|
10
10
|
return (0, from_1.from)(n, (i) => a + step * i);
|
|
11
11
|
};
|
|
12
12
|
exports.range = range;
|
|
@@ -1 +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,
|
|
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,IAAI,IAAI,KAAK,CAAC,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACrC;IACD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,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"}
|
package/dist/cjs/arr/sort.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const sort: <T>(arr: T[], mapFn: (
|
|
1
|
+
export declare const sort: <T>(arr: T[], mapFn: (el: T) => number | string) => T[];
|
package/dist/cjs/arr/sort.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../src/arr/sort.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../src/arr/sort.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GAAG,CAAI,GAAQ,EAAE,KAAiC,EAAO,EAAE;IAC1E,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;AAfW,QAAA,IAAI,QAef"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Transpose } from "./types";
|
|
2
|
+
export declare const transpose: <T extends unknown[][]>(matrix: T) => Transpose<T>;
|
|
@@ -5,7 +5,11 @@ const from_1 = require("./from");
|
|
|
5
5
|
const transpose = (matrix) => {
|
|
6
6
|
const rows = matrix.length;
|
|
7
7
|
const cols = matrix[0].length;
|
|
8
|
-
|
|
8
|
+
if (matrix.some((row) => row.length !== cols)) {
|
|
9
|
+
throw new Error("Invalid matrix. Rows have different size");
|
|
10
|
+
}
|
|
11
|
+
const res = (0, from_1.from)(cols, (i) => (0, from_1.from)(rows, (j) => matrix[j][i]));
|
|
12
|
+
return res;
|
|
9
13
|
};
|
|
10
14
|
exports.transpose = transpose;
|
|
11
15
|
//# sourceMappingURL=transpose.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transpose.js","sourceRoot":"","sources":["../../../src/arr/transpose.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;
|
|
1
|
+
{"version":3,"file":"transpose.js","sourceRoot":"","sources":["../../../src/arr/transpose.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAGvB,MAAM,SAAS,GAAG,CAAwB,MAAS,EAAgB,EAAE;IAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IACD,MAAM,GAAG,GAAG,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;IAC/D,OAAO,GAA8B,CAAC;AACxC,CAAC,CAAC;AARW,QAAA,SAAS,aAQpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type Predicate<T, R = boolean> = (val: T, idx: number, arr: T[]) => R;
|
|
2
|
+
type Transpose<T extends unknown[][]> = T[number] extends infer U ? {
|
|
3
|
+
[K in keyof U]: {
|
|
4
|
+
[J in keyof T]: T[J][K & keyof T[J]];
|
|
5
|
+
};
|
|
6
|
+
} : never;
|
|
7
|
+
type Tuple<T, N extends number, R extends T[] = []> = R["length"] extends N ? R : Tuple<T, N, [...R, T]>;
|
|
8
|
+
type ConvertTuple<T extends unknown[], ToType> = {
|
|
9
|
+
[K in keyof T]: ToType;
|
|
10
|
+
};
|
|
11
|
+
export type { ConvertTuple, Predicate, Transpose, Tuple };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/arr/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../../src/arr/union.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../../src/arr/union.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAE3B,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unique.js","sourceRoot":"","sources":["../../../src/arr/unique.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"unique.js","sourceRoot":"","sources":["../../../src/arr/unique.ts"],"names":[],"mappings":";;;AAEA,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 zip: <T extends unknown[][]>(...args: T) => import("./types").Transpose<T>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.zip = void 0;
|
|
4
|
+
const unapply_1 = require("../func/unapply");
|
|
5
|
+
const transpose_1 = require("./transpose");
|
|
6
|
+
exports.zip = (0, unapply_1.unapply)(transpose_1.transpose);
|
|
7
|
+
//# sourceMappingURL=zip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../src/arr/zip.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,2CAAwC;AAE3B,QAAA,GAAG,GAAG,IAAA,iBAAO,EAAC,qBAAS,CAAC,CAAC"}
|
|
@@ -1 +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,
|
|
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,EAAG,IAAkB,CAAC,MAAM,CAAC,KAAK,CAAM,CAAC,CAAC;QAChE,CAAC,CAAC,EACF,OAAO,CACe,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAhBW,QAAA,KAAK,SAgBhB"}
|
|
@@ -1 +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,
|
|
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,EACa,EAAE;IAC1B,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"}
|
package/dist/cjs/func/index.d.ts
CHANGED
package/dist/cjs/func/index.js
CHANGED
|
@@ -18,5 +18,6 @@ __exportStar(require("./apply"), exports);
|
|
|
18
18
|
__exportStar(require("./curry"), exports);
|
|
19
19
|
__exportStar(require("./debounce"), exports);
|
|
20
20
|
__exportStar(require("./memo"), exports);
|
|
21
|
+
__exportStar(require("./throttle"), exports);
|
|
21
22
|
__exportStar(require("./unapply"), exports);
|
|
22
23
|
//# 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,yCAAuB;AACvB,4CAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/func/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,yCAAuB;AACvB,6CAA2B;AAC3B,4CAA0B"}
|
package/dist/cjs/func/memo.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
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;
|
|
2
|
+
export declare const memo: <T extends unknown[], R>(fn: (...args: T) => R, idFn?: (arg: T) => Primitive, ttl?: number) => (...args: T) => R;
|
package/dist/cjs/func/memo.js
CHANGED
|
@@ -2,16 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.memo = void 0;
|
|
4
4
|
const unapply_1 = require("./unapply");
|
|
5
|
-
const memo = (fn, idFn = JSON.stringify) => {
|
|
5
|
+
const memo = (fn, idFn = JSON.stringify, ttl = 0) => {
|
|
6
6
|
const cache = new Map();
|
|
7
7
|
return (0, unapply_1.unapply)((args) => {
|
|
8
8
|
const key = idFn(args);
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
const cached = cache.get(key);
|
|
10
|
+
if (cached !== undefined) {
|
|
11
|
+
if (cached.exp === undefined || Date.now() < cached.exp) {
|
|
12
|
+
return cached.val;
|
|
13
|
+
}
|
|
11
14
|
}
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
const val = fn.apply(this, args);
|
|
16
|
+
const exp = ttl <= 0 ? undefined : Date.now() + ttl;
|
|
17
|
+
cache.set(key, { exp, val });
|
|
18
|
+
return val;
|
|
15
19
|
});
|
|
16
20
|
};
|
|
17
21
|
exports.memo = memo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memo.js","sourceRoot":"","sources":["../../../src/func/memo.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"memo.js","sourceRoot":"","sources":["../../../src/func/memo.ts"],"names":[],"mappings":";;;AAEA,uCAAoC;AAE7B,MAAM,IAAI,GAAG,CAClB,EAAqB,EACrB,OAA8B,IAAI,CAAC,SAAS,EAC5C,GAAG,GAAG,CAAC,EACc,EAAE;IACvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC7D,OAAO,IAAA,iBAAO,EAAC,CAAC,IAAO,EAAK,EAAE;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE;gBACvD,OAAO,MAAM,CAAC,GAAG,CAAC;aACnB;SACF;QACD,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QACpD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,IAAI,QAmBf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const throttle: <A extends unknown[]>(fn: (...args: A) => void, interval?: number) => (...args: A) => void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.throttle = void 0;
|
|
4
|
+
const unapply_1 = require("./unapply");
|
|
5
|
+
const throttle = (fn, interval = 100) => {
|
|
6
|
+
let wait = false;
|
|
7
|
+
return (0, unapply_1.unapply)((args) => {
|
|
8
|
+
if (wait) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
wait = true;
|
|
12
|
+
fn.apply(this, args);
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
wait = false;
|
|
15
|
+
}, interval);
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
exports.throttle = throttle;
|
|
19
|
+
//# sourceMappingURL=throttle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/func/throttle.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAE7B,MAAM,QAAQ,GAAG,CACtB,EAAwB,EACxB,QAAQ,GAAG,GAAG,EACU,EAAE;IAC1B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,IAAA,iBAAO,EAAC,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,EAAE;YACR,OAAO;SACR;QACD,IAAI,GAAG,IAAI,CAAC;QACZ,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,GAAG,KAAK,CAAC;QACf,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAfW,QAAA,QAAQ,YAenB"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -2,6 +2,13 @@ export * as arr from "./arr";
|
|
|
2
2
|
export * as func from "./func";
|
|
3
3
|
export * as math from "./math";
|
|
4
4
|
export * as obj from "./obj";
|
|
5
|
+
export * as str from "./str";
|
|
6
|
+
export * from "./arr";
|
|
7
|
+
export * from "./func";
|
|
8
|
+
export * from "./math";
|
|
9
|
+
export * from "./obj";
|
|
10
|
+
export * from "./str";
|
|
11
|
+
export * from "./arr/types";
|
|
5
12
|
export * from "./obj/types";
|
|
6
13
|
export * from "./time";
|
|
7
14
|
export * from "./time/types";
|
package/dist/cjs/index.js
CHANGED
|
@@ -26,11 +26,18 @@ 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.obj = exports.math = exports.func = exports.arr = void 0;
|
|
29
|
+
exports.str = exports.obj = exports.math = exports.func = exports.arr = void 0;
|
|
30
30
|
exports.arr = __importStar(require("./arr"));
|
|
31
31
|
exports.func = __importStar(require("./func"));
|
|
32
32
|
exports.math = __importStar(require("./math"));
|
|
33
33
|
exports.obj = __importStar(require("./obj"));
|
|
34
|
+
exports.str = __importStar(require("./str"));
|
|
35
|
+
__exportStar(require("./arr"), exports);
|
|
36
|
+
__exportStar(require("./func"), exports);
|
|
37
|
+
__exportStar(require("./math"), exports);
|
|
38
|
+
__exportStar(require("./obj"), exports);
|
|
39
|
+
__exportStar(require("./str"), exports);
|
|
40
|
+
__exportStar(require("./arr/types"), exports);
|
|
34
41
|
__exportStar(require("./obj/types"), exports);
|
|
35
42
|
__exportStar(require("./time"), exports);
|
|
36
43
|
__exportStar(require("./time/types"), exports);
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA6B;AAC7B,+CAA+B;AAC/B,+CAA+B;AAC/B,6CAA6B;AAC7B,6CAA6B;AAC7B,wCAAsB;AACtB,yCAAuB;AACvB,yCAAuB;AACvB,wCAAsB;AACtB,wCAAsB;AACtB,8CAA4B;AAC5B,8CAA4B;AAC5B,yCAAuB;AACvB,+CAA6B;AAC7B,0CAAwB"}
|
package/dist/cjs/math/add.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const add: <A extends import("./types").Quantity[]>(...
|
|
1
|
+
export declare const add: <A extends import("./types").Quantity[]>(...q: A) => import("./types").Calc<A>;
|
package/dist/cjs/math/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/math/add.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/math/add.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,iCAA8B;AAC9B,+BAA4B;AAEf,QAAA,GAAG,GAAG,IAAA,WAAI,EAAC,IAAA,iBAAO,EAAC,SAAG,CAAC,CAAC,CAAC"}
|
package/dist/cjs/math/calc.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import type { ConvertTuple } from "../arr/types";
|
|
1
2
|
import type { Calc, Quantity } from "./types";
|
|
2
|
-
export declare const calc: (opFn: (...
|
|
3
|
+
export declare const calc: <T extends number[]>(opFn: (...nums: T) => number) => <A extends ConvertTuple<T, Quantity>>(...q: A) => Calc<A>;
|
package/dist/cjs/math/calc.js
CHANGED
|
@@ -5,21 +5,16 @@ const from_1 = require("../arr/from");
|
|
|
5
5
|
const unapply_1 = require("../func/unapply");
|
|
6
6
|
const calc = (opFn) => {
|
|
7
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
8
|
const vectors = arr.filter((el) => typeof el !== "number");
|
|
12
9
|
if (vectors.length === 0) {
|
|
13
10
|
return opFn.apply(undefined, arr);
|
|
14
11
|
}
|
|
15
12
|
const size = vectors[0].length;
|
|
16
13
|
if (vectors.some((v) => v.length !== size)) {
|
|
17
|
-
throw Error("All vectors must have same length");
|
|
14
|
+
throw new Error("All vectors must have same length");
|
|
18
15
|
}
|
|
19
16
|
return (0, from_1.from)(size, (i) => {
|
|
20
|
-
const input = arr.map((el) =>
|
|
21
|
-
return typeof el === "number" ? el : el[i];
|
|
22
|
-
});
|
|
17
|
+
const input = arr.map((el) => (typeof el === "number" ? el : el[i]));
|
|
23
18
|
return opFn.apply(undefined, input);
|
|
24
19
|
});
|
|
25
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calc.js","sourceRoot":"","sources":["../../../src/math/calc.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"calc.js","sourceRoot":"","sources":["../../../src/math/calc.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAEjC,2CAAwC;AAIjC,MAAM,IAAI,GAAG,CAClB,IAA4B,EACiC,EAAE;IAC/D,OAAO,IAAA,iBAAO,EAAC,CAAsC,GAAM,EAAE,EAAE;QAC7D,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,GAAmB,CAAY,CAAC;SAC9D;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,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QACD,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAU,CAAC,CAAC;QAC3C,CAAC,CAAY,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,IAAI,QAiBf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const divide:
|
|
1
|
+
export declare const divide: <A extends [a: import("./types").Quantity, b: import("./types").Quantity]>(...q: A) => import("./types").Calc<A>;
|