rambda 10.2.0 → 10.3.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,3 +1,36 @@
1
+ 10.3.1
2
+
3
+ - Fix issue with wrong order of inputs in `R.propOr` - [Issue #779](https://github.com/selfrefactor/rambda/issues/779)
4
+
5
+ - Fix issue with TypeScript definitions for `R.includes`- [Issue #781](https://github.com/selfrefactor/rambda/issues/781)
6
+
7
+ 10.3.0
8
+
9
+ - Add `R.mapPropObject`
10
+
11
+ - Add `R.duplicateBy`
12
+ - Add `R.duplicateBy`
13
+
14
+ - Add `R.filterAsync`
15
+ - Add `R.filterAsync`
16
+
17
+ - Add `R.indexBy`
18
+ - Add `R.indexBy`
19
+
20
+ - Restore `R.replaceAll`
21
+ - Restore `R.replaceAll`
22
+
23
+ - Remove option for `R.mapAsync` to be called outside of `R.pipeAsync`. This is done for consistency as all other methods follow this rule, i.e. they are all curried.
24
+
25
+ - Fix `R.pluck` to work without `R.pipe`
26
+ - Remove option for `R.mapAsync` to be called outside of `R.pipeAsync`. This is done for consistency as all other methods follow this rule, i.e. they are all curried.
27
+
28
+ - Fix `R.pluck` to work without `R.pipe`
29
+
30
+ 10.2.0
31
+
32
+ Add `R.modifyPath`
33
+
1
34
  10.1.0
2
35
 
3
36
  - Add `R.assertType` and `R.convertToType` methods
@@ -22,7 +55,7 @@ This is major revamp of `Rambda` library:
22
55
 
23
56
  - Confusing methods are removed. For example, `R.cond` and `R.ifElse` are removed as their usage inside `R.piped` makes the whole chain less readable. Such logic should be part of your codebase, not part of external library.
24
57
 
25
- - All methods that expect more than 1 input, will have to be called with `R.methodName(input1)(input2)` or `R.methodName(input1, input2)(input3)`. This is to make TypeScript definitions easier to maintain.
58
+ - All methods that expect more than 1 input, will have to be called with `R.methodName(input1)(input2)` or `R.methodName(input1, input2)(input3)`. This is to make TypeScript definitions easier to maintain.
26
59
 
27
60
  - Optimize many methods to better work in TypeScript context with `R.pipe`. The focus was passing objects through the `R.pipe` chain.
28
61
 
@@ -34,83 +67,149 @@ This is major revamp of `Rambda` library:
34
67
  - Remove following methods:
35
68
 
36
69
  -- Lenses - `R.lens`, `R.lensProp`, `R.lensPath`, `R.view`, `R.set`, `R.over`
70
+
37
71
  -- T, F
72
+
38
73
  -- add
74
+
39
75
  -- addIndex, addIndexRight
76
+
40
77
  -- always
78
+
41
79
  -- ap
80
+
42
81
  -- applySpec
82
+
43
83
  -- applyTo
84
+
44
85
  -- assoc, assocPath, dissoc, dissocPath
86
+
45
87
  -- binary
88
+
46
89
  -- bind
90
+
47
91
  -- call
92
+
48
93
  -- collectBy
94
+
49
95
  -- compose
96
+
50
97
  -- composeWith
98
+
51
99
  -- cond
100
+
52
101
  -- converge
102
+
53
103
  -- curry
104
+
54
105
  -- difference, differenceWith
106
+
55
107
  -- divide, multiply, subtract
108
+
56
109
  -- endsWith/startsWith
110
+
57
111
  -- flip
112
+
58
113
  -- forEachObjIndexed
114
+
59
115
  -- fromPairs
116
+
60
117
  -- gte, lte, lt, gt
118
+
61
119
  -- identical
120
+
62
121
  -- ifElse
122
+
63
123
  -- insert
124
+
64
125
  -- juxt
126
+
65
127
  -- length
128
+
66
129
  -- mapObjIndexed
130
+
67
131
  -- mergeAll, mergeLeft, mergeDeepLeft, mergeDeepRight
132
+
68
133
  -- move
134
+
69
135
  -- partitionIndexed
136
+
70
137
  -- pickAll
138
+
71
139
  -- pickBy
140
+
72
141
  -- repeat
142
+
73
143
  -- splitWhen
144
+
74
145
  -- toLower/toUpper
146
+
75
147
  -- unapply
148
+
76
149
  -- unnest
150
+
77
151
  -- update
152
+
78
153
  -- without
79
154
 
80
155
  - Add following methods:
81
156
 
82
157
  -- R.pipeAsync
158
+
83
159
  -- R.addProp
160
+
84
161
  -- R.createObjectFromKeys
162
+
85
163
  -- R.mapAsync
164
+
86
165
  -- R.mapParallelAsync
166
+
87
167
  -- R.ascend/R.descend
168
+
88
169
  -- R.shuffle
170
+
89
171
  -- R.permutations
172
+
90
173
  -- R.compact
174
+
91
175
  -- R.rejectObject
176
+
92
177
  -- R.findNth
178
+
93
179
  -- R.combinations
180
+
94
181
  -- R.sortByPath
182
+
95
183
  -- R.sortByPathDescending
184
+
96
185
  -- R.sortByDescending
186
+
97
187
  -- R.flattenObject
188
+
98
189
  -- R.addPropToObjects
99
190
 
100
191
  - Rename following methods:
101
192
 
102
193
  -- modifyItemAtIndex -> adjust
103
- -- checkObjectWithSpec -> where
194
+
195
+ -- checkObjectWithSpec -> where
196
+
104
197
  -- objectIncludes -> whereEq
198
+
105
199
  -- modify -> modifyProp
200
+
106
201
  -- chain -> flatMap
202
+
107
203
  -- mapObjIndexed -> mapObject
108
204
 
109
205
  _ Regarding using object as input with TypeScript in methods such as `R.map/filter` - this feature is no longer supported in TypeScript as it has multiple issues when using inside pipes. In JS, it still works as before. Following methods are affected:
110
206
 
111
207
  -- R.map
208
+
112
209
  -- R.mapIndexed
210
+
113
211
  -- R.filter
212
+
114
213
  -- R.reject
115
214
 
116
215
  - Regarding using string as path input in `R.omit`, `R.pick` and `R.path` with TypeScript - now it require explicit definition of expected return type.
@@ -139,36 +238,63 @@ _ Regarding using object as input with TypeScript in methods such as `R.map/filt
139
238
  - Sync with typing of `@types/ramda`:
140
239
 
141
240
  -- allPass
241
+
142
242
  -- anyPass
243
+
143
244
  -- append
245
+
144
246
  -- both
247
+
145
248
  -- countBy
249
+
146
250
  -- drop
251
+
147
252
  -- dropLast
253
+
148
254
  -- dropRepeatsBy
255
+
149
256
  -- either
257
+
150
258
  -- filter
259
+
151
260
  -- forEach
261
+
152
262
  -- keys
263
+
153
264
  -- map
265
+
154
266
  -- mergeAll
267
+
155
268
  -- modify
269
+
156
270
  -- modifyPath
271
+
157
272
  -- omit
273
+
158
274
  -- partition
275
+
159
276
  -- pluck
277
+
160
278
  -- prepend
279
+
161
280
  -- propEq
281
+
162
282
  -- where
283
+
163
284
  -- whereAny
164
285
 
165
286
  - Sync with typing of `remeda`:
166
287
 
167
288
  -- filter
289
+
168
290
  -- reject
291
+
169
292
  -- map
293
+
170
294
  -- mapObject
295
+
171
296
  -- toPairs
297
+
172
298
  -- partition
173
299
 
174
300
  - Publish to JSR registry - https://jsr.io/@rambda/rambda
@@ -178,7 +304,9 @@ _ Regarding using object as input with TypeScript in methods such as `R.map/filt
178
304
  - Improve TypeScript definitions of:
179
305
 
180
306
  -- objOf
307
+
181
308
  -- pluck
309
+
182
310
  -- mergeWith
183
311
 
184
312
  - Change `Jest` with `Vitest`.
@@ -224,7 +352,7 @@ const result = piped(
224
352
 
225
353
  - Add `R.isNotEmpty` as it is new method in `Ramda`
226
354
 
227
- - Fix `R.head`/`R.last` TS definition - It returns `undefined` if array has length of 0. Before
355
+ - Fix `R.head`/`R.last` TS definition - It returns `undefined` if array has length of 0. Before
228
356
 
229
357
  9.2.1
230
358
 
@@ -234,7 +362,7 @@ const result = piped(
234
362
 
235
363
  - `R.once` TS type definition miss to context argument and its type - [Issue #728](https://github.com/selfrefactor/rambda/issues/728)
236
364
 
237
- - Fix implementation of `R.unless` function - https://github.com/selfrefactor/rambda/pull/726
365
+ - Fix implementation of `R.unless` function - https://github.com/selfrefactor/rambda/pull/726
238
366
 
239
367
  9.1.1
240
368
 
@@ -310,7 +438,7 @@ Breaking change in TS definitions of `lenses` as now they are synced to `Ramda`
310
438
 
311
439
  - Fix cannot compare errors in `Deno` with `R.equals` - [Issue #704](https://github.com/selfrefactor/rambda/issues/704).
312
440
 
313
- - Fix cannot compare `BigInt` with `R.equals`
441
+ - Fix cannot compare `BigInt` with `R.equals`
314
442
 
315
443
  8.3.0
316
444
 
@@ -358,771 +486,4 @@ Add the following methods:
358
486
 
359
487
  > Reason for breaking change - synchronize with Ramda `0.29.0` release:
360
488
 
361
- - change order of `R.propEq` - [Ramda MR](https://github.com/ramda/ramda/pull/2938/files)
362
-
363
-
364
- 7.5.0
365
-
366
- - IMPORTANT: Remove `export` property in `package.json` in order to allow `Rambda` support for projects with `"type": "module"` in `package.json` - [Issue #667](https://github.com/selfrefactor/rambda/issues/657)
367
-
368
- - Add `R.unnest` - [Rambdax issue 89](https://github.com/selfrefactor/rambdax/issues/89)
369
-
370
- - `R.uniq` is not using `R.equals` as Ramda does - [Issue #88](https://github.com/selfrefactor/rambdax/issues/88)
371
-
372
- - Fix `R.path(['non','existing','path'], obj)` TS definition as 7.4.0 release caused TS errors - [Issue #668](https://github.com/selfrefactor/rambda/issues/668)
373
-
374
- 7.4.0
375
-
376
- - Synchronize with `@types/ramda` - `R.prop`, `R.path`, `R.pickAll`
377
-
378
- - Remove `esm` Rollup output due to tree-shaking issues.
379
-
380
- - Upgrade all dev dependencies.
381
-
382
- 7.3.0
383
-
384
- - Important - changing import declaration in `package.json` in order to fix tree-shaking issue - [Issue #647](https://github.com/selfrefactor/rambda/issues/647)
385
-
386
- - Add `R.modify`
387
-
388
- - Allow multiple inputs in TypeScript versions of `R.anyPass` and `R.allPass` - [Issue #642](https://github.com/selfrefactor/rambda/issues/604)
389
-
390
- - Using wrong clone of object in `R.mergeDeepRight` - [Issue #650](https://github.com/selfrefactor/rambda/issues/650)
391
-
392
- - Missing early return in `R.where` - [Issue #648](https://github.com/selfrefactor/rambda/issues/648)
393
-
394
- - `R.allPass` doesn't accept more than 1 parameters for function predicates- [Issue #604](https://github.com/selfrefactor/rambda/issues/604)
395
-
396
- 7.2.1
397
-
398
- - Remove bad typings of `R.propIs` which caused the library to cannot be build with TypeScript.
399
-
400
- - Drop support for `Wallaby` as per [https://github.com/wallabyjs/public/issues/3037](https://github.com/wallabyjs/public/issues/3037)
401
-
402
- 7.2.0
403
-
404
- - Wrong `R.update` if index is `-1` - [PR #593](https://github.com/selfrefactor/rambda/pull/593)
405
-
406
- - Wrong curried typings in `R.anyPass` - [Issue #642](https://github.com/selfrefactor/rambda/issues/642)
407
-
408
- - `R.modifyPath` not exported - [Issue #640](https://github.com/selfrefactor/rambda/issues/640)
409
-
410
- - Add new method `R.uniqBy`. Implementation is coming from [Ramda MR#2641](https://github.com/ramda/ramda/pull/2641)
411
-
412
- - Apply the following changes from `@types/rambda`:
413
-
414
- -- [https://github.com/DefinitelyTyped/DefinitelyTyped/commit/bab47272d52fc7bb81e85da36dbe9c905a04d067](add `AnyFunction` and `AnyConstructor`)
415
-
416
- -- Improve `R.ifElse` typings - https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59291
417
-
418
- -- Make `R.propEq` safe for `null/undefined` arguments - https://github.com/ramda/ramda/pull/2594/files
419
-
420
- 7.1.4
421
-
422
- - `R.mergeRight` not found on `Deno` import - [Issue #633](https://github.com/selfrefactor/rambda/issues/633)
423
-
424
- 7.1.0
425
-
426
- - Add `R.mergeRight` - introduced by Ramda's latest release. While Ramda renames `R.merge`, Rambda will keep `R.merge`.
427
-
428
- - Rambda's `pipe/compose` doesn't return proper length of composed function which leads to issue with `R.applySpec`. It was fixed by using Ramda's `pipe/compose` logic - [Issue #627](https://github.com/selfrefactor/rambda/issues/627)
429
-
430
- - Replace `Async` with `Promise` as return type of `R.type`.
431
-
432
- - Add new types as TypeScript output for `R.type` - "Map", "WeakMap", "Generator", "GeneratorFunction", "BigInt", "ArrayBuffer"
433
-
434
- - Add `R.juxt` method
435
-
436
- - Add `R.propSatisfies` method
437
-
438
- - Add new methods after `Ramda` version upgrade to `0.28.0`:
439
-
440
- -- R.count
441
- -- R.modifyPath
442
- -- R.on
443
- -- R.whereAny
444
- -- R.partialObject
445
-
446
- 7.0.3
447
-
448
- Rambda.none has wrong logic introduced in version `7.0.0` - [Issue #625](https://github.com/selfrefactor/rambda/issues/625)
449
-
450
- 7.0.2
451
-
452
- Rambda doesn't work with `pnpm` due to wrong export configuration - [Issue #619](https://github.com/selfrefactor/rambda/issues/619)
453
-
454
- 7.0.1
455
-
456
- - Wrong ESM export configuration in `package.json` - [Issue #614](https://github.com/selfrefactor/rambda/issues/614)
457
-
458
- 7.0.0
459
-
460
- - Breaking change - sync `R.compose`/`R.pipe` with `@types/ramda`. That is significant change so as safeguard, it will lead a major bump. Important - this lead to raising required TypeScript version to `4.2.2`. In other words, to use `Rambda` you'll need TypeScript version `4.2.2` or newer.
461
-
462
- Related commit in `@types/ramda` - https://github.com/DefinitelyTyped/DefinitelyTyped/commit/286eff4f76d41eb8f091e7437eabd8a60d97fc1f#diff-4f74803fa83a81e47cb17a7d8a4e46a7e451f4d9e5ce2f1bd7a70a72d91f4bc1
463
-
464
- There are several other changes in `@types/ramda` as stated in [this comment](https://github.com/ramda/ramda/issues/2976#issuecomment-990408945). This leads to change of typings for the following methods in **Rambda**:
465
-
466
- -- R.unless
467
-
468
- -- R.toString
469
-
470
- -- R.ifElse
471
-
472
- -- R.always
473
-
474
- -- R.complement
475
-
476
- -- R.cond
477
-
478
- -- R.is
479
-
480
- -- R.sortBy
481
-
482
- -- R.dissoc
483
-
484
- -- R.toPairs
485
-
486
- -- R.assoc
487
-
488
- -- R.toLower
489
-
490
- -- R.toUpper
491
-
492
- - One more reason for the breaking change is changing of export declarations in `package.json` based on [this blog post](https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/#packagejson-exports-imports-and-self-referencing) and [this merged Ramda's PR](https://github.com/ramda/ramda/pull/2999). This also led to renaming of `babel.config.js` to `babel.config.cjs`.
493
-
494
- - Add `R.apply`, `R.bind` and `R.unapply`
495
-
496
- - `R.startsWith/R.endsWith` now support lists as inputs. This way, it matches current Ramda behavior.
497
-
498
- - Remove unused typing for `R.chain`.
499
-
500
- - `R.map`/`R.filter` no longer accept bad inputs as iterable. This way, Rambda behaves more like Ramda, which also throws.
501
-
502
- - Make `R.lastIndexOf` follow the logic of `R.indexOf`.
503
-
504
- - Change `R.type` logic to Ramda logic. This way, `R.type` can return `Error` and `Set` as results.
505
-
506
- - Add missing logic in `R.equals` to compare sets - [Issue #599](https://github.com/selfrefactor/rambda/issues/599)
507
-
508
- - Improve list cloning - [Issue #595](https://github.com/selfrefactor/rambda/issues/595)
509
-
510
- - Handle multiple inputs with `R.allPass` and `R.anyPass` - [Issue #604](https://github.com/selfrefactor/rambda/issues/604)
511
-
512
- - Fix `R.length` wrong logic with inputs as `{length: 123}` - [Issue #606](https://github.com/selfrefactor/rambda/issues/606).
513
-
514
- - Improve non-curry typings of `R.merge` by using types from [mobily/ts-belt](https://github.com/mobily/ts-belt).
515
-
516
- - Improve performance of `R.uniqWith`.
517
-
518
- - Wrong `R.update` if index is `-1` - [PR #593](https://github.com/selfrefactor/rambda/pull/593)
519
-
520
- - Make `R.eqProps` safe for falsy inputs - based on [this opened Ramda PR](https://github.com/ramda/ramda/pull/2943).
521
-
522
- - Incorrect benchmarks for `R.pipe/R.compose` - [Issue #608](https://github.com/selfrefactor/rambda/issues/608)
523
-
524
- - Fix `R.last/R.head` typings - [Issue #609](https://github.com/selfrefactor/rambda/issues/609)
525
-
526
- 6.9.0
527
-
528
- - Fix slow `R.uniq` methods - [Issue #581](https://github.com/selfrefactor/rambda/issues/581)
529
-
530
- Fixing `R.uniq` was done by improving `R.indexOf` which has performance implication to all methods importing `R.indexOf`:
531
-
532
- - R.includes
533
- - R.intersection
534
- - R.difference
535
- - R.excludes
536
- - R.symmetricDifference
537
- - R.union
538
-
539
- - R.without no longer support the following case - `without('0:1', ['0', '0:1']) // => ['0']`. Now it throws as the first argument should be a list, not a string. Ramda, on the other hand, returns an empty list - https://github.com/ramda/ramda/issues/3086.
540
-
541
- 6.8.3
542
-
543
- - Fix TypeScript build process with `rambda/immutable` - [Issue #572](https://github.com/selfrefactor/rambda/issues/572)
544
-
545
- - Add `R.objOf` method
546
-
547
- - Add `R.mapObjIndexed` method
548
-
549
- - Publish shorter README.md version to NPM
550
-
551
- 6.8.0
552
-
553
- - `R.has` use `Object.prototype.hasOwnProperty`- [Issue #572](https://github.com/selfrefactor/rambda/issues/572)
554
-
555
- - Expose `immutable.ts` typings which are Rambda typings with `readonly` statements - [Issue #565](https://github.com/selfrefactor/rambda/issues/565)
556
-
557
- - Fix `R.intersection` wrong order compared to Ramda.
558
-
559
- - `R.path` wrong return of `null` instead of `undefined` when path value is `null` - [PR #577](https://github.com/selfrefactor/rambda/pull/577)
560
-
561
- 6.7.0
562
-
563
- - Remove `ts-toolbelt` types from TypeScript definitions. Most affected are the following methods, which lose one of its curried definitions:
564
-
565
- 1. R.maxBy
566
- 2. R.minBy
567
- 3. R.pathEq
568
- 4. R.viewOr
569
- 5. R.when
570
- 6. R.merge
571
- 7. R.mergeDeepRight
572
- 8. R.mergeLeft
573
-
574
- 6.6.0
575
-
576
- - Change `R.piped` typings to mimic that of `R.pipe`. Main difference is that `R.pipe` is focused on unary functions.
577
-
578
- - Fix wrong logic when `R.without` use `R.includes` while it should use array version of `R.includes`.
579
-
580
- - Use uglify plugin for UMD bundle.
581
-
582
- - Remove `dist` folder from `.gitignore` in order to fix `Deno` broken package. [Issue #570](https://github.com/selfrefactor/rambda/issues/570)
583
-
584
- - Improve `R.fromPairs` typings - [Issue #567](https://github.com/selfrefactor/rambda/issues/567)
585
-
586
- 6.5.3
587
-
588
- - Wrong logic where `R.without` use `R.includes` while it should use the array version of `R.includes`
589
-
590
- This is Ramda bug, that Rambda also has before this release - https://github.com/ramda/ramda/issues/3086
591
-
592
- 6.5.2
593
-
594
- - Wrong `R.defaultTo` typings - changes introduced in v6.5.0 are missing their TS equivalent.
595
-
596
- - Update dependencies
597
-
598
- 6.5.1
599
-
600
- Fix wrong versions in changelog
601
-
602
- 6.5.0
603
-
604
- - `R.defaultTo` no longer accepts infinite inputs, thus it follows Ramda implementation.
605
-
606
- - `R.equals` supports equality of functions.
607
-
608
- - `R.pipe` doesn't use `R.compose`.
609
-
610
- - Close [Issue #561](https://github.com/selfrefactor/rambda/issues/561) - export several internal TS interfaces and types
611
-
612
- - Close [Issue #559](https://github.com/selfrefactor/rambda/issues/559) - improve `R.propOr` typings
613
-
614
- - Add `CHANGELOG.md` file in release files list
615
-
616
- 6.4.0
617
-
618
- - Close [Issue #560](https://github.com/selfrefactor/rambda/issues/560) - apply immutable lint to TypeScript definitions
619
-
620
- - Close [Issue #553](https://github.com/selfrefactor/rambda/issues/553) - fix problem with curried typings of `R.prop`
621
-
622
- - Fix wrong `R.last` typing
623
-
624
- - Upgrade all `rollup` related dependencies
625
-
626
- - `R.type` supports `Symbol` just like *Ramda*.
627
-
628
- - Remove file extension in `main` property in `package.json` in order to allow `experimental-modules`. See also this Ramda's PR - https://github.com/ramda/ramda/pull/2678/files
629
-
630
- - Import `R.indexBy`/`R.when`/`R.zipObj`/`R.propEq`/`R.complement` changes from recent `@types/ramda` release.
631
-
632
- - `R.tryCatch` stop supporting asynchronous functions; the previous behaviour is exported to *Rambdax* as `R.tryCatchAsync`
633
-
634
- 6.3.1
635
-
636
- - Fix missing `Evolved` declaration in TypeScript definition
637
-
638
- 6.3.0
639
-
640
- - Add `R.takeLastWhile`
641
-
642
- - Add `R.dropWhile`
643
-
644
- - Add `R.eqProps`
645
-
646
- - Add `R.dropLastWhile`
647
-
648
- - Add `R.dropRepeats`
649
-
650
- - Add `R.dropRepeatsWith`
651
-
652
- - Add `R.evolve`
653
-
654
- - Add typings for `R.takeWhile` when iterable is a string
655
-
656
- 6.2.0
657
-
658
- - Add `R.props`
659
-
660
- - Add `R.zipWith`
661
-
662
- - Add `R.splitAt`
663
-
664
- - Add `R.splitWhen`
665
-
666
- - Close [Issue #547](https://github.com/selfrefactor/rambda/issues/547) - restore `readonly` declaration in TypeScript definitions.
667
-
668
- - `R.append`/`R.prepend` now work only with arrays just like Ramda. Previous behaviour was for them to work with both arrays and strings.
669
-
670
- - Sync `R.pluck` typings with `@types/ramda` as there was a tiny difference.
671
-
672
- 6.1.0
673
-
674
- - Fix `R.and` wrong definition, because the function doesn't convert the result to boolean. This introduce another difference with `@types/ramda`.
675
-
676
- - Add `R.once`
677
-
678
- - Add `R.or`
679
-
680
- 6.0.1
681
-
682
- - Fix typing of `R.reject` as it wrongly declares that with object, it pass property to predicate.
683
-
684
- 6.0.0
685
-
686
- - Breaking change - `R.map`/`R.filter`/`R.reject`/`R.forEach`/`R.partition` doesn't pass index as second argument to the predicate, when looping over arrays. The old behaviour of *map*, *filter* and *forEach* can be found in Rambdax methods *R.mapIndexed*, *R.filterIndexed* and *R.forEachIndexed*.
687
-
688
- - Breaking change - `R.all`/`R.none`/`R.any`/`R.find`/`R.findLast`/`R.findIndex`/`R.findLastIndex` doesn't pass index as second argument to the predicate.
689
-
690
- - Change `R.assocPath` typings so the user can explicitly sets type of the new object
691
-
692
- - Typings of `R.assoc` match its `@types/ramda` counterpart.
693
-
694
- - Simplify `R.forEach` typings
695
-
696
- - Remove `ReadonlyArray<T>` pattern from TypeScript definitions - not enough value for the noise it adds.
697
-
698
- 5.13.1
699
-
700
- - Fix wrong `R.takeWhile`
701
-
702
- 5.13.0
703
-
704
- - Add `R.takeWhile` method
705
-
706
- - Fix `R.lensPath` issue when using string as path input. The issue was introduced when fixing [Issue #524](https://github.com/selfrefactor/rambda/issues/524) in the previous release.
707
-
708
- 5.12.1
709
-
710
- - Close [Issue #524](https://github.com/selfrefactor/rambda/issues/524) -
711
- wrong `R.assocPath` when path includes numbers
712
-
713
- - `R.includes` throws on wrong input, i.e. `R.includes(1, null)`
714
-
715
- 5.12.0
716
-
717
- - Add `R.move` method
718
-
719
- - Add `R.union` method
720
-
721
- - Close [Issue #519](https://github.com/selfrefactor/rambda/issues/519) -
722
- `ts-toolbelt` needs other type of export with `--isolatedModules` flag
723
-
724
- - Change `R.when` implementation and typings to match those of `Ramda`
725
-
726
- - `R.over` and `R.set` use `R.curry` instead of manual currying
727
-
728
- - `R.lensPath` typings support string as path, i.e. `'a.b'` instead of `['a', 'b']`
729
-
730
- - `R.equals` now supports negative zero just like `Ramda.equals`
731
-
732
- - `R.replace` uses `R.curry`
733
-
734
- 5.11.0
735
-
736
- Forgot to export `R.of` because of wrong marker in `files/index.d.ts`
737
-
738
- 5.10.0
739
-
740
- Close [Issue #514](https://github.com/selfrefactor/rambda/issues/514) -
741
- wrong `R.length` with empty string
742
-
743
- Close [Issue #511](https://github.com/selfrefactor/rambda/issues/511) - error in `ts-toolbelt` library
744
-
745
- Close [Issue #510](https://github.com/selfrefactor/rambda/issues/510) - `R.clamp` should throw if min argument is greater than max argument
746
-
747
- - [PR #508](https://github.com/selfrefactor/rambda/pull/508) - add `R.of`
748
-
749
- - Definition of `R.curry` are not same as those of `@types/ramda`
750
-
751
- - Definitions of `R.either` is same as that of `R.both`
752
-
753
- - Definitions of `R.ifElse` no longer use `any` type
754
-
755
- - Definition of `R.flatten` requires passing type for the output
756
-
757
- - Fix definition of `R.propOr`, `R.dissoc`
758
-
759
- - Fix curried definitions of `R.take`, `R.takeLast`, `R.drop` and `R.dropLast`
760
-
761
- - 5.9.0
762
-
763
- - `R.pickAll` definition allows passing string as path to search.
764
-
765
- - `R.propEq` definition is now similar to that in `@types/ramda`.
766
-
767
- - `R.none` matches `R.all` implementation and pass index as second argument to predicate input.
768
-
769
- - `R.reduce` - drop support for object as iterable. Now it throws the same error as Ramda. Also instead of returning the initial value when iterable is `undefined`, now it throws.
770
-
771
- Add index as additional argument to the TypeScript definitions of the following methods:
772
-
773
- - R.all
774
- - R.find
775
- - R.findLast
776
- - R.findIndex
777
- - R.findLastIndex
778
-
779
- - 5.8.0
780
-
781
- Add `R.mergeAll`
782
- Add `R.mergeDeepRight`
783
- Add `R.mergeLeft`
784
- Add `R.partition`
785
- Add `R.pathEq`
786
- Add `R.tryCatch`
787
- Add `R.unless`
788
- Add `R.whereEq`
789
- Add `R.where`
790
-
791
- - Add `R.last` typing for empty array
792
-
793
- - 5.7.0 Revert [PR #469](https://github.com/selfrefactor/rambda/pull/469) as `R.curry` was slow | Also now `R.flip` throws if arity is greater than or equal to 5
794
-
795
- - 5.6.3 Merge several PRs of [@farwayer](https://github.com/farwayer)
796
-
797
- - [PR #482](https://github.com/selfrefactor/rambda/pull/482) - improve `R.forEach` performance by not using `R.map`
798
-
799
- - [PR #485](https://github.com/selfrefactor/rambda/pull/485) - improve `R.map` performance
800
-
801
- - [PR #482](https://github.com/selfrefactor/rambda/pull/486) - improve `R.reduce` performance
802
-
803
- - Fix missing high arity typings for `R.compose/pipe`
804
-
805
- - `R.merge` definitions match those of `@types/ramda`
806
-
807
- - Remove `dist` folder from Rambda repo
808
-
809
- - 5.6.2
810
-
811
- Close [Issue #476](https://github.com/selfrefactor/rambda/issues/476) - typesafe `R.propEq` definitions
812
-
813
- Approve [PR #477](https://github.com/selfrefactor/rambda/pull/477) - fix `R.groupWith` when list length is 1
814
-
815
- - 5.6.1
816
-
817
- Update `ts-toolbelt` files as now there is update pipeline for it.
818
-
819
- Approve [PR #474](https://github.com/selfrefactor/rambda/pull/474) - intruduce internal `isArray` helper
820
-
821
- - 5.6.0
822
-
823
- Approve [PR #469](https://github.com/selfrefactor/rambda/pull/469) - R.flip supports any arity | implement `R.curry` with `R.curryN` add `R.applySpec`
824
-
825
- - 5.5.0
826
-
827
- Close [Issue #464](https://github.com/selfrefactor/rambda/issues/464) - `R.flip` should handle functions with arity above 2
828
-
829
- Close [Issue #468](https://github.com/selfrefactor/rambda/issues/468) - `fs-extra` should be dev dependency as it was wrongly added as production dependency in `5.2.0`
830
-
831
- `R.flip` typings now match `@types/ramda` typings
832
-
833
- Add `R.hasPath` method
834
-
835
- Add `R.mathMod` typings
836
-
837
- - 5.4.3
838
-
839
- Fix `R.omit` typings
840
-
841
- - 5.4.2
842
-
843
- Fix `R.pick` typings
844
-
845
- > Close [Issue #460](https://github.com/selfrefactor/rambda/issues/460) - `R.paths` should be curried
846
-
847
- - 5.4.1
848
-
849
- > Close [Issue #458](https://github.com/selfrefactor/rambda/issues/458) - wrong `R.propIs` typing
850
-
851
- - 5.4.0
852
-
853
- > Close [Issue #408](https://github.com/selfrefactor/rambda/issues/408) - add `R.chain`
854
-
855
- - 5.3.0
856
-
857
- > Close [Issue #430](https://github.com/selfrefactor/rambda/issues/430) - add `R.when`
858
-
859
- Also restore `R.converge`, `R.findLast`, `R.findLastIndex` and `R.curryN` as I have forgotten to export them when releasing `5.2.0`.
860
-
861
- - 5.2.1
862
-
863
- Fix TypeScript comment for every method
864
-
865
- - 5.2.0
866
-
867
- Release new documentation site
868
-
869
- `Ramda` repo now holds all `Rambdax` methods and tests
870
-
871
- - 5.1.1
872
-
873
- Add `R.converge` and `R.curryN` from [PR #412](https://github.com/selfrefactor/rambda/pull/412)
874
-
875
- Close [Issue #410](https://github.com/selfrefactor/rambda/issues/410) - wrong implementation of `R.groupWith`
876
-
877
- Close [Issue #411](https://github.com/selfrefactor/rambda/issues/411) - change the order of declared `R.map` typings rules
878
-
879
- - 5.0.0
880
-
881
- Move `R.partialCurry` to Rambdax(reason for major bump).
882
-
883
- Use new type of export in TypeScript definitions.
884
-
885
- Approve [PR #381](https://github.com/selfrefactor/rambda/pull/381) - add `R.applySpec`
886
-
887
- - 4.6.0
888
-
889
- Approve [PR #375](https://github.com/selfrefactor/rambda/pull/375) - add lenses(Thank you [@synthet1c](https://github.com/synthet1c))
890
-
891
- Add `R.lens`
892
-
893
- Add `R.lensIndex`
894
-
895
- Add `R.lensPath`
896
-
897
- Add `R.lensProp`
898
-
899
- Add `R.over`
900
-
901
- Add `R.set`
902
-
903
- Add `R.view`
904
-
905
- > Sync with Ramda 0.27
906
-
907
- Add `R.paths`
908
-
909
- Add `R.xor`
910
-
911
- > Close [Issue #373](https://github.com/selfrefactor/rambda/issues/373)
912
-
913
- Add `R.cond`
914
-
915
- - 4.5.0 Add `R.clamp`
916
-
917
- - 4.4.2 Improve `R.propOr` typings
918
-
919
- - 4.4.1 Make `R.reject` has the same typing as `R.filter`
920
-
921
- - 4.4.0 Several changes:
922
-
923
- Close [Issue #317](https://github.com/selfrefactor/rambda/issues/317) - add `R.transpose`
924
-
925
- Close [Issue #325](https://github.com/selfrefactor/rambda/issues/325) - `R.filter` should return equal values for bad inputs `null` and `undefined`
926
-
927
- Approve suggestion for `R.indexBy` to accept string not only function as first argument.
928
-
929
- Edit of `R.path` typings
930
-
931
- - 4.2.0 Approve [PR #314](https://github.com/selfrefactor/rambda/pull/314) - add `R.and`
932
-
933
- - 4.1.1 Add missing typings for `R.slice`
934
-
935
- - 4.1.0 Add `R.findLast` and `R.findLastIndex`
936
-
937
- - 4.0.2 Fix `R.isEmpty` wrong behaviour compared to the Ramda method
938
-
939
- - 4.0.1 Approve [PR #289](https://github.com/selfrefactor/rambda/pull/289) - remove console.log in `R.values` method
940
-
941
- - 4.0.0 Multiple breaking changes as Rambda methods are changed in order to increase the similarity between with Ramda
942
-
943
- Add to `Differences`:
944
-
945
- ```text
946
- R.type can return 'NaN'
947
-
948
- R.compose doesn't pass `this` context
949
-
950
- R.clone doesn't work with number, booleans and strings as input
951
- ```
952
-
953
- All breaking changes:
954
-
955
- -- R.add works only with numbers
956
-
957
- -- Fix R.adjust which had wrong order of arguments
958
-
959
- -- R.adjust works when index is out of bounds
960
-
961
- -- R.complement support function with multiple arguments
962
-
963
- -- R.compose/pipe throws when called with no argument
964
-
965
- -- R.clone works with `Date` value as input
966
-
967
- -- R.drop/dropLast/take/takeLast always return new copy of the list/string
968
-
969
- -- R.take/takeLast return original list/string with negative index
970
-
971
- -- R.equals handles `NaN` and `RegExp` types
972
-
973
- -- R.type/R.equals supports `new Boolean/new Number/new Date/new String` expressions
974
-
975
- -- R.has works with non-object
976
-
977
- -- R.ifElse pass all arguments
978
-
979
- -- R.length works with bad input
980
-
981
- -- R.propEq work with bad input for object argument
982
-
983
- -- R.range work with bad inputs
984
-
985
- -- R.times work with bad inputs
986
-
987
- -- R.reverse works with strings
988
-
989
- -- R.splitEvery throws on non-positive integer index
990
-
991
- -- R.test throws just like Ramda when first argument is not regex
992
-
993
- -- R.values works with bad inputs
994
-
995
- -- R.zipObj ignores extra keys
996
-
997
- - 3.3.0
998
-
999
- This is pre `4.0.0` release and it contains all of the above changes
1000
-
1001
- Close [issue #287](https://github.com/selfrefactor/rambda/issues/287) - `ts-toolbelt` directory was changed but not reflected in `files` property in `package.json`
1002
-
1003
- - 3.2.5
1004
-
1005
- Close [issue #273](https://github.com/selfrefactor/rambda/issues/273) - ts-toolbelt needs other type of export when `isolatedModules` TypeScript property
1006
-
1007
- Close [issue #245](https://github.com/selfrefactor/rambda/issues/245) - complete typings tests for methods that have more specific TypeScript definitions
1008
-
1009
- - 3.2.1 Fast fix for [issue #273](https://github.com/selfrefactor/rambda/issues/273) - messed up typings
1010
-
1011
- - 3.2.0 There are several changes:
1012
-
1013
- Close [issue #263](https://github.com/selfrefactor/rambda/issues/263) - broken curry typing solved by `ts-toolbelt` local dependency.
1014
-
1015
- Add `R.partialCurry` typings.
1016
-
1017
- Approve [PR #266](https://github.com/selfrefactor/rambda/pull/266) that adds `R.slice` method.
1018
-
1019
- - 3.1.0 This might be breaking change for TypeScript users, as very different definitions are introduced. With the previous state of the definitions, it was not possible to pass `dtslint` typings tests.
1020
-
1021
- - `R.either` and `R.both` supports multiple arguments as they should.
1022
-
1023
- - Several methods added by [@squidfunk](https://github.com/squidfunk) - `R.assocPath`, `R.symmetricDifference`, `R.intersperse`, `R.intersection` and `R.difference`
1024
-
1025
- - 3.0.1 Close [issue #234](https://github.com/selfrefactor/rambda/issues/234) - wrong curry typing
1026
-
1027
- - 3.0.0 Deprecate `R.contains`, while `R.includes` is now following Ramda API(it uses `R.equals` for comparision)
1028
-
1029
- - 2.14.5 `R.without` needs currying
1030
-
1031
- - 2.14.4 Close [issue #227](https://github.com/selfrefactor/rambda/issues/227) - add index as third argument of `R.reduce` typings
1032
-
1033
- - 2.14.2 Use `R.curry` with `R.reduce` as manual curry there didn't work as expected.
1034
-
1035
- - 2.14.1 Fix wrong typescript with `R.head` - [PR #228](https://github.com/selfrefactor/rambda/pull/228) pushed by [@tonivj5](https://github.com/tonivj5)
1036
-
1037
- - 2.14.0 Add `R.groupWith` by @selfrefactor | Add `R.propOr`, `R.mathMod`, `R.mean`, `R.median`, `R.negate`, `R.product` by [@ku8ar](https://github.com/ku8ar)
1038
-
1039
- - 2.13.0 Add `R.identical` - [PR #217](https://github.com/selfrefactor/rambda/pull/217) pushed by [@ku8ar](https://github.com/ku8ar)
1040
-
1041
- - 2.12.0 Add `R.propIs` - [PR #213](https://github.com/selfrefactor/rambda/pull/213) and add `R.sum` - [issue #207](https://github.com/selfrefactor/rambda/issues/207)
1042
-
1043
- - 2.11.2 Close Rambdax [issue #32](https://github.com/selfrefactor/rambdax/issues/32) - wrong `R.type` when function is input
1044
-
1045
- - 2.11.1 Approve [PR #182](https://github.com/selfrefactor/rambda/pull/182) - Changed typings to allow object as input to `R.forEach` and `R.map`
1046
-
1047
- - 2.11.0 Approve [PR #179](https://github.com/selfrefactor/rambda/pull/179) - `R.adjust` handles negative index; `R.all` doesn't need `R.filter`
1048
-
1049
- - 2.10.2 Close [issue #175](https://github.com/selfrefactor/rambda/issues/175) - missing typescript file
1050
-
1051
- - 2.10.0 Approve huge and important [PR #171](https://github.com/selfrefactor/rambda/pull/171) submitted by [@helmuthdu](https://github.com/helmuthdu) - Add comments to each method, improve TypeScript support
1052
-
1053
- - 2.9.0 `R.toPairs` and `R.fromPairs`
1054
-
1055
- - 2.8.0 Approve [PR #165](https://github.com/selfrefactor/rambda/pull/165) `R.clone`
1056
-
1057
- - 2.7.1 expose `src` | Discussed at [issue #147](https://github.com/selfrefactor/rambda/issues/147)
1058
-
1059
- - 2.7.0 Approve [PR #161](https://github.com/selfrefactor/rambda/pull/161) `R.isEmpty`
1060
-
1061
- - 2.6.0 `R.map`, `R.filter` and `R.forEach` pass original object to iterator as third argument | Discussed at [issue #147](https://github.com/selfrefactor/rambda/issues/147)
1062
-
1063
- - 2.5.0 Close [issue #149](https://github.com/selfrefactor/rambda/issues/149) Add `R.partial` | `R.type` handles `NaN`
1064
-
1065
- - 2.4.0 Major bump of `Rollup`; Stop building for ES5
1066
-
1067
- - 2.3.1 Close [issue #90](https://github.com/selfrefactor/rambda/issues/90) | Add string type of path in `R.pathOr`
1068
-
1069
- - 2.3.0 Close [issue #89](https://github.com/selfrefactor/rambda/issues/89) | Fix missing `Number` TS definition in `R.type`
1070
-
1071
- - 2.2.0 `R.defaultTo` accepts indefinite number of input arguments. So the following is valid expression: `const x = defaultTo('foo',null, null, 'bar')`
1072
-
1073
- - 2.1.0 Restore `R.zip` using [WatermelonDB](https://github.com/Nozbe/WatermelonDB/) implementation.
1074
-
1075
- - 2.0.0 Major version caused by removing of `R.zip` and `R.addIndex`. [Issue #85](https://github.com/selfrefactor/rambda/issues/85) rightfully finds that the implementation of `R.addIndex` is not correct. This led to removing this method and also of `R.zip` as it had depended on it. The second change is that `R.map`, `R.filter` are passing array index as second argument when looping over arrays. The third change is that `R.includes` will return `false` if input is neigher `string` nor `array`. The previous behaviour was to throw an error. The last change is to increase the number of methods that are passing index as second argument to the predicate function.
1076
-
1077
- - 1.2.6 Use `src` folder instead of `modules`
1078
- - 1.2.5 Fix `omit` typing
1079
- - 1.2.4 Add missing TypeScript definitions - [PR#82](https://github.com/selfrefactor/rambda/pull/82)
1080
- - 1.2.2 Change curry method used across most of library methods
1081
- - 1.2.1 Add `R.assoc` | fix passing `undefined` to `R.map` and `R.merge` [issue #77](https://github.com/selfrefactor/rambda/issues/77)
1082
- - 1.2.0 Add `R.min`, `R.minBy`, `R.max`, `R.maxBy`, `R.nth` and `R.keys`
1083
- - 1.1.5 Close [issue #74](https://github.com/selfrefactor/rambda/issues/74) `R.zipObj`
1084
- - 1.1.4 Close [issue #71](https://github.com/selfrefactor/rambda/issues/71) CRA fail to build `rambda`
1085
- - 1.1.3 Approve [PR #70](https://github.com/selfrefactor/rambda/pull/67) implement `R.groupBy` | Close [issue #69](https://github.com/selfrefactor/rambda/issues/69)
1086
- - 1.1.2 Approve [PR #67](https://github.com/selfrefactor/rambda/pull/67) use `babel-plugin-annotate-pure-calls`
1087
- - 1.1.1 Approve [PR #66](https://github.com/selfrefactor/rambda/pull/66) `R.zip`
1088
- - 1.1.0 `R.compose` accepts more than one input argument [issue #65](https://github.com/selfrefactor/rambda/issues/65)
1089
- - 1.0.13 Approve [PR #64](https://github.com/selfrefactor/rambda/pull/64) `R.indexOf`
1090
- - 1.0.12 Close [issue #61](https://github.com/selfrefactor/rambda/issues/61) make all functions modules
1091
- - 1.0.11 Close [issue #60](https://github.com/selfrefactor/rambda/issues/60) problem with babelrc
1092
- - 1.0.10 Close [issue #59](https://github.com/selfrefactor/rambda/issues/59) add R.dissoc
1093
- - 1.0.9 Close [issue #58](https://github.com/selfrefactor/rambda/issues/58) - Incorrect `R.equals`
1094
- - 1.0.8 `R.map` and `R.filter` pass object properties when mapping over objects
1095
- - 1.0.7 Add `R.uniqWith`
1096
- - 1.0.6 Close [issue #52](https://github.com/selfrefactor/rambda/issues/52) - ES5 compatible code
1097
- - 1.0.5 Close [issue #51](https://github.com/selfrefactor/rambda/issues/51)
1098
- - 1.0.4 Close [issue #50](https://github.com/selfrefactor/rambda/issues/50) - add `R.pipe` typings
1099
- - 1.0.3 `R.ifElse` accept also boolean as condition argument
1100
- - 1.0.2 Remove `typedDefaultTo` and `typedPathOr` | Add `R.pickAll` and `R.none`
1101
- - 1.0.0 Major change as build is now ES6 not ES5 compatible (Related to [issue #46](https://github.com/selfrefactor/rambda/issues/46))| Making `Rambda` fully tree-shakeable| Edit TypeScript definition
1102
- - 0.9.8 Revert to ES5 compatible build - [issue #46](https://github.com/selfrefactor/rambda/issues/46)
1103
- - 0.9.7 Refactor for `Rollup` tree-shake | Remove `R.padEnd` and `R.padStart`
1104
- - 0.9.6 Close [issue #44](https://github.com/selfrefactor/rambda/issues/44) - `R.reverse` mutates the array
1105
- - 0.9.5 Close [issue #45](https://github.com/selfrefactor/rambda/issues/45) - invalid TypeScript typings
1106
- - 0.9.4 Add `R.reject` and `R.without` ([PR#41](https://github.com/selfrefactor/rambda/pull/41) [PR#42](https://github.com/selfrefactor/rambda/pull/42)) | Remove 'browser' field in `package.json` due to Webpack bug [4674](https://github.com/webpack/webpack/issues/4674)
1107
- - 0.9.3 Add `R.forEach` and `R.times`
1108
- - 0.9.2 Add `TypeScript` definitions
1109
- - 0.9.1 Close [issue #36](https://github.com/selfrefactor/rambda/issues/36) - move current behaviour of `defaultTo` to a new method `typedDefaultTo`; make `defaultTo` follow Ramda spec; add `pathOr`; add `typedPathOr`.
1110
- - 0.9.0 Add `R.pipe` [PR#35](https://github.com/selfrefactor/rambda/pull/35)
1111
- - 0.8.9 Add `R.isNil`
1112
- - 0.8.8 Migrate to ES modules [PR33](https://github.com/selfrefactor/rambda/pull/33) | Add R.flip to the API | R.map/filter works with objects
1113
- - 0.8.7 Change `Webpack` with `Rollup` - [PR29](https://github.com/selfrefactor/rambda/pull/29)
1114
- - 0.8.6 Add `R.tap` and `R.identity`
1115
- - 0.8.5 Add `R.all`, `R.allPass`, `R.both`, `R.either` and `R.complement`
1116
- - 0.8.4 Learning to run `yarn test` before `yarn publish` the hard way
1117
- - 0.8.3 Add `R.always`, `R.T` and `R.F`
1118
- - 0.8.2 Add `concat`, `padStart`, `padEnd`, `lastIndexOf`, `toString`, `reverse`, `endsWith` and `startsWith` methods
1119
- - 0.8.1 Add `R.ifElse`
1120
- - 0.8.0 Add `R.not`, `R.includes` | Take string as condition for `R.pick` and `R.omit`
1121
- - 0.7.6 Fix incorrect implementation of `R.values`
1122
- - 0.7.5 Fix incorrect implementation of `R.omit`
1123
- - 0.7.4 [issue #13](https://github.com/selfrefactor/rambda/issues/13) - Fix `R.curry`, which used to return incorrectly `function` when called with more arguments
1124
- - 0.7.3 Close [issue #9](https://github.com/selfrefactor/rambda/issues/9) - Compile to `es2015`; Approve [PR #10](https://github.com/selfrefactor/rambda/pull/10) - add `R.addIndex` to the API
1125
- - 0.7.2 Add `Promise` support for `R.type`
1126
- - 0.7.1 Close [issue #7](https://github.com/selfrefactor/rambda/issues/7) - add `R.reduce` to the API
1127
- - 0.7.0 Close [issue #5](https://github.com/selfrefactor/rambda/issues/5) - change name of `curry` to `partialCurry`; add new method `curry`, which works just like Ramda's `curry`
1128
- - 0.6.2 Add separate documentation site via `docsify`
489
+ - change order of `R.propEq` - [Ramda MR](https://github.com/ramda/ramda/pull/2938/files)