Skip to content

Commit 0d2205e

Browse files
committed
release: version 0.15.0
1 parent 0b8ca98 commit 0d2205e

1 file changed

Lines changed: 66 additions & 0 deletions

File tree

docs/pages/changelog.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,72 @@ toc_depth: 2
88
All notable changes to this project will be documented in this file.
99
<!--- END HEADER -->
1010

11+
## [0.15.0](https://github.com/CuyZ/Valinor/compare/0.14.0...0.15.0) (2022-10-06)
12+
13+
### Notable changes
14+
15+
Two similar features are introduced in this release: constants and enums
16+
wildcard notations. This is mainly useful when several cases of an enum or class
17+
constants share a common prefix.
18+
19+
Example for class constants:
20+
21+
```php
22+
final class SomeClassWithConstants
23+
{
24+
public const FOO = 1337;
25+
26+
public const BAR = 'bar';
27+
28+
public const BAZ = 'baz';
29+
}
30+
31+
$mapper = (new MapperBuilder())->mapper();
32+
33+
$mapper->map('SomeClassWithConstants::BA*', 1337); // error
34+
$mapper->map('SomeClassWithConstants::BA*', 'bar'); // ok
35+
$mapper->map('SomeClassWithConstants::BA*', 'baz'); // ok
36+
```
37+
38+
Example for enum:
39+
40+
```php
41+
enum SomeEnum: string
42+
{
43+
case FOO = 'foo';
44+
case BAR = 'bar';
45+
case BAZ = 'baz';
46+
}
47+
48+
$mapper = (new MapperBuilder())->mapper();
49+
50+
$mapper->map('SomeEnum::BA*', 'foo'); // error
51+
$mapper->map('SomeEnum::BA*', 'bar'); // ok
52+
$mapper->map('SomeEnum::BA*', 'baz'); // ok
53+
```
54+
55+
### Features
56+
57+
* Add support for class constant type ([1244c2](https://github.com/CuyZ/Valinor/commit/1244c2d68f3478560241e89f74f28b36d6fc2888))
58+
* Add support for wildcard in enumeration type ([69ebd1](https://github.com/CuyZ/Valinor/commit/69ebd19ee84cc56cc8c986f1b5aff299e8d62b5c))
59+
* Introduce utility class to build messages ([cb8792](https://github.com/CuyZ/Valinor/commit/cb87925aac45ca1babea3f34b6cd6e24c9172905))
60+
61+
### Bug Fixes
62+
63+
* Add return types for cache implementations ([0e8f12](https://github.com/CuyZ/Valinor/commit/0e8f12e5f7ffd2193c8ab772dd98d5e1cc858b59))
64+
* Correctly handle type inferring during mapping ([37f96f](https://github.com/CuyZ/Valinor/commit/37f96f101d95e843f6a83d7e29c84b945938a691))
65+
* Fetch correct node value for children ([3ee526](https://github.com/CuyZ/Valinor/commit/3ee526cb27816910f5bf27380021fa1399206335))
66+
* Improve scalar values casting ([212b77](https://github.com/CuyZ/Valinor/commit/212b77fd13c7ead3ba7c0aca165ea3af235b1fa9))
67+
* Properly handle static anonymous functions ([c009ab](https://github.com/CuyZ/Valinor/commit/c009ab98cc327c80e6589c22ee0b3c06b56849de))
68+
69+
### Other
70+
71+
* Import namespace token parser inside library ([0b8ca9](https://github.com/CuyZ/Valinor/commit/0b8ca98a2c9051213f3a59be513f16199288d45f))
72+
* Remove unused code ([b2889a](https://github.com/CuyZ/Valinor/commit/b2889a3ba022410a1929c969acae8e581f670535), [de8aa9](https://github.com/CuyZ/Valinor/commit/de8aa9f4402c7e83a3575a6143eb26b45ea13461))
73+
* Save type token symbols during lexing ([ad0f8f](https://github.com/CuyZ/Valinor/commit/ad0f8fee17773ec226bc4b1eb12370bfcd437187))
74+
75+
---
76+
1177
## [0.14.0](https://github.com/CuyZ/Valinor/compare/0.13.0...0.14.0) (2022-09-01)
1278

1379
### Notable changes

0 commit comments

Comments
 (0)