Miscellaneous value objects, parsers and formatters
DataValues Common is a small library built on top of DataValues that provides common
implementations of the DataValues, ValueParsers, ValueFormatters, and ValueValidators interfaces.
It is part of the DataValues set of libraries.
On Packagist:
The recommended way to use this library is via Composer.
To add this package as a local, per-project dependency to your project, simply add a
dependency on data-values/common
to your project’s composer.json
file.
Here is a minimal example of a composer.json
file that just defines a dependency on
version 1.x of this package:
{
"require": {
"data-values/common": "^1.1.0"
}
}
This library comes with a set up PHPUnit tests that cover all non-trivial code. You can run these
tests using the PHPUnit configuration file found in the root directory. The tests can also be run
via Github Actions.
For tests only
composer test
For style checks only
composer cs
For a full CI run
composer ci
DataValues Common has been written by the Wikidata team, as Wikimedia Germany
employees for the Wikidata project.
mediawiki/mediawiki-codesniffer
version (45.0.0)__serialize
/__unserialize
methods are implemented nowSerializable
interface).data-values/data-values
version 3.1.0 (or later) to keep hashes stable.data-values/data-values
3.xdata-values/interfaces
1.xDATAVALUES_COMMON_VERSION
constantgetSortKey
methods from DataValue
implementationsValueParsers\Test
namespace are now package private. Notably ValueParserTestBase
and StringValueParserTest
StringFormatter
constructor does not accept options any moreStringParser::parse
now throws a ParseException
instead of an InvalidArgumentException
TrimmingStringNormalizer
FORMAT_NAME
constants in the Parser classes privateDispatchingValueParser
MonolingualTextValue::newFromArray
and MultilingualTextValue::newFromArray
MismatchingDataValueTypeException
no longer modifies custom error messages in its constructorDispatchingValueParser
StringNormalizer
interfaceNullStringNormalizer
StringParser
DataValuesCommon_VERSION
, use DATAVALUES_COMMON_VERSION
insteadValueParserTestBase::getParserClass
ValueParserTestBase::newParserOptions
ValueParserTestBase::getInstance
abstractValueParserTestBase::invalidInputProvider
abstractFORMAT_NAME
class constants on ValueParsers in order to use them as expectedFormatParseException
MismatchingDataValueTypeException
Initial release with these features: