getMainWANObjectCache(); } public static function user( string $username ): User { $user = self::srv()->getUserFactory()->newFromName( $username ); if ( !$user ) { throw new DomainException( "Invalid username: $username" ); } // preload so dumping the object is more informative $user->load(); return $user; } public static function title( string $title ): Title { $title = self::srv()->getTitleFactory()->newFromTextThrow( $title ); // preload so dumping the object is more informative $title->getArticleID(); return $title; } public static function file( string $filename ): File { $file = self::srv()->getRepoGroup()->findFile( $filename ); $file->load(); return $file; } public static function page( string $title ): WikiPage { $page = self::srv()->getWikiPageFactory()->newFromTitle( self::title( $title ) ); $page->loadPageData(); return $page; } public static function rev( int $id ): ?RevisionRecord { return self::srv()->getRevisionStore()->getRevisionById( $id ); } }