411 lines
9.5 KiB
Markdown
411 lines
9.5 KiB
Markdown
|
# Changelog
|
||
|
|
||
|
> **Tags:**
|
||
|
>
|
||
|
> - [New Feature]
|
||
|
> - [Bug Fix]
|
||
|
> - [Breaking Change]
|
||
|
> - [Documentation]
|
||
|
> - [Internal]
|
||
|
> - [Polish]
|
||
|
> - [Experimental]
|
||
|
|
||
|
**Note**: Gaps between patch versions are faulty/broken releases. **Note**: A feature tagged as Experimental is in a
|
||
|
high state of flux, you're at risk of it changing without notice.
|
||
|
|
||
|
# 2.3.13
|
||
|
|
||
|
- **Polish**
|
||
|
- improve `modify` / `modifyOption` behaviour when using `pipe`, #181 (@thewilkybarkid)
|
||
|
|
||
|
# 2.3.12
|
||
|
|
||
|
- **Polish**
|
||
|
- Add missing pure annotations, #175 (@OliverJAsh)
|
||
|
|
||
|
# 2.3.11
|
||
|
|
||
|
- **Bug Fix**
|
||
|
- OptionalFromPath: Type Issue fix for 5 arguments, #167 (@Barackos)
|
||
|
|
||
|
# 2.3.10
|
||
|
|
||
|
- **Internal**
|
||
|
- optimize `fromTraversable`, closes #119 (@gcanti)
|
||
|
|
||
|
# 2.3.9
|
||
|
|
||
|
Experimental modules require `fp-ts@^2.5.0`.
|
||
|
|
||
|
- **Experimental**
|
||
|
- `At`
|
||
|
- add `at` constructor (@gcanti)
|
||
|
- `Iso`
|
||
|
- add `iso` constructor (@gcanti)
|
||
|
- add `composeLens` (@gcanti)
|
||
|
- add `composePrism` (@gcanti)
|
||
|
- add `composeOptional` (@gcanti)
|
||
|
- add `composeTraversal` (@gcanti)
|
||
|
- add `fromNullable` (@gcanti)
|
||
|
- add `filter` (@gcanti)
|
||
|
- add `fromNullable` (@gcanti)
|
||
|
- add `prop` (@gcanti)
|
||
|
- add `props` (@gcanti)
|
||
|
- add `component` (@gcanti)
|
||
|
- add `index` (@gcanti)
|
||
|
- add `indexNonEmpty` (@gcanti)
|
||
|
- add `key` (@gcanti)
|
||
|
- add `atKey` (@gcanti)
|
||
|
- add `some` (@gcanti)
|
||
|
- add `right` (@gcanti)
|
||
|
- add `left` (@gcanti)
|
||
|
- add `traverse` (@gcanti)
|
||
|
- add `findFirst` (@gcanti)
|
||
|
- add `findFirstNonEmpty` (@gcanti)
|
||
|
- add `composeIso` (@gcanti)
|
||
|
- add `Semigroupoid` (@gcanti)
|
||
|
- (\*) rename `invariantIso` to `Invariant` (@gcanti)
|
||
|
- (\*) rename `categoryIso` to `Category` (@gcanti)
|
||
|
- `Ix`
|
||
|
- add `index` constructor (@gcanti)
|
||
|
- add `indexReadonlyNonEmptyArray` (@gcanti)
|
||
|
- `Lens`
|
||
|
- add `lens` constructor (@gcanti)
|
||
|
- add `composeIso` (@gcanti)
|
||
|
- add `composeTraversal` (@gcanti)
|
||
|
- add `indexNonEmpty` (@gcanti)
|
||
|
- add `findFirstNonEmpty` (@gcanti)
|
||
|
- add `composeLens` (@gcanti)
|
||
|
- add `Semigroupoid` (@gcanti)
|
||
|
- (\*) rename `invariantIso` to `Invariant` (@gcanti)
|
||
|
- (\*) rename `categoryIso` to `Category` (@gcanti)
|
||
|
- `Prism`
|
||
|
- add `prism` constructor (@gcanti)
|
||
|
- add `composeIso` (@gcanti)
|
||
|
- add `composeTraversal` (@gcanti)
|
||
|
- add `indexNonEmpty` (@gcanti)
|
||
|
- add `findFirstNonEmpty` (@gcanti)
|
||
|
- add `composePrism` (@gcanti)
|
||
|
- add `Semigroupoid` (@gcanti)
|
||
|
- (\*) rename `invariantIso` to `Invariant` (@gcanti)
|
||
|
- (\*) rename `categoryIso` to `Category` (@gcanti)
|
||
|
- `Optional`
|
||
|
- add `optional` constructor (@gcanti)
|
||
|
- add `composeIso` (@gcanti)
|
||
|
- add `composeTraversal` (@gcanti)
|
||
|
- add `indexNonEmpty` (@gcanti)
|
||
|
- add `findFirstNonEmpty` (@gcanti)
|
||
|
- add `composeOptional` (@gcanti)
|
||
|
- add `Semigroupoid` (@gcanti)
|
||
|
- (\*) rename `invariantIso` to `Invariant` (@gcanti)
|
||
|
- (\*) rename `categoryIso` to `Category` (@gcanti)
|
||
|
- `Traversal`
|
||
|
- add `traversal` constructor (@gcanti)
|
||
|
- add `composeIso` (@gcanti)
|
||
|
- add `composeLens` (@gcanti)
|
||
|
- add `composePrism` (@gcanti)
|
||
|
- add `composeOptional` (@gcanti)
|
||
|
- add `findFirst` (@gcanti)
|
||
|
- add `findFirstNonEmpty` (@gcanti)
|
||
|
- add `fromNullable` (@gcanti)
|
||
|
- add `indexNonEmpty` (@gcanti)
|
||
|
- add `composeTraversal` (@gcanti)
|
||
|
- add `Semigroupoid` (@gcanti)
|
||
|
- (\*) rename `categoryIso` to `Category` (@gcanti)
|
||
|
|
||
|
(\*) breaking change
|
||
|
|
||
|
# 2.3.7
|
||
|
|
||
|
- **Experimental**
|
||
|
- `At`
|
||
|
- add `atReadonlyRecord` (@gcanti)
|
||
|
- add `atReadonlyMap` (@gcanti)
|
||
|
- add `atReadonlySet` (@gcanti)
|
||
|
- deprecate `atRecord` (@gcanti)
|
||
|
- `Ix`
|
||
|
- add `indexReadonlyRecord` (@gcanti)
|
||
|
- add `indexReadonlyArray` (@gcanti)
|
||
|
- add `indexReadonlyMap` (@gcanti)
|
||
|
- deprecate `indexRecord` (@gcanti)
|
||
|
- deprecate `indexArray` (@gcanti)
|
||
|
- `Optional`
|
||
|
- add `composeLens` (@gcanti)
|
||
|
- add `composePrism` (@gcanti)
|
||
|
- add `setOption` (@gcanti)
|
||
|
|
||
|
# 2.3.6
|
||
|
|
||
|
- **Polish**
|
||
|
- import without `/lib` or `/es6` paths, closes #147 (@gcanti)
|
||
|
|
||
|
# 2.3.5
|
||
|
|
||
|
- **Experimental**
|
||
|
- add `modifyF`, closes #149 (@gcanti)
|
||
|
- `Iso`
|
||
|
- `Lens`
|
||
|
- `Prism`
|
||
|
- `Optional`
|
||
|
|
||
|
# 2.3.4
|
||
|
|
||
|
- **Experimental**
|
||
|
- `Lens`, `Prism`, `Optional`: add `Refinement` overload to `findFirst`, #148 (@wmaurer)
|
||
|
|
||
|
# 2.3.3
|
||
|
|
||
|
- **Experimental**
|
||
|
- `Prism`
|
||
|
- (\*) remove `fromSome` constructor (@gcanti)
|
||
|
- (\*) change `fromNullable` signature (@gcanti)
|
||
|
- `Optional`
|
||
|
- add missing `fromNullable` combinator, closes #133 (@gcanti)
|
||
|
|
||
|
(\*) breaking change
|
||
|
|
||
|
# 2.3.2
|
||
|
|
||
|
- **Experimental**
|
||
|
- `At`
|
||
|
- add `atRecord` (@gcanti)
|
||
|
- `Ix`
|
||
|
- add `indexArray` (@gcanti)
|
||
|
- add `indexRecord` (@gcanti)
|
||
|
- `Lens`
|
||
|
- add `findFirst` combinator, closes #131 (@gcanti)
|
||
|
- `Prism`
|
||
|
- add `findFirst` combinator (@gcanti)
|
||
|
- add `traverse` combinator (@gcanti)
|
||
|
- `Optional`
|
||
|
- add `findFirst` combinator (@gcanti)
|
||
|
- add `traverse` combinator (@gcanti)
|
||
|
|
||
|
# 2.3.1
|
||
|
|
||
|
- **Experimental**
|
||
|
- add `Iso` module (@gcanti)
|
||
|
- add `Lens` module (@gcanti)
|
||
|
- add `Prism` module (@gcanti)
|
||
|
- add `Optional` module (@gcanti)
|
||
|
- add `Traversal` module (@gcanti)
|
||
|
- add `At` module (@gcanti)
|
||
|
- add `Ix` module (@gcanti)
|
||
|
- **Internal**
|
||
|
- implement old APIs through new APIs (@gcanti)
|
||
|
|
||
|
# 2.2.0
|
||
|
|
||
|
- **New Feature**
|
||
|
- `At`
|
||
|
- add `ReadonlyRecord` module (@gcanti)
|
||
|
- add `ReadonlySet` module (@gcanti)
|
||
|
- `Index`
|
||
|
- add `ReadonlyArray` module (@gcanti)
|
||
|
- add `ReadonlyNonEmptyArray` module (@gcanti)
|
||
|
- add `ReadonlyRecord` module (@gcanti)
|
||
|
|
||
|
# 2.1.1
|
||
|
|
||
|
- **Bug Fix**
|
||
|
- fix `Optional.fromPath`, #122 (@mikearnaldi)
|
||
|
|
||
|
# 2.1.0
|
||
|
|
||
|
- **New Feature**
|
||
|
- Add support for `Optional.fromPath`, #105 (@cybermaak)
|
||
|
- **Bug Fix**
|
||
|
- handle nullable values in `fromNullableProp`, fix #106 (@gcanti)
|
||
|
|
||
|
# 2.0.1
|
||
|
|
||
|
- **Bug Fix**
|
||
|
- rewrite es6 imports (@gcanti)
|
||
|
|
||
|
# 2.0.0
|
||
|
|
||
|
- **Breaking Change**
|
||
|
- upgrade to `fp-ts@2.x` (@gcanti)
|
||
|
- remove deprecated APIs (@gcanti)
|
||
|
- uncurried `Lens.fromProp`
|
||
|
- uncurried `Lens.fromProps`
|
||
|
- uncurried `Lens.fromNullableProp`
|
||
|
- uncurried `Optional.fromNullableProp`
|
||
|
- uncurried `Optional.fromOptionProp`
|
||
|
- remove `At/StrMap` (@gcanti)
|
||
|
- remove `Index/StrMap` (@gcanti)
|
||
|
|
||
|
# 1.7.2
|
||
|
|
||
|
output ES modules to better support tree-shaking (@gcanti)
|
||
|
|
||
|
# 1.7.1
|
||
|
|
||
|
- **Polish**
|
||
|
- move `fp-ts` to peerDependencies (@gcanti)
|
||
|
|
||
|
# 1.7.0
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `At/Record` (@mlegenhausen)
|
||
|
- add `Index/Record` (@mlegenhausen)
|
||
|
|
||
|
# 1.6.1
|
||
|
|
||
|
- **Polish**
|
||
|
- Providing a `Refinement` to the `find` method of `Fold` will return the narrowed type (@Stouffi)
|
||
|
|
||
|
# 1.6.0
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `Traversal.prototype.filter` (@gcanti)
|
||
|
- add `Either` prisms (@gcanti)
|
||
|
- **Polish**
|
||
|
- many optimizitions (@sledorze)
|
||
|
- **Deprecation**
|
||
|
- deprecate `Prism.fromRefinement` in favour of `Prism.fromPredicate` (@gcanti)
|
||
|
|
||
|
# 1.5.3
|
||
|
|
||
|
- **Bug Fix**
|
||
|
- revert 27b587b, closes #75 (@gcanti)
|
||
|
|
||
|
# 1.5.2
|
||
|
|
||
|
- **Polish**
|
||
|
- disallow improper use of `from`\* APIs, closes #73 (@gcanti)
|
||
|
|
||
|
# 1.5.1
|
||
|
|
||
|
- **Polish**
|
||
|
- add aliases for `compose` methods, closes #51 (@gcanti)
|
||
|
|
||
|
# 1.5.0
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `indexNonEmptyArray` (@sledorze)
|
||
|
- **Internal**
|
||
|
- upgrade to `fp-ts@1.11.0` (@sledorze)
|
||
|
|
||
|
**Note**. If you are running `< typescript@3.0.1` you have to polyfill `unknown`.
|
||
|
|
||
|
You can use [unknown-ts](https://github.com/gcanti/unknown-ts) as a polyfill.
|
||
|
|
||
|
# 1.4.1
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `Prism.fromRefinement` (@bepremeg)
|
||
|
- add `Optional.fromOptionProp` (@bepremeg)
|
||
|
|
||
|
# 1.3.0
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `Lens.{fromProp, fromPath, fromNullableProp}` and `Optional.fromNullableProp` curried overloadings (@gcanti)
|
||
|
|
||
|
# 1.2.0
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `At` (@leighman)
|
||
|
- add `Set` instance
|
||
|
- add `StrMap` instance
|
||
|
- add `Index` (@leighman)
|
||
|
- add `Array` instance
|
||
|
- add `StrMap` instance
|
||
|
|
||
|
# 1.1.0
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `Lens.fromProps` (@gcanti)
|
||
|
|
||
|
# 1.0.0
|
||
|
|
||
|
- **Breaking Change**
|
||
|
- upgrade to `fp-ts@1.0.0` (@gcanti)
|
||
|
|
||
|
# 0.5.2
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `Iso.reverse`, closes #36 (@gcanti)
|
||
|
|
||
|
# 0.5.1
|
||
|
|
||
|
- **Experimental**
|
||
|
- add Flowtype support (@gcanti)
|
||
|
|
||
|
# 0.5.0
|
||
|
|
||
|
- **Breaking Change**
|
||
|
- upgrade to fp-ts 0.6 (@gcanti)
|
||
|
|
||
|
# 0.4.4
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `Lens.fromNullableProp` (@gcanti)
|
||
|
|
||
|
# 0.4.3
|
||
|
|
||
|
- **New Feature**
|
||
|
- `Prism`: add `set` method (@gcanti)
|
||
|
- `Optional`: add `fromNullableProps` static function (@gcanti)
|
||
|
- **Bug fix**
|
||
|
- `Prism`: change `asOptional`, `asTraversal` implementations, fix #29 (@gcanti)
|
||
|
|
||
|
# 0.4.2
|
||
|
|
||
|
- **Polish**
|
||
|
- fix Optional laws (@gcanti)
|
||
|
- remove `Endomorphism` type alias (@gcanti)
|
||
|
|
||
|
# 0.4.1
|
||
|
|
||
|
- **New Feature**
|
||
|
- Add aliases to ISO, closes #24 (@gcanti)
|
||
|
|
||
|
# 0.4.0
|
||
|
|
||
|
- **Breaking Change**
|
||
|
- upgrade to fp-ts 0.5 (@gcanti)
|
||
|
- currying of all APIs (@gcanti)
|
||
|
|
||
|
# 0.3.2
|
||
|
|
||
|
- **Polish**
|
||
|
- upgrade to latest fp-ts (0.4.3) (@gcanti)
|
||
|
|
||
|
# 0.3.1
|
||
|
|
||
|
- **New Feature**
|
||
|
- Added Setter (@LiamGoodacre)
|
||
|
- Added Getter (@LiamGoodacre)
|
||
|
- Added all possible conversions (e.g asGetter, asFold, etc) (@LiamGoodacre)
|
||
|
- Added all possible compositions (@LiamGoodacre)
|
||
|
- add \_tag fields (allows for tagged unions) (@gcanti)
|
||
|
- **Polish**
|
||
|
- Fixed some typos (Options/Option -> Optional) (@LiamGoodacre)
|
||
|
- Minor rearrangement so conversions and compositions are grouped (@LiamGoodacre)
|
||
|
|
||
|
# 0.3.0
|
||
|
|
||
|
- **Breaking Change**
|
||
|
- upgrade to latest fp-ts (@gcanti)
|
||
|
|
||
|
# 0.2.0
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `Prism.some`, closes #10 (@gcanti)
|
||
|
- add `composeX`, closes #11 (@gcanti)
|
||
|
- **Breaking Change**
|
||
|
- upgrade to latest `fp-ts` (`monocle-ts` APIs are not changed though) (@gcanti)
|
||
|
- drop `lib-jsnext` folder
|
||
|
- remove `Optional.fromProp`, closes #9 (@gcanti)
|
||
|
|
||
|
# 0.1.1
|
||
|
|
||
|
- **New Feature**
|
||
|
- add `Prism.fromPredicate`
|
||
|
- fix `Optional.fromProp`
|
||
|
|
||
|
# 0.1.0
|
||
|
|
||
|
Initial release
|