- Добавлено перечисление VarNotBoolAction, для определения действий в классе BoolExtensions (методы AnyTrue и TrueCount), если передана часть не булевого типа.
- В расширении BoolExtensions в методах AnyTrue и TrueCount убрано выброс исключение, если какой-то аргумент из массива expressions не является булевым типом. Вместо него в обоих методах введён необязательный параметр $ifNotBool (тип VarNotBoolAction), который определяет действие: игнорирование (этот аргумент просто исключается из проверки), считать правдивым (вместо него ставится true) и считать ложным (вместо него ставится false).
* [Dictionary] Добавлен метод Keys (): array, который возвращает все ключи словаря.
* [Dictionary] Добавлен метод Sort (bool $descending = false): void, который сортирует внутренние данные по ключам (в обратном порядке, если выбран $descending = true).
[*: ActionStateMessageModel] улучшена реализация интерфейса ISerializable.
[*: ActionState] класс разбит на множество трейтов для более структурированности.
[*: ActionState] улучшена реализация интерфейса ISerializable.
[*: ActionState] класс внутреннего хранилища сообщений изменён на ObjectArray.
[*: ActionState] улучшена реализация метода Count.
[*: ActionState] улучшены реализации методов HasInfos, HasWarnings, HasErrors, IsSuccess, GetStringMessages и Clear.
[*: ActionState] возвращаемое значение метода GetMessages заменено на ObjectArray.
[О] [ClassMapper::GetDefaults]: Улучшено определение типа. Теперь проверка integer не вызовет ошибку, что ожидается int.
[О] [ClassMapper::MapClass]: Теперь идёт проверка свойства на доступность get и set. Свойства с только get и только set пропускаются.