function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_PARSER . PropertyValue::TYPE_ID, PropertyValueParser::class ); $propertyValueParser = new PropertyValueParser(); $propertyValueParser->setInvalidCharacterList( $containerBuilder->singleton( 'Settings' )->get( 'smwgPropertyInvalidCharacterList' ) ); $propertyValueParser->isCapitalLinks( Site::isCapitalLinks() ); return $propertyValueParser; }, /** * PropertyValueFormatter * * @return callable */ DataValueServiceFactory::TYPE_FORMATTER . PropertyValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_FORMATTER . PropertyValue::TYPE_ID, PropertyValueFormatter::class ); return new PropertyValueFormatter( $containerBuilder->singleton( 'PropertySpecificationLookup' ) ); }, /** * AllowsPatternValueParser * * @return callable */ DataValueServiceFactory::TYPE_PARSER . AllowsPatternValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_PARSER . AllowsPatternValue::TYPE_ID, AllowsPatternValueParser::class ); return new AllowsPatternValueParser( $containerBuilder->singleton( 'MediaWikiNsContentReader' ) ); }, /** * AllowsListValueParser * * @return callable */ DataValueServiceFactory::TYPE_PARSER . AllowsListValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_PARSER . AllowsListValue::TYPE_ID, AllowsListValueParser::class ); return new AllowsListValueParser( $containerBuilder->singleton( 'MediaWikiNsContentReader' ) ); }, /** * CompoundConstraintValueValidator * * @return callable */ DataValueServiceFactory::TYPE_VALIDATOR . 'CompoundConstraintValueValidator' => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_VALIDATOR . 'CompoundConstraintValueValidator', CompoundConstraintValueValidator::class ); $compoundConstraintValueValidator = new CompoundConstraintValueValidator(); // Any registered ConstraintValueValidator becomes weaker(diminished) in the context // of a preceding validator $compoundConstraintValueValidator->registerConstraintValueValidator( new UniquenessConstraintValueValidator( $containerBuilder->singleton( 'Store' ), $containerBuilder->singleton( 'PropertySpecificationLookup' ) ) ); $patternConstraintValueValidator = new PatternConstraintValueValidator( $containerBuilder->create( DataValueServiceFactory::TYPE_PARSER . AllowsPatternValue::TYPE_ID ) ); $compoundConstraintValueValidator->registerConstraintValueValidator( $patternConstraintValueValidator ); $allowsListConstraintValueValidator = new AllowsListConstraintValueValidator( $containerBuilder->create( DataValueServiceFactory::TYPE_PARSER . AllowsListValue::TYPE_ID ), $containerBuilder->singleton( 'PropertySpecificationLookup' ) ); $compoundConstraintValueValidator->registerConstraintValueValidator( $allowsListConstraintValueValidator ); $compoundConstraintValueValidator->registerConstraintValueValidator( new PropertySpecificationConstraintValueValidator() ); return $compoundConstraintValueValidator; }, /** * ImportValueParser * * @return callable */ DataValueServiceFactory::TYPE_PARSER . ImportValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_PARSER . ImportValue::TYPE_ID, ImportValueParser::class ); return new ImportValueParser( $containerBuilder->singleton( 'MediaWikiNsContentReader' ) ); }, /** * StringValueFormatter * * @return callable */ DataValueServiceFactory::TYPE_FORMATTER . StringValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_FORMATTER . StringValue::TYPE_ID, StringValueFormatter::class ); $containerBuilder->registerAlias( DataValueServiceFactory::TYPE_FORMATTER . StringValue::TYPE_ID, DataValueServiceFactory::TYPE_FORMATTER . StringValue::TYPE_LEGACY_ID ); return new StringValueFormatter(); }, /** * CodeStringValueFormatter * * @return callable */ DataValueServiceFactory::TYPE_FORMATTER . StringValue::TYPE_COD_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_FORMATTER . StringValue::TYPE_COD_ID, CodeStringValueFormatter::class ); return new CodeStringValueFormatter(); }, /** * ReferenceValueFormatter * * @return callable */ DataValueServiceFactory::TYPE_FORMATTER . ReferenceValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_FORMATTER . ReferenceValue::TYPE_ID, ReferenceValueFormatter::class ); return new ReferenceValueFormatter(); }, /** * MonolingualTextValueParser * * @return callable */ DataValueServiceFactory::TYPE_PARSER . MonolingualTextValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_PARSER . MonolingualTextValue::TYPE_ID, MonolingualTextValueParser::class ); return new MonolingualTextValueParser(); }, /** * MonolingualTextValueFormatter * * @return callable */ DataValueServiceFactory::TYPE_FORMATTER . MonolingualTextValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_FORMATTER . MonolingualTextValue::TYPE_ID, MonolingualTextValueFormatter::class ); return new MonolingualTextValueFormatter(); }, /** * NumberValueFormatter * * @return callable */ DataValueServiceFactory::TYPE_FORMATTER . QuantityValue::TYPE_ID => function( $containerBuilder ) { return $containerBuilder->create( DataValueServiceFactory::TYPE_FORMATTER . NumberValue::TYPE_ID ); }, DataValueServiceFactory::TYPE_FORMATTER . NumberValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_FORMATTER . NumberValue::TYPE_ID, NumberValueFormatter::class ); return new NumberValueFormatter(); }, /** * TimeValueFormatter * * @return callable */ DataValueServiceFactory::TYPE_FORMATTER . TimeValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_FORMATTER . TimeValue::TYPE_ID, TimeValueFormatter::class ); return new TimeValueFormatter(); }, /** * TimeValueParser * * @return callable */ DataValueServiceFactory::TYPE_PARSER . TimeValue::TYPE_ID => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( DataValueServiceFactory::TYPE_PARSER . TimeValue::TYPE_ID, TimeValueParser::class ); return new TimeValueParser(); }, ];