When chaining ->params() methods, this is more convenient than having to
put extra parentheses around the "new".
Change-Id: I34845310e6bfdfbf1924b27eb58a734f2991fe13
If code in libs isn't supposed to depend on stuff outside of libs, then
that code's tests shouldn't either.
Also, let's explicitly test MessageParam and its subclasses.
Change-Id: I87b7c6aabea5bdb694cc598a412e0428cd78a68a
Among other things, this removed mention of MediaWiki classes from the
library and adds a README.md that attempts to define constraints for
interoperability between libraries producing MessageValues and formatter
implementations that are expected to handle them.
This also renames "TextParam" to "ScalarParam", as that seems a more
accurate name for the class.
Change-Id: I264dd4de394d734a87929cf4740779e7b7d0e04a
An injectable service interface for message formatting, somewhat
narrowed compared to Message.
Only the text format is implemented in this framework so far, with
getTextFormatter() returning a formatter that converts to the text
format. Other formatters could be added to MessageFormatterFactory.
Bug: T226598
Change-Id: Id053074c1dbcb692e8309fdca602f94a385bca0c