@thi.ng/transducers 8.0.6 → 8.1.1

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,660 +1,911 @@
1
1
  # Change Log
2
2
 
3
+ - **Last updated**: 2021-11-19T07:59:51Z
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
66
+
67
+ #### ♻️ Refactoring
68
+
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)
78
+
79
+ ### [7.9.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.9.2) (2021-09-03)
80
+
81
+ #### 🩹 Bug fixes
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).
91
+
92
+ ### [7.9.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.9.1) (2021-08-19)
93
+
94
+ #### 🩹 Bug fixes
95
+
96
+ - update normFrequenciesAuto() ([5b5200b](https://github.com/thi-ng/umbrella/commit/5b5200b))
97
+ - actually use `key` fn arg (if given)
98
+
99
+ ## [7.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.9.0) (2021-08-19)
100
+
101
+ #### 🚀 Features
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
108
+
109
+ ## [7.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.8.0) (2021-08-04)
110
+
111
+ #### 🚀 Features
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()
117
+
118
+ ## [7.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.7.0) (2021-04-07)
119
+
120
+ #### 🚀 Features
121
+
122
+ - add partitionWhen() xform ([d2dd4d9](https://github.com/thi-ng/umbrella/commit/d2dd4d9))
123
+
124
+ ### [7.6.10](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.6.10) (2021-04-03)
5
125
 
6
- ## [8.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@8.0.5...@thi.ng/transducers@8.0.6) (2021-10-28)
126
+ #### ♻️ Refactoring
7
127
 
8
- **Note:** Version bump only for package @thi.ng/transducers
128
+ - minor updates ([c582a1a](https://github.com/thi-ng/umbrella/commit/c582a1a))
9
129
 
130
+ ### [7.6.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.6.2) (2021-03-03)
10
131
 
132
+ #### 🩹 Bug fixes
11
133
 
134
+ - add missing type anno (TS4.2) ([7ced9be](https://github.com/thi-ng/umbrella/commit/7ced9be))
12
135
 
136
+ ## [7.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.6.0) (2021-02-20)
13
137
 
14
- ## [8.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@8.0.4...@thi.ng/transducers@8.0.5) (2021-10-28)
138
+ #### 🚀 Features
15
139
 
16
- **Note:** Version bump only for package @thi.ng/transducers
140
+ - add TweenOpts.easing, update tween() ([f3a50f4](https://github.com/thi-ng/umbrella/commit/f3a50f4))
17
141
 
142
+ #### ♻️ Refactoring
18
143
 
144
+ - use clamp0() ([47d5e54](https://github.com/thi-ng/umbrella/commit/47d5e54))
19
145
 
146
+ ### [7.5.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.5.2) (2020-12-07)
20
147
 
148
+ #### ♻️ Refactoring
21
149
 
22
- ## [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)
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))
23
152
 
24
- **Note:** Version bump only for package @thi.ng/transducers
153
+ ## [7.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.5.0) (2020-11-24)
25
154
 
155
+ #### 🚀 Features
26
156
 
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
27
160
 
161
+ #### ♻️ Refactoring
28
162
 
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))
29
165
 
30
- ## [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)
166
+ ## [7.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.4.0) (2020-09-22)
31
167
 
32
- **Note:** Version bump only for package @thi.ng/transducers
168
+ #### 🚀 Features
33
169
 
170
+ - add mapcatIndexed() xform ([4f3d6e0](https://github.com/thi-ng/umbrella/commit/4f3d6e0))
34
171
 
172
+ ### [7.3.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.3.1) (2020-09-13)
35
173
 
174
+ #### ♻️ Refactoring
36
175
 
176
+ - update imports ([e166cda](https://github.com/thi-ng/umbrella/commit/e166cda))
37
177
 
38
- ## [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)
178
+ ## [7.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.3.0) (2020-08-28)
39
179
 
40
- **Note:** Version bump only for package @thi.ng/transducers
180
+ #### 🚀 Features
41
181
 
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))
42
184
 
185
+ #### 🩹 Bug fixes
43
186
 
187
+ - type ([dedce3f](https://github.com/thi-ng/umbrella/commit/dedce3f))
44
188
 
189
+ #### ♻️ Refactoring
45
190
 
46
- ## [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)
191
+ - update/fix normRange2d/3d() ([d40c4a7](https://github.com/thi-ng/umbrella/commit/d40c4a7))
47
192
 
48
- **Note:** Version bump only for package @thi.ng/transducers
193
+ ## [7.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.2.0) (2020-07-28)
49
194
 
195
+ #### 🚀 Features
50
196
 
197
+ - add autoObj() reducer ([26ad12a](https://github.com/thi-ng/umbrella/commit/26ad12a))
51
198
 
199
+ ## [7.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.1.0) (2020-06-14)
52
200
 
201
+ #### 🚀 Features
53
202
 
54
- # [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)
203
+ - add keyPermutations, tests, update readme ([5110d50](https://github.com/thi-ng/umbrella/commit/5110d50))
55
204
 
205
+ # [7.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@7.0.0) (2020-06-01)
56
206
 
57
- ### Build System
207
+ #### 🛑 Breaking changes
58
208
 
59
- * major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
209
+ - update readme ([47b6cef](https://github.com/thi-ng/umbrella/commit/47b6cef))
210
+ - BREAKING CHANGE: `flatten` string handling now *always* atomic
60
211
 
212
+ #### 🩹 Bug fixes
61
213
 
62
- ### Code Refactoring
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))
63
215
 
64
- * **transducers:** restructure package ([4d643f5](https://github.com/thi-ng/umbrella/commit/4d643f57a276ddd73e6214f9ea78d3302076d466))
216
+ #### ♻️ Refactoring
65
217
 
218
+ - update flatten & flattenWith ([35c2aaf](https://github.com/thi-ng/umbrella/commit/35c2aaf))
66
219
 
67
- ### BREAKING CHANGES
220
+ ## [6.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.7.0) (2020-06-01)
68
221
 
69
- * **transducers:** restructure/flatten pkg, remove sub folders
222
+ #### 🚀 Features
70
223
 
71
- - migrate all /func, /iter, /rfn, /xform files to main /src folder
72
- * discontinue CommonJS & UMD versions
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))
73
227
 
74
- - only ESM modules will be published from now on
75
- - CJS obsolete due to ESM support in recent versions of node:
76
- - i.e. launch NodeJS via:
77
- - `node --experimental-specifier-resolution=node --experimental-repl-await`
78
- - in the node REPL use `await import(...)` instead of `require()`
79
- - UMD obsolete due to widespread browser support for ESM
228
+ ## [6.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.6.0) (2020-05-29)
80
229
 
81
- Also:
82
- - normalize/restructure/reorg all package.json files
83
- - cleanup all build scripts, remove obsolete
84
- - switch from mocha to @thi.ng/testament for all tests
230
+ #### 🚀 Features
85
231
 
232
+ - add rangeNd(), add/update tests ([9239d6f](https://github.com/thi-ng/umbrella/commit/9239d6f))
86
233
 
234
+ #### ♻️ Refactoring
87
235
 
236
+ - update rangeNd() arg types ([d5aab14](https://github.com/thi-ng/umbrella/commit/d5aab14))
88
237
 
238
+ ## [6.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.5.0) (2020-05-14)
89
239
 
240
+ #### 🚀 Features
90
241
 
91
- ## [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)
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
92
247
 
93
- ### Bug Fixes
248
+ ## [6.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.4.0) (2020-03-01)
94
249
 
95
- - **transducers:** fix [#310](https://github.com/thi-ng/umbrella/issues/310), update flatten/flattenWith ([bfbd726](https://github.com/thi-ng/umbrella/commit/bfbd7269fe506c0f40c109f1701a1ea50dc944e9))
250
+ #### 🚀 Features
96
251
 
97
- ## [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)
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))
98
256
 
99
- ### Bug Fixes
257
+ ## [6.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.3.0) (2020-02-25)
100
258
 
101
- - **transducers:** update normFrequenciesAuto() ([5b5200b](https://github.com/thi-ng/umbrella/commit/5b5200b6d4e61df6c2e6458b99b8b10ea9f3bb65))
259
+ #### 🚀 Features
102
260
 
103
- # [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)
261
+ - add peek() xform, update readme ([26aa228](https://github.com/thi-ng/umbrella/commit/26aa228))
104
262
 
105
- ### Features
263
+ #### ♻️ Refactoring
106
264
 
107
- - **transducers:** add normalized frequencies() reducers ([d09db8d](https://github.com/thi-ng/umbrella/commit/d09db8d47be81e78dea1f4e16917249924b65e35))
265
+ - update imports ([f081687](https://github.com/thi-ng/umbrella/commit/f081687))
108
266
 
109
- # [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)
267
+ ## [6.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.2.0) (2020-01-24)
110
268
 
111
- ### Features
269
+ #### 🚀 Features
112
270
 
113
- - **transducers:** add minMax() reducer ([5f8a722](https://github.com/thi-ng/umbrella/commit/5f8a72215010645cce039cedab3313fae722e363))
114
- - **transducers:** update repeatedly(), iterate() ([b7d9ba4](https://github.com/thi-ng/umbrella/commit/b7d9ba42b812c3b39909e86be5eebfa4e235f535))
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))
115
282
 
116
- # [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)
283
+ #### 🩹 Bug fixes
117
284
 
118
- ### Features
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))
119
287
 
120
- - **transducers:** add partitionWhen() xform ([d2dd4d9](https://github.com/thi-ng/umbrella/commit/d2dd4d92895622bfa38d8458472d86f9e89e8952))
288
+ #### Performance improvements
121
289
 
122
- ## [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)
290
+ - update string version of palindrome() ([315cbf8](https://github.com/thi-ng/umbrella/commit/315cbf8))
291
+ - avoid char-wise iteration of original input
123
292
 
124
- ### Bug Fixes
293
+ #### ♻️ Refactoring
125
294
 
126
- - **transducers:** add missing type anno (TS4.2) ([7ced9be](https://github.com/thi-ng/umbrella/commit/7ced9be6b0dc41567c4b65517e8caba1d0bfffe2))
295
+ - update ConvolutionOpts ([0748d97](https://github.com/thi-ng/umbrella/commit/0748d97))
127
296
 
128
- # [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)
297
+ ## [6.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.1.0) (2019-11-30)
129
298
 
130
- ### Features
299
+ #### 🩹 Bug fixes
131
300
 
132
- - **transducers:** add TweenOpts.easing, update tween() ([f3a50f4](https://github.com/thi-ng/umbrella/commit/f3a50f46c800c23e8aa3e42ebd90e6b028c6a0db))
301
+ - add type hints ([651e281](https://github.com/thi-ng/umbrella/commit/651e281))
133
302
 
134
- # [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)
303
+ # [6.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@6.0.0) (2019-11-09)
135
304
 
136
- ### Features
305
+ #### 🛑 Breaking changes
137
306
 
138
- - **transducers:** add minMag/maxMag() reducers ([f7496b3](https://github.com/thi-ng/umbrella/commit/f7496b3989c0209f51c561cdba9b50d19f976357))
139
- - **transducers:** add reduceRight/transduceRight() ([b71ff9c](https://github.com/thi-ng/umbrella/commit/b71ff9c63ea158d44187b1ab5b25d1833eebde3c))
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
140
318
 
141
- # [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)
319
+ #### 🚀 Features
142
320
 
143
- ### Features
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))
144
323
 
145
- - **transducers:** add mapcatIndexed() xform ([4f3d6e0](https://github.com/thi-ng/umbrella/commit/4f3d6e02a0ff3fe7307cd03404277c03123f83e9))
324
+ #### ♻️ Refactoring
146
325
 
147
- # [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)
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))
148
328
 
149
- ### Bug Fixes
329
+ ### [5.4.5](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.4.5) (2019-09-21)
150
330
 
151
- - **transducers:** type ([dedce3f](https://github.com/thi-ng/umbrella/commit/dedce3fe874960769c4f6e178fd591bfd6eef263))
331
+ #### 🚀 Features
152
332
 
153
- ### Features
333
+ - add back pressure support for partitionSync() ([6e14952](https://github.com/thi-ng/umbrella/commit/6e14952))
154
334
 
155
- - **tranducers:** fix normRange2d, add normRange3d ([db75605](https://github.com/thi-ng/umbrella/commit/db75605a65a7ca47fae146935b78d20ec3569d11))
156
- - **transducers:** add normRange2 ([1125930](https://github.com/thi-ng/umbrella/commit/1125930e3ea32d80793876daa98729e7ee51fe76))
335
+ #### 🩹 Bug fixes
157
336
 
158
- # [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)
337
+ - fix mean() for reduce w/ init value ([d993bf2](https://github.com/thi-ng/umbrella/commit/d993bf2))
159
338
 
160
- ### Features
339
+ ### [5.4.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.4.4) (2019-08-21)
161
340
 
162
- - **transducers:** add autoObj() reducer ([26ad12a](https://github.com/thi-ng/umbrella/commit/26ad12a1ae73c563a944baf1db643930bba3fdb0))
341
+ #### ♻️ Refactoring
163
342
 
164
- # [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)
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))
165
354
 
166
- ### Features
355
+ ## [5.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.4.0) (2019-07-07)
167
356
 
168
- - **transducers:** add keyPermutations, tests, update readme ([5110d50](https://github.com/thi-ng/umbrella/commit/5110d50ba0c499c48c288820b9fb73ee42f9142f))
357
+ #### 🚀 Features
169
358
 
170
- # [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)
359
+ - enable TS strict compiler flags (refactor) ([2f8ec89](https://github.com/thi-ng/umbrella/commit/2f8ec89))
171
360
 
172
- ### Bug Fixes
361
+ #### 🩹 Bug fixes
173
362
 
174
- - **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))
363
+ - fix cat/mapcat arg types ([0d9b7cb](https://github.com/thi-ng/umbrella/commit/0d9b7cb))
175
364
 
176
- ### Documentation
365
+ #### ♻️ Refactoring
177
366
 
178
- - **transducers:** update readme ([47b6cef](https://github.com/thi-ng/umbrella/commit/47b6cefe2344d0e33a9d597b4bb758f2a2f7512e))
367
+ - address TS strictNullChecks flag ([c681aae](https://github.com/thi-ng/umbrella/commit/c681aae))
179
368
 
180
- ### BREAKING CHANGES
369
+ ### [5.3.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.3.3) (2019-04-03)
181
370
 
182
- - **transducers:** `flatten` string handling now *always* atomic
371
+ #### 🩹 Bug fixes
183
372
 
184
- # [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)
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))
185
374
 
186
- ### Features
375
+ ## [5.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.3.0) (2019-03-21)
187
376
 
188
- - **transducers:** add IDeref support slidingWindow() ([13f4184](https://github.com/thi-ng/umbrella/commit/13f4184f755fadb0a585b7e443c1218a7e2df5db))
377
+ #### 🚀 Features
189
378
 
190
- # [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)
379
+ - add toggle() xform ([b5c744e](https://github.com/thi-ng/umbrella/commit/b5c744e))
191
380
 
192
- ### Features
381
+ #### 🩹 Bug fixes
193
382
 
194
- - **transducers:** add rangeNd(), add/update tests ([9239d6f](https://github.com/thi-ng/umbrella/commit/9239d6fbf4de66300ed924b9de9a0fa67df0235c))
383
+ - update mean() completion step to avoid div by zero ([f644ecd](https://github.com/thi-ng/umbrella/commit/f644ecd))
195
384
 
196
- # [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)
385
+ ## [5.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.2.0) (2019-03-10)
197
386
 
198
- ### Features
387
+ #### 🚀 Features
199
388
 
200
- - **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))
389
+ - add / update convolution fns ([31e594b](https://github.com/thi-ng/umbrella/commit/31e594b))
390
+ - add buildKernel1d, convolve1d
201
391
 
202
- # [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)
392
+ #### ♻️ Refactoring
203
393
 
204
- ### Features
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))
205
395
 
206
- - **transducers:** add partitionTime() transducer ([efafd0b](https://github.com/thi-ng/umbrella/commit/efafd0ba3f5cfc52a42bb39819caadf35d6b2f42))
207
- - **transducers:** update mapKeys() key fns to accept 2nd arg ([749d2cd](https://github.com/thi-ng/umbrella/commit/749d2cd2fef29f6991bde75a775d6715600c3b34))
396
+ ### [5.1.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.1.2) (2019-03-03)
208
397
 
209
- # [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)
398
+ #### 🩹 Bug fixes
210
399
 
211
- ### Features
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)
212
402
 
213
- - **transducers:** add peek() xform, update readme ([26aa228](https://github.com/thi-ng/umbrella/commit/26aa2284309dcf07cca3714dec23a799efd44f30))
403
+ ## [5.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.1.0) (2019-02-26)
214
404
 
215
- # [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)
405
+ #### 🚀 Features
216
406
 
217
- ### Bug Fixes
407
+ - add converge() xform, add iter arg to iterate() ([8393a95](https://github.com/thi-ng/umbrella/commit/8393a95))
218
408
 
219
- - **transducers:** update keep() xform to accept nullable ([1bc561b](https://github.com/thi-ng/umbrella/commit/1bc561bde02f116a5b1e2aff7a3d432d737fc4ae))
220
- - **transducers:** use child reducer completion step in groupByMap/Obj() ([ff44fcb](https://github.com/thi-ng/umbrella/commit/ff44fcbc877d75a5d7458459656f3b86ab6a0399))
409
+ #### 🩹 Bug fixes
221
410
 
222
- ### Features
411
+ - update converge() & update readme ([9aca912](https://github.com/thi-ng/umbrella/commit/9aca912))
223
412
 
224
- - **transducers:** add dup() & palindrome(), update readme ([546bf9f](https://github.com/thi-ng/umbrella/commit/546bf9ffaa25c926f3e8af365049723bc9fe5877))
225
- - **transducers:** add IXform interface & TxLike type alias, update related functions ([49c62b7](https://github.com/thi-ng/umbrella/commit/49c62b7932eb943a8db472c3e1de0f18a35c43c6))
226
- - **transducers:** add line(), curve() ([31bd5b9](https://github.com/thi-ng/umbrella/commit/31bd5b9758a8da828cb9cc79820333279f810345))
227
- - **transducers:** add opt limit for cycle() ([186daff](https://github.com/thi-ng/umbrella/commit/186daff00edeb9b3a7e1475e3f903f3b1f0b75c2))
228
- - **transducers:** add pushSort() reducer ([444d2ee](https://github.com/thi-ng/umbrella/commit/444d2ee6b5111e4855b8cb3f2417738ccd934861))
229
- - **transducers:** add sortedKeys() iterator ([fa9343c](https://github.com/thi-ng/umbrella/commit/fa9343c8028c3f02e0322362db97a126f5c8a564))
230
- - **transducers:** update curve(), line(), iterate() ([3581a9d](https://github.com/thi-ng/umbrella/commit/3581a9d7c9eba9e3fa6cf8ec6a0a63e662157e83))
413
+ # [5.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@5.0.0) (2019-02-15)
231
414
 
232
- ### Performance Improvements
415
+ #### 🛑 Breaking changes
233
416
 
234
- - **transducers:** update string version of palindrome() ([315cbf8](https://github.com/thi-ng/umbrella/commit/315cbf80b577966e19f6a135d2c4256205c4a251))
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
235
443
 
236
- # [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)
444
+ #### ♻️ Refactoring
237
445
 
238
- ### Bug Fixes
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))
239
447
 
240
- - **transducers:** add type hints ([651e281](https://github.com/thi-ng/umbrella/commit/651e281df6ca7f713e78d17c656bb59bea52f877))
448
+ # [4.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@4.0.0) (2019-02-05)
241
449
 
242
- ### Features
450
+ #### 🛑 Breaking changes
243
451
 
244
- - **transducers:** add back pressure support for partitionSync() ([6e14952](https://github.com/thi-ng/umbrella/commit/6e1495229c3e9527c168ffe573533124088c3006))
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
245
461
 
246
- # [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)
462
+ #### 🩹 Bug fixes
247
463
 
248
- ### Code Refactoring
464
+ - ensure all vals in hexDump iterator version ([ae83bb2](https://github.com/thi-ng/umbrella/commit/ae83bb2))
249
465
 
250
- - **transducers:** rename old `interpolate` => `tween` ([918721d](https://github.com/thi-ng/umbrella/commit/918721dada9bab8045e397f13a2f77290eea2c88))
251
- - **transducers:** simplify args for extendSides, padSides, wrapSides ([a36651a](https://github.com/thi-ng/umbrella/commit/a36651a3aadb951a3d8bd117ddfa0dddf48d36ac))
252
- - **transducers:** update tween() args ([5523582](https://github.com/thi-ng/umbrella/commit/552358207cdf1dfdcb2ca78deac326ecad895fa9))
466
+ #### ♻️ Refactoring
253
467
 
254
- ### Features
468
+ - deprecate & rename tuples() => zip() ([d1151ce](https://github.com/thi-ng/umbrella/commit/d1151ce))
469
+ - update refs / re-exports
255
470
 
256
- - **transducers:** add new iterators: extendSides/padSides/symmetric() ([47001fc](https://github.com/thi-ng/umbrella/commit/47001fc9c16f53af427e872b04929113d69463aa))
257
- - **transducers:** add new transducers: interpolate, interpolateHermite/Linear ([c3fa9ab](https://github.com/thi-ng/umbrella/commit/c3fa9ab90797af1d89e05f1c3821a87f9aa8a543))
471
+ # [3.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@3.0.0) (2019-01-21)
258
472
 
259
- ### BREAKING CHANGES
473
+ #### 🛑 Breaking changes
260
474
 
261
- - **transducers:** replace tween() args w/ `TweenOpts` config object
262
- - **transducers:** rename `interpolate` iterator => `tween`
263
- - **transducers:** Rename wrap() => wrapSides(), update signature to be aligned w/ related iterators
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.
264
482
 
265
- ## [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)
483
+ #### 🩹 Bug fixes
266
484
 
267
- ### Bug Fixes
485
+ - update juxt re-export ([a894a24](https://github.com/thi-ng/umbrella/commit/a894a24))
268
486
 
269
- - **transducers:** fix mean() for reduce w/ init value ([d993bf2](https://github.com/thi-ng/umbrella/commit/d993bf2))
487
+ #### ♻️ Refactoring
270
488
 
271
- # [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)
489
+ - use arrow fns ([e9f0542](https://github.com/thi-ng/umbrella/commit/e9f0542))
272
490
 
273
- ### Bug Fixes
491
+ ### [2.3.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.3.2) (2019-01-02)
274
492
 
275
- - **transducers:** fix cat/mapcat arg types ([0d9b7cb](https://github.com/thi-ng/umbrella/commit/0d9b7cb))
493
+ #### 🩹 Bug fixes
276
494
 
277
- ### Features
495
+ - add reduced() handling for cat() ([cd17586](https://github.com/thi-ng/umbrella/commit/cd17586))
278
496
 
279
- - **transducers:** enable TS strict compiler flags (refactor) ([2f8ec89](https://github.com/thi-ng/umbrella/commit/2f8ec89))
497
+ ### [2.3.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.3.1) (2018-12-29)
280
498
 
281
- ## [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)
499
+ #### 🩹 Bug fixes
282
500
 
283
- ### Bug Fixes
501
+ - interpolate() interval selection, add minPos/maxPos ([a90a712](https://github.com/thi-ng/umbrella/commit/a90a712))
284
502
 
285
- - **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))
503
+ ## [2.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.3.0) (2018-12-28)
286
504
 
287
- # [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)
505
+ #### 🚀 Features
288
506
 
289
- ### Bug Fixes
507
+ - add interpolate() iterator, update readme ([846ab5c](https://github.com/thi-ng/umbrella/commit/846ab5c))
290
508
 
291
- - **transducers:** update mean() completion step to avoid div by zero ([f644ecd](https://github.com/thi-ng/umbrella/commit/f644ecd))
509
+ ### [2.2.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.2.7) (2018-12-17)
292
510
 
293
- ### Features
511
+ #### 🩹 Bug fixes
294
512
 
295
- - **transducers:** add toggle() xform ([b5c744e](https://github.com/thi-ng/umbrella/commit/b5c744e))
513
+ - add return type for range() ([0470505](https://github.com/thi-ng/umbrella/commit/0470505))
296
514
 
297
- # [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)
515
+ ### [2.2.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.2.3) (2018-12-01)
298
516
 
299
- ### Features
517
+ #### ♻️ Refactoring
300
518
 
301
- - **transducers:** add / update convolution fns ([31e594b](https://github.com/thi-ng/umbrella/commit/31e594b))
519
+ - implement range() as class w/ IReducible impl ([0e77d2c](https://github.com/thi-ng/umbrella/commit/0e77d2c))
302
520
 
303
- ## [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)
521
+ ## [2.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.2.0) (2018-10-17)
304
522
 
305
- ### Bug Fixes
523
+ #### 🚀 Features
306
524
 
307
- - **transducers:** update dedupe() w/ predicate arg ([c414423](https://github.com/thi-ng/umbrella/commit/c414423))
525
+ - update wrap*() fns to accept iterables ([515e5ba](https://github.com/thi-ng/umbrella/commit/515e5ba))
308
526
 
309
- # [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)
527
+ #### 🩹 Bug fixes
310
528
 
311
- ### Bug Fixes
529
+ - minor TS3.1 fixes ([1ef2361](https://github.com/thi-ng/umbrella/commit/1ef2361))
312
530
 
313
- - **transducers:** update converge() & update readme ([9aca912](https://github.com/thi-ng/umbrella/commit/9aca912))
531
+ #### ♻️ Refactoring
314
532
 
315
- ### Features
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))
316
535
 
317
- - **transducers:** add converge() xform, add iter arg to iterate() ([8393a95](https://github.com/thi-ng/umbrella/commit/8393a95))
536
+ ### [2.1.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.1.6) (2018-09-26)
318
537
 
319
- # [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)
538
+ #### 🩹 Bug fixes
320
539
 
321
- ### Code Refactoring
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
322
544
 
323
- - **transducers:** remove obsolete fns, update to use [@thi](https://github.com/thi).ng/arrays ([83cb816](https://github.com/thi-ng/umbrella/commit/83cb816))
324
- - **transducers:** remove obsolete randomID() & weightedRandom() ([4b0eec6](https://github.com/thi-ng/umbrella/commit/4b0eec6))
325
- - **transducers:** restructure, migrate / remove various functions ([05bf213](https://github.com/thi-ng/umbrella/commit/05bf213))
545
+ ### [2.1.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.1.2) (2018-09-22)
326
546
 
327
- ### BREAKING CHANGES
547
+ #### 🩹 Bug fixes
328
548
 
329
- - **transducers:** migrate / remove various functions to other packages
330
- - constantly(), delay(), identity() => @thi.ng/compose
331
- - randomID(), weightedRandom() => @thi.ng/random
332
- - remove re-exports:
333
- - even(), odd() (from @thi.ng/checks)
334
- - juxt() (from @thi.ng/compose)
335
- - remove obsolete hex() fn (use @thi.ng/strings fns instead)
336
- - **transducers:** migrate randomID() & weightedRandom() to @thi.ng/random
337
- - update choices() iterator
338
- - **transducers:** migrate various support fns to @thi.ng/arrays
339
- - remove/migrate functions:
340
- - binarySearch()
341
- - ensureArray() / ensureIterable()
342
- - fuzzyMatch()
343
- - peek()
344
- - shuffleN()
345
- - swizzler()
346
- - add support for IRandom in:
347
- - randomID()
348
- - choices()
349
- - weightedRandom()
350
- - sample()
351
- - update deps / readme
549
+ - add missing type annotation ([022101f](https://github.com/thi-ng/umbrella/commit/022101f))
352
550
 
353
- # [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)
551
+ ### [2.1.2-alpha.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.1.2-alpha.1) (2018-09-17)
354
552
 
355
- ### Bug Fixes
553
+ #### 🚀 Features
356
554
 
357
- - **transducers:** ensure all vals in hexDump iterator version ([ae83bb2](https://github.com/thi-ng/umbrella/commit/ae83bb2))
555
+ - add randomID() ([b488d2b](https://github.com/thi-ng/umbrella/commit/b488d2b))
358
556
 
359
- ### Code Refactoring
557
+ #### 🩹 Bug fixes
360
558
 
361
- - **transducers:** migrate binary related ops to new package ([a7c1ef7](https://github.com/thi-ng/umbrella/commit/a7c1ef7))
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))
362
561
 
363
- ### BREAKING CHANGES
562
+ ## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.1.0) (2018-09-08)
364
563
 
365
- - **transducers:** migrate all binary data related ops to new package @thi.ng/transducers-binary
564
+ #### 🚀 Features
366
565
 
367
- Removed: - bits - base64Encode/Decode - hexDump - partitionBits - utf8Encode/Decode
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))
368
570
 
369
- # [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)
571
+ ### [2.0.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.0.3) (2018-09-03)
370
572
 
371
- ### Bug Fixes
573
+ #### ♻️ Refactoring
372
574
 
373
- - **transducers:** update juxt re-export ([a894a24](https://github.com/thi-ng/umbrella/commit/a894a24))
575
+ - update normRange() ([4a16bd5](https://github.com/thi-ng/umbrella/commit/4a16bd5))
576
+ - add opt flag to exclude last value
374
577
 
375
- ### Build System
578
+ # [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@2.0.0) (2018-08-24)
376
579
 
377
- - update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703))
580
+ #### 🛑 Breaking changes
378
581
 
379
- ### 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()
380
602
 
381
- - enabled multi-outputs (ES6 modules, CJS, UMD)
382
- - build scripts now first build ES6 modules in package root, then call `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
383
- - 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
384
604
 
385
- ## [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))
386
612
 
387
- ### Bug Fixes
613
+ #### 🩹 Bug fixes
388
614
 
389
- - **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))
390
619
 
391
- ## [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
392
621
 
393
- ### 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
394
631
 
395
- - **transducers:** interpolate() interval selection, add minPos/maxPos ([a90a712](https://github.com/thi-ng/umbrella/commit/a90a712))
632
+ #### ♻️ Refactoring
396
633
 
397
- # [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))
398
642
 
399
- ### Features
643
+ ## [1.16.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.16.0) (2018-08-08)
400
644
 
401
- - **transducers:** add interpolate() iterator, update readme ([846ab5c](https://github.com/thi-ng/umbrella/commit/846ab5c))
645
+ #### 🚀 Features
402
646
 
403
- ## [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))
404
648
 
405
- ### Bug Fixes
649
+ #### ♻️ Refactoring
406
650
 
407
- - **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))
408
652
 
409
- # [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)
410
654
 
411
- ### Bug Fixes
655
+ #### 🚀 Features
412
656
 
413
- - **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))
414
658
 
415
- ### Features
659
+ ## [1.14.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.14.0) (2018-07-19)
416
660
 
417
- - **transducers:** update wrap*() fns to accept iterables ([515e5ba](https://github.com/thi-ng/umbrella/commit/515e5ba))
661
+ #### 🚀 Features
418
662
 
419
- ## [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
420
668
 
421
- ### Bug Fixes
669
+ #### Performance improvements
422
670
 
423
- - **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))
424
672
 
425
- ## [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)
426
674
 
427
- ### Bug Fixes
675
+ #### 🚀 Features
428
676
 
429
- - **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))
430
678
 
431
- ## [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)
432
680
 
433
- ### Bug Fixes
681
+ #### 🩹 Bug fixes
434
682
 
435
- - **transducers:** str() initial result handling ([f001314](https://github.com/thi-ng/umbrella/commit/f001314))
436
- - **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))
437
684
 
438
- ### Features
685
+ ### [1.12.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.12.1) (2018-07-09)
439
686
 
440
- - **transducers:** add randomID() ([b488d2b](https://github.com/thi-ng/umbrella/commit/b488d2b))
687
+ #### ♻️ Refactoring
441
688
 
442
- # [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))
443
690
 
444
- ### Features
691
+ ## [1.12.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.12.0) (2018-07-03)
445
692
 
446
- - **transducers:** add window() xform ([2f0f3d4](https://github.com/thi-ng/umbrella/commit/2f0f3d4))
447
- - **transducers:** rename window() => slidingWindow(), update readme ([1f22867](https://github.com/thi-ng/umbrella/commit/1f22867))
448
- - **transducers:** update partitionSync() xform & PartitionSyncOpts ([d8fdc01](https://github.com/thi-ng/umbrella/commit/d8fdc01))
693
+ #### 🚀 Features
449
694
 
450
- # [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))
451
696
 
452
- ### Bug Fixes
697
+ ## [1.11.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.11.0) (2018-06-19)
453
698
 
454
- - **transducers:** arg handling in rename() ([7a5be21](https://github.com/thi-ng/umbrella/commit/7a5be21))
455
- - **transducers:** copy&paste error (push) ([832e57f](https://github.com/thi-ng/umbrella/commit/832e57f))
456
- - **transducers:** hex type decl ([723da5b](https://github.com/thi-ng/umbrella/commit/723da5b))
457
- - **transducers:** iterator1() final reduced value handling ([d861bdd](https://github.com/thi-ng/umbrella/commit/d861bdd))
699
+ #### 🚀 Features
458
700
 
459
- ### Code Refactoring
701
+ - add matchFirst()/matchLast() xforms, update readme ([bc261e5](https://github.com/thi-ng/umbrella/commit/bc261e5))
460
702
 
461
- - **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)
462
704
 
463
- ### Features
705
+ #### ♻️ Refactoring
464
706
 
465
- - **transducers:** add fill() & fillN() reducers ([0bd860e](https://github.com/thi-ng/umbrella/commit/0bd860e))
466
- - **transducers:** add GroupByOpts interface, update groupBy* reducers ([2c3a114](https://github.com/thi-ng/umbrella/commit/2c3a114))
467
- - **transducers:** update all reducers to accept opt iterables ([89b4ad5](https://github.com/thi-ng/umbrella/commit/89b4ad5))
468
- - **transducers:** update all xforms to also work as iterator ([bae8a1d](https://github.com/thi-ng/umbrella/commit/bae8a1d))
469
- - **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
470
710
 
471
- ### Performance Improvements
711
+ ## [1.10.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.10.0) (2018-05-14)
472
712
 
473
- - **transducers:** add IReducible, update reduce() ([9d83255](https://github.com/thi-ng/umbrella/commit/9d83255))
474
- - **transducers:** add iterator1(), update various xforms ([ab662d8](https://github.com/thi-ng/umbrella/commit/ab662d8))
713
+ #### 🚀 Features
475
714
 
476
- ### 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()
477
721
 
478
- - **transducers:** groupByMap() & groupByObj() args now given as options object
479
- - **transducers:** replace some xform args with options objects, impacted are:
480
- - convolve2d()
481
- - filterFuzzy()
482
- - hexDump()
483
- - movingMedian()
484
- - partitionSort()
485
- - partitionSync()
486
- - streamSort()
487
- - wordWrap()
488
- - **transducers:** rename inspect() => trace()
722
+ ## [1.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.9.0) (2018-05-10)
489
723
 
490
- # [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
491
725
 
492
- ### Features
726
+ - add normRange() iterator ([55f29b8](https://github.com/thi-ng/umbrella/commit/55f29b8))
493
727
 
494
- - **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)
495
729
 
496
- # [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
497
731
 
498
- ### 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))
499
733
 
500
- - **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)
501
735
 
502
- # [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
503
737
 
504
- ### Features
738
+ - add generics for compR(), fix types in mapNth() ([3b7c9d9](https://github.com/thi-ng/umbrella/commit/3b7c9d9))
505
739
 
506
- - **transducer:** add asIterable() helper ([ccc37c6](https://github.com/thi-ng/umbrella/commit/ccc37c6))
507
- - **transducers:** add juxtR() for multiplexed reductions from same src ([9b07d12](https://github.com/thi-ng/umbrella/commit/9b07d12))
508
- - **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)
509
741
 
510
- ### Performance Improvements
742
+ #### 🚀 Features
511
743
 
512
- - **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))
513
745
 
514
- # [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)
515
747
 
516
- ### Features
748
+ #### ♻️ Refactoring
517
749
 
518
- - **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))
519
751
 
520
- ## [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)
521
753
 
522
- ### Bug Fixes
754
+ #### 🚀 Features
523
755
 
524
- - **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))
525
758
 
526
- # [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
527
760
 
528
- ### 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
529
765
 
530
- - **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)
531
767
 
532
- # [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
533
769
 
534
- ### Features
770
+ - add permutations()/permutationsN() generators ([91938ed](https://github.com/thi-ng/umbrella/commit/91938ed))
535
771
 
536
- - **transducers:** add matchFirst()/matchLast() xforms, update readme ([bc261e5](https://github.com/thi-ng/umbrella/commit/bc261e5))
772
+ #### ♻️ Refactoring
537
773
 
538
- # [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))
539
777
 
540
- ### Features
778
+ ### [1.5.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.5.1) (2018-03-02)
541
779
 
542
- - **transducers:** add filterFuzzy() xform ([2bebba2](https://github.com/thi-ng/umbrella/commit/2bebba2))
543
- - **transducers:** add wrap*() iterators ([306625d](https://github.com/thi-ng/umbrella/commit/306625d))
780
+ #### 🩹 Bug fixes
544
781
 
545
- # [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))
546
783
 
547
- ### Features
784
+ ## [1.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.5.0) (2018-02-26)
548
785
 
549
- - **transducers:** add normRange() iterator ([55f29b8](https://github.com/thi-ng/umbrella/commit/55f29b8))
786
+ #### 🚀 Features
550
787
 
551
- ## [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))
552
789
 
553
- ### Bug Fixes
790
+ ## [1.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.4.0) (2018-02-23)
554
791
 
555
- - **transducers:** add generics for compR(), fix types in mapNth() ([3b7c9d9](https://github.com/thi-ng/umbrella/commit/3b7c9d9))
556
- - **transducers:** Provide argument types for compR() and deepTransform() ([de89f00](https://github.com/thi-ng/umbrella/commit/de89f00))
792
+ #### 🚀 Features
557
793
 
558
- # [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))
559
795
 
560
- ### Features
796
+ #### ♻️ Refactoring
561
797
 
562
- - **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))
563
799
 
564
- # [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)
565
801
 
566
- ### Features
802
+ #### 🚀 Features
567
803
 
568
- - **transducers:** add mapVals() xform ([abc195a](https://github.com/thi-ng/umbrella/commit/abc195a))
569
- - **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))
570
805
 
571
- # [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)
572
807
 
573
- ### Features
808
+ #### 🚀 Features
574
809
 
575
- - **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))
576
813
 
577
- ## [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
578
815
 
579
- ### Bug Fixes
816
+ - update imports `step()` ([48f8bb8](https://github.com/thi-ng/umbrella/commit/48f8bb8))
580
817
 
581
- - **transducers:** flattenWith() ([3d8aa32](https://github.com/thi-ng/umbrella/commit/3d8aa32))
818
+ #### ♻️ Refactoring
582
819
 
583
- # [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))
584
821
 
585
- ### Features
822
+ ## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.1.0) (2018-02-08)
586
823
 
587
- - **transducers:** add keys()/vals() iterators, refactor pairs() ([9824844](https://github.com/thi-ng/umbrella/commit/9824844))
824
+ #### 🚀 Features
588
825
 
589
- # [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))
590
827
 
591
- ### Features
828
+ #### ♻️ Refactoring
592
829
 
593
- - **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))
594
831
 
595
- # [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)
596
833
 
597
- ### Features
834
+ #### 🩹 Bug fixes
598
835
 
599
- - **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))
600
837
 
601
- # [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)
602
839
 
603
- ### Bug Fixes
840
+ #### ♻️ Refactoring
604
841
 
605
- - **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))
606
843
 
607
- ### Features
844
+ ### [1.0.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.0.2) (2018-01-29)
608
845
 
609
- - **transducers:** add convolve2d xform & types ([ab8a855](https://github.com/thi-ng/umbrella/commit/ab8a855))
610
- - **transducers:** add movingMedian() xform ([d7b1d0d](https://github.com/thi-ng/umbrella/commit/d7b1d0d))
611
- - **transducers:** add range2d / range3d generators ([722042b](https://github.com/thi-ng/umbrella/commit/722042b))
846
+ #### Performance improvements
612
847
 
613
- # [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
614
850
 
615
- ### Features
851
+ # [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@1.0.0) (2018-01-28)
616
852
 
617
- - **transducers:** add page() xform, update readme ([855d803](https://github.com/thi-ng/umbrella/commit/855d803))
853
+ #### 🛑 Breaking changes
618
854
 
619
- ## [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
620
869
 
621
- ### Bug Fixes
870
+ #### 🚀 Features
622
871
 
623
- - **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))
624
883
 
625
- ## [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
626
885
 
627
- ### 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))
628
889
 
629
- - **transducers:** avoid result object cloning in struct() xform ([d774e32](https://github.com/thi-ng/umbrella/commit/d774e32))
890
+ #### ♻️ Refactoring
630
891
 
631
- # [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))
632
893
 
633
- ### Bug Fixes
894
+ ### [0.11.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/transducers@0.11.2) (2018-01-25)
634
895
 
635
- - **transducers:** add "complete" step handling in scan() ([8e5204d](https://github.com/thi-ng/umbrella/commit/8e5204d))
636
- - **transducers:** scan() complete handling ([44db970](https://github.com/thi-ng/umbrella/commit/44db970))
896
+ #### 🩹 Bug fixes
637
897
 
638
- ### 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))
639
901
 
640
- - **transducers:** rename join() => str() rfn ([e268e35](https://github.com/thi-ng/umbrella/commit/e268e35))
902
+ #### ♻️ Refactoring
641
903
 
642
- ### 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))
643
906
 
644
- - **transducers:** add every(), some() rfns ([63344e4](https://github.com/thi-ng/umbrella/commit/63344e4))
645
- - **transducers:** add labeled() xform ([0b3c786](https://github.com/thi-ng/umbrella/commit/0b3c786))
646
- - **transducers:** add multiplex() xform & docs ([beb2cee](https://github.com/thi-ng/umbrella/commit/beb2cee))
647
- - **transducers:** add multiplexObj() ([931b67f](https://github.com/thi-ng/umbrella/commit/931b67f))
648
- - **transducers:** add noop() xform, update readme ([7b21aa6](https://github.com/thi-ng/umbrella/commit/7b21aa6))
649
- - **transducers:** add utf8Encode()/utf8Decode() xforms ([e50fa26](https://github.com/thi-ng/umbrella/commit/e50fa26))
650
- - **transducers:** update frequencies() & groupByMap() ([4b8d037](https://github.com/thi-ng/umbrella/commit/4b8d037))
651
- - **transducers:** update re-exports, extract throttleTime() into own file ([45d6bc6](https://github.com/thi-ng/umbrella/commit/45d6bc6))
652
- - **transducers:** update re-exports, minor update reductions() ([e555ff5](https://github.com/thi-ng/umbrella/commit/e555ff5))
653
- - **transducers:** update step() to support multiple results ([1f32fc0](https://github.com/thi-ng/umbrella/commit/1f32fc0))
654
- - **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)
655
908
 
656
- ### BREAKING CHANGES
909
+ #### 🚀 Features
657
910
 
658
- - **transducers:** throttle() requires stateful predicate now
659
- - **transducers:** rename join() => str() reduer in prep for actual set join() op
660
- - **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))