@thi.ng/arrays 1.0.3 → 2.0.4
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/CHANGELOG.md +70 -39
- package/README.md +14 -5
- package/binary-search.js +2 -1
- package/ensure-array.js +3 -2
- package/ensure-iterable.js +1 -1
- package/index.d.ts +21 -21
- package/index.js +21 -21
- package/is-sorted.js +1 -1
- package/package.json +95 -27
- package/quicksort.js +2 -2
- package/shuffle.d.ts +3 -3
- package/shuffle.js +2 -2
- package/sort-cached.d.ts +1 -1
- package/sort-cached.js +5 -5
- package/swap.d.ts +1 -1
- package/lib/index.js +0 -457
- package/lib/index.js.map +0 -1
- package/lib/index.umd.js +0 -1
- package/lib/index.umd.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [
|
|
6
|
+
## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@2.0.3...@thi.ng/arrays@2.0.4) (2021-10-25)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @thi.ng/arrays
|
|
9
9
|
|
|
@@ -11,98 +11,129 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@2.0.2...@thi.ng/arrays@2.0.3) (2021-10-15)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @thi.ng/arrays
|
|
17
|
+
|
|
15
18
|
|
|
16
19
|
|
|
17
|
-
### Bug Fixes
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
|
|
22
|
+
## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@2.0.1...@thi.ng/arrays@2.0.2) (2021-10-15)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @thi.ng/arrays
|
|
20
25
|
|
|
21
26
|
|
|
22
|
-
### Features
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [2.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@2.0.0...@thi.ng/arrays@2.0.1) (2021-10-13)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @thi.ng/arrays
|
|
33
|
+
|
|
25
34
|
|
|
26
35
|
|
|
27
36
|
|
|
28
37
|
|
|
38
|
+
# [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@1.0.3...@thi.ng/arrays@2.0.0) (2021-10-12)
|
|
29
39
|
|
|
30
|
-
# [0.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.8.5...@thi.ng/arrays@0.9.0) (2021-01-02)
|
|
31
40
|
|
|
41
|
+
### Build System
|
|
32
42
|
|
|
33
|
-
|
|
43
|
+
* major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
|
|
34
44
|
|
|
35
|
-
* **arrays:** add bisect(), bisectWith() ([17d06a4](https://github.com/thi-ng/umbrella/commit/17d06a43e338aca5f2dc61110382363639daecc5))
|
|
36
|
-
* **arrays:** add into(), sortByCachedKey() ([b94f64c](https://github.com/thi-ng/umbrella/commit/b94f64c2c351cfed5ea9ade5e42ad0b7076ef9e9))
|
|
37
|
-
* **arrays:** update sortByCachedKey(), add tests ([64e8f6e](https://github.com/thi-ng/umbrella/commit/64e8f6e4e83c26c73e23a4831483bd328b78bc49))
|
|
38
45
|
|
|
46
|
+
### BREAKING CHANGES
|
|
39
47
|
|
|
48
|
+
* discontinue CommonJS & UMD versions
|
|
40
49
|
|
|
50
|
+
- only ESM modules will be published from now on
|
|
51
|
+
- CJS obsolete due to ESM support in recent versions of node:
|
|
52
|
+
- i.e. launch NodeJS via:
|
|
53
|
+
- `node --experimental-specifier-resolution=node --experimental-repl-await`
|
|
54
|
+
- in the node REPL use `await import(...)` instead of `require()`
|
|
55
|
+
- UMD obsolete due to widespread browser support for ESM
|
|
41
56
|
|
|
57
|
+
Also:
|
|
58
|
+
- normalize/restructure/reorg all package.json files
|
|
59
|
+
- cleanup all build scripts, remove obsolete
|
|
60
|
+
- switch from mocha to @thi.ng/testament for all tests
|
|
42
61
|
|
|
43
|
-
# [0.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.7.0...@thi.ng/arrays@0.8.0) (2020-09-13)
|
|
44
62
|
|
|
45
63
|
|
|
46
|
-
### Features
|
|
47
64
|
|
|
48
|
-
* **arrays:** add first() ([3f5f722](https://github.com/thi-ng/umbrella/commit/3f5f7226e5c0495086c973a33e91fc2666f4c68c))
|
|
49
65
|
|
|
50
66
|
|
|
67
|
+
## [1.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@1.0.2...@thi.ng/arrays@1.0.3) (2021-09-03)
|
|
51
68
|
|
|
69
|
+
**Note:** Version bump only for package @thi.ng/arrays
|
|
52
70
|
|
|
71
|
+
# [0.10.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.9.2...@thi.ng/arrays@0.10.0) (2021-01-21)
|
|
53
72
|
|
|
54
|
-
|
|
73
|
+
### Bug Fixes
|
|
55
74
|
|
|
75
|
+
- **arrays:** fixed-length binarySearch2/4/8/16/32 ([39e5c37](https://github.com/thi-ng/umbrella/commit/39e5c3736135f9a49daceee1fe4da9fbdbb96eab))
|
|
56
76
|
|
|
57
|
-
###
|
|
77
|
+
### Features
|
|
58
78
|
|
|
59
|
-
|
|
79
|
+
- **arrays:** add insert/insertUnsafe() ([2a78598](https://github.com/thi-ng/umbrella/commit/2a7859823d2fb56eef4ee7a6919fe70072475f42))
|
|
60
80
|
|
|
81
|
+
# [0.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.8.5...@thi.ng/arrays@0.9.0) (2021-01-02)
|
|
61
82
|
|
|
83
|
+
### Features
|
|
62
84
|
|
|
85
|
+
- **arrays:** add bisect(), bisectWith() ([17d06a4](https://github.com/thi-ng/umbrella/commit/17d06a43e338aca5f2dc61110382363639daecc5))
|
|
86
|
+
- **arrays:** add into(), sortByCachedKey() ([b94f64c](https://github.com/thi-ng/umbrella/commit/b94f64c2c351cfed5ea9ade5e42ad0b7076ef9e9))
|
|
87
|
+
- **arrays:** update sortByCachedKey(), add tests ([64e8f6e](https://github.com/thi-ng/umbrella/commit/64e8f6e4e83c26c73e23a4831483bd328b78bc49))
|
|
63
88
|
|
|
89
|
+
# [0.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.7.0...@thi.ng/arrays@0.8.0) (2020-09-13)
|
|
64
90
|
|
|
65
|
-
|
|
91
|
+
### Features
|
|
66
92
|
|
|
93
|
+
- **arrays:** add first() ([3f5f722](https://github.com/thi-ng/umbrella/commit/3f5f7226e5c0495086c973a33e91fc2666f4c68c))
|
|
67
94
|
|
|
68
|
-
|
|
95
|
+
# [0.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.15...@thi.ng/arrays@0.7.0) (2020-08-28)
|
|
69
96
|
|
|
70
|
-
|
|
97
|
+
### Features
|
|
71
98
|
|
|
99
|
+
- **arrays:** add non-recursive binary search fns ([29a4ee4](https://github.com/thi-ng/umbrella/commit/29a4ee4d888ccb049df9b50a57e3884ce2d4d0f3))
|
|
72
100
|
|
|
101
|
+
# [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.5.6...@thi.ng/arrays@0.6.0) (2020-03-28)
|
|
73
102
|
|
|
103
|
+
### Features
|
|
74
104
|
|
|
105
|
+
- **arrays:** add fillRange() & levenshtein() ([2f98225](https://github.com/thi-ng/umbrella/commit/2f98225d129c7c1ae6b88a4f0bea9227254fcf91))
|
|
75
106
|
|
|
76
|
-
#
|
|
107
|
+
# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.4.0...@thi.ng/arrays@0.5.0) (2020-01-24)
|
|
77
108
|
|
|
78
|
-
###
|
|
109
|
+
### Features
|
|
79
110
|
|
|
80
|
-
|
|
111
|
+
- **arrays:** add binary search predicates, tests, update readme ([b8f421e](https://github.com/thi-ng/umbrella/commit/b8f421eb8888fa1b57a9287f6841cd29952bf19f))
|
|
81
112
|
|
|
82
|
-
#
|
|
113
|
+
# [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.3.0...@thi.ng/arrays@0.4.0) (2019-11-30)
|
|
83
114
|
|
|
84
|
-
###
|
|
115
|
+
### Features
|
|
85
116
|
|
|
86
|
-
|
|
87
|
-
|
|
117
|
+
- **arrays:** add arraySeq(), arrayIterator() & tests ([d94df57](https://github.com/thi-ng/umbrella/commit/d94df5786dddf6ef6915af79c3fbf0331ddfd2bd))
|
|
118
|
+
- **arrays:** add binarySearchNumeric() ([7b38202](https://github.com/thi-ng/umbrella/commit/7b38202480db71753d24aa52a9c09d3ac78d36ae))
|
|
88
119
|
|
|
89
|
-
#
|
|
120
|
+
# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.2.5...@thi.ng/arrays@0.3.0) (2019-11-09)
|
|
90
121
|
|
|
91
|
-
###
|
|
122
|
+
### Features
|
|
92
123
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
124
|
+
- **arrays:** add isSorted() ([65b29f4](https://github.com/thi-ng/umbrella/commit/65b29f487459c535acdbed3890c8a4e27d87ae2c))
|
|
125
|
+
- **arrays:** add shuffleRange(), refactor shuffle(), add tests ([1924a05](https://github.com/thi-ng/umbrella/commit/1924a05ea093e3d1d0b3f063cb331b330cee0c0a))
|
|
126
|
+
- **arrays:** add types, quickSort(), swap(), multiSwap(), update readme ([b834722](https://github.com/thi-ng/umbrella/commit/b83472237b3ba262dcbb644c8ccc516d0021bc84))
|
|
96
127
|
|
|
97
|
-
#
|
|
128
|
+
# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.1.9...@thi.ng/arrays@0.2.0) (2019-07-07)
|
|
98
129
|
|
|
99
|
-
###
|
|
130
|
+
### Features
|
|
100
131
|
|
|
101
|
-
|
|
132
|
+
- **arrays:** enable TS strict compiler flags (refactor) ([8724f9e](https://github.com/thi-ng/umbrella/commit/8724f9e))
|
|
102
133
|
|
|
103
|
-
#
|
|
134
|
+
# 0.1.0 (2019-02-15)
|
|
104
135
|
|
|
105
|
-
###
|
|
136
|
+
### Features
|
|
106
137
|
|
|
107
|
-
|
|
108
|
-
|
|
138
|
+
- **arrays:** add find/findIndex() ([0007152](https://github.com/thi-ng/umbrella/commit/0007152))
|
|
139
|
+
- **arrays:** extract as new package ([361ba37](https://github.com/thi-ng/umbrella/commit/361ba37))
|
package/README.md
CHANGED
|
@@ -34,15 +34,24 @@ Array / Arraylike utilities.
|
|
|
34
34
|
yarn add @thi.ng/arrays
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
+
ES module import:
|
|
38
|
+
|
|
37
39
|
```html
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
<script type="module" src="https://cdn.skypack.dev/@thi.ng/arrays"></script>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
[Skypack documentation](https://docs.skypack.dev/)
|
|
44
|
+
|
|
45
|
+
For Node.js REPL:
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
# with flag only for < v16
|
|
49
|
+
node --experimental-repl-await
|
|
40
50
|
|
|
41
|
-
|
|
42
|
-
<script src="https://unpkg.com/@thi.ng/arrays/lib/index.umd.js" crossorigin></script>
|
|
51
|
+
> const arrays = await import("@thi.ng/arrays");
|
|
43
52
|
```
|
|
44
53
|
|
|
45
|
-
Package sizes (gzipped, pre-treeshake): ESM: 2.
|
|
54
|
+
Package sizes (gzipped, pre-treeshake): ESM: 2.12 KB
|
|
46
55
|
|
|
47
56
|
## Dependencies
|
|
48
57
|
|
package/binary-search.js
CHANGED
package/ensure-array.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { isArray
|
|
2
|
-
import {
|
|
1
|
+
import { isArray } from "@thi.ng/checks/is-array";
|
|
2
|
+
import { isArrayLike } from "@thi.ng/checks/is-arraylike";
|
|
3
|
+
import { ensureIterable } from "./ensure-iterable.js";
|
|
3
4
|
/**
|
|
4
5
|
* Helper function to avoid unnecessary copying if `x` is already an
|
|
5
6
|
* array.
|
package/ensure-iterable.js
CHANGED
package/index.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export * from "./api";
|
|
2
|
-
export * from "./binary-search";
|
|
3
|
-
export * from "./bisect";
|
|
4
|
-
export * from "./ends-with";
|
|
5
|
-
export * from "./ensure-array";
|
|
6
|
-
export * from "./ensure-iterable";
|
|
7
|
-
export * from "./find";
|
|
8
|
-
export * from "./fill-range";
|
|
9
|
-
export * from "./fuzzy-match";
|
|
10
|
-
export * from "./is-sorted";
|
|
11
|
-
export * from "./insert";
|
|
12
|
-
export * from "./into";
|
|
13
|
-
export * from "./iterator";
|
|
14
|
-
export * from "./levenshtein";
|
|
15
|
-
export * from "./peek";
|
|
16
|
-
export * from "./quicksort";
|
|
17
|
-
export * from "./shuffle";
|
|
18
|
-
export * from "./sort-cached";
|
|
19
|
-
export * from "./starts-with";
|
|
20
|
-
export * from "./swap";
|
|
21
|
-
export * from "./swizzle";
|
|
1
|
+
export * from "./api.js";
|
|
2
|
+
export * from "./binary-search.js";
|
|
3
|
+
export * from "./bisect.js";
|
|
4
|
+
export * from "./ends-with.js";
|
|
5
|
+
export * from "./ensure-array.js";
|
|
6
|
+
export * from "./ensure-iterable.js";
|
|
7
|
+
export * from "./find.js";
|
|
8
|
+
export * from "./fill-range.js";
|
|
9
|
+
export * from "./fuzzy-match.js";
|
|
10
|
+
export * from "./is-sorted.js";
|
|
11
|
+
export * from "./insert.js";
|
|
12
|
+
export * from "./into.js";
|
|
13
|
+
export * from "./iterator.js";
|
|
14
|
+
export * from "./levenshtein.js";
|
|
15
|
+
export * from "./peek.js";
|
|
16
|
+
export * from "./quicksort.js";
|
|
17
|
+
export * from "./shuffle.js";
|
|
18
|
+
export * from "./sort-cached.js";
|
|
19
|
+
export * from "./starts-with.js";
|
|
20
|
+
export * from "./swap.js";
|
|
21
|
+
export * from "./swizzle.js";
|
|
22
22
|
//# sourceMappingURL=index.d.ts.map
|
package/index.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export * from "./api";
|
|
2
|
-
export * from "./binary-search";
|
|
3
|
-
export * from "./bisect";
|
|
4
|
-
export * from "./ends-with";
|
|
5
|
-
export * from "./ensure-array";
|
|
6
|
-
export * from "./ensure-iterable";
|
|
7
|
-
export * from "./find";
|
|
8
|
-
export * from "./fill-range";
|
|
9
|
-
export * from "./fuzzy-match";
|
|
10
|
-
export * from "./is-sorted";
|
|
11
|
-
export * from "./insert";
|
|
12
|
-
export * from "./into";
|
|
13
|
-
export * from "./iterator";
|
|
14
|
-
export * from "./levenshtein";
|
|
15
|
-
export * from "./peek";
|
|
16
|
-
export * from "./quicksort";
|
|
17
|
-
export * from "./shuffle";
|
|
18
|
-
export * from "./sort-cached";
|
|
19
|
-
export * from "./starts-with";
|
|
20
|
-
export * from "./swap";
|
|
21
|
-
export * from "./swizzle";
|
|
1
|
+
export * from "./api.js";
|
|
2
|
+
export * from "./binary-search.js";
|
|
3
|
+
export * from "./bisect.js";
|
|
4
|
+
export * from "./ends-with.js";
|
|
5
|
+
export * from "./ensure-array.js";
|
|
6
|
+
export * from "./ensure-iterable.js";
|
|
7
|
+
export * from "./find.js";
|
|
8
|
+
export * from "./fill-range.js";
|
|
9
|
+
export * from "./fuzzy-match.js";
|
|
10
|
+
export * from "./is-sorted.js";
|
|
11
|
+
export * from "./insert.js";
|
|
12
|
+
export * from "./into.js";
|
|
13
|
+
export * from "./iterator.js";
|
|
14
|
+
export * from "./levenshtein.js";
|
|
15
|
+
export * from "./peek.js";
|
|
16
|
+
export * from "./quicksort.js";
|
|
17
|
+
export * from "./shuffle.js";
|
|
18
|
+
export * from "./sort-cached.js";
|
|
19
|
+
export * from "./starts-with.js";
|
|
20
|
+
export * from "./swap.js";
|
|
21
|
+
export * from "./swizzle.js";
|
package/is-sorted.js
CHANGED
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thi.ng/arrays",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "Array / Arraylike utilities",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"module": "./index.js",
|
|
6
|
-
"main": "./lib/index.js",
|
|
7
|
-
"umd:main": "./lib/index.umd.js",
|
|
8
7
|
"typings": "./index.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "https://github.com/thi-ng/umbrella.git"
|
|
@@ -24,32 +24,26 @@
|
|
|
24
24
|
"author": "Karsten Schmidt <k+npm@thi.ng>",
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"scripts": {
|
|
27
|
-
"build": "yarn clean &&
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"build:test": "rimraf build && tsc -p test/tsconfig.json",
|
|
31
|
-
"build:check": "tsc --isolatedModules --noEmit",
|
|
32
|
-
"test": "mocha test",
|
|
33
|
-
"cover": "nyc mocha test && nyc report --reporter=lcov",
|
|
34
|
-
"clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib",
|
|
35
|
-
"doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts",
|
|
36
|
-
"doc": "typedoc --excludePrivate --out doc --theme ../../tools/doc/typedoc-theme src/index.ts",
|
|
27
|
+
"build": "yarn clean && tsc --declaration",
|
|
28
|
+
"clean": "rimraf *.js *.d.ts *.map doc",
|
|
29
|
+
"doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts",
|
|
37
30
|
"doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose",
|
|
38
|
-
"
|
|
31
|
+
"doc:readme": "yarn doc:stats && ../../scripts/node-esm ../../tools/src/readme.ts",
|
|
32
|
+
"doc:stats": "../../scripts/node-esm ../../tools/src/module-stats.ts",
|
|
33
|
+
"pub": "yarn build && yarn publish --access public",
|
|
34
|
+
"test": "testament test"
|
|
39
35
|
},
|
|
40
36
|
"dependencies": {
|
|
41
|
-
"@thi.ng/api": "^
|
|
42
|
-
"@thi.ng/checks": "^
|
|
43
|
-
"@thi.ng/compare": "^
|
|
44
|
-
"@thi.ng/equiv": "^
|
|
45
|
-
"@thi.ng/errors": "^
|
|
46
|
-
"@thi.ng/random": "^
|
|
37
|
+
"@thi.ng/api": "^8.0.4",
|
|
38
|
+
"@thi.ng/checks": "^3.0.4",
|
|
39
|
+
"@thi.ng/compare": "^2.0.4",
|
|
40
|
+
"@thi.ng/equiv": "^2.0.4",
|
|
41
|
+
"@thi.ng/errors": "^2.0.4",
|
|
42
|
+
"@thi.ng/random": "^3.1.0"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@thi.ng/testament": "^0.1.4"
|
|
47
46
|
},
|
|
48
|
-
"files": [
|
|
49
|
-
"*.js",
|
|
50
|
-
"*.d.ts",
|
|
51
|
-
"lib"
|
|
52
|
-
],
|
|
53
47
|
"keywords": [
|
|
54
48
|
"aos",
|
|
55
49
|
"array",
|
|
@@ -63,9 +57,83 @@
|
|
|
63
57
|
"publishConfig": {
|
|
64
58
|
"access": "public"
|
|
65
59
|
},
|
|
66
|
-
"
|
|
60
|
+
"engines": {
|
|
61
|
+
"node": ">=12.7"
|
|
62
|
+
},
|
|
63
|
+
"files": [
|
|
64
|
+
"*.js",
|
|
65
|
+
"*.d.ts"
|
|
66
|
+
],
|
|
67
|
+
"exports": {
|
|
68
|
+
".": {
|
|
69
|
+
"import": "./index.js"
|
|
70
|
+
},
|
|
71
|
+
"./api": {
|
|
72
|
+
"import": "./api.js"
|
|
73
|
+
},
|
|
74
|
+
"./binary-search": {
|
|
75
|
+
"import": "./binary-search.js"
|
|
76
|
+
},
|
|
77
|
+
"./bisect": {
|
|
78
|
+
"import": "./bisect.js"
|
|
79
|
+
},
|
|
80
|
+
"./ends-with": {
|
|
81
|
+
"import": "./ends-with.js"
|
|
82
|
+
},
|
|
83
|
+
"./ensure-array": {
|
|
84
|
+
"import": "./ensure-array.js"
|
|
85
|
+
},
|
|
86
|
+
"./ensure-iterable": {
|
|
87
|
+
"import": "./ensure-iterable.js"
|
|
88
|
+
},
|
|
89
|
+
"./fill-range": {
|
|
90
|
+
"import": "./fill-range.js"
|
|
91
|
+
},
|
|
92
|
+
"./find": {
|
|
93
|
+
"import": "./find.js"
|
|
94
|
+
},
|
|
95
|
+
"./fuzzy-match": {
|
|
96
|
+
"import": "./fuzzy-match.js"
|
|
97
|
+
},
|
|
98
|
+
"./insert": {
|
|
99
|
+
"import": "./insert.js"
|
|
100
|
+
},
|
|
101
|
+
"./into": {
|
|
102
|
+
"import": "./into.js"
|
|
103
|
+
},
|
|
104
|
+
"./is-sorted": {
|
|
105
|
+
"import": "./is-sorted.js"
|
|
106
|
+
},
|
|
107
|
+
"./iterator": {
|
|
108
|
+
"import": "./iterator.js"
|
|
109
|
+
},
|
|
110
|
+
"./levenshtein": {
|
|
111
|
+
"import": "./levenshtein.js"
|
|
112
|
+
},
|
|
113
|
+
"./peek": {
|
|
114
|
+
"import": "./peek.js"
|
|
115
|
+
},
|
|
116
|
+
"./quicksort": {
|
|
117
|
+
"import": "./quicksort.js"
|
|
118
|
+
},
|
|
119
|
+
"./shuffle": {
|
|
120
|
+
"import": "./shuffle.js"
|
|
121
|
+
},
|
|
122
|
+
"./sort-cached": {
|
|
123
|
+
"import": "./sort-cached.js"
|
|
124
|
+
},
|
|
125
|
+
"./starts-with": {
|
|
126
|
+
"import": "./starts-with.js"
|
|
127
|
+
},
|
|
128
|
+
"./swap": {
|
|
129
|
+
"import": "./swap.js"
|
|
130
|
+
},
|
|
131
|
+
"./swizzle": {
|
|
132
|
+
"import": "./swizzle.js"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
67
135
|
"thi.ng": {
|
|
68
136
|
"year": 2018
|
|
69
137
|
},
|
|
70
|
-
"gitHead": "
|
|
138
|
+
"gitHead": "9ff00a103f76cc4917ef3f244132e218f2300a05"
|
|
71
139
|
}
|
package/quicksort.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { compare } from "@thi.ng/compare";
|
|
2
|
-
import { swap } from "./swap";
|
|
1
|
+
import { compare } from "@thi.ng/compare/compare";
|
|
2
|
+
import { swap } from "./swap.js";
|
|
3
3
|
// prettier-ignore
|
|
4
4
|
export function quickSort(arr, _cmp = compare, _swap = swap, start = 0, end = arr.length - 1) {
|
|
5
5
|
if (start < end) {
|
package/shuffle.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TypedArray } from "@thi.ng/api";
|
|
2
|
-
import { IRandom } from "@thi.ng/random";
|
|
3
|
-
import type { AnyArray } from "./api";
|
|
1
|
+
import type { TypedArray } from "@thi.ng/api";
|
|
2
|
+
import type { IRandom } from "@thi.ng/random";
|
|
3
|
+
import type { AnyArray } from "./api.js";
|
|
4
4
|
/**
|
|
5
5
|
* Shuffles the items in the given index range of array `buf` using
|
|
6
6
|
* Fisher-yates and optional `rnd` PRNG.
|
package/shuffle.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { assert } from "@thi.ng/
|
|
2
|
-
import { SYSTEM } from "@thi.ng/random";
|
|
1
|
+
import { assert } from "@thi.ng/errors/assert";
|
|
2
|
+
import { SYSTEM } from "@thi.ng/random/system";
|
|
3
3
|
/**
|
|
4
4
|
* Shuffles the items in the given index range of array `buf` using
|
|
5
5
|
* Fisher-yates and optional `rnd` PRNG.
|
package/sort-cached.d.ts
CHANGED
package/sort-cached.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { quickSort } from "./quicksort";
|
|
5
|
-
import { multiSwap } from "./swap";
|
|
1
|
+
import { isFunction } from "@thi.ng/checks/is-function";
|
|
2
|
+
import { compare } from "@thi.ng/compare/compare";
|
|
3
|
+
import { assert } from "@thi.ng/errors/assert";
|
|
4
|
+
import { quickSort } from "./quicksort.js";
|
|
5
|
+
import { multiSwap } from "./swap.js";
|
|
6
6
|
/**
|
|
7
7
|
* Takes a `src` array and `key` array of function to provide the sort key of
|
|
8
8
|
* each item. If a function, it will be first applied to pre-compute a new array
|
package/swap.d.ts
CHANGED
package/lib/index.js
DELETED
|
@@ -1,457 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var compare = require('@thi.ng/compare');
|
|
6
|
-
var equiv = require('@thi.ng/equiv');
|
|
7
|
-
var checks = require('@thi.ng/checks');
|
|
8
|
-
var errors = require('@thi.ng/errors');
|
|
9
|
-
var api = require('@thi.ng/api');
|
|
10
|
-
var random = require('@thi.ng/random');
|
|
11
|
-
|
|
12
|
-
const binarySearch = (buf, x, key = (x) => x, cmp = compare.compare, low = 0, high = buf.length - 1) => {
|
|
13
|
-
const kx = key(x);
|
|
14
|
-
while (low <= high) {
|
|
15
|
-
const mid = (low + high) >>> 1;
|
|
16
|
-
const c = cmp(key(buf[mid]), kx);
|
|
17
|
-
if (c < 0) {
|
|
18
|
-
low = mid + 1;
|
|
19
|
-
}
|
|
20
|
-
else if (c > 0) {
|
|
21
|
-
high = mid - 1;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
return mid;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return -low - 1;
|
|
28
|
-
};
|
|
29
|
-
const binarySearchNumeric = (buf, x, cmp = compare.compareNumAsc, low = 0, high = buf.length - 1) => {
|
|
30
|
-
while (low <= high) {
|
|
31
|
-
const mid = (low + high) >>> 1;
|
|
32
|
-
const c = cmp(buf[mid], x);
|
|
33
|
-
if (c < 0) {
|
|
34
|
-
low = mid + 1;
|
|
35
|
-
}
|
|
36
|
-
else if (c > 0) {
|
|
37
|
-
high = mid - 1;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
return mid;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return -low - 1;
|
|
44
|
-
};
|
|
45
|
-
const binarySearch2 = (buf, x) => {
|
|
46
|
-
let idx = buf[1] <= x ? 1 : 0;
|
|
47
|
-
return buf[idx] === x ? idx : buf[0] < x ? -idx - 2 : -1;
|
|
48
|
-
};
|
|
49
|
-
const binarySearch4 = (buf, x) => {
|
|
50
|
-
let idx = buf[2] <= x ? 2 : 0;
|
|
51
|
-
idx |= buf[idx + 1] <= x ? 1 : 0;
|
|
52
|
-
return buf[idx] === x ? idx : buf[0] < x ? -idx - 2 : -1;
|
|
53
|
-
};
|
|
54
|
-
const binarySearch8 = (buf, x) => {
|
|
55
|
-
let idx = buf[4] <= x ? 4 : 0;
|
|
56
|
-
idx |= buf[idx + 2] <= x ? 2 : 0;
|
|
57
|
-
idx |= buf[idx + 1] <= x ? 1 : 0;
|
|
58
|
-
return buf[idx] === x ? idx : buf[0] < x ? -idx - 2 : -1;
|
|
59
|
-
};
|
|
60
|
-
const binarySearch16 = (buf, x) => {
|
|
61
|
-
let idx = buf[8] <= x ? 8 : 0;
|
|
62
|
-
idx |= buf[idx + 4] <= x ? 4 : 0;
|
|
63
|
-
idx |= buf[idx + 2] <= x ? 2 : 0;
|
|
64
|
-
idx |= buf[idx + 1] <= x ? 1 : 0;
|
|
65
|
-
return buf[idx] === x ? idx : buf[0] < x ? -idx - 2 : -1;
|
|
66
|
-
};
|
|
67
|
-
const binarySearch32 = (buf, x) => {
|
|
68
|
-
let idx = buf[16] <= x ? 16 : 0;
|
|
69
|
-
idx |= buf[idx + 4] <= x ? 8 : 0;
|
|
70
|
-
idx |= buf[idx + 4] <= x ? 4 : 0;
|
|
71
|
-
idx |= buf[idx + 2] <= x ? 2 : 0;
|
|
72
|
-
idx |= buf[idx + 1] <= x ? 1 : 0;
|
|
73
|
-
return buf[idx] === x ? idx : buf[0] < x ? -idx - 2 : -1;
|
|
74
|
-
};
|
|
75
|
-
const bsLT = (i) => (i < 0 ? -i - 2 : i - 1);
|
|
76
|
-
const bsLE = (i) => (i < 0 ? -i - 2 : i);
|
|
77
|
-
const bsGT = (i, n) => ((i = i < 0 ? -i - 1 : i + 1), i < n ? i : -1);
|
|
78
|
-
const bsGE = (i, n) => ((i = i < 0 ? -i - 1 : i), i < n ? i : -1);
|
|
79
|
-
const bsEQ = (i) => (i < 0 ? -1 : i);
|
|
80
|
-
|
|
81
|
-
const bisect = (src, i = src.length >>> 1) => [
|
|
82
|
-
src.slice(0, i),
|
|
83
|
-
src.slice(i),
|
|
84
|
-
];
|
|
85
|
-
const bisectWith = (src, pred) => {
|
|
86
|
-
const i = src.findIndex(pred);
|
|
87
|
-
return i >= 0 ? bisect(src, i) : [src, []];
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
const endsWith = (buf, needle, equiv$1 = equiv.equiv) => {
|
|
91
|
-
let i = buf.length;
|
|
92
|
-
let j = needle.length;
|
|
93
|
-
if (i < j)
|
|
94
|
-
return false;
|
|
95
|
-
while ((--i, --j >= 0 && equiv$1(buf[i], needle[j]))) { }
|
|
96
|
-
return j < 0;
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
const ensureIterable = (x) => {
|
|
100
|
-
(x == null || !x[Symbol.iterator]) &&
|
|
101
|
-
errors.illegalArgs(`value is not iterable: ${x}`);
|
|
102
|
-
return x;
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
const ensureArray = (x) => checks.isArray(x) ? x : [...ensureIterable(x)];
|
|
106
|
-
const ensureArrayLike = (x) => checks.isArrayLike(x) ? x : [...ensureIterable(x)];
|
|
107
|
-
|
|
108
|
-
const find = (buf, x, equiv$1 = equiv.equiv) => {
|
|
109
|
-
const i = findIndex(buf, x, equiv$1);
|
|
110
|
-
return i !== -1 ? buf[i] : undefined;
|
|
111
|
-
};
|
|
112
|
-
const findIndex = (buf, x, equiv$1 = equiv.equiv) => {
|
|
113
|
-
for (let i = buf.length; --i >= 0;) {
|
|
114
|
-
if (equiv$1(x, buf[i]))
|
|
115
|
-
return i;
|
|
116
|
-
}
|
|
117
|
-
return -1;
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
const fillRange = (buf, index = 0, start = 0, end = buf.length, step = end > start ? 1 : -1) => {
|
|
121
|
-
if (step > 0) {
|
|
122
|
-
for (; start < end; start += step)
|
|
123
|
-
buf[index++] = start;
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
for (; start > end; start += step)
|
|
127
|
-
buf[index++] = start;
|
|
128
|
-
}
|
|
129
|
-
return buf;
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
const fuzzyMatch = (domain, query, equiv$1 = equiv.equiv) => {
|
|
133
|
-
const nd = domain.length;
|
|
134
|
-
const nq = query.length;
|
|
135
|
-
if (nq > nd) {
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
if (nq === nd) {
|
|
139
|
-
return equiv$1(query, domain);
|
|
140
|
-
}
|
|
141
|
-
next: for (let i = 0, j = 0; i < nq; i++) {
|
|
142
|
-
const q = query[i];
|
|
143
|
-
while (j < nd) {
|
|
144
|
-
if (equiv$1(domain[j++], q)) {
|
|
145
|
-
continue next;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
return false;
|
|
149
|
-
}
|
|
150
|
-
return true;
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
const isSorted = (arr, cmp = compare.compare, start = 0, end = arr.length) => {
|
|
154
|
-
let prev = arr[start];
|
|
155
|
-
while (++start < end) {
|
|
156
|
-
const curr = arr[start];
|
|
157
|
-
if (cmp(prev, curr) > 0)
|
|
158
|
-
return false;
|
|
159
|
-
prev = curr;
|
|
160
|
-
}
|
|
161
|
-
return true;
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
const insert = (buf, x, i, k = Infinity) => i < 0 || i >= k || k < 1 ? buf : insertUnsafe(buf, x, i, k);
|
|
165
|
-
const insertUnsafe = (buf, x, i, k = Infinity) => {
|
|
166
|
-
let j = buf.length < k ? buf.length + 1 : k;
|
|
167
|
-
for (; --j > i;)
|
|
168
|
-
buf[j] = buf[j - 1];
|
|
169
|
-
buf[i] = x;
|
|
170
|
-
return buf;
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
const into = (dest, src, max = Infinity) => {
|
|
174
|
-
for (let x of src) {
|
|
175
|
-
if (--max < 0)
|
|
176
|
-
break;
|
|
177
|
-
dest.push(x);
|
|
178
|
-
}
|
|
179
|
-
return dest;
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
function* arrayIterator(buf, start = 0, end) {
|
|
183
|
-
if (!buf)
|
|
184
|
-
return;
|
|
185
|
-
start = start;
|
|
186
|
-
end === undefined && (end = buf.length);
|
|
187
|
-
const step = start <= end ? 1 : -1;
|
|
188
|
-
for (; start !== end; start += step) {
|
|
189
|
-
yield buf[start];
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
const eqStrict = (a, b) => a === b;
|
|
194
|
-
const levenshtein = (a, b, maxDist = Infinity, equiv = eqStrict) => {
|
|
195
|
-
if (a === b) {
|
|
196
|
-
return 0;
|
|
197
|
-
}
|
|
198
|
-
if (a.length > b.length) {
|
|
199
|
-
const tmp = a;
|
|
200
|
-
a = b;
|
|
201
|
-
b = tmp;
|
|
202
|
-
}
|
|
203
|
-
let la = a.length;
|
|
204
|
-
let lb = b.length;
|
|
205
|
-
while (la > 0 && equiv(a[~-la], b[~-lb])) {
|
|
206
|
-
la--;
|
|
207
|
-
lb--;
|
|
208
|
-
}
|
|
209
|
-
let offset = 0;
|
|
210
|
-
while (offset < la && equiv(a[offset], b[offset])) {
|
|
211
|
-
offset++;
|
|
212
|
-
}
|
|
213
|
-
la -= offset;
|
|
214
|
-
lb -= offset;
|
|
215
|
-
if (la === 0 || lb < 3) {
|
|
216
|
-
return lb;
|
|
217
|
-
}
|
|
218
|
-
let x = 0;
|
|
219
|
-
let y;
|
|
220
|
-
let minDist;
|
|
221
|
-
let d0;
|
|
222
|
-
let d1;
|
|
223
|
-
let d2;
|
|
224
|
-
let d3;
|
|
225
|
-
let dd;
|
|
226
|
-
let dy;
|
|
227
|
-
let ay;
|
|
228
|
-
let bx0;
|
|
229
|
-
let bx1;
|
|
230
|
-
let bx2;
|
|
231
|
-
let bx3;
|
|
232
|
-
const _min = (d0, d1, d2, bx, ay) => {
|
|
233
|
-
return d0 < d1 || d2 < d1
|
|
234
|
-
? d0 > d2
|
|
235
|
-
? d2 + 1
|
|
236
|
-
: d0 + 1
|
|
237
|
-
: equiv(ay, bx)
|
|
238
|
-
? d1
|
|
239
|
-
: d1 + 1;
|
|
240
|
-
};
|
|
241
|
-
const vector = [];
|
|
242
|
-
for (y = 0; y < la; y++) {
|
|
243
|
-
vector.push(y + 1, a[offset + y]);
|
|
244
|
-
}
|
|
245
|
-
const len = vector.length - 1;
|
|
246
|
-
const lb3 = lb - 3;
|
|
247
|
-
for (; x < lb3;) {
|
|
248
|
-
bx0 = b[offset + (d0 = x)];
|
|
249
|
-
bx1 = b[offset + (d1 = x + 1)];
|
|
250
|
-
bx2 = b[offset + (d2 = x + 2)];
|
|
251
|
-
bx3 = b[offset + (d3 = x + 3)];
|
|
252
|
-
dd = x += 4;
|
|
253
|
-
minDist = Infinity;
|
|
254
|
-
for (y = 0; y < len; y += 2) {
|
|
255
|
-
dy = vector[y];
|
|
256
|
-
ay = vector[y + 1];
|
|
257
|
-
d0 = _min(dy, d0, d1, bx0, ay);
|
|
258
|
-
d1 = _min(d0, d1, d2, bx1, ay);
|
|
259
|
-
d2 = _min(d1, d2, d3, bx2, ay);
|
|
260
|
-
dd = _min(d2, d3, dd, bx3, ay);
|
|
261
|
-
dd < minDist && (minDist = dd);
|
|
262
|
-
vector[y] = dd;
|
|
263
|
-
d3 = d2;
|
|
264
|
-
d2 = d1;
|
|
265
|
-
d1 = d0;
|
|
266
|
-
d0 = dy;
|
|
267
|
-
}
|
|
268
|
-
if (minDist > maxDist)
|
|
269
|
-
return Infinity;
|
|
270
|
-
}
|
|
271
|
-
for (; x < lb;) {
|
|
272
|
-
bx0 = b[offset + (d0 = x)];
|
|
273
|
-
dd = ++x;
|
|
274
|
-
minDist = Infinity;
|
|
275
|
-
for (y = 0; y < len; y += 2) {
|
|
276
|
-
dy = vector[y];
|
|
277
|
-
vector[y] = dd = _min(dy, d0, dd, bx0, vector[y + 1]);
|
|
278
|
-
dd < minDist && (minDist = dd);
|
|
279
|
-
d0 = dy;
|
|
280
|
-
}
|
|
281
|
-
if (minDist > maxDist)
|
|
282
|
-
return Infinity;
|
|
283
|
-
}
|
|
284
|
-
return dd;
|
|
285
|
-
};
|
|
286
|
-
const normalizedLevenshtein = (a, b, maxDist = Infinity, equiv = eqStrict) => {
|
|
287
|
-
const n = Math.max(a.length, b.length);
|
|
288
|
-
return n > 0 ? levenshtein(a, b, maxDist, equiv) / n : 0;
|
|
289
|
-
};
|
|
290
|
-
|
|
291
|
-
const first = (buf) => buf[0];
|
|
292
|
-
const peek = (buf) => buf[buf.length - 1];
|
|
293
|
-
|
|
294
|
-
const swap = (arr, x, y) => {
|
|
295
|
-
const t = arr[x];
|
|
296
|
-
arr[x] = arr[y];
|
|
297
|
-
arr[y] = t;
|
|
298
|
-
};
|
|
299
|
-
const multiSwap = (...xs) => {
|
|
300
|
-
const [b, c, d] = xs;
|
|
301
|
-
const n = xs.length;
|
|
302
|
-
switch (n) {
|
|
303
|
-
case 0:
|
|
304
|
-
return swap;
|
|
305
|
-
case 1:
|
|
306
|
-
return (a, x, y) => {
|
|
307
|
-
swap(a, x, y);
|
|
308
|
-
swap(b, x, y);
|
|
309
|
-
};
|
|
310
|
-
case 2:
|
|
311
|
-
return (a, x, y) => {
|
|
312
|
-
swap(a, x, y);
|
|
313
|
-
swap(b, x, y);
|
|
314
|
-
swap(c, x, y);
|
|
315
|
-
};
|
|
316
|
-
case 3:
|
|
317
|
-
return (a, x, y) => {
|
|
318
|
-
swap(a, x, y);
|
|
319
|
-
swap(b, x, y);
|
|
320
|
-
swap(c, x, y);
|
|
321
|
-
swap(d, x, y);
|
|
322
|
-
};
|
|
323
|
-
default:
|
|
324
|
-
return (a, x, y) => {
|
|
325
|
-
swap(a, x, y);
|
|
326
|
-
for (let i = n; --i >= 0;)
|
|
327
|
-
swap(xs[i], x, y);
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
};
|
|
331
|
-
|
|
332
|
-
function quickSort(arr, _cmp = compare.compare, _swap = swap, start = 0, end = arr.length - 1) {
|
|
333
|
-
if (start < end) {
|
|
334
|
-
const pivot = arr[start + ((end - start) >> 1)];
|
|
335
|
-
let s = start - 1;
|
|
336
|
-
let e = end + 1;
|
|
337
|
-
while (true) {
|
|
338
|
-
do {
|
|
339
|
-
s++;
|
|
340
|
-
} while (_cmp(arr[s], pivot) < 0);
|
|
341
|
-
do {
|
|
342
|
-
e--;
|
|
343
|
-
} while (_cmp(arr[e], pivot) > 0);
|
|
344
|
-
if (s >= e)
|
|
345
|
-
break;
|
|
346
|
-
_swap(arr, s, e);
|
|
347
|
-
}
|
|
348
|
-
quickSort(arr, _cmp, _swap, start, e);
|
|
349
|
-
quickSort(arr, _cmp, _swap, e + 1, end);
|
|
350
|
-
}
|
|
351
|
-
return arr;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
const shuffleRange = (buf, start = 0, end = buf.length, rnd = random.SYSTEM) => {
|
|
355
|
-
api.assert(start >= 0 && end >= start && end <= buf.length, `illegal range ${start}..${end}`);
|
|
356
|
-
let n = end - start;
|
|
357
|
-
const l = n;
|
|
358
|
-
if (l > 1) {
|
|
359
|
-
while (--n >= 0) {
|
|
360
|
-
const a = (start + rnd.float(l)) | 0;
|
|
361
|
-
const b = (start + rnd.float(l)) | 0;
|
|
362
|
-
const t = buf[a];
|
|
363
|
-
buf[a] = buf[b];
|
|
364
|
-
buf[b] = t;
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
return buf;
|
|
368
|
-
};
|
|
369
|
-
const shuffle = (buf, n = buf.length, rnd = random.SYSTEM) => shuffleRange(buf, 0, n, rnd);
|
|
370
|
-
|
|
371
|
-
const sortByCachedKey = (src, key, cmp = compare.compare) => {
|
|
372
|
-
const keys = checks.isFunction(key) ? src.map(key) : key;
|
|
373
|
-
api.assert(keys.length === src.length, `keys.length != src.length`);
|
|
374
|
-
quickSort(keys, cmp, multiSwap(src));
|
|
375
|
-
return src;
|
|
376
|
-
};
|
|
377
|
-
|
|
378
|
-
const startsWith = (buf, needle, equiv$1 = equiv.equiv) => {
|
|
379
|
-
let i = buf.length;
|
|
380
|
-
let j = needle.length;
|
|
381
|
-
if (i < j)
|
|
382
|
-
return false;
|
|
383
|
-
while (-j >= 0 && equiv$1(buf[j], needle[j])) { }
|
|
384
|
-
return j < 0;
|
|
385
|
-
};
|
|
386
|
-
|
|
387
|
-
const swizzle = (order) => {
|
|
388
|
-
const [a, b, c, d, e, f, g, h] = order;
|
|
389
|
-
switch (order.length) {
|
|
390
|
-
case 0:
|
|
391
|
-
return () => [];
|
|
392
|
-
case 1:
|
|
393
|
-
return (x) => [x[a]];
|
|
394
|
-
case 2:
|
|
395
|
-
return (x) => [x[a], x[b]];
|
|
396
|
-
case 3:
|
|
397
|
-
return (x) => [x[a], x[b], x[c]];
|
|
398
|
-
case 4:
|
|
399
|
-
return (x) => [x[a], x[b], x[c], x[d]];
|
|
400
|
-
case 5:
|
|
401
|
-
return (x) => [x[a], x[b], x[c], x[d], x[e]];
|
|
402
|
-
case 6:
|
|
403
|
-
return (x) => [x[a], x[b], x[c], x[d], x[e], x[f]];
|
|
404
|
-
case 7:
|
|
405
|
-
return (x) => [x[a], x[b], x[c], x[d], x[e], x[f], x[g]];
|
|
406
|
-
case 8:
|
|
407
|
-
return (x) => [x[a], x[b], x[c], x[d], x[e], x[f], x[g], x[h]];
|
|
408
|
-
default:
|
|
409
|
-
return (x) => {
|
|
410
|
-
const res = [];
|
|
411
|
-
for (let i = order.length; --i >= 0;) {
|
|
412
|
-
res[i] = x[order[i]];
|
|
413
|
-
}
|
|
414
|
-
return res;
|
|
415
|
-
};
|
|
416
|
-
}
|
|
417
|
-
};
|
|
418
|
-
|
|
419
|
-
exports.arrayIterator = arrayIterator;
|
|
420
|
-
exports.binarySearch = binarySearch;
|
|
421
|
-
exports.binarySearch16 = binarySearch16;
|
|
422
|
-
exports.binarySearch2 = binarySearch2;
|
|
423
|
-
exports.binarySearch32 = binarySearch32;
|
|
424
|
-
exports.binarySearch4 = binarySearch4;
|
|
425
|
-
exports.binarySearch8 = binarySearch8;
|
|
426
|
-
exports.binarySearchNumeric = binarySearchNumeric;
|
|
427
|
-
exports.bisect = bisect;
|
|
428
|
-
exports.bisectWith = bisectWith;
|
|
429
|
-
exports.bsEQ = bsEQ;
|
|
430
|
-
exports.bsGE = bsGE;
|
|
431
|
-
exports.bsGT = bsGT;
|
|
432
|
-
exports.bsLE = bsLE;
|
|
433
|
-
exports.bsLT = bsLT;
|
|
434
|
-
exports.endsWith = endsWith;
|
|
435
|
-
exports.ensureArray = ensureArray;
|
|
436
|
-
exports.ensureArrayLike = ensureArrayLike;
|
|
437
|
-
exports.ensureIterable = ensureIterable;
|
|
438
|
-
exports.fillRange = fillRange;
|
|
439
|
-
exports.find = find;
|
|
440
|
-
exports.findIndex = findIndex;
|
|
441
|
-
exports.first = first;
|
|
442
|
-
exports.fuzzyMatch = fuzzyMatch;
|
|
443
|
-
exports.insert = insert;
|
|
444
|
-
exports.insertUnsafe = insertUnsafe;
|
|
445
|
-
exports.into = into;
|
|
446
|
-
exports.isSorted = isSorted;
|
|
447
|
-
exports.levenshtein = levenshtein;
|
|
448
|
-
exports.multiSwap = multiSwap;
|
|
449
|
-
exports.normalizedLevenshtein = normalizedLevenshtein;
|
|
450
|
-
exports.peek = peek;
|
|
451
|
-
exports.quickSort = quickSort;
|
|
452
|
-
exports.shuffle = shuffle;
|
|
453
|
-
exports.shuffleRange = shuffleRange;
|
|
454
|
-
exports.sortByCachedKey = sortByCachedKey;
|
|
455
|
-
exports.startsWith = startsWith;
|
|
456
|
-
exports.swap = swap;
|
|
457
|
-
exports.swizzle = swizzle;
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../binary-search.js","../bisect.js","../ends-with.js","../ensure-iterable.js","../ensure-array.js","../find.js","../fill-range.js","../fuzzy-match.js","../is-sorted.js","../insert.js","../into.js","../iterator.js","../levenshtein.js","../peek.js","../swap.js","../quicksort.js","../shuffle.js","../sort-cached.js","../starts-with.js","../swizzle.js"],"sourcesContent":null,"names":["compare","compareNumAsc","equiv","_eq","illegalArgs","isArray","isArrayLike","_equiv","SYSTEM","assert","isFunction"],"mappings":";;;;;;;;;;;AA+BY,MAAC,YAAY,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,GAAGA,eAAO,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK;AACvG,IAAI,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACtB,IAAI,OAAO,GAAG,IAAI,IAAI,EAAE;AACxB,QAAQ,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC;AACvC,QAAQ,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE;AACnB,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAC1B,SAAS;AACT,aAAa,IAAI,CAAC,GAAG,CAAC,EAAE;AACxB,YAAY,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,aAAa;AACb,YAAY,OAAO,GAAG,CAAC;AACvB,SAAS;AACT,KAAK;AACL,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AACpB,EAAE;AAYU,MAAC,mBAAmB,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,GAAGC,qBAAa,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK;AACpG,IAAI,OAAO,GAAG,IAAI,IAAI,EAAE;AACxB,QAAQ,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC;AACvC,QAAQ,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE;AACnB,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAC1B,SAAS;AACT,aAAa,IAAI,CAAC,GAAG,CAAC,EAAE;AACxB,YAAY,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,aAAa;AACb,YAAY,OAAO,GAAG,CAAC;AACvB,SAAS;AACT,KAAK;AACL,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AACpB,EAAE;AACU,MAAC,aAAa,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK;AACzC,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,EAAE;AAQU,MAAC,aAAa,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK;AACzC,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,EAAE;AAQU,MAAC,aAAa,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK;AACzC,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,EAAE;AAQU,MAAC,cAAc,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK;AAC1C,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,EAAE;AAQU,MAAC,cAAc,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK;AAC1C,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,EAAE;AAcU,MAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAMxC,MAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAoBpC,MAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;AAOjE,MAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;AAO7D,MAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;;ACpL9B,MAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK;AACrD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACnB,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,EAAE;AAUU,MAAC,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK;AACzC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC/C;;ACLY,MAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAEC,OAAK,GAAGC,WAAG,KAAK;AACtD,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;AACvB,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;AAC1B,IAAI,IAAI,CAAC,GAAG,CAAC;AACb,QAAQ,OAAO,KAAK,CAAC;AACrB,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAID,OAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;AAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;AACjB;;ACjBY,MAAC,cAAc,GAAG,CAAC,CAAC,KAAK;AACrC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrC,QAAQE,kBAAW,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,IAAI,OAAO,CAAC,CAAC;AACb;;ACEY,MAAC,WAAW,GAAG,CAAC,CAAC,KAAKC,cAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE;AAQ9D,MAAC,eAAe,GAAG,CAAC,CAAC,KAAKC,kBAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;;ACZpE,MAAC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,EAAEJ,OAAK,GAAGK,WAAM,KAAK;AAChD,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,EAAEL,OAAK,CAAC,CAAC;AACvC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AACzC,EAAE;AASU,MAAC,SAAS,GAAG,CAAC,GAAG,EAAE,CAAC,EAAEA,OAAK,GAAGK,WAAM,KAAK;AACrD,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG;AACxC,QAAQ,IAAIL,OAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5B,YAAY,OAAO,CAAC,CAAC;AACrB,KAAK;AACL,IAAI,OAAO,CAAC,CAAC,CAAC;AACd;;ACJY,MAAC,SAAS,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK;AACvG,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE;AAClB,QAAQ,OAAO,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI;AACzC,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;AACjC,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI;AACzC,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf;;ACfY,MAAC,UAAU,GAAG,CAAC,MAAM,EAAE,KAAK,EAAEA,OAAK,GAAGC,WAAG,KAAK;AAC1D,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;AAC7B,IAAI,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;AAC5B,IAAI,IAAI,EAAE,GAAG,EAAE,EAAE;AACjB,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE;AACnB,QAAQ,OAAOD,OAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACpC,KAAK;AACL,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AAC9C,QAAQ,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE;AACvB,YAAY,IAAIA,OAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AACvC,gBAAgB,SAAS,IAAI,CAAC;AAC9B,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB;;ACZY,MAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,GAAGF,eAAO,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,KAAK;AAC7E,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK,GAAG,GAAG,EAAE;AAC1B,QAAQ,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAChC,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAC/B,YAAY,OAAO,KAAK,CAAC;AACzB,QAAQ,IAAI,GAAG,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB;;ACfY,MAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AASnG,MAAC,YAAY,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,KAAK;AACzD,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AAChD,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC;AAClB,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5B,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACf,IAAI,OAAO,GAAG,CAAC;AACf;;AC1BY,MAAC,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,KAAK;AACnD,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;AACvB,QAAQ,IAAI,EAAE,GAAG,GAAG,CAAC;AACrB,YAAY,MAAM;AAClB,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrB,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB;;ACFO,UAAU,aAAa,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE;AACpD,IAAI,IAAI,CAAC,GAAG;AACZ,QAAQ,OAAO;AACf,IAAI,KAAK,GAAG,KAAK,CAAC;AAClB,IAAI,GAAG,KAAK,SAAS,KAAK,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5C,IAAI,MAAM,IAAI,GAAG,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,IAAI,OAAO,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE;AACzC,QAAQ,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;AACzB,KAAK;AACL;;ACtBA,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAmCvB,MAAC,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,KAAK,GAAG,QAAQ,KAAK;AAC3E,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;AACjB,QAAQ,OAAO,CAAC,CAAC;AACjB,KAAK;AACL,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE;AAC7B,QAAQ,MAAM,GAAG,GAAG,CAAC,CAAC;AACtB,QAAQ,CAAC,GAAG,CAAC,CAAC;AACd,QAAQ,CAAC,GAAG,GAAG,CAAC;AAChB,KAAK;AACL,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;AACtB,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;AACtB,IAAI,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAC9C,QAAQ,EAAE,EAAE,CAAC;AACb,QAAQ,EAAE,EAAE,CAAC;AACb,KAAK;AACL,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC;AACnB,IAAI,OAAO,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;AACvD,QAAQ,MAAM,EAAE,CAAC;AACjB,KAAK;AACL,IAAI,EAAE,IAAI,MAAM,CAAC;AACjB,IAAI,EAAE,IAAI,MAAM,CAAC;AACjB,IAAI,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;AAC5B,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,IAAI,IAAI,CAAC,CAAC;AACV,IAAI,IAAI,OAAO,CAAC;AAChB,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,MAAM,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK;AACzC,QAAQ,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;AACjC,cAAc,EAAE,GAAG,EAAE;AACrB,kBAAkB,EAAE,GAAG,CAAC;AACxB,kBAAkB,EAAE,GAAG,CAAC;AACxB,cAAc,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AAC3B,kBAAkB,EAAE;AACpB,kBAAkB,EAAE,GAAG,CAAC,CAAC;AACzB,KAAK,CAAC;AACN,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AAC7B,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAClC,IAAI,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;AACvB,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG;AACrB,QAAQ,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACnC,QAAQ,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvC,QAAQ,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvC,QAAQ,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AACpB,QAAQ,OAAO,GAAG,QAAQ,CAAC;AAC3B,QAAQ,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;AACrC,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAC3C,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAC3C,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAC3C,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAC3C,YAAY,EAAE,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC;AAC3C,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC3B,YAAY,EAAE,GAAG,EAAE,CAAC;AACpB,YAAY,EAAE,GAAG,EAAE,CAAC;AACpB,YAAY,EAAE,GAAG,EAAE,CAAC;AACpB,YAAY,EAAE,GAAG,EAAE,CAAC;AACpB,SAAS;AACT,QAAQ,IAAI,OAAO,GAAG,OAAO;AAC7B,YAAY,OAAO,QAAQ,CAAC;AAC5B,KAAK;AACL,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG;AACpB,QAAQ,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;AACjB,QAAQ,OAAO,GAAG,QAAQ,CAAC;AAC3B,QAAQ,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;AACrC,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClE,YAAY,EAAE,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC;AAC3C,YAAY,EAAE,GAAG,EAAE,CAAC;AACpB,SAAS;AACT,QAAQ,IAAI,OAAO,GAAG,OAAO;AAC7B,YAAY,OAAO,QAAQ,CAAC;AAC5B,KAAK;AACL,IAAI,OAAO,EAAE,CAAC;AACd,EAAE;AAWU,MAAC,qBAAqB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,KAAK,GAAG,QAAQ,KAAK;AACrF,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7D;;ACvIY,MAAC,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,EAAE;AAMzB,MAAC,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;;ACJnC,MAAC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK;AACnC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACrB,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACpB,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACf,EAAE;AA8BU,MAAC,SAAS,GAAG,CAAC,GAAG,EAAE,KAAK;AACpC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AACzB,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;AACxB,IAAI,QAAQ,CAAC;AACb,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,IAAI,CAAC;AACxB,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK;AAChC,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,aAAa,CAAC;AACd,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK;AAChC,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,aAAa,CAAC;AACd,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK;AAChC,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,aAAa,CAAC;AACd,QAAQ;AACR,YAAY,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK;AAChC,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,gBAAgB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,aAAa,CAAC;AACd,KAAK;AACL;;ACrEO,SAAS,SAAS,CAAC,GAAG,EAAE,IAAI,GAAGA,eAAO,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9F,IAAI,IAAI,KAAK,GAAG,GAAG,EAAE;AACrB,QAAQ,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,QAAQ,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;AACxB,QAAQ,OAAO,IAAI,EAAE;AACrB,YAAY,GAAG;AACf,gBAAgB,CAAC,EAAE,CAAC;AACpB,aAAa,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;AAC9C,YAAY,GAAG;AACf,gBAAgB,CAAC,EAAE,CAAC;AACpB,aAAa,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;AAC9C,YAAY,IAAI,CAAC,IAAI,CAAC;AACtB,gBAAgB,MAAM;AACtB,YAAY,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,SAAS;AACT,QAAQ,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9C,QAAQ,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAChD,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf;;ACPY,MAAC,YAAY,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,GAAGQ,aAAM,KAAK;AAChF,IAAIC,UAAM,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9F,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;AACxB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;AAChB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;AACf,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;AACzB,YAAY,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjD,YAAY,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjD,YAAY,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5B,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACvB,SAAS;AACT,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,EAAE;AAWU,MAAC,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,GAAGD,aAAM,KAAK,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG;;ACT7E,MAAC,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAGR,eAAO,KAAK;AAC5D,IAAI,MAAM,IAAI,GAAGU,iBAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACtD,IAAID,UAAM,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;AACpE,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,IAAI,OAAO,GAAG,CAAC;AACf;;ACpBY,MAAC,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAEP,OAAK,GAAGC,WAAG,KAAK;AACxD,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;AACvB,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;AAC1B,IAAI,IAAI,CAAC,GAAG,CAAC;AACb,QAAQ,OAAO,KAAK,CAAC;AACrB,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,IAAID,OAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG;AACnD,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;AACjB;;ACCY,MAAC,OAAO,GAAG,CAAC,KAAK,KAAK;AAClC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAC3C,IAAI,QAAQ,KAAK,CAAC,MAAM;AACxB,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,MAAM,EAAE,CAAC;AAC5B,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,QAAQ;AACR,YAAY,OAAO,CAAC,CAAC,KAAK;AAC1B,gBAAgB,MAAM,GAAG,GAAG,EAAE,CAAC;AAC/B,gBAAgB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG;AACtD,oBAAoB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,iBAAiB;AACjB,gBAAgB,OAAO,GAAG,CAAC;AAC3B,aAAa,CAAC;AACd,KAAK;AACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/index.umd.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@thi.ng/compare"),require("@thi.ng/equiv"),require("@thi.ng/checks"),require("@thi.ng/errors"),require("@thi.ng/api"),require("@thi.ng/random")):"function"==typeof define&&define.amd?define(["exports","@thi.ng/compare","@thi.ng/equiv","@thi.ng/checks","@thi.ng/errors","@thi.ng/api","@thi.ng/random"],r):r(((e="undefined"!=typeof globalThis?globalThis:e||self).thi=e.thi||{},e.thi.ng=e.thi.ng||{},e.thi.ng.arrays={}),e.thi.ng.compare,e.thi.ng.equiv,e.thi.ng.checks,e.thi.ng.errors,e.thi.ng.api,e.thi.ng.random)}(this,(function(e,r,t,n,i,s,o){"use strict";const u=(e,r=e.length>>>1)=>[e.slice(0,r),e.slice(r)],l=e=>((null==e||!e[Symbol.iterator])&&i.illegalArgs(`value is not iterable: ${e}`),e),h=(e,r,n=t.equiv)=>{for(let t=e.length;--t>=0;)if(n(r,e[t]))return t;return-1},a=(e,r,t,n=1/0)=>{let i=e.length<n?e.length+1:n;for(;--i>t;)e[i]=e[i-1];return e[t]=r,e};const c=(e,r)=>e===r,f=(e,r,t=1/0,n=c)=>{if(e===r)return 0;if(e.length>r.length){const t=e;e=r,r=t}let i=e.length,s=r.length;for(;i>0&&n(e[~-i],r[~-s]);)i--,s--;let o=0;for(;o<i&&n(e[o],r[o]);)o++;if(i-=o,s-=o,0===i||s<3)return s;let u,l,h,a,f,g,d,p,y,b,m,q,S,v=0;const k=(e,r,t,i,s)=>e<r||t<r?e>t?t+1:e+1:n(s,i)?r:r+1,w=[];for(u=0;u<i;u++)w.push(u+1,e[o+u]);const x=w.length-1,A=s-3;for(;v<A;){for(b=r[o+(h=v)],m=r[o+(a=v+1)],q=r[o+(f=v+2)],S=r[o+(g=v+3)],d=v+=4,l=1/0,u=0;u<x;u+=2)p=w[u],y=w[u+1],h=k(p,h,a,b,y),a=k(h,a,f,m,y),f=k(a,f,g,q,y),d=k(f,g,d,S,y),d<l&&(l=d),w[u]=d,g=f,f=a,a=h,h=p;if(l>t)return 1/0}for(;v<s;){for(b=r[o+(h=v)],d=++v,l=1/0,u=0;u<x;u+=2)p=w[u],w[u]=d=k(p,h,d,b,w[u+1]),d<l&&(l=d),h=p;if(l>t)return 1/0}return d},g=(e,r,t)=>{const n=e[r];e[r]=e[t],e[t]=n},d=(...e)=>{const[r,t,n]=e,i=e.length;switch(i){case 0:return g;case 1:return(e,t,n)=>{g(e,t,n),g(r,t,n)};case 2:return(e,n,i)=>{g(e,n,i),g(r,n,i),g(t,n,i)};case 3:return(e,i,s)=>{g(e,i,s),g(r,i,s),g(t,i,s),g(n,i,s)};default:return(r,t,n)=>{g(r,t,n);for(let r=i;--r>=0;)g(e[r],t,n)}}};function p(e,t=r.compare,n=g,i=0,s=e.length-1){if(i<s){const r=e[i+(s-i>>1)];let o=i-1,u=s+1;for(;;){do{o++}while(t(e[o],r)<0);do{u--}while(t(e[u],r)>0);if(o>=u)break;n(e,o,u)}p(e,t,n,i,u),p(e,t,n,u+1,s)}return e}const y=(e,r=0,t=e.length,n=o.SYSTEM)=>{s.assert(r>=0&&t>=r&&t<=e.length,`illegal range ${r}..${t}`);let i=t-r;const u=i;if(u>1)for(;--i>=0;){const t=r+n.float(u)|0,i=r+n.float(u)|0,s=e[t];e[t]=e[i],e[i]=s}return e};e.arrayIterator=function*(e,r=0,t){if(!e)return;r=r,void 0===t&&(t=e.length);const n=r<=t?1:-1;for(;r!==t;r+=n)yield e[r]},e.binarySearch=(e,t,n=(e=>e),i=r.compare,s=0,o=e.length-1)=>{const u=n(t);for(;s<=o;){const r=s+o>>>1,t=i(n(e[r]),u);if(t<0)s=r+1;else{if(!(t>0))return r;o=r-1}}return-s-1},e.binarySearch16=(e,r)=>{let t=e[8]<=r?8:0;return t|=e[t+4]<=r?4:0,t|=e[t+2]<=r?2:0,t|=e[t+1]<=r?1:0,e[t]===r?t:e[0]<r?-t-2:-1},e.binarySearch2=(e,r)=>{let t=e[1]<=r?1:0;return e[t]===r?t:e[0]<r?-t-2:-1},e.binarySearch32=(e,r)=>{let t=e[16]<=r?16:0;return t|=e[t+4]<=r?8:0,t|=e[t+4]<=r?4:0,t|=e[t+2]<=r?2:0,t|=e[t+1]<=r?1:0,e[t]===r?t:e[0]<r?-t-2:-1},e.binarySearch4=(e,r)=>{let t=e[2]<=r?2:0;return t|=e[t+1]<=r?1:0,e[t]===r?t:e[0]<r?-t-2:-1},e.binarySearch8=(e,r)=>{let t=e[4]<=r?4:0;return t|=e[t+2]<=r?2:0,t|=e[t+1]<=r?1:0,e[t]===r?t:e[0]<r?-t-2:-1},e.binarySearchNumeric=(e,t,n=r.compareNumAsc,i=0,s=e.length-1)=>{for(;i<=s;){const r=i+s>>>1,o=n(e[r],t);if(o<0)i=r+1;else{if(!(o>0))return r;s=r-1}}return-i-1},e.bisect=u,e.bisectWith=(e,r)=>{const t=e.findIndex(r);return t>=0?u(e,t):[e,[]]},e.bsEQ=e=>e<0?-1:e,e.bsGE=(e,r)=>(e=e<0?-e-1:e)<r?e:-1,e.bsGT=(e,r)=>(e=e<0?-e-1:e+1)<r?e:-1,e.bsLE=e=>e<0?-e-2:e,e.bsLT=e=>e<0?-e-2:e-1,e.endsWith=(e,r,n=t.equiv)=>{let i=e.length,s=r.length;if(i<s)return!1;for(;--i,--s>=0&&n(e[i],r[s]););return s<0},e.ensureArray=e=>n.isArray(e)?e:[...l(e)],e.ensureArrayLike=e=>n.isArrayLike(e)?e:[...l(e)],e.ensureIterable=l,e.fillRange=(e,r=0,t=0,n=e.length,i=(n>t?1:-1))=>{if(i>0)for(;t<n;t+=i)e[r++]=t;else for(;t>n;t+=i)e[r++]=t;return e},e.find=(e,r,n=t.equiv)=>{const i=h(e,r,n);return-1!==i?e[i]:void 0},e.findIndex=h,e.first=e=>e[0],e.fuzzyMatch=(e,r,n=t.equiv)=>{const i=e.length,s=r.length;if(s>i)return!1;if(s===i)return n(r,e);e:for(let t=0,o=0;t<s;t++){const s=r[t];for(;o<i;)if(n(e[o++],s))continue e;return!1}return!0},e.insert=(e,r,t,n=1/0)=>t<0||t>=n||n<1?e:a(e,r,t,n),e.insertUnsafe=a,e.into=(e,r,t=1/0)=>{for(let n of r){if(--t<0)break;e.push(n)}return e},e.isSorted=(e,t=r.compare,n=0,i=e.length)=>{let s=e[n];for(;++n<i;){const r=e[n];if(t(s,r)>0)return!1;s=r}return!0},e.levenshtein=f,e.multiSwap=d,e.normalizedLevenshtein=(e,r,t=1/0,n=c)=>{const i=Math.max(e.length,r.length);return i>0?f(e,r,t,n)/i:0},e.peek=e=>e[e.length-1],e.quickSort=p,e.shuffle=(e,r=e.length,t=o.SYSTEM)=>y(e,0,r,t),e.shuffleRange=y,e.sortByCachedKey=(e,t,i=r.compare)=>{const o=n.isFunction(t)?e.map(t):t;return s.assert(o.length===e.length,"keys.length != src.length"),p(o,i,d(e)),e},e.startsWith=(e,r,n=t.equiv)=>{let i=e.length,s=r.length;if(i<s)return!1;for(;-s>=0&&n(e[s],r[s]););return s<0},e.swap=g,e.swizzle=e=>{const[r,t,n,i,s,o,u,l]=e;switch(e.length){case 0:return()=>[];case 1:return e=>[e[r]];case 2:return e=>[e[r],e[t]];case 3:return e=>[e[r],e[t],e[n]];case 4:return e=>[e[r],e[t],e[n],e[i]];case 5:return e=>[e[r],e[t],e[n],e[i],e[s]];case 6:return e=>[e[r],e[t],e[n],e[i],e[s],e[o]];case 7:return e=>[e[r],e[t],e[n],e[i],e[s],e[o],e[u]];case 8:return e=>[e[r],e[t],e[n],e[i],e[s],e[o],e[u],e[l]];default:return r=>{const t=[];for(let n=e.length;--n>=0;)t[n]=r[e[n]];return t}}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/lib/index.umd.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../binary-search.js","../bisect.js","../ends-with.js","../ensure-iterable.js","../ensure-array.js","../find.js","../fill-range.js","../fuzzy-match.js","../is-sorted.js","../insert.js","../into.js","../iterator.js","../levenshtein.js","../peek.js","../swap.js","../quicksort.js","../shuffle.js","../sort-cached.js","../starts-with.js","../swizzle.js"],"sourcesContent":null,"names":["compare","compareNumAsc","equiv","_eq","illegalArgs","isArray","isArrayLike","_equiv","SYSTEM","assert","isFunction"],"mappings":"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"}
|