@thi.ng/arrays 2.0.7 → 2.1.2
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 +108 -58
- package/README.md +1 -1
- package/ends-with.js +1 -1
- package/find.js +1 -1
- package/package.json +143 -138
- package/shuffle.js +1 -1
- package/swap.js +1 -1
- package/swizzle.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,115 +1,165 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
- **Last updated**: 2021-11-21T17:09:28Z
|
|
4
|
+
- **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
|
|
5
|
+
|
|
3
6
|
All notable changes to this project will be documented in this file.
|
|
4
|
-
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
|
+
See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
|
|
8
|
+
|
|
9
|
+
**Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
|
|
10
|
+
and/or version bumps of transitive dependencies.
|
|
11
|
+
|
|
12
|
+
## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@2.1.0) (2021-11-17)
|
|
13
|
+
|
|
14
|
+
#### 🚀 Features
|
|
15
|
+
|
|
16
|
+
- Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404))
|
|
17
|
+
Improving the overall build ergonomics
|
|
18
|
+
- introduced a tools workspaces
|
|
19
|
+
- imported it in all needed packages/examples
|
|
20
|
+
- inclusive project root
|
|
5
21
|
|
|
6
|
-
|
|
22
|
+
#### ♻️ Refactoring
|
|
7
23
|
|
|
8
|
-
|
|
24
|
+
- testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2))
|
|
25
|
+
this commit reverts (partly) changes made in:
|
|
26
|
+
ef346d7a8753590dc9094108a3d861a8dbd5dd2c
|
|
27
|
+
overall purpose is better testament ergonomics:
|
|
28
|
+
instead of having to pass NODE_OPTIONS with every invocation
|
|
29
|
+
having a binary to handle this for us.
|
|
9
30
|
|
|
31
|
+
### [2.0.8](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@2.0.8) (2021-11-10)
|
|
10
32
|
|
|
33
|
+
#### ♻️ Refactoring
|
|
11
34
|
|
|
35
|
+
- update all countdown loops ([a5f374b](https://github.com/thi-ng/umbrella/commit/a5f374b))
|
|
12
36
|
|
|
37
|
+
### [2.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@2.0.1) (2021-10-13)
|
|
13
38
|
|
|
14
|
-
|
|
39
|
+
#### ♻️ Refactoring
|
|
15
40
|
|
|
41
|
+
- update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
|
|
42
|
+
- update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
|
|
43
|
+
- add .js suffix for all relative imports
|
|
16
44
|
|
|
17
|
-
|
|
45
|
+
# [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@2.0.0) (2021-10-12)
|
|
18
46
|
|
|
19
|
-
|
|
47
|
+
#### 🛑 Breaking changes
|
|
20
48
|
|
|
49
|
+
- major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea))
|
|
50
|
+
- BREAKING CHANGE: discontinue CommonJS & UMD versions
|
|
51
|
+
- only ESM modules will be published from now on
|
|
52
|
+
- CJS obsolete due to ESM support in recent versions of node:
|
|
53
|
+
- i.e. launch NodeJS via:
|
|
54
|
+
- `node --experimental-specifier-resolution=node --experimental-repl-await`
|
|
55
|
+
- in the node REPL use `await import(...)` instead of `require()`
|
|
56
|
+
- UMD obsolete due to widespread browser support for ESM
|
|
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](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
|
|
21
61
|
|
|
22
|
-
|
|
62
|
+
#### ♻️ Refactoring
|
|
23
63
|
|
|
24
|
-
|
|
64
|
+
- update deps & imports in various pkgs ([e1cf29e](https://github.com/thi-ng/umbrella/commit/e1cf29e))
|
|
65
|
+
- largely related to recent updates/restructuring of these packages:
|
|
66
|
+
- api
|
|
67
|
+
- defmulti
|
|
68
|
+
- errors
|
|
69
|
+
- logger
|
|
70
|
+
- update imports ([ad3c3af](https://github.com/thi-ng/umbrella/commit/ad3c3af))
|
|
71
|
+
- update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
|
|
72
|
+
- update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
|
|
25
73
|
|
|
26
|
-
-
|
|
27
|
-
- CJS obsolete due to ESM support in recent versions of node:
|
|
28
|
-
- i.e. launch NodeJS via:
|
|
29
|
-
- `node --experimental-specifier-resolution=node --experimental-repl-await`
|
|
30
|
-
- in the node REPL use `await import(...)` instead of `require()`
|
|
31
|
-
- UMD obsolete due to widespread browser support for ESM
|
|
74
|
+
## [0.10.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.10.0) (2021-01-21)
|
|
32
75
|
|
|
33
|
-
|
|
34
|
-
- normalize/restructure/reorg all package.json files
|
|
35
|
-
- cleanup all build scripts, remove obsolete
|
|
36
|
-
- switch from mocha to @thi.ng/testament for all tests
|
|
76
|
+
#### 🚀 Features
|
|
37
77
|
|
|
78
|
+
- add insert/insertUnsafe() ([2a78598](https://github.com/thi-ng/umbrella/commit/2a78598))
|
|
38
79
|
|
|
80
|
+
#### 🩹 Bug fixes
|
|
39
81
|
|
|
82
|
+
- fixed-length binarySearch2/4/8/16/32 ([39e5c37](https://github.com/thi-ng/umbrella/commit/39e5c37))
|
|
83
|
+
- add binarySearch2()
|
|
84
|
+
- fix results for not-found values, make compatible w/ binarySearch()
|
|
40
85
|
|
|
86
|
+
## [0.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.9.0) (2021-01-02)
|
|
41
87
|
|
|
88
|
+
#### 🚀 Features
|
|
42
89
|
|
|
43
|
-
|
|
90
|
+
- update sortByCachedKey(), add tests ([64e8f6e](https://github.com/thi-ng/umbrella/commit/64e8f6e))
|
|
91
|
+
- add support for pre-cached key array instead of key fn
|
|
92
|
+
- add into(), sortByCachedKey() ([b94f64c](https://github.com/thi-ng/umbrella/commit/b94f64c))
|
|
93
|
+
- add bisect(), bisectWith() ([17d06a4](https://github.com/thi-ng/umbrella/commit/17d06a4))
|
|
44
94
|
|
|
45
|
-
|
|
95
|
+
## [0.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.8.0) (2020-09-13)
|
|
46
96
|
|
|
47
|
-
|
|
97
|
+
#### 🚀 Features
|
|
48
98
|
|
|
49
|
-
|
|
99
|
+
- add first() ([3f5f722](https://github.com/thi-ng/umbrella/commit/3f5f722))
|
|
50
100
|
|
|
51
|
-
|
|
101
|
+
#### ♻️ Refactoring
|
|
52
102
|
|
|
53
|
-
|
|
103
|
+
- update imports, use new Fn types ([1e3b6ac](https://github.com/thi-ng/umbrella/commit/1e3b6ac))
|
|
104
|
+
- update imports, use new function aliases ([136482e](https://github.com/thi-ng/umbrella/commit/136482e))
|
|
54
105
|
|
|
55
|
-
|
|
106
|
+
## [0.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.7.0) (2020-08-28)
|
|
56
107
|
|
|
57
|
-
|
|
108
|
+
#### 🚀 Features
|
|
58
109
|
|
|
59
|
-
|
|
110
|
+
- add non-recursive binary search fns ([29a4ee4](https://github.com/thi-ng/umbrella/commit/29a4ee4))
|
|
111
|
+
- add fixed size binarySearch4/8/16/32()
|
|
60
112
|
|
|
61
|
-
|
|
62
|
-
- **arrays:** add into(), sortByCachedKey() ([b94f64c](https://github.com/thi-ng/umbrella/commit/b94f64c2c351cfed5ea9ade5e42ad0b7076ef9e9))
|
|
63
|
-
- **arrays:** update sortByCachedKey(), add tests ([64e8f6e](https://github.com/thi-ng/umbrella/commit/64e8f6e4e83c26c73e23a4831483bd328b78bc49))
|
|
113
|
+
## [0.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.6.0) (2020-03-28)
|
|
64
114
|
|
|
65
|
-
|
|
115
|
+
#### 🚀 Features
|
|
66
116
|
|
|
67
|
-
|
|
117
|
+
- add fillRange() & levenshtein() ([2f98225](https://github.com/thi-ng/umbrella/commit/2f98225))
|
|
68
118
|
|
|
69
|
-
|
|
119
|
+
### [0.5.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.5.2) (2020-02-25)
|
|
70
120
|
|
|
71
|
-
|
|
121
|
+
#### ♻️ Refactoring
|
|
72
122
|
|
|
73
|
-
|
|
123
|
+
- update imports ([35765a8](https://github.com/thi-ng/umbrella/commit/35765a8))
|
|
74
124
|
|
|
75
|
-
|
|
125
|
+
## [0.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.5.0) (2020-01-24)
|
|
76
126
|
|
|
77
|
-
|
|
127
|
+
#### 🚀 Features
|
|
78
128
|
|
|
79
|
-
|
|
129
|
+
- add binary search predicates, tests, update readme ([b8f421e](https://github.com/thi-ng/umbrella/commit/b8f421e))
|
|
80
130
|
|
|
81
|
-
|
|
131
|
+
## [0.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.4.0) (2019-11-30)
|
|
82
132
|
|
|
83
|
-
|
|
133
|
+
#### 🚀 Features
|
|
84
134
|
|
|
85
|
-
|
|
135
|
+
- add arraySeq(), arrayIterator() & tests ([d94df57](https://github.com/thi-ng/umbrella/commit/d94df57))
|
|
136
|
+
- add binarySearchNumeric() ([7b38202](https://github.com/thi-ng/umbrella/commit/7b38202))
|
|
86
137
|
|
|
87
|
-
|
|
138
|
+
#### ♻️ Refactoring
|
|
88
139
|
|
|
89
|
-
|
|
140
|
+
- remove arraySeq() (migrated to [@thi.ng/seq](https://github.com/thi-ng/umbrella/tree/main/packages/seq)) ([779c433](https://github.com/thi-ng/umbrella/commit/779c433))
|
|
90
141
|
|
|
91
|
-
|
|
142
|
+
## [0.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.3.0) (2019-11-09)
|
|
92
143
|
|
|
93
|
-
|
|
94
|
-
- **arrays:** add binarySearchNumeric() ([7b38202](https://github.com/thi-ng/umbrella/commit/7b38202480db71753d24aa52a9c09d3ac78d36ae))
|
|
144
|
+
#### 🚀 Features
|
|
95
145
|
|
|
96
|
-
|
|
146
|
+
- add isSorted() ([65b29f4](https://github.com/thi-ng/umbrella/commit/65b29f4))
|
|
147
|
+
- add types, quickSort(), swap(), multiSwap(), update readme ([b834722](https://github.com/thi-ng/umbrella/commit/b834722))
|
|
148
|
+
- add shuffleRange(), refactor shuffle(), add tests ([1924a05](https://github.com/thi-ng/umbrella/commit/1924a05))
|
|
97
149
|
|
|
98
|
-
|
|
150
|
+
## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.2.0) (2019-07-07)
|
|
99
151
|
|
|
100
|
-
|
|
101
|
-
- **arrays:** add shuffleRange(), refactor shuffle(), add tests ([1924a05](https://github.com/thi-ng/umbrella/commit/1924a05ea093e3d1d0b3f063cb331b330cee0c0a))
|
|
102
|
-
- **arrays:** add types, quickSort(), swap(), multiSwap(), update readme ([b834722](https://github.com/thi-ng/umbrella/commit/b83472237b3ba262dcbb644c8ccc516d0021bc84))
|
|
152
|
+
#### 🚀 Features
|
|
103
153
|
|
|
104
|
-
|
|
154
|
+
- enable TS strict compiler flags (refactor) ([8724f9e](https://github.com/thi-ng/umbrella/commit/8724f9e))
|
|
105
155
|
|
|
106
|
-
|
|
156
|
+
## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/arrays@0.1.0) (2019-02-15)
|
|
107
157
|
|
|
108
|
-
|
|
158
|
+
#### 🚀 Features
|
|
109
159
|
|
|
110
|
-
|
|
160
|
+
- add find/findIndex() ([0007152](https://github.com/thi-ng/umbrella/commit/0007152))
|
|
161
|
+
- extract as new package ([361ba37](https://github.com/thi-ng/umbrella/commit/361ba37))
|
|
111
162
|
|
|
112
|
-
|
|
163
|
+
#### ♻️ Refactoring
|
|
113
164
|
|
|
114
|
-
-
|
|
115
|
-
- **arrays:** extract as new package ([361ba37](https://github.com/thi-ng/umbrella/commit/361ba37))
|
|
165
|
+
- update arg order, fix shuffle() ([b01abaa](https://github.com/thi-ng/umbrella/commit/b01abaa))
|
package/README.md
CHANGED
package/ends-with.js
CHANGED
package/find.js
CHANGED
|
@@ -20,7 +20,7 @@ export const find = (buf, x, equiv = _equiv) => {
|
|
|
20
20
|
* @param equiv - equivalence predicate
|
|
21
21
|
*/
|
|
22
22
|
export const findIndex = (buf, x, equiv = _equiv) => {
|
|
23
|
-
for (let i = buf.length; --
|
|
23
|
+
for (let i = buf.length; i-- > 0;) {
|
|
24
24
|
if (equiv(x, buf[i]))
|
|
25
25
|
return i;
|
|
26
26
|
}
|
package/package.json
CHANGED
|
@@ -1,139 +1,144 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
2
|
+
"name": "@thi.ng/arrays",
|
|
3
|
+
"version": "2.1.2",
|
|
4
|
+
"description": "Array / Arraylike utilities",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"module": "./index.js",
|
|
7
|
+
"typings": "./index.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/thi-ng/umbrella.git"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/thi-ng/umbrella/tree/develop/packages/arrays#readme",
|
|
14
|
+
"funding": [
|
|
15
|
+
{
|
|
16
|
+
"type": "github",
|
|
17
|
+
"url": "https://github.com/sponsors/postspectacular"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "patreon",
|
|
21
|
+
"url": "https://patreon.com/thing_umbrella"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"author": "Karsten Schmidt <k+npm@thi.ng>",
|
|
25
|
+
"license": "Apache-2.0",
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "yarn clean && tsc --declaration",
|
|
28
|
+
"clean": "rimraf '*.js' '*.d.ts' '*.map' doc",
|
|
29
|
+
"doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts",
|
|
30
|
+
"doc:ae": "mkdir -p .ae/doc .ae/temp && api-extractor run --local --verbose",
|
|
31
|
+
"doc:readme": "yarn doc:stats && tools:readme",
|
|
32
|
+
"doc:stats": "tools:module-stats",
|
|
33
|
+
"pub": "yarn npm publish --access public",
|
|
34
|
+
"test": "testament test"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@thi.ng/api": "^8.3.2",
|
|
38
|
+
"@thi.ng/checks": "^3.1.2",
|
|
39
|
+
"@thi.ng/compare": "^2.1.2",
|
|
40
|
+
"@thi.ng/equiv": "^2.1.2",
|
|
41
|
+
"@thi.ng/errors": "^2.1.2",
|
|
42
|
+
"@thi.ng/random": "^3.2.2"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@microsoft/api-extractor": "^7.18.19",
|
|
46
|
+
"@thi.ng/testament": "^0.2.2",
|
|
47
|
+
"rimraf": "^3.0.2",
|
|
48
|
+
"tools": "^0.0.1",
|
|
49
|
+
"typedoc": "^0.22.9",
|
|
50
|
+
"typescript": "^4.5.2"
|
|
51
|
+
},
|
|
52
|
+
"keywords": [
|
|
53
|
+
"aos",
|
|
54
|
+
"array",
|
|
55
|
+
"binary",
|
|
56
|
+
"fuzzy",
|
|
57
|
+
"search",
|
|
58
|
+
"shuffle",
|
|
59
|
+
"swizzle",
|
|
60
|
+
"typescript"
|
|
61
|
+
],
|
|
62
|
+
"publishConfig": {
|
|
63
|
+
"access": "public"
|
|
64
|
+
},
|
|
65
|
+
"engines": {
|
|
66
|
+
"node": ">=12.7"
|
|
67
|
+
},
|
|
68
|
+
"files": [
|
|
69
|
+
"*.js",
|
|
70
|
+
"*.d.ts"
|
|
71
|
+
],
|
|
72
|
+
"exports": {
|
|
73
|
+
".": {
|
|
74
|
+
"import": "./index.js"
|
|
75
|
+
},
|
|
76
|
+
"./api": {
|
|
77
|
+
"import": "./api.js"
|
|
78
|
+
},
|
|
79
|
+
"./binary-search": {
|
|
80
|
+
"import": "./binary-search.js"
|
|
81
|
+
},
|
|
82
|
+
"./bisect": {
|
|
83
|
+
"import": "./bisect.js"
|
|
84
|
+
},
|
|
85
|
+
"./ends-with": {
|
|
86
|
+
"import": "./ends-with.js"
|
|
87
|
+
},
|
|
88
|
+
"./ensure-array": {
|
|
89
|
+
"import": "./ensure-array.js"
|
|
90
|
+
},
|
|
91
|
+
"./ensure-iterable": {
|
|
92
|
+
"import": "./ensure-iterable.js"
|
|
93
|
+
},
|
|
94
|
+
"./fill-range": {
|
|
95
|
+
"import": "./fill-range.js"
|
|
96
|
+
},
|
|
97
|
+
"./find": {
|
|
98
|
+
"import": "./find.js"
|
|
99
|
+
},
|
|
100
|
+
"./fuzzy-match": {
|
|
101
|
+
"import": "./fuzzy-match.js"
|
|
102
|
+
},
|
|
103
|
+
"./insert": {
|
|
104
|
+
"import": "./insert.js"
|
|
105
|
+
},
|
|
106
|
+
"./into": {
|
|
107
|
+
"import": "./into.js"
|
|
108
|
+
},
|
|
109
|
+
"./is-sorted": {
|
|
110
|
+
"import": "./is-sorted.js"
|
|
111
|
+
},
|
|
112
|
+
"./iterator": {
|
|
113
|
+
"import": "./iterator.js"
|
|
114
|
+
},
|
|
115
|
+
"./levenshtein": {
|
|
116
|
+
"import": "./levenshtein.js"
|
|
117
|
+
},
|
|
118
|
+
"./peek": {
|
|
119
|
+
"import": "./peek.js"
|
|
120
|
+
},
|
|
121
|
+
"./quicksort": {
|
|
122
|
+
"import": "./quicksort.js"
|
|
123
|
+
},
|
|
124
|
+
"./shuffle": {
|
|
125
|
+
"import": "./shuffle.js"
|
|
126
|
+
},
|
|
127
|
+
"./sort-cached": {
|
|
128
|
+
"import": "./sort-cached.js"
|
|
129
|
+
},
|
|
130
|
+
"./starts-with": {
|
|
131
|
+
"import": "./starts-with.js"
|
|
132
|
+
},
|
|
133
|
+
"./swap": {
|
|
134
|
+
"import": "./swap.js"
|
|
135
|
+
},
|
|
136
|
+
"./swizzle": {
|
|
137
|
+
"import": "./swizzle.js"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"thi.ng": {
|
|
141
|
+
"year": 2018
|
|
142
|
+
},
|
|
143
|
+
"gitHead": "e8a7c2a40191b391cef182c2978e5a6c85987a87\n"
|
|
144
|
+
}
|
package/shuffle.js
CHANGED
|
@@ -19,7 +19,7 @@ export const shuffleRange = (buf, start = 0, end = buf.length, rnd = SYSTEM) =>
|
|
|
19
19
|
let n = end - start;
|
|
20
20
|
const l = n;
|
|
21
21
|
if (l > 1) {
|
|
22
|
-
while (--
|
|
22
|
+
while (n-- > 0) {
|
|
23
23
|
const a = (start + rnd.float(l)) | 0;
|
|
24
24
|
const b = (start + rnd.float(l)) | 0;
|
|
25
25
|
const t = buf[a];
|
package/swap.js
CHANGED