@thi.ng/transducers 8.0.7 → 8.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 CHANGED
@@ -1,620 +1,911 @@
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
+ ## [8.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@8.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
21
+ - add rechunk() xform ([10d0e9f](https://github.com/thi-ng/umbrella/commit/10d0e9f))
22
+ - update readme
23
+
24
+ #### ♻️ Refactoring
25
+
26
+ - testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2))
27
+ this commit reverts (partly) changes made in:
28
+ ef346d7a8753590dc9094108a3d861a8dbd5dd2c
29
+ overall purpose is better testament ergonomics:
30
+ instead of having to pass NODE_OPTIONS with every invocation
31
+ having a binary to handle this for us.
32
+
33
+ ### [8.0.8](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@8.0.8) (2021-11-10)
34
+
35
+ #### ♻️ Refactoring
36
+
37
+ - update all countdown loops ([a5f374b](https://github.com/thi-ng/umbrella/commit/a5f374b))
38
+
39
+ ### [8.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@8.0.1) (2021-10-13)
40
+
41
+ #### ♻️ Refactoring
42
+
43
+ - update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
44
+ - update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
45
+ - add .js suffix for all relative imports
46
+
47
+ # [8.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@8.0.0) (2021-10-12)
48
+
49
+ #### 🛑 Breaking changes
50
+
51
+ - restructure package ([4d643f5](https://github.com/thi-ng/umbrella/commit/4d643f5))
52
+ - BREAKING CHANGE: restructure/flatten pkg, remove sub folders
53
+ - migrate all /func, /iter, /rfn, /xform files to main /src folder
54
+ - major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea))
55
+ - BREAKING CHANGE: discontinue CommonJS & UMD versions
56
+ - only ESM modules will be published from now on
57
+ - CJS obsolete due to ESM support in recent versions of node:
58
+ - i.e. launch NodeJS via:
59
+ - `node --experimental-specifier-resolution=node --experimental-repl-await`
60
+ - in the node REPL use `await import(...)` instead of `require()`
61
+ - UMD obsolete due to widespread browser support for ESM
62
+ Also:
63
+ - normalize/restructure/reorg all package.json files
64
+ - cleanup all build scripts, remove obsolete
65
+ - switch from mocha to [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
5
66
 
6
- ## [8.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@8.0.6...@thi.ng/transducers@8.0.7) (2021-11-03)
67
+ #### ♻️ Refactoring
7
68
 
8
- **Note:** Version bump only for package @thi.ng/transducers
69
+ - update deps & imports in various pkgs ([e1cf29e](https://github.com/thi-ng/umbrella/commit/e1cf29e))
70
+ - largely related to recent updates/restructuring of these packages:
71
+ - api
72
+ - defmulti
73
+ - errors
74
+ - logger
75
+ - update imports ([138571a](https://github.com/thi-ng/umbrella/commit/138571a))
76
+ - update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
77
+ - update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
9
78
 
79
+ ### [7.9.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.9.2) (2021-09-03)
10
80
 
81
+ #### 🩹 Bug fixes
11
82
 
83
+ - fix [#310](https://github.com/thi-ng/umbrella/issues/310), update flatten/flattenWith ([bfbd726](https://github.com/thi-ng/umbrella/commit/bfbd726))
84
+ - fix `flatten()`/`flattenWith()` return types
85
+ - update generics to allow specifying explicit result type, but
86
+ use new `DeepArrayValue<A>` mapped type as default
87
+ - update `flattenWith()` predicate arg type to `any` since current
88
+ restriction on top-level input type was (potentially) wrong for
89
+ deeper levels. Also lift restriction and update pred's return type
90
+ to `MaybeIterable<any>` (for same reason).
12
91
 
92
+ ### [7.9.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.9.1) (2021-08-19)
13
93
 
14
- # [8.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.9.2...@thi.ng/transducers@8.0.0) (2021-10-12)
94
+ #### 🩹 Bug fixes
15
95
 
96
+ - update normFrequenciesAuto() ([5b5200b](https://github.com/thi-ng/umbrella/commit/5b5200b))
97
+ - actually use `key` fn arg (if given)
16
98
 
17
- ### Build System
99
+ ## [7.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.9.0) (2021-08-19)
18
100
 
19
- * major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
101
+ #### 🚀 Features
20
102
 
103
+ - add normalized frequencies() reducers ([d09db8d](https://github.com/thi-ng/umbrella/commit/d09db8d))
104
+ - add normCount()
105
+ - add normFrequencies()
106
+ - add normFrequenciesAuto()
107
+ - update readme
21
108
 
22
- ### Code Refactoring
109
+ ## [7.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.8.0) (2021-08-04)
23
110
 
24
- * **transducers:** restructure package ([4d643f5](https://github.com/thi-ng/umbrella/commit/4d643f57a276ddd73e6214f9ea78d3302076d466))
111
+ #### 🚀 Features
25
112
 
113
+ - add minMax() reducer ([5f8a722](https://github.com/thi-ng/umbrella/commit/5f8a722))
114
+ - update repeatedly(), iterate() ([b7d9ba4](https://github.com/thi-ng/umbrella/commit/b7d9ba4))
115
+ - add iteration counter arg for repeatedly()
116
+ - minor refactor iterate()
26
117
 
27
- ### BREAKING CHANGES
118
+ ## [7.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.7.0) (2021-04-07)
28
119
 
29
- * **transducers:** restructure/flatten pkg, remove sub folders
120
+ #### 🚀 Features
30
121
 
31
- - migrate all /func, /iter, /rfn, /xform files to main /src folder
32
- * discontinue CommonJS & UMD versions
122
+ - add partitionWhen() xform ([d2dd4d9](https://github.com/thi-ng/umbrella/commit/d2dd4d9))
33
123
 
34
- - only ESM modules will be published from now on
35
- - CJS obsolete due to ESM support in recent versions of node:
36
- - i.e. launch NodeJS via:
37
- - `node --experimental-specifier-resolution=node --experimental-repl-await`
38
- - in the node REPL use `await import(...)` instead of `require()`
39
- - UMD obsolete due to widespread browser support for ESM
124
+ ### [7.6.10](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.6.10) (2021-04-03)
40
125
 
41
- Also:
42
- - normalize/restructure/reorg all package.json files
43
- - cleanup all build scripts, remove obsolete
44
- - switch from mocha to @thi.ng/testament for all tests
126
+ #### ♻️ Refactoring
45
127
 
128
+ - minor updates ([c582a1a](https://github.com/thi-ng/umbrella/commit/c582a1a))
46
129
 
130
+ ### [7.6.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.6.2) (2021-03-03)
47
131
 
132
+ #### 🩹 Bug fixes
48
133
 
134
+ - add missing type anno (TS4.2) ([7ced9be](https://github.com/thi-ng/umbrella/commit/7ced9be))
49
135
 
136
+ ## [7.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.6.0) (2021-02-20)
50
137
 
51
- ## [7.9.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.9.1...@thi.ng/transducers@7.9.2) (2021-09-03)
138
+ #### 🚀 Features
52
139
 
53
- ### Bug Fixes
140
+ - add TweenOpts.easing, update tween() ([f3a50f4](https://github.com/thi-ng/umbrella/commit/f3a50f4))
54
141
 
55
- - **transducers:** fix [#310](https://github.com/thi-ng/umbrella/issues/310), update flatten/flattenWith ([bfbd726](https://github.com/thi-ng/umbrella/commit/bfbd7269fe506c0f40c109f1701a1ea50dc944e9))
142
+ #### ♻️ Refactoring
56
143
 
57
- ## [7.9.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.9.0...@thi.ng/transducers@7.9.1) (2021-08-19)
144
+ - use clamp0() ([47d5e54](https://github.com/thi-ng/umbrella/commit/47d5e54))
58
145
 
59
- ### Bug Fixes
146
+ ### [7.5.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.5.2) (2020-12-07)
60
147
 
61
- - **transducers:** update normFrequenciesAuto() ([5b5200b](https://github.com/thi-ng/umbrella/commit/5b5200b6d4e61df6c2e6458b99b8b10ea9f3bb65))
148
+ #### ♻️ Refactoring
62
149
 
63
- # [7.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.8.4...@thi.ng/transducers@7.9.0) (2021-08-19)
150
+ - update type-only imports ([6407f7d](https://github.com/thi-ng/umbrella/commit/6407f7d))
151
+ - update type-only imports in various tests/pkgs ([3fd9c24](https://github.com/thi-ng/umbrella/commit/3fd9c24))
64
152
 
65
- ### Features
153
+ ## [7.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.5.0) (2020-11-24)
66
154
 
67
- - **transducers:** add normalized frequencies() reducers ([d09db8d](https://github.com/thi-ng/umbrella/commit/d09db8d47be81e78dea1f4e16917249924b65e35))
155
+ #### 🚀 Features
68
156
 
69
- # [7.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.7.5...@thi.ng/transducers@7.8.0) (2021-08-04)
157
+ - add minMag/maxMag() reducers ([f7496b3](https://github.com/thi-ng/umbrella/commit/f7496b3))
158
+ - add reduceRight/transduceRight() ([b71ff9c](https://github.com/thi-ng/umbrella/commit/b71ff9c))
159
+ - update readme
70
160
 
71
- ### Features
161
+ #### ♻️ Refactoring
72
162
 
73
- - **transducers:** add minMax() reducer ([5f8a722](https://github.com/thi-ng/umbrella/commit/5f8a72215010645cce039cedab3313fae722e363))
74
- - **transducers:** update repeatedly(), iterate() ([b7d9ba4](https://github.com/thi-ng/umbrella/commit/b7d9ba42b812c3b39909e86be5eebfa4e235f535))
163
+ - dedupe transduce/transduceRight() internals ([2246ef4](https://github.com/thi-ng/umbrella/commit/2246ef4))
164
+ - update destructuring ([d944b54](https://github.com/thi-ng/umbrella/commit/d944b54))
75
165
 
76
- # [7.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.10...@thi.ng/transducers@7.7.0) (2021-04-07)
166
+ ## [7.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.4.0) (2020-09-22)
77
167
 
78
- ### Features
168
+ #### 🚀 Features
79
169
 
80
- - **transducers:** add partitionWhen() xform ([d2dd4d9](https://github.com/thi-ng/umbrella/commit/d2dd4d92895622bfa38d8458472d86f9e89e8952))
170
+ - add mapcatIndexed() xform ([4f3d6e0](https://github.com/thi-ng/umbrella/commit/4f3d6e0))
81
171
 
82
- ## [7.6.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.1...@thi.ng/transducers@7.6.2) (2021-03-03)
172
+ ### [7.3.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.3.1) (2020-09-13)
83
173
 
84
- ### Bug Fixes
174
+ #### ♻️ Refactoring
85
175
 
86
- - **transducers:** add missing type anno (TS4.2) ([7ced9be](https://github.com/thi-ng/umbrella/commit/7ced9be6b0dc41567c4b65517e8caba1d0bfffe2))
176
+ - update imports ([e166cda](https://github.com/thi-ng/umbrella/commit/e166cda))
87
177
 
88
- # [7.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.5.8...@thi.ng/transducers@7.6.0) (2021-02-20)
178
+ ## [7.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.3.0) (2020-08-28)
89
179
 
90
- ### Features
180
+ #### 🚀 Features
91
181
 
92
- - **transducers:** add TweenOpts.easing, update tween() ([f3a50f4](https://github.com/thi-ng/umbrella/commit/f3a50f46c800c23e8aa3e42ebd90e6b028c6a0db))
182
+ - fix normRange2d, add normRange3d ([db75605](https://github.com/thi-ng/umbrella/commit/db75605))
183
+ - add normRange2 ([1125930](https://github.com/thi-ng/umbrella/commit/1125930))
93
184
 
94
- # [7.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.4.0...@thi.ng/transducers@7.5.0) (2020-11-24)
185
+ #### 🩹 Bug fixes
95
186
 
96
- ### Features
187
+ - type ([dedce3f](https://github.com/thi-ng/umbrella/commit/dedce3f))
97
188
 
98
- - **transducers:** add minMag/maxMag() reducers ([f7496b3](https://github.com/thi-ng/umbrella/commit/f7496b3989c0209f51c561cdba9b50d19f976357))
99
- - **transducers:** add reduceRight/transduceRight() ([b71ff9c](https://github.com/thi-ng/umbrella/commit/b71ff9c63ea158d44187b1ab5b25d1833eebde3c))
189
+ #### ♻️ Refactoring
100
190
 
101
- # [7.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.3.1...@thi.ng/transducers@7.4.0) (2020-09-22)
191
+ - update/fix normRange2d/3d() ([d40c4a7](https://github.com/thi-ng/umbrella/commit/d40c4a7))
102
192
 
103
- ### Features
193
+ ## [7.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.2.0) (2020-07-28)
104
194
 
105
- - **transducers:** add mapcatIndexed() xform ([4f3d6e0](https://github.com/thi-ng/umbrella/commit/4f3d6e02a0ff3fe7307cd03404277c03123f83e9))
195
+ #### 🚀 Features
106
196
 
107
- # [7.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.2.2...@thi.ng/transducers@7.3.0) (2020-08-28)
197
+ - add autoObj() reducer ([26ad12a](https://github.com/thi-ng/umbrella/commit/26ad12a))
108
198
 
109
- ### Bug Fixes
199
+ ## [7.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.1.0) (2020-06-14)
110
200
 
111
- - **transducers:** type ([dedce3f](https://github.com/thi-ng/umbrella/commit/dedce3fe874960769c4f6e178fd591bfd6eef263))
201
+ #### 🚀 Features
112
202
 
113
- ### Features
203
+ - add keyPermutations, tests, update readme ([5110d50](https://github.com/thi-ng/umbrella/commit/5110d50))
114
204
 
115
- - **tranducers:** fix normRange2d, add normRange3d ([db75605](https://github.com/thi-ng/umbrella/commit/db75605a65a7ca47fae146935b78d20ec3569d11))
116
- - **transducers:** add normRange2 ([1125930](https://github.com/thi-ng/umbrella/commit/1125930e3ea32d80793876daa98729e7ee51fe76))
205
+ # [7.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.0.0) (2020-06-01)
117
206
 
118
- # [7.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.1.6...@thi.ng/transducers@7.2.0) (2020-07-28)
207
+ #### 🛑 Breaking changes
119
208
 
120
- ### Features
209
+ - update readme ([47b6cef](https://github.com/thi-ng/umbrella/commit/47b6cef))
210
+ - BREAKING CHANGE: `flatten` string handling now *always* atomic
121
211
 
122
- - **transducers:** add autoObj() reducer ([26ad12a](https://github.com/thi-ng/umbrella/commit/26ad12a1ae73c563a944baf1db643930bba3fdb0))
212
+ #### 🩹 Bug fixes
123
213
 
124
- # [7.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.0.0...@thi.ng/transducers@7.1.0) (2020-06-14)
214
+ - [#186](https://github.com/thi-ng/umbrella/issues/186), Fix crash when using empty string as source for several transducers. ([ef7a798](https://github.com/thi-ng/umbrella/commit/ef7a798))
125
215
 
126
- ### Features
216
+ #### ♻️ Refactoring
127
217
 
128
- - **transducers:** add keyPermutations, tests, update readme ([5110d50](https://github.com/thi-ng/umbrella/commit/5110d50ba0c499c48c288820b9fb73ee42f9142f))
218
+ - update flatten & flattenWith ([35c2aaf](https://github.com/thi-ng/umbrella/commit/35c2aaf))
129
219
 
130
- # [7.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.7.0...@thi.ng/transducers@7.0.0) (2020-06-01)
220
+ ## [6.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.7.0) (2020-06-01)
131
221
 
132
- ### Bug Fixes
222
+ #### 🚀 Features
133
223
 
134
- - **transducers:** [#186](https://github.com/thi-ng/umbrella/issues/186), Fix crash when using empty string as source for several transducers. ([ef7a798](https://github.com/thi-ng/umbrella/commit/ef7a798d35c172d50b2f4453f4522260d0fe81e4))
224
+ - add IDeref support slidingWindow() ([13f4184](https://github.com/thi-ng/umbrella/commit/13f4184))
225
+ (cherry picked from commit [c75175689544f172acde856b4261ca9dc128d1dd](https://github.com/thi-ng/umbrella/commit/c75175689544f172acde856b4261ca9dc128d1dd))
226
+ - add IDeref support slidingWindow() ([c751756](https://github.com/thi-ng/umbrella/commit/c751756))
135
227
 
136
- ### Documentation
228
+ ## [6.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.6.0) (2020-05-29)
137
229
 
138
- - **transducers:** update readme ([47b6cef](https://github.com/thi-ng/umbrella/commit/47b6cefe2344d0e33a9d597b4bb758f2a2f7512e))
230
+ #### 🚀 Features
139
231
 
140
- ### BREAKING CHANGES
232
+ - add rangeNd(), add/update tests ([9239d6f](https://github.com/thi-ng/umbrella/commit/9239d6f))
141
233
 
142
- - **transducers:** `flatten` string handling now *always* atomic
234
+ #### ♻️ Refactoring
143
235
 
144
- # [6.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.6.0...@thi.ng/transducers@6.7.0) (2020-06-01)
236
+ - update rangeNd() arg types ([d5aab14](https://github.com/thi-ng/umbrella/commit/d5aab14))
145
237
 
146
- ### Features
238
+ ## [6.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.5.0) (2020-05-14)
147
239
 
148
- - **transducers:** add IDeref support slidingWindow() ([13f4184](https://github.com/thi-ng/umbrella/commit/13f4184f755fadb0a585b7e443c1218a7e2df5db))
240
+ #### 🚀 Features
149
241
 
150
- # [6.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.5.0...@thi.ng/transducers@6.6.0) (2020-05-29)
242
+ - [#221](https://github.com/thi-ng/umbrella/issues/221), add partitionSync() key add/removal ops ([2ab4bf5](https://github.com/thi-ng/umbrella/commit/2ab4bf5))
243
+ - add PartitionSync type
244
+ - attach ops to dynamically manipulate & query input set
245
+ - make input removal cleanup optional (enabled by default)
246
+ - add/update tests
151
247
 
152
- ### Features
248
+ ## [6.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.4.0) (2020-03-01)
153
249
 
154
- - **transducers:** add rangeNd(), add/update tests ([9239d6f](https://github.com/thi-ng/umbrella/commit/9239d6fbf4de66300ed924b9de9a0fa67df0235c))
250
+ #### 🚀 Features
155
251
 
156
- # [6.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.9...@thi.ng/transducers@6.5.0) (2020-05-14)
252
+ - update mapKeys() key fns to accept 2nd arg ([749d2cd](https://github.com/thi-ng/umbrella/commit/749d2cd))
253
+ - pass original input value as 2nd arg to each key transform fn
254
+ - this allows creating new keys based on other values in the object
255
+ - add partitionTime() transducer ([efafd0b](https://github.com/thi-ng/umbrella/commit/efafd0b))
157
256
 
158
- ### Features
257
+ ## [6.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.3.0) (2020-02-25)
159
258
 
160
- - **transducers:** [#221](https://github.com/thi-ng/umbrella/issues/221), add partitionSync() key add/removal ops ([2ab4bf5](https://github.com/thi-ng/umbrella/commit/2ab4bf5858b1c0162f8adb8780507a05cf16a831))
259
+ #### 🚀 Features
161
260
 
162
- # [6.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.3.2...@thi.ng/transducers@6.4.0) (2020-03-01)
261
+ - add peek() xform, update readme ([26aa228](https://github.com/thi-ng/umbrella/commit/26aa228))
163
262
 
164
- ### Features
263
+ #### ♻️ Refactoring
165
264
 
166
- - **transducers:** add partitionTime() transducer ([efafd0b](https://github.com/thi-ng/umbrella/commit/efafd0ba3f5cfc52a42bb39819caadf35d6b2f42))
167
- - **transducers:** update mapKeys() key fns to accept 2nd arg ([749d2cd](https://github.com/thi-ng/umbrella/commit/749d2cd2fef29f6991bde75a775d6715600c3b34))
265
+ - update imports ([f081687](https://github.com/thi-ng/umbrella/commit/f081687))
168
266
 
169
- # [6.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.2.1...@thi.ng/transducers@6.3.0) (2020-02-25)
267
+ ## [6.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.2.0) (2020-01-24)
170
268
 
171
- ### Features
269
+ #### 🚀 Features
172
270
 
173
- - **transducers:** add peek() xform, update readme ([26aa228](https://github.com/thi-ng/umbrella/commit/26aa2284309dcf07cca3714dec23a799efd44f30))
271
+ - add IXform interface & TxLike type alias, update related functions ([49c62b7](https://github.com/thi-ng/umbrella/commit/49c62b7))
272
+ - update all fns expecting Transducer args
273
+ - add internal ensureTransducer() helper
274
+ - update curve(), line(), iterate() ([3581a9d](https://github.com/thi-ng/umbrella/commit/3581a9d))
275
+ - curve(): use new/improved logic from [@thi.ng/dsp](https://github.com/thi-ng/umbrella/tree/main/packages/dsp)
276
+ - iterate(): add opt step count
277
+ - add opt limit for cycle() ([186daff](https://github.com/thi-ng/umbrella/commit/186daff))
278
+ - add line(), curve() ([31bd5b9](https://github.com/thi-ng/umbrella/commit/31bd5b9))
279
+ - add dup() & palindrome(), update readme ([546bf9f](https://github.com/thi-ng/umbrella/commit/546bf9f))
280
+ - add sortedKeys() iterator ([fa9343c](https://github.com/thi-ng/umbrella/commit/fa9343c))
281
+ - add pushSort() reducer ([444d2ee](https://github.com/thi-ng/umbrella/commit/444d2ee))
174
282
 
175
- # [6.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.1.0...@thi.ng/transducers@6.2.0) (2020-01-24)
283
+ #### 🩹 Bug fixes
176
284
 
177
- ### Bug Fixes
285
+ - update keep() xform to accept nullable ([1bc561b](https://github.com/thi-ng/umbrella/commit/1bc561b))
286
+ - use child reducer completion step in groupByMap/Obj() ([ff44fcb](https://github.com/thi-ng/umbrella/commit/ff44fcb))
178
287
 
179
- - **transducers:** update keep() xform to accept nullable ([1bc561b](https://github.com/thi-ng/umbrella/commit/1bc561bde02f116a5b1e2aff7a3d432d737fc4ae))
180
- - **transducers:** use child reducer completion step in groupByMap/Obj() ([ff44fcb](https://github.com/thi-ng/umbrella/commit/ff44fcbc877d75a5d7458459656f3b86ab6a0399))
288
+ #### Performance improvements
181
289
 
182
- ### Features
290
+ - update string version of palindrome() ([315cbf8](https://github.com/thi-ng/umbrella/commit/315cbf8))
291
+ - avoid char-wise iteration of original input
183
292
 
184
- - **transducers:** add dup() & palindrome(), update readme ([546bf9f](https://github.com/thi-ng/umbrella/commit/546bf9ffaa25c926f3e8af365049723bc9fe5877))
185
- - **transducers:** add IXform interface & TxLike type alias, update related functions ([49c62b7](https://github.com/thi-ng/umbrella/commit/49c62b7932eb943a8db472c3e1de0f18a35c43c6))
186
- - **transducers:** add line(), curve() ([31bd5b9](https://github.com/thi-ng/umbrella/commit/31bd5b9758a8da828cb9cc79820333279f810345))
187
- - **transducers:** add opt limit for cycle() ([186daff](https://github.com/thi-ng/umbrella/commit/186daff00edeb9b3a7e1475e3f903f3b1f0b75c2))
188
- - **transducers:** add pushSort() reducer ([444d2ee](https://github.com/thi-ng/umbrella/commit/444d2ee6b5111e4855b8cb3f2417738ccd934861))
189
- - **transducers:** add sortedKeys() iterator ([fa9343c](https://github.com/thi-ng/umbrella/commit/fa9343c8028c3f02e0322362db97a126f5c8a564))
190
- - **transducers:** update curve(), line(), iterate() ([3581a9d](https://github.com/thi-ng/umbrella/commit/3581a9d7c9eba9e3fa6cf8ec6a0a63e662157e83))
293
+ #### ♻️ Refactoring
191
294
 
192
- ### Performance Improvements
295
+ - update ConvolutionOpts ([0748d97](https://github.com/thi-ng/umbrella/commit/0748d97))
193
296
 
194
- - **transducers:** update string version of palindrome() ([315cbf8](https://github.com/thi-ng/umbrella/commit/315cbf80b577966e19f6a135d2c4256205c4a251))
297
+ ## [6.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.1.0) (2019-11-30)
195
298
 
196
- # [6.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.0.0...@thi.ng/transducers@6.1.0) (2019-11-30)
299
+ #### 🩹 Bug fixes
197
300
 
198
- ### Bug Fixes
301
+ - add type hints ([651e281](https://github.com/thi-ng/umbrella/commit/651e281))
199
302
 
200
- - **transducers:** add type hints ([651e281](https://github.com/thi-ng/umbrella/commit/651e281df6ca7f713e78d17c656bb59bea52f877))
303
+ # [6.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.0.0) (2019-11-09)
201
304
 
202
- ### Features
305
+ #### 🛑 Breaking changes
203
306
 
204
- - **transducers:** add back pressure support for partitionSync() ([6e14952](https://github.com/thi-ng/umbrella/commit/6e1495229c3e9527c168ffe573533124088c3006))
307
+ - update tween() args ([5523582](https://github.com/thi-ng/umbrella/commit/5523582))
308
+ - add TweenOpts
309
+ - add/update docstrings
310
+ - BREAKING CHANGE: replace tween() args w/ `TweenOpts` config object
311
+ - rename old `interpolate` => `tween` ([918721d](https://github.com/thi-ng/umbrella/commit/918721d))
312
+ - BREAKING CHANGE: rename `interpolate` iterator => `tween`
313
+ - simplify args for extendSides, padSides, wrapSides ([a36651a](https://github.com/thi-ng/umbrella/commit/a36651a))
314
+ - rename wrap() => wrapSides()
315
+ - remove obsolete & deprecated wrapLeft/Right/Both
316
+ - BREAKING CHANGE: Rename wrap() => wrapSides(), update signature to be
317
+ aligned w/ related iterators
205
318
 
206
- # [6.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@5.4.5...@thi.ng/transducers@6.0.0) (2019-11-09)
319
+ #### 🚀 Features
207
320
 
208
- ### Code Refactoring
321
+ - add new transducers: interpolate, interpolateHermite/Linear ([c3fa9ab](https://github.com/thi-ng/umbrella/commit/c3fa9ab))
322
+ - add new iterators: extendSides/padSides/symmetric() ([47001fc](https://github.com/thi-ng/umbrella/commit/47001fc))
209
323
 
210
- - **transducers:** rename old `interpolate` => `tween` ([918721d](https://github.com/thi-ng/umbrella/commit/918721dada9bab8045e397f13a2f77290eea2c88))
211
- - **transducers:** simplify args for extendSides, padSides, wrapSides ([a36651a](https://github.com/thi-ng/umbrella/commit/a36651a3aadb951a3d8bd117ddfa0dddf48d36ac))
212
- - **transducers:** update tween() args ([5523582](https://github.com/thi-ng/umbrella/commit/552358207cdf1dfdcb2ca78deac326ecad895fa9))
324
+ #### ♻️ Refactoring
213
325
 
214
- ### Features
326
+ - fix [#166](https://github.com/thi-ng/umbrella/issues/166), update wrapSides() bounds check ([963c73a](https://github.com/thi-ng/umbrella/commit/963c73a))
327
+ - add type hints (TS 3.6.4) ([a1582c0](https://github.com/thi-ng/umbrella/commit/a1582c0))
215
328
 
216
- - **transducers:** add new iterators: extendSides/padSides/symmetric() ([47001fc](https://github.com/thi-ng/umbrella/commit/47001fc9c16f53af427e872b04929113d69463aa))
217
- - **transducers:** add new transducers: interpolate, interpolateHermite/Linear ([c3fa9ab](https://github.com/thi-ng/umbrella/commit/c3fa9ab90797af1d89e05f1c3821a87f9aa8a543))
329
+ ### [5.4.5](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.4.5) (2019-09-21)
218
330
 
219
- ### BREAKING CHANGES
331
+ #### 🚀 Features
220
332
 
221
- - **transducers:** replace tween() args w/ `TweenOpts` config object
222
- - **transducers:** rename `interpolate` iterator => `tween`
223
- - **transducers:** Rename wrap() => wrapSides(), update signature to be aligned w/ related iterators
333
+ - add back pressure support for partitionSync() ([6e14952](https://github.com/thi-ng/umbrella/commit/6e14952))
224
334
 
225
- ## [5.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@5.4.4...@thi.ng/transducers@5.4.5) (2019-09-21)
335
+ #### 🩹 Bug fixes
226
336
 
227
- ### Bug Fixes
337
+ - fix mean() for reduce w/ init value ([d993bf2](https://github.com/thi-ng/umbrella/commit/d993bf2))
228
338
 
229
- - **transducers:** fix mean() for reduce w/ init value ([d993bf2](https://github.com/thi-ng/umbrella/commit/d993bf2))
339
+ ### [5.4.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.4.4) (2019-08-21)
230
340
 
231
- # [5.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@5.3.7...@thi.ng/transducers@5.4.0) (2019-07-07)
341
+ #### ♻️ Refactoring
232
342
 
233
- ### Bug Fixes
343
+ - extract internal helpers, update rfns & xforms ([7772f9b](https://github.com/thi-ng/umbrella/commit/7772f9b))
344
+ Impacted reducers:
345
+ - add/mul/sub
346
+ - groupByMap/Obj
347
+ Xforms:
348
+ - movingMedian
349
+ - partitionSort / streamSort
350
+ - takeLast
351
+ - update/split reduce() ([820e7c7](https://github.com/thi-ng/umbrella/commit/820e7c7))
352
+ - update kernelLookup destructuring ([acaa38e](https://github.com/thi-ng/umbrella/commit/acaa38e))
353
+ - extract common logic for add/mul/sub reducers ([7caa71a](https://github.com/thi-ng/umbrella/commit/7caa71a))
234
354
 
235
- - **transducers:** fix cat/mapcat arg types ([0d9b7cb](https://github.com/thi-ng/umbrella/commit/0d9b7cb))
355
+ ## [5.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.4.0) (2019-07-07)
236
356
 
237
- ### Features
357
+ #### 🚀 Features
238
358
 
239
- - **transducers:** enable TS strict compiler flags (refactor) ([2f8ec89](https://github.com/thi-ng/umbrella/commit/2f8ec89))
359
+ - enable TS strict compiler flags (refactor) ([2f8ec89](https://github.com/thi-ng/umbrella/commit/2f8ec89))
240
360
 
241
- ## [5.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@5.3.2...@thi.ng/transducers@5.3.3) (2019-04-03)
361
+ #### 🩹 Bug fixes
242
362
 
243
- ### Bug Fixes
363
+ - fix cat/mapcat arg types ([0d9b7cb](https://github.com/thi-ng/umbrella/commit/0d9b7cb))
244
364
 
245
- - **transducers:** fix [#82](https://github.com/thi-ng/umbrella/issues/82), update partitionSync required key checks, add tests ([8b2f3fe](https://github.com/thi-ng/umbrella/commit/8b2f3fe))
365
+ #### ♻️ Refactoring
246
366
 
247
- # [5.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@5.2.2...@thi.ng/transducers@5.3.0) (2019-03-21)
367
+ - address TS strictNullChecks flag ([c681aae](https://github.com/thi-ng/umbrella/commit/c681aae))
248
368
 
249
- ### Bug Fixes
369
+ ### [5.3.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.3.3) (2019-04-03)
250
370
 
251
- - **transducers:** update mean() completion step to avoid div by zero ([f644ecd](https://github.com/thi-ng/umbrella/commit/f644ecd))
371
+ #### 🩹 Bug fixes
252
372
 
253
- ### Features
373
+ - fix [#82](https://github.com/thi-ng/umbrella/issues/82), update partitionSync required key checks, add tests ([8b2f3fe](https://github.com/thi-ng/umbrella/commit/8b2f3fe))
254
374
 
255
- - **transducers:** add toggle() xform ([b5c744e](https://github.com/thi-ng/umbrella/commit/b5c744e))
375
+ ## [5.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.3.0) (2019-03-21)
256
376
 
257
- # [5.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@5.1.2...@thi.ng/transducers@5.2.0) (2019-03-10)
377
+ #### 🚀 Features
258
378
 
259
- ### Features
379
+ - add toggle() xform ([b5c744e](https://github.com/thi-ng/umbrella/commit/b5c744e))
260
380
 
261
- - **transducers:** add / update convolution fns ([31e594b](https://github.com/thi-ng/umbrella/commit/31e594b))
381
+ #### 🩹 Bug fixes
262
382
 
263
- ## [5.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@5.1.1...@thi.ng/transducers@5.1.2) (2019-03-03)
383
+ - update mean() completion step to avoid div by zero ([f644ecd](https://github.com/thi-ng/umbrella/commit/f644ecd))
264
384
 
265
- ### Bug Fixes
385
+ ## [5.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.2.0) (2019-03-10)
266
386
 
267
- - **transducers:** update dedupe() w/ predicate arg ([c414423](https://github.com/thi-ng/umbrella/commit/c414423))
387
+ #### 🚀 Features
268
388
 
269
- # [5.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@5.0.0...@thi.ng/transducers@5.1.0) (2019-02-26)
389
+ - add / update convolution fns ([31e594b](https://github.com/thi-ng/umbrella/commit/31e594b))
390
+ - add buildKernel1d, convolve1d
270
391
 
271
- ### Bug Fixes
392
+ #### ♻️ Refactoring
272
393
 
273
- - **transducers:** update converge() & update readme ([9aca912](https://github.com/thi-ng/umbrella/commit/9aca912))
394
+ - re-use type aliases from [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api) ([0d2fdff](https://github.com/thi-ng/umbrella/commit/0d2fdff))
274
395
 
275
- ### Features
396
+ ### [5.1.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.1.2) (2019-03-03)
276
397
 
277
- - **transducers:** add converge() xform, add iter arg to iterate() ([8393a95](https://github.com/thi-ng/umbrella/commit/8393a95))
398
+ #### 🩹 Bug fixes
278
399
 
279
- # [5.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@4.0.1...@thi.ng/transducers@5.0.0) (2019-02-15)
400
+ - update dedupe() w/ predicate arg ([c414423](https://github.com/thi-ng/umbrella/commit/c414423))
401
+ - if pred is given, do not call pred for 1st value (always passes)
280
402
 
281
- ### Code Refactoring
403
+ ## [5.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.1.0) (2019-02-26)
282
404
 
283
- - **transducers:** remove obsolete fns, update to use [@thi](https://github.com/thi).ng/arrays ([83cb816](https://github.com/thi-ng/umbrella/commit/83cb816))
284
- - **transducers:** remove obsolete randomID() & weightedRandom() ([4b0eec6](https://github.com/thi-ng/umbrella/commit/4b0eec6))
285
- - **transducers:** restructure, migrate / remove various functions ([05bf213](https://github.com/thi-ng/umbrella/commit/05bf213))
405
+ #### 🚀 Features
286
406
 
287
- ### BREAKING CHANGES
407
+ - add converge() xform, add iter arg to iterate() ([8393a95](https://github.com/thi-ng/umbrella/commit/8393a95))
288
408
 
289
- - **transducers:** migrate / remove various functions to other packages
290
- - constantly(), delay(), identity() => @thi.ng/compose
291
- - randomID(), weightedRandom() => @thi.ng/random
292
- - remove re-exports:
293
- - even(), odd() (from @thi.ng/checks)
294
- - juxt() (from @thi.ng/compose)
295
- - remove obsolete hex() fn (use @thi.ng/strings fns instead)
296
- - **transducers:** migrate randomID() & weightedRandom() to @thi.ng/random
297
- - update choices() iterator
298
- - **transducers:** migrate various support fns to @thi.ng/arrays
299
- - remove/migrate functions:
300
- - binarySearch()
301
- - ensureArray() / ensureIterable()
302
- - fuzzyMatch()
303
- - peek()
304
- - shuffleN()
305
- - swizzler()
306
- - add support for IRandom in:
307
- - randomID()
308
- - choices()
309
- - weightedRandom()
310
- - sample()
311
- - update deps / readme
409
+ #### 🩹 Bug fixes
312
410
 
313
- # [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@3.0.2...@thi.ng/transducers@4.0.0) (2019-02-05)
411
+ - update converge() & update readme ([9aca912](https://github.com/thi-ng/umbrella/commit/9aca912))
314
412
 
315
- ### Bug Fixes
413
+ # [5.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.0.0) (2019-02-15)
316
414
 
317
- - **transducers:** ensure all vals in hexDump iterator version ([ae83bb2](https://github.com/thi-ng/umbrella/commit/ae83bb2))
415
+ #### 🛑 Breaking changes
318
416
 
319
- ### Code Refactoring
417
+ - restructure, migrate / remove various functions ([05bf213](https://github.com/thi-ng/umbrella/commit/05bf213))
418
+ - BREAKING CHANGE: migrate / remove various functions to other packages
419
+ - constantly(), delay(), identity() => [@thi.ng/compose](https://github.com/thi-ng/umbrella/tree/main/packages/compose)
420
+ - randomID(), weightedRandom() => [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/main/packages/random)
421
+ - remove re-exports:
422
+ - even(), odd() (from [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/main/packages/checks))
423
+ - juxt() (from [@thi.ng/compose](https://github.com/thi-ng/umbrella/tree/main/packages/compose))
424
+ - remove obsolete hex() fn (use [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/main/packages/strings) fns instead)
425
+ - remove obsolete randomID() & weightedRandom() ([4b0eec6](https://github.com/thi-ng/umbrella/commit/4b0eec6))
426
+ - BREAKING CHANGE: migrate randomID() & weightedRandom() to [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/main/packages/random)
427
+ - update choices() iterator
428
+ - remove obsolete fns, update to use [@thi.ng/arrays](https://github.com/thi-ng/umbrella/tree/main/packages/arrays) ([83cb816](https://github.com/thi-ng/umbrella/commit/83cb816))
429
+ - BREAKING CHANGE: migrate various support fns to [@thi.ng/arrays](https://github.com/thi-ng/umbrella/tree/main/packages/arrays)
430
+ - remove/migrate functions:
431
+ - binarySearch()
432
+ - ensureArray() / ensureIterable()
433
+ - fuzzyMatch()
434
+ - peek()
435
+ - shuffleN()
436
+ - swizzler()
437
+ - add support for IRandom in:
438
+ - randomID()
439
+ - choices()
440
+ - weightedRandom()
441
+ - sample()
442
+ - update deps / readme
320
443
 
321
- - **transducers:** migrate binary related ops to new package ([a7c1ef7](https://github.com/thi-ng/umbrella/commit/a7c1ef7))
444
+ #### ♻️ Refactoring
322
445
 
323
- ### BREAKING CHANGES
446
+ - update [@thi.ng/arrays](https://github.com/thi-ng/umbrella/tree/main/packages/arrays) call sites ([f95ab38](https://github.com/thi-ng/umbrella/commit/f95ab38))
324
447
 
325
- - **transducers:** migrate all binary data related ops to new package @thi.ng/transducers-binary
448
+ # [4.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@4.0.0) (2019-02-05)
326
449
 
327
- Removed: - bits - base64Encode/Decode - hexDump - partitionBits - utf8Encode/Decode
450
+ #### 🛑 Breaking changes
328
451
 
329
- # [3.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.3.2...@thi.ng/transducers@3.0.0) (2019-01-21)
452
+ - migrate binary related ops to new package ([a7c1ef7](https://github.com/thi-ng/umbrella/commit/a7c1ef7))
453
+ - update readme
454
+ - BREAKING CHANGE: migrate all binary data related ops to new package [@thi.ng/transducers-binary](https://github.com/thi-ng/umbrella/tree/main/packages/transducers-binary)
455
+ Removed:
456
+ - bits
457
+ - base64Encode/Decode
458
+ - hexDump
459
+ - partitionBits
460
+ - utf8Encode/Decode
330
461
 
331
- ### Bug Fixes
462
+ #### 🩹 Bug fixes
332
463
 
333
- - **transducers:** update juxt re-export ([a894a24](https://github.com/thi-ng/umbrella/commit/a894a24))
464
+ - ensure all vals in hexDump iterator version ([ae83bb2](https://github.com/thi-ng/umbrella/commit/ae83bb2))
334
465
 
335
- ### Build System
466
+ #### ♻️ Refactoring
467
+
468
+ - deprecate & rename tuples() => zip() ([d1151ce](https://github.com/thi-ng/umbrella/commit/d1151ce))
469
+ - update refs / re-exports
470
+
471
+ # [3.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@3.0.0) (2019-01-21)
472
+
473
+ #### 🛑 Breaking changes
336
474
 
337
475
  - update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703))
476
+ - BREAKING CHANGE: enabled multi-outputs (ES6 modules, CJS, UMD)
477
+ - build scripts now first build ES6 modules in package root, then call
478
+ `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
479
+ - all imports MUST be updated to only refer to package level
480
+ (not individual files anymore). tree shaking in user land will get rid of
481
+ all unused imported symbols.
482
+
483
+ #### 🩹 Bug fixes
484
+
485
+ - update juxt re-export ([a894a24](https://github.com/thi-ng/umbrella/commit/a894a24))
486
+
487
+ #### ♻️ Refactoring
488
+
489
+ - use arrow fns ([e9f0542](https://github.com/thi-ng/umbrella/commit/e9f0542))
490
+
491
+ ### [2.3.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.3.2) (2019-01-02)
492
+
493
+ #### 🩹 Bug fixes
494
+
495
+ - add reduced() handling for cat() ([cd17586](https://github.com/thi-ng/umbrella/commit/cd17586))
496
+
497
+ ### [2.3.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.3.1) (2018-12-29)
498
+
499
+ #### 🩹 Bug fixes
500
+
501
+ - interpolate() interval selection, add minPos/maxPos ([a90a712](https://github.com/thi-ng/umbrella/commit/a90a712))
502
+
503
+ ## [2.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.3.0) (2018-12-28)
504
+
505
+ #### 🚀 Features
506
+
507
+ - add interpolate() iterator, update readme ([846ab5c](https://github.com/thi-ng/umbrella/commit/846ab5c))
508
+
509
+ ### [2.2.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.2.7) (2018-12-17)
510
+
511
+ #### 🩹 Bug fixes
512
+
513
+ - add return type for range() ([0470505](https://github.com/thi-ng/umbrella/commit/0470505))
514
+
515
+ ### [2.2.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.2.3) (2018-12-01)
516
+
517
+ #### ♻️ Refactoring
518
+
519
+ - implement range() as class w/ IReducible impl ([0e77d2c](https://github.com/thi-ng/umbrella/commit/0e77d2c))
520
+
521
+ ## [2.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.2.0) (2018-10-17)
522
+
523
+ #### 🚀 Features
524
+
525
+ - update wrap*() fns to accept iterables ([515e5ba](https://github.com/thi-ng/umbrella/commit/515e5ba))
526
+
527
+ #### 🩹 Bug fixes
528
+
529
+ - minor TS3.1 fixes ([1ef2361](https://github.com/thi-ng/umbrella/commit/1ef2361))
530
+
531
+ #### ♻️ Refactoring
532
+
533
+ - add ensureArrayLike(), update permutations() ([f257330](https://github.com/thi-ng/umbrella/commit/f257330))
534
+ - update Infinity consts in various packages ([296e1e0](https://github.com/thi-ng/umbrella/commit/296e1e0))
535
+
536
+ ### [2.1.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.1.6) (2018-09-26)
537
+
538
+ #### 🩹 Bug fixes
539
+
540
+ - fix matchLast(), fix & update return match*() types ([823d828](https://github.com/thi-ng/umbrella/commit/823d828))
541
+ - use iterator() instead of iterator1() for matchLast()
542
+ - fix return type decls for both matchFirst() / matchLast()
543
+ - update doc strings
544
+
545
+ ### [2.1.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.1.2) (2018-09-22)
546
+
547
+ #### 🩹 Bug fixes
548
+
549
+ - add missing type annotation ([022101f](https://github.com/thi-ng/umbrella/commit/022101f))
550
+
551
+ ### [2.1.2-alpha.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.1.2-alpha.1) (2018-09-17)
552
+
553
+ #### 🚀 Features
554
+
555
+ - add randomID() ([b488d2b](https://github.com/thi-ng/umbrella/commit/b488d2b))
556
+
557
+ #### 🩹 Bug fixes
558
+
559
+ - str() initial result handling ([f001314](https://github.com/thi-ng/umbrella/commit/f001314))
560
+ - update arg types for choices() & weightedRandom() ([eb67426](https://github.com/thi-ng/umbrella/commit/eb67426))
561
+
562
+ ## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.1.0) (2018-09-08)
563
+
564
+ #### 🚀 Features
565
+
566
+ - rename window() => slidingWindow(), update readme ([1f22867](https://github.com/thi-ng/umbrella/commit/1f22867))
567
+ - update partitionSync() xform & PartitionSyncOpts ([d8fdc01](https://github.com/thi-ng/umbrella/commit/d8fdc01))
568
+ - add `mergeOnly` option to allow partially populated result tuples
569
+ - add window() xform ([2f0f3d4](https://github.com/thi-ng/umbrella/commit/2f0f3d4))
570
+
571
+ ### [2.0.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.0.3) (2018-09-03)
572
+
573
+ #### ♻️ Refactoring
574
+
575
+ - update normRange() ([4a16bd5](https://github.com/thi-ng/umbrella/commit/4a16bd5))
576
+ - add opt flag to exclude last value
577
+
578
+ # [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.0.0) (2018-08-24)
579
+
580
+ #### 🛑 Breaking changes
338
581
 
339
- ### BREAKING CHANGES
582
+ - add GroupByOpts interface, update groupBy* reducers ([2c3a114](https://github.com/thi-ng/umbrella/commit/2c3a114))
583
+ - add support for direct reduction if optional iterable is provided
584
+ - BREAKING CHANGE: groupByMap() & groupByObj() args now given as
585
+ options object
586
+ - update all xforms to also work as iterator ([bae8a1d](https://github.com/thi-ng/umbrella/commit/bae8a1d))
587
+ - if input iterable is provided, return iterator version
588
+ - add opt initial result arg for scan()
589
+ - utf8Decode() w/ input returns string
590
+ - update tests
591
+ - BREAKING CHANGE: replace some xform args with options objects, impacted are:
592
+ - convolve2d()
593
+ - filterFuzzy()
594
+ - hexDump()
595
+ - movingMedian()
596
+ - partitionSort()
597
+ - partitionSync()
598
+ - streamSort()
599
+ - wordWrap()
600
+ - rename inspect() => trace() ([e713704](https://github.com/thi-ng/umbrella/commit/e713704))
601
+ - BREAKING CHANGE: rename inspect() => trace()
340
602
 
341
- - enabled multi-outputs (ES6 modules, CJS, UMD)
342
- - build scripts now first build ES6 modules in package root, then call `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
343
- - all imports MUST be updated to only refer to package level (not individual files anymore). tree shaking in user land will get rid of all unused imported symbols.
603
+ #### 🚀 Features
344
604
 
345
- ## [2.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.3.1...@thi.ng/transducers@2.3.2) (2019-01-02)
605
+ - update base64Encode() to return string if input given ([599f2b6](https://github.com/thi-ng/umbrella/commit/599f2b6))
606
+ - update all reducers to accept opt iterables ([89b4ad5](https://github.com/thi-ng/umbrella/commit/89b4ad5))
607
+ - add $$reduce helper
608
+ - fix str() to use string concatenation (instead of Array.join())
609
+ - add opt init vals for add() & mul()
610
+ - add sub() & div() reducers
611
+ - add fill() & fillN() reducers ([0bd860e](https://github.com/thi-ng/umbrella/commit/0bd860e))
346
612
 
347
- ### Bug Fixes
613
+ #### 🩹 Bug fixes
348
614
 
349
- - **transducers:** add reduced() handling for cat() ([cd17586](https://github.com/thi-ng/umbrella/commit/cd17586))
615
+ - arg handling in rename() ([7a5be21](https://github.com/thi-ng/umbrella/commit/7a5be21))
616
+ - copy&paste error (push) ([832e57f](https://github.com/thi-ng/umbrella/commit/832e57f))
617
+ - iterator1() final reduced value handling ([d861bdd](https://github.com/thi-ng/umbrella/commit/d861bdd))
618
+ - hex type decl ([723da5b](https://github.com/thi-ng/umbrella/commit/723da5b))
350
619
 
351
- ## [2.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.3.0...@thi.ng/transducers@2.3.1) (2018-12-29)
620
+ #### ⏱ Performance improvements
352
621
 
353
- ### Bug Fixes
622
+ - add IReducible, update reduce() ([9d83255](https://github.com/thi-ng/umbrella/commit/9d83255))
623
+ - add IReducible interface for custom/optimized iteration
624
+ and source value provision for reduce()
625
+ - add array-like check to reduce() and switch to version without
626
+ forcing array iterator (`for..of..`)
627
+ - add iterator1(), update various xforms ([ab662d8](https://github.com/thi-ng/umbrella/commit/ab662d8))
628
+ - iterator1() is speed optimized for 0-or-1 result xforms
629
+ w/o completion step
630
+ - update $iter to accept iterator impl
354
631
 
355
- - **transducers:** interpolate() interval selection, add minPos/maxPos ([a90a712](https://github.com/thi-ng/umbrella/commit/a90a712))
632
+ #### ♻️ Refactoring
356
633
 
357
- # [2.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.2.8...@thi.ng/transducers@2.3.0) (2018-12-28)
634
+ - replace local types w/ external defs ([3a8bd08](https://github.com/thi-ng/umbrella/commit/3a8bd08))
635
+ - re-use Fn & SEMAPHORE ([@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api))
636
+ - replace comp() and juxt() ([@thi.ng/compose](https://github.com/thi-ng/umbrella/tree/main/packages/compose))
637
+ - add shared SortOpts, update xforms ([8a111ef](https://github.com/thi-ng/umbrella/commit/8a111ef))
638
+ - replace opts for movingMedian(), partitionSort(), streamSort()
639
+ - move convolution types to src/xform/convole.ts
640
+ - move StructField to src/xform/struct.ts
641
+ - add ReductionFn type alias, update Reducer ([45e4993](https://github.com/thi-ng/umbrella/commit/45e4993))
358
642
 
359
- ### Features
643
+ ## [1.16.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.16.0) (2018-08-08)
360
644
 
361
- - **transducers:** add interpolate() iterator, update readme ([846ab5c](https://github.com/thi-ng/umbrella/commit/846ab5c))
645
+ #### 🚀 Features
362
646
 
363
- ## [2.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.2.6...@thi.ng/transducers@2.2.7) (2018-12-17)
647
+ - add partitionBits() xform & tests ([a5e2c28](https://github.com/thi-ng/umbrella/commit/a5e2c28))
364
648
 
365
- ### Bug Fixes
649
+ #### ♻️ Refactoring
366
650
 
367
- - **transducers:** add return type for range() ([0470505](https://github.com/thi-ng/umbrella/commit/0470505))
651
+ - deprecate hex(), update hexDump() xform & deps ([b1ea9a5](https://github.com/thi-ng/umbrella/commit/b1ea9a5))
368
652
 
369
- # [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.1.6...@thi.ng/transducers@2.2.0) (2018-10-17)
653
+ ## [1.15.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.15.0) (2018-08-02)
370
654
 
371
- ### Bug Fixes
655
+ #### 🚀 Features
372
656
 
373
- - **transducers:** minor TS3.1 fixes ([1ef2361](https://github.com/thi-ng/umbrella/commit/1ef2361))
657
+ - add peek() helper fn ([e50fd10](https://github.com/thi-ng/umbrella/commit/e50fd10))
374
658
 
375
- ### Features
659
+ ## [1.14.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.14.0) (2018-07-19)
376
660
 
377
- - **transducers:** update wrap*() fns to accept iterables ([515e5ba](https://github.com/thi-ng/umbrella/commit/515e5ba))
661
+ #### 🚀 Features
378
662
 
379
- ## [2.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.1.5...@thi.ng/transducers@2.1.6) (2018-09-26)
663
+ - add asIterable() helper ([ccc37c6](https://github.com/thi-ng/umbrella/commit/ccc37c6))
664
+ - allow key arrays for rename(), simplify call sites ([092154c](https://github.com/thi-ng/umbrella/commit/092154c))
665
+ - update multiplexObj() & struct() xforms
666
+ - add juxtR() for multiplexed reductions from same src ([9b07d12](https://github.com/thi-ng/umbrella/commit/9b07d12))
667
+ - add tests & docs
380
668
 
381
- ### Bug Fixes
669
+ #### ⏱ Performance improvements
382
670
 
383
- - **transducers:** fix matchLast(), fix & update return match*() types ([823d828](https://github.com/thi-ng/umbrella/commit/823d828))
671
+ - update movingAverage() xform, add docs ([9874ace](https://github.com/thi-ng/umbrella/commit/9874ace))
384
672
 
385
- ## [2.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.1.2-alpha.1...@thi.ng/transducers@2.1.2) (2018-09-22)
673
+ ## [1.13.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.13.0) (2018-07-13)
386
674
 
387
- ### Bug Fixes
675
+ #### 🚀 Features
388
676
 
389
- - **transducers:** add missing type annotation ([022101f](https://github.com/thi-ng/umbrella/commit/022101f))
677
+ - add wordWrap() xform ([81223dc](https://github.com/thi-ng/umbrella/commit/81223dc))
390
678
 
391
- ## [2.1.2-alpha.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.1.2-alpha.0...@thi.ng/transducers@2.1.2-alpha.1) (2018-09-17)
679
+ ### [1.12.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.12.2) (2018-07-09)
392
680
 
393
- ### Bug Fixes
681
+ #### 🩹 Bug fixes
394
682
 
395
- - **transducers:** str() initial result handling ([f001314](https://github.com/thi-ng/umbrella/commit/f001314))
396
- - **transducers:** update arg types for choices() & weightedRandom() ([eb67426](https://github.com/thi-ng/umbrella/commit/eb67426))
683
+ - revert mean() from regression introduced in [095e6ef](https://github.com/thi-ng/umbrella/commit/095e6ef) ([03543ee](https://github.com/thi-ng/umbrella/commit/03543ee))
397
684
 
398
- ### Features
685
+ ### [1.12.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.12.1) (2018-07-09)
399
686
 
400
- - **transducers:** add randomID() ([b488d2b](https://github.com/thi-ng/umbrella/commit/b488d2b))
687
+ #### ♻️ Refactoring
401
688
 
402
- # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.0.4...@thi.ng/transducers@2.1.0) (2018-09-08)
689
+ - add reducer() helper, update existing reducers ([095e6ef](https://github.com/thi-ng/umbrella/commit/095e6ef))
403
690
 
404
- ### Features
691
+ ## [1.12.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.12.0) (2018-07-03)
405
692
 
406
- - **transducers:** add window() xform ([2f0f3d4](https://github.com/thi-ng/umbrella/commit/2f0f3d4))
407
- - **transducers:** rename window() => slidingWindow(), update readme ([1f22867](https://github.com/thi-ng/umbrella/commit/1f22867))
408
- - **transducers:** update partitionSync() xform & PartitionSyncOpts ([d8fdc01](https://github.com/thi-ng/umbrella/commit/d8fdc01))
693
+ #### 🚀 Features
409
694
 
410
- # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.16.0...@thi.ng/transducers@2.0.0) (2018-08-24)
695
+ - add ensureArray(), refactor reverse() ([677c7cc](https://github.com/thi-ng/umbrella/commit/677c7cc))
411
696
 
412
- ### Bug Fixes
697
+ ## [1.11.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.11.0) (2018-06-19)
413
698
 
414
- - **transducers:** arg handling in rename() ([7a5be21](https://github.com/thi-ng/umbrella/commit/7a5be21))
415
- - **transducers:** copy&paste error (push) ([832e57f](https://github.com/thi-ng/umbrella/commit/832e57f))
416
- - **transducers:** hex type decl ([723da5b](https://github.com/thi-ng/umbrella/commit/723da5b))
417
- - **transducers:** iterator1() final reduced value handling ([d861bdd](https://github.com/thi-ng/umbrella/commit/d861bdd))
699
+ #### 🚀 Features
418
700
 
419
- ### Code Refactoring
701
+ - add matchFirst()/matchLast() xforms, update readme ([bc261e5](https://github.com/thi-ng/umbrella/commit/bc261e5))
420
702
 
421
- - **transducers:** rename inspect() => trace() ([e713704](https://github.com/thi-ng/umbrella/commit/e713704))
703
+ ### [1.10.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.10.1) (2018-05-14)
422
704
 
423
- ### Features
705
+ #### ♻️ Refactoring
424
706
 
425
- - **transducers:** add fill() & fillN() reducers ([0bd860e](https://github.com/thi-ng/umbrella/commit/0bd860e))
426
- - **transducers:** add GroupByOpts interface, update groupBy* reducers ([2c3a114](https://github.com/thi-ng/umbrella/commit/2c3a114))
427
- - **transducers:** update all reducers to accept opt iterables ([89b4ad5](https://github.com/thi-ng/umbrella/commit/89b4ad5))
428
- - **transducers:** update all xforms to also work as iterator ([bae8a1d](https://github.com/thi-ng/umbrella/commit/bae8a1d))
429
- - **transducers:** update base64Encode() to return string if input given ([599f2b6](https://github.com/thi-ng/umbrella/commit/599f2b6))
707
+ - replace wrapBoth/Left/Right w/ wrap() ([e238541](https://github.com/thi-ng/umbrella/commit/e238541))
708
+ - deprecate existing wrap*() iters
709
+ - update docs & readme
430
710
 
431
- ### Performance Improvements
711
+ ## [1.10.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.10.0) (2018-05-14)
432
712
 
433
- - **transducers:** add IReducible, update reduce() ([9d83255](https://github.com/thi-ng/umbrella/commit/9d83255))
434
- - **transducers:** add iterator1(), update various xforms ([ab662d8](https://github.com/thi-ng/umbrella/commit/ab662d8))
713
+ #### 🚀 Features
435
714
 
436
- ### BREAKING CHANGES
715
+ - add filterFuzzy() xform ([2bebba2](https://github.com/thi-ng/umbrella/commit/2bebba2))
716
+ - add fuzzyMatch() predicate
717
+ - add wrap*() iterators ([306625d](https://github.com/thi-ng/umbrella/commit/306625d))
718
+ - add wrapBoth()
719
+ - add wrapLeft()
720
+ - add wrapRight()
437
721
 
438
- - **transducers:** groupByMap() & groupByObj() args now given as options object
439
- - **transducers:** replace some xform args with options objects, impacted are:
440
- - convolve2d()
441
- - filterFuzzy()
442
- - hexDump()
443
- - movingMedian()
444
- - partitionSort()
445
- - partitionSync()
446
- - streamSort()
447
- - wordWrap()
448
- - **transducers:** rename inspect() => trace()
722
+ ## [1.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.9.0) (2018-05-10)
449
723
 
450
- # [1.16.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.15.0...@thi.ng/transducers@1.16.0) (2018-08-08)
724
+ #### 🚀 Features
451
725
 
452
- ### Features
726
+ - add normRange() iterator ([55f29b8](https://github.com/thi-ng/umbrella/commit/55f29b8))
453
727
 
454
- - **transducers:** add partitionBits() xform & tests ([a5e2c28](https://github.com/thi-ng/umbrella/commit/a5e2c28))
728
+ ### [1.8.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.8.6) (2018-05-10)
455
729
 
456
- # [1.15.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.14.3...@thi.ng/transducers@1.15.0) (2018-08-02)
730
+ #### ♻️ Refactoring
457
731
 
458
- ### Features
732
+ - update deps & imports in all packages due to [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api) split ([bc45636](https://github.com/thi-ng/umbrella/commit/bc45636))
459
733
 
460
- - **transducers:** add peek() helper fn ([e50fd10](https://github.com/thi-ng/umbrella/commit/e50fd10))
734
+ ### [1.8.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.8.1) (2018-04-18)
461
735
 
462
- # [1.14.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.13.0...@thi.ng/transducers@1.14.0) (2018-07-19)
736
+ #### 🩹 Bug fixes
463
737
 
464
- ### Features
738
+ - add generics for compR(), fix types in mapNth() ([3b7c9d9](https://github.com/thi-ng/umbrella/commit/3b7c9d9))
465
739
 
466
- - **transducer:** add asIterable() helper ([ccc37c6](https://github.com/thi-ng/umbrella/commit/ccc37c6))
467
- - **transducers:** add juxtR() for multiplexed reductions from same src ([9b07d12](https://github.com/thi-ng/umbrella/commit/9b07d12))
468
- - **transducers:** allow key arrays for rename(), simplify call sites ([092154c](https://github.com/thi-ng/umbrella/commit/092154c))
740
+ ## [1.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.8.0) (2018-04-11)
469
741
 
470
- ### Performance Improvements
742
+ #### 🚀 Features
471
743
 
472
- - **transducers:** update movingAverage() xform, add docs ([9874ace](https://github.com/thi-ng/umbrella/commit/9874ace))
744
+ - add run() for executing side effects only, update readme ([52c7508](https://github.com/thi-ng/umbrella/commit/52c7508))
473
745
 
474
- # [1.13.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.12.2...@thi.ng/transducers@1.13.0) (2018-07-13)
746
+ ### [1.7.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.7.1) (2018-03-21)
475
747
 
476
- ### Features
748
+ #### ♻️ Refactoring
477
749
 
478
- - **transducers:** add wordWrap() xform ([81223dc](https://github.com/thi-ng/umbrella/commit/81223dc))
750
+ - update error handling ([ca099e5](https://github.com/thi-ng/umbrella/commit/ca099e5))
479
751
 
480
- ## [1.12.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.12.1...@thi.ng/transducers@1.12.2) (2018-07-09)
752
+ ## [1.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.7.0) (2018-03-19)
481
753
 
482
- ### Bug Fixes
754
+ #### 🚀 Features
483
755
 
484
- - **transducers:** revert mean() from regression introduced in 095e6ef ([03543ee](https://github.com/thi-ng/umbrella/commit/03543ee))
756
+ - add mapVals() xform ([abc195a](https://github.com/thi-ng/umbrella/commit/abc195a))
757
+ - add partitionSync() xform ([bebd118](https://github.com/thi-ng/umbrella/commit/bebd118))
485
758
 
486
- # [1.12.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.11.1...@thi.ng/transducers@1.12.0) (2018-07-03)
759
+ #### ♻️ Refactoring
487
760
 
488
- ### Features
761
+ - update labeled(), mapIndexed(), partition() ([3bc8d54](https://github.com/thi-ng/umbrella/commit/3bc8d54))
762
+ - labeled() - add support for label fn instead of just static label
763
+ - mapIndexed() - add optional start index arg
764
+ - partition() - minor update in completing reducer
489
765
 
490
- - **transducers:** add ensureArray(), refactor reverse() ([677c7cc](https://github.com/thi-ng/umbrella/commit/677c7cc))
766
+ ## [1.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.6.0) (2018-03-03)
491
767
 
492
- # [1.11.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.10.3...@thi.ng/transducers@1.11.0) (2018-06-19)
768
+ #### 🚀 Features
493
769
 
494
- ### Features
770
+ - add permutations()/permutationsN() generators ([91938ed](https://github.com/thi-ng/umbrella/commit/91938ed))
495
771
 
496
- - **transducers:** add matchFirst()/matchLast() xforms, update readme ([bc261e5](https://github.com/thi-ng/umbrella/commit/bc261e5))
772
+ #### ♻️ Refactoring
497
773
 
498
- # [1.10.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.9.4...@thi.ng/transducers@1.10.0) (2018-05-14)
774
+ - extract compR() into its own file, update refs, update readme ([8c180bc](https://github.com/thi-ng/umbrella/commit/8c180bc))
775
+ - update swizzler() arg types ([2f5abce](https://github.com/thi-ng/umbrella/commit/2f5abce))
776
+ - update permutations()/permutationsN(), add tests ([488462e](https://github.com/thi-ng/umbrella/commit/488462e))
499
777
 
500
- ### Features
778
+ ### [1.5.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.5.1) (2018-03-02)
501
779
 
502
- - **transducers:** add filterFuzzy() xform ([2bebba2](https://github.com/thi-ng/umbrella/commit/2bebba2))
503
- - **transducers:** add wrap*() iterators ([306625d](https://github.com/thi-ng/umbrella/commit/306625d))
780
+ #### 🩹 Bug fixes
504
781
 
505
- # [1.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.8.6...@thi.ng/transducers@1.9.0) (2018-05-10)
782
+ - flattenWith() ([3d8aa32](https://github.com/thi-ng/umbrella/commit/3d8aa32))
506
783
 
507
- ### Features
784
+ ## [1.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.5.0) (2018-02-26)
508
785
 
509
- - **transducers:** add normRange() iterator ([55f29b8](https://github.com/thi-ng/umbrella/commit/55f29b8))
786
+ #### 🚀 Features
510
787
 
511
- ## [1.8.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.8.0...@thi.ng/transducers@1.8.1) (2018-04-18)
788
+ - add keys()/vals() iterators, refactor pairs() ([9824844](https://github.com/thi-ng/umbrella/commit/9824844))
512
789
 
513
- ### Bug Fixes
790
+ ## [1.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.4.0) (2018-02-23)
514
791
 
515
- - **transducers:** add generics for compR(), fix types in mapNth() ([3b7c9d9](https://github.com/thi-ng/umbrella/commit/3b7c9d9))
516
- - **transducers:** Provide argument types for compR() and deepTransform() ([de89f00](https://github.com/thi-ng/umbrella/commit/de89f00))
792
+ #### 🚀 Features
517
793
 
518
- # [1.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.7.5...@thi.ng/transducers@1.8.0) (2018-04-11)
794
+ - add deepTransform & mapDeep xform ([f0fdfa1](https://github.com/thi-ng/umbrella/commit/f0fdfa1))
519
795
 
520
- ### Features
796
+ #### ♻️ Refactoring
521
797
 
522
- - **transducers:** add run() for executing side effects only, update readme ([52c7508](https://github.com/thi-ng/umbrella/commit/52c7508))
798
+ - add TransformSubSpec, fix test, minor update docs ([2a11ff6](https://github.com/thi-ng/umbrella/commit/2a11ff6))
523
799
 
524
- # [1.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.6.2...@thi.ng/transducers@1.7.0) (2018-03-19)
800
+ ## [1.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.3.0) (2018-02-19)
525
801
 
526
- ### Features
802
+ #### 🚀 Features
527
803
 
528
- - **transducers:** add mapVals() xform ([abc195a](https://github.com/thi-ng/umbrella/commit/abc195a))
529
- - **transducers:** add partitionSync() xform ([bebd118](https://github.com/thi-ng/umbrella/commit/bebd118))
804
+ - add lookup1d/2d/3d helpers, update re-exports ([193058d](https://github.com/thi-ng/umbrella/commit/193058d))
530
805
 
531
- # [1.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.5.1...@thi.ng/transducers@1.6.0) (2018-03-03)
806
+ ## [1.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.2.0) (2018-02-18)
532
807
 
533
- ### Features
808
+ #### 🚀 Features
534
809
 
535
- - **transducers:** add permutations()/permutationsN() generators ([91938ed](https://github.com/thi-ng/umbrella/commit/91938ed))
810
+ - add convolve2d xform & types ([ab8a855](https://github.com/thi-ng/umbrella/commit/ab8a855))
811
+ - add movingMedian() xform ([d7b1d0d](https://github.com/thi-ng/umbrella/commit/d7b1d0d))
812
+ - add range2d / range3d generators ([722042b](https://github.com/thi-ng/umbrella/commit/722042b))
536
813
 
537
- ## [1.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.5.0...@thi.ng/transducers@1.5.1) (2018-03-02)
814
+ #### 🩹 Bug fixes
538
815
 
539
- ### Bug Fixes
816
+ - update imports `step()` ([48f8bb8](https://github.com/thi-ng/umbrella/commit/48f8bb8))
540
817
 
541
- - **transducers:** flattenWith() ([3d8aa32](https://github.com/thi-ng/umbrella/commit/3d8aa32))
818
+ #### ♻️ Refactoring
542
819
 
543
- # [1.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.4.0...@thi.ng/transducers@1.5.0) (2018-02-26)
820
+ - add/update range2d/range3d arity handling ([63a4953](https://github.com/thi-ng/umbrella/commit/63a4953))
544
821
 
545
- ### Features
822
+ ## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.1.0) (2018-02-08)
546
823
 
547
- - **transducers:** add keys()/vals() iterators, refactor pairs() ([9824844](https://github.com/thi-ng/umbrella/commit/9824844))
824
+ #### 🚀 Features
548
825
 
549
- # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.3.0...@thi.ng/transducers@1.4.0) (2018-02-23)
826
+ - add page() xform, update readme ([855d803](https://github.com/thi-ng/umbrella/commit/855d803))
550
827
 
551
- ### Features
828
+ #### ♻️ Refactoring
552
829
 
553
- - **transducers:** add deepTransform & mapDeep xform ([f0fdfa1](https://github.com/thi-ng/umbrella/commit/f0fdfa1))
830
+ - re-use even/odd from [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/main/packages/checks) ([445c857](https://github.com/thi-ng/umbrella/commit/445c857))
554
831
 
555
- # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.2.0...@thi.ng/transducers@1.3.0) (2018-02-19)
832
+ ### [1.0.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.0.6) (2018-02-01)
556
833
 
557
- ### Features
834
+ #### 🩹 Bug fixes
558
835
 
559
- - **transducers:** add lookup1d/2d/3d helpers, update re-exports ([193058d](https://github.com/thi-ng/umbrella/commit/193058d))
836
+ - update comp() for typescript 2.7.* ([febe39f](https://github.com/thi-ng/umbrella/commit/febe39f))
560
837
 
561
- # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.1.0...@thi.ng/transducers@1.2.0) (2018-02-18)
838
+ ### [1.0.5](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.0.5) (2018-01-31)
562
839
 
563
- ### Bug Fixes
840
+ #### ♻️ Refactoring
564
841
 
565
- - **transducers:** update imports `step()` ([48f8bb8](https://github.com/thi-ng/umbrella/commit/48f8bb8))
842
+ - use Predicate2 ([4753afb](https://github.com/thi-ng/umbrella/commit/4753afb))
566
843
 
567
- ### Features
844
+ ### [1.0.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.0.2) (2018-01-29)
568
845
 
569
- - **transducers:** add convolve2d xform & types ([ab8a855](https://github.com/thi-ng/umbrella/commit/ab8a855))
570
- - **transducers:** add movingMedian() xform ([d7b1d0d](https://github.com/thi-ng/umbrella/commit/d7b1d0d))
571
- - **transducers:** add range2d / range3d generators ([722042b](https://github.com/thi-ng/umbrella/commit/722042b))
846
+ #### Performance improvements
572
847
 
573
- # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.0.7...@thi.ng/transducers@1.1.0) (2018-02-08)
848
+ - avoid result object cloning in struct() xform ([d774e32](https://github.com/thi-ng/umbrella/commit/d774e32))
849
+ - disable copying in mapKeys() step
574
850
 
575
- ### Features
851
+ # [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.0.0) (2018-01-28)
576
852
 
577
- - **transducers:** add page() xform, update readme ([855d803](https://github.com/thi-ng/umbrella/commit/855d803))
853
+ #### 🛑 Breaking changes
578
854
 
579
- ## [1.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.0.5...@thi.ng/transducers@1.0.6) (2018-02-01)
855
+ - update throttle(), refactor take/dropNth ([e1a282c](https://github.com/thi-ng/umbrella/commit/e1a282c))
856
+ - throttle() requires stateful predicate now
857
+ - add throttleTime() as replacement for prev throttle() impl
858
+ - refactor takeNth()/dropNth() to use throttle()
859
+ - BREAKING CHANGE: throttle() requires stateful predicate now
860
+ - rename join() => str() rfn ([e268e35](https://github.com/thi-ng/umbrella/commit/e268e35))
861
+ - BREAKING CHANGE:
862
+ rename join() => str() reduer in prep for actual set join() op
863
+ - update step() to support multiple results ([1f32fc0](https://github.com/thi-ng/umbrella/commit/1f32fc0))
864
+ - respect reduced value termination
865
+ - internal use of push() vs. last() to support multiple results per transduction step
866
+ - add docs
867
+ - BREAKING CHANGE:
868
+ now possibly returns array instead of single value if wrapped transducer produced multiple results
580
869
 
581
- ### Bug Fixes
870
+ #### 🚀 Features
582
871
 
583
- - **transducers:** update comp() for typescript 2.7.* ([febe39f](https://github.com/thi-ng/umbrella/commit/febe39f))
872
+ - add noop() xform, update readme ([7b21aa6](https://github.com/thi-ng/umbrella/commit/7b21aa6))
873
+ - update re-exports, extract throttleTime() into own file ([45d6bc6](https://github.com/thi-ng/umbrella/commit/45d6bc6))
874
+ - add labeled() xform ([0b3c786](https://github.com/thi-ng/umbrella/commit/0b3c786))
875
+ - add multiplexObj() ([931b67f](https://github.com/thi-ng/umbrella/commit/931b67f))
876
+ - add every(), some() rfns ([63344e4](https://github.com/thi-ng/umbrella/commit/63344e4))
877
+ - update re-exports, minor update reductions() ([e555ff5](https://github.com/thi-ng/umbrella/commit/e555ff5))
878
+ - update frequencies() & groupByMap() ([4b8d037](https://github.com/thi-ng/umbrella/commit/4b8d037))
879
+ - add opt key fn for frequencies(), delegate to groupByMap()
880
+ - use identity as default key fn
881
+ - add multiplex() xform & docs ([beb2cee](https://github.com/thi-ng/umbrella/commit/beb2cee))
882
+ - add utf8Encode()/utf8Decode() xforms ([e50fa26](https://github.com/thi-ng/umbrella/commit/e50fa26))
584
883
 
585
- ## [1.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@1.0.1...@thi.ng/transducers@1.0.2) (2018-01-29)
884
+ #### 🩹 Bug fixes
586
885
 
587
- ### Performance Improvements
886
+ - scan() complete handling ([44db970](https://github.com/thi-ng/umbrella/commit/44db970))
887
+ - pass final inner result to outer complete only if different
888
+ - add "complete" step handling in scan() ([8e5204d](https://github.com/thi-ng/umbrella/commit/8e5204d))
588
889
 
589
- - **transducers:** avoid result object cloning in struct() xform ([d774e32](https://github.com/thi-ng/umbrella/commit/d774e32))
890
+ #### ♻️ Refactoring
590
891
 
591
- # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@0.11.2...@thi.ng/transducers@1.0.0) (2018-01-28)
892
+ - udate cat() to accept iterables, not just arrays ([58f1477](https://github.com/thi-ng/umbrella/commit/58f1477))
592
893
 
593
- ### Bug Fixes
894
+ ### [0.11.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@0.11.2) (2018-01-25)
594
895
 
595
- - **transducers:** add "complete" step handling in scan() ([8e5204d](https://github.com/thi-ng/umbrella/commit/8e5204d))
596
- - **transducers:** scan() complete handling ([44db970](https://github.com/thi-ng/umbrella/commit/44db970))
896
+ #### 🩹 Bug fixes
597
897
 
598
- ### Code Refactoring
898
+ - include 1st val in benchmark() ([b3ce275](https://github.com/thi-ng/umbrella/commit/b3ce275))
899
+ - base64 imports ([75bb161](https://github.com/thi-ng/umbrella/commit/75bb161))
900
+ - project links in readme files ([e290d75](https://github.com/thi-ng/umbrella/commit/e290d75))
599
901
 
600
- - **transducers:** rename join() => str() rfn ([e268e35](https://github.com/thi-ng/umbrella/commit/e268e35))
902
+ #### ♻️ Refactoring
601
903
 
602
- ### Features
904
+ - update reverse(), add deps ([a2c3bc4](https://github.com/thi-ng/umbrella/commit/a2c3bc4))
905
+ - simplify concat(), add docs ([0c116c1](https://github.com/thi-ng/umbrella/commit/0c116c1))
603
906
 
604
- - **transducers:** add every(), some() rfns ([63344e4](https://github.com/thi-ng/umbrella/commit/63344e4))
605
- - **transducers:** add labeled() xform ([0b3c786](https://github.com/thi-ng/umbrella/commit/0b3c786))
606
- - **transducers:** add multiplex() xform & docs ([beb2cee](https://github.com/thi-ng/umbrella/commit/beb2cee))
607
- - **transducers:** add multiplexObj() ([931b67f](https://github.com/thi-ng/umbrella/commit/931b67f))
608
- - **transducers:** add noop() xform, update readme ([7b21aa6](https://github.com/thi-ng/umbrella/commit/7b21aa6))
609
- - **transducers:** add utf8Encode()/utf8Decode() xforms ([e50fa26](https://github.com/thi-ng/umbrella/commit/e50fa26))
610
- - **transducers:** update frequencies() & groupByMap() ([4b8d037](https://github.com/thi-ng/umbrella/commit/4b8d037))
611
- - **transducers:** update re-exports, extract throttleTime() into own file ([45d6bc6](https://github.com/thi-ng/umbrella/commit/45d6bc6))
612
- - **transducers:** update re-exports, minor update reductions() ([e555ff5](https://github.com/thi-ng/umbrella/commit/e555ff5))
613
- - **transducers:** update step() to support multiple results ([1f32fc0](https://github.com/thi-ng/umbrella/commit/1f32fc0))
614
- - **transducers:** update throttle(), refactor take/dropNth ([e1a282c](https://github.com/thi-ng/umbrella/commit/e1a282c))
907
+ ### [0.11.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@0.11.1) (2018-01-24)
615
908
 
616
- ### BREAKING CHANGES
909
+ #### 🚀 Features
617
910
 
618
- - **transducers:** throttle() requires stateful predicate now
619
- - **transducers:** rename join() => str() reduer in prep for actual set join() op
620
- - **transducers:** now possibly returns array instead of single value if wrapped transducer produced multiple results
911
+ - initial re-import as monorepo, update readme files, cleanup imports ([04ff6e9](https://github.com/thi-ng/umbrella/commit/04ff6e9))