Skip to content

version 2.0.0

Latest
Compare
Choose a tag to compare
@nyamsprod nyamsprod released this 12 Dec 08:28
· 8 commits to master since this release

Added

  • Bytes class replace the ByteSequence class.
  • Ietf enum.
  • methods fromRFC9651, fromRfc8941, toRFC9651, toRfc8941, to ease parsing/serializing Structured Fields.
  • method equals, to allow comparison of Structured Fields DataType.
  • method when to allow conditional addition to Structured Field DataType.
  • methods map, reduce, filter, sort to all containers classes.
  • methods isEmpty, isNotEmpty to all containers classes.
  • methods getByIndex, hasIndices, indices to all containers classes.
  • methods getByKey, hasKeys, indexByKey, keyByIndex, toAssociative to all ordered map classes (Dictionary and Parameters).
  • StructuredFieldProvider interface
  • Item::parameterByKey and Item::parameterByIndex methods to mirror the new public API.
  • All Item named constructors have a try equivalent which return null instead of throwing an exception
  • Parameters::valueByKey
  • Parameters::valueByIndex
  • Added a validation mechanism to facilitate Item and Parameters validation against field definition.
  • Dictionary::mergeParametersByPairs, Dictionary::mergeParametersByAssociative
  • Parameters::mergeParametersByPairs, Parameters::mergeParametersByAssociative

Fixed

  • Fixed Type inference.
  • Container IteratorAggregate interface always uses the index as key; it uses to be the key for Ordered Map.

Deprecated

  • None

Removed

  • Removed the Parser from the public API.
  • MemberContainer, MemberList, MemberOrderedMap, and all the Parser related methods.
  • All deprecated methods during the version 1 cycle.
  • Item::parameter replaced by Item::parameterByKey
  • Parameters:get replaced by Parameters::getByKey
  • Parameters:pair replaced by Parameters::getByIndex
  • Dictionary:get replaced by Dictionary::getByKey
  • Dictionary:pair replaced by Dictionary::getByIndex
  • OuterList:remove replaced by OuterList:removeByIndices
  • InnerList:remove replaced by InnerList:removeByIndices
  • ::hasNoMember and ::hasMembers methods have been replaced by isEmpty and isNotEmpty on containers
  • Dictionary::toPairs and Parameters::toPairs
  • ByteSequence class replaced by Bytes class
  • DataType::create method use a specific DataType class instead.
  • Value internal class.