@thi.ng/transducers 8.0.4 → 8.1.0

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